From: Daniel Jacobowitz <drow@false.org>
To: Frederic RISS <frederic.riss@st.com>
Cc: Jim Blandy <jimb@red-bean.com>,
GDB Patches <gdb-patches@sourceware.org>
Subject: Re: [RFC] Don't lose compilation directory in Dwarf2 line-tables
Date: Fri, 14 Apr 2006 14:04:00 -0000 [thread overview]
Message-ID: <20060414140449.GA14270@nevyn.them.org> (raw)
In-Reply-To: <1145002976.14807.744.camel@crx549.cro.st.com>
On Fri, Apr 14, 2006 at 10:22:56AM +0200, Frederic RISS wrote:
> > When dirname is relative, I guess we lose information by concatenating
> > it with comp_dir, but I don't see where we would ever use that
> > information.
>
> I see 2 uses for that:
> - differentiating identically named source files in different parts of
> the source tree. One great example of that is a Linux kernel: try
> something like 'find include -name cache.h' at the root. This works
> for .c files because they get their relative directory in their
> DW_AT_name.
> - If you move your build tree (or in a networked environment, when you
> access it from another mount point), then you just have to point 'dir'
> at the new root, and all the files should be found. Right now, if you
> have more than one include dir, you have to add themm all to the source
> search path.
Now, these are useful things to do. But, it's too compiler-dependant,
and build system dependant, to do it this way. Consider: you are
relying on the fact that line table entries are relative to the
comp_dir, and that many files have the same comp_dir. Linux 2.6 does
build things this way. 2.4 built from subdirectories. Coincidentally,
so does GDB.
For an alternative approach, see this:
http://sourceware.org/ml/gdb/2006-03/msg00189.html
I think that may be a better solution; Paul, are you going to post
that? Please? :-)
That said, I don't much care which bits get concatenated with which
other bits; as you found, it doesn't seem to make a lot of difference
(and I'm of the opinion that it shouldn't make a difference). Doing
it your way may be most useful. But I'd like a solution to the moved
source tree problem which doesn't rely on this compiler behavior.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-04-14 14:04 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-13 11:25 [RFC] Don't loose " Frederic RISS
2006-04-13 17:49 ` Jim Blandy
2006-04-14 7:32 ` [RFC] Don't lose " Frederic RISS
2006-04-14 7:41 ` Jim Blandy
2006-04-14 8:23 ` Frederic RISS
2006-04-14 14:04 ` Daniel Jacobowitz [this message]
2006-04-14 14:51 ` Frederic RISS
2006-04-18 12:32 ` Frederic RISS
2006-04-18 13:04 ` Daniel Jacobowitz
2006-04-18 14:00 ` Frederic RISS
2006-04-20 16:27 ` Daniel Jacobowitz
2006-04-21 7:14 ` Frederic RISS
2006-04-21 1:10 ` Jim Blandy
2006-04-21 8:35 ` Frederic RISS
2006-04-21 16:46 ` Jim Blandy
2006-04-21 17:00 ` Frederic RISS
2006-04-24 12:49 ` Andrew STUBBS
2006-04-14 8:44 ` Eli Zaretskii
2006-04-14 11:44 ` Frederic RISS
2006-04-14 13:08 ` Eli Zaretskii
2006-04-14 13:42 ` Frederic RISS
2006-04-14 14:21 ` Eli Zaretskii
2006-04-14 14:58 ` Daniel Jacobowitz
2006-04-14 15:03 ` Eli Zaretskii
2006-04-14 18:39 ` Frédéric Riss
2006-04-13 19:58 ` [RFC] Don't loose " Jason Molenda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060414140449.GA14270@nevyn.them.org \
--to=drow@false.org \
--cc=frederic.riss@st.com \
--cc=gdb-patches@sourceware.org \
--cc=jimb@red-bean.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox