Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Christophe LYON <christophe.lyon@st.com>
To: Joel Brobecker <brobecker@adacore.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [PATCH] obvious pattern fix in gdb.base/step-line.exp
Date: Mon, 30 Mar 2009 13:51:00 -0000	[thread overview]
Message-ID: <49D083FB.6020108@st.com> (raw)
In-Reply-To: <20090327184726.GW9472@adacore.com>

Hello Joel,

On 27.03.2009 19:47, Joel Brobecker wrote:
> Hello Christophe,
> 
>> 2009-03-27  Christophe Lyon  <christophe.lyon@st.com>
>>
>> 	testsuite/
>> 	* gdb.base/step-line.exp: Fix pattern to allow full path before
>> 	"step-line.c".
> 
> I'd love to have some feedback from the other maintainers on this one.
> 
> My first observation is that it doesn't fail for me when testing
> out-of-tree, using either DWARF or stabs. So I'm wondering why
> this is failure in Chistophe's case. Perhaps a dump of your debugging
> information (filename/dirname info for step-line.c and the line table
> as well) would allows to understand the difference.
> 
> That being said, I don't see that we make a guaranty at the user-level
> that the name of the file will be printed using either its full path or
> just the basename, or anthing in the middle.  So we could argue that
> the output with the full path is equally valid and that the expected
> output should therefore be enhanced to accept both.
> 
> WDYT?

I forgot to mention that before submitting the patch, I grepped in 
gdb.base and gdb.cp to see how other tests expect the filename to be 
printed. Maybe I missed some of them, but I noticed that step-line.c was 
the only one not using .*$srcfile.

So I thought it had been forgotten.


Yet, this is not an explanation of why it fails :-)
I am not using GCC, but a retargetting of Open64 for one of our internal 
targets. Maybe people from Tensilica or PathScale have already noticed 
the same issue.

If I dump the Dwarf info (using dwarfdump and readelf), I can see the 
full path name in DW_AT_name for the compile_unit (I tried to call 
runtest with absolute and relative --srcdir, and in both cases the test 
fails).
For DW_AT_comp_dir, I have the expected hostname:absolute_path string.

Comparing with GCC, there is a difference in the DW_AT_comp_dir, where 
GCC does not print the hostname prefix. But my understanding of the 
Dwarf spec is that hostname:path should be used, isn't it? Anyway GDB 
seems to be able to cope with this (see read_file_scope in 
dwarf2read.c). Still with GCC, I notice that if I use an absolute source 
file name, there is no DW_AT_comp_dir.

To summarize, when using an absolute src file name:
* GCC:
DT_AT_name=absolute src file name
DW_AT_comp_dir: not present
Directory table in debug_line: absolute path to `dirname $srcfile`
  The File Name Table:
   Entry Dir     Time    Size    Name
   1     1       0       0       step-line.c
   2     0       0       0       step-line.c
   3     0       0       0       step-line.inp

* Open64:
DT_AT_name=absolute src file name
DW_AT_comp_dir=hostname:absolute `pwd`
Directory table in debug_line:
  - absolute path to `dirname $srcfile`
  - absolute `pwd`
The File Name Table:
   Entry Dir     Time    Size    Name
   1     1       0       0       step-line.c
   2     2       0       0       step-line.inp

So... it may be an issue with my compiler handling of #line?


Thanks,

Christophe.


  reply	other threads:[~2009-03-30  8:35 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-27 14:05 Christophe LYON
2009-03-27 18:53 ` Joel Brobecker
2009-03-30 13:51   ` Christophe LYON [this message]
2009-03-30 18:23     ` Joel Brobecker
2009-03-31 15:25       ` Christophe LYON
2009-04-01 18:32         ` Joel Brobecker
2009-04-02  8:52           ` Christophe LYON
2009-04-17 17:07             ` Christophe LYON
2009-04-17 17:30               ` Daniel Jacobowitz

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=49D083FB.6020108@st.com \
    --to=christophe.lyon@st.com \
    --cc=brobecker@adacore.com \
    --cc=gdb-patches@sources.redhat.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