GDB (mis)behavior depends on DWARF DW_TAG_compile_unit data

Maxim Grigoriev maxim@tensilica.com
Mon Mar 12 21:06:00 GMT 2007


The problem is consistent across  both hosts I checked : Linux and Cygwin.
The case I described is "--host=i686-pc-linux-gnu --target=xtensa-elf".
There is only one place in the DWARD sections where "test.c" is mentioned.
So there is no interference with any other file named "test.c".

If you think it's a generic GDB problem I can fix it. I have to fix it 
anyway on
Xtensa GDB. I don't see how it can be Xtensa-specific. Xtensa GCC compiler
DWARF is consistent with native GCC 4.1.1 compiler on my Linux box.
So if this is a compiler problem ( which I doubt ) it seems to be pretty 
generic.

-- Maxim

Daniel Jacobowitz wrote:
> On Mon, Mar 12, 2007 at 01:33:45PM -0700, Maxim Grigoriev wrote:
>   
>> Hello members,
>>
>> I would like to hear your opinion on whether what I see is a compiler 
>> problem or a GDB misbehavior.
>>
>> GDB session goes wrong, if my test case is compiled using a base name as a 
>> source file. Everything is fine, when an absolute path name is used 
>> instead. I checked several compilers ( all GCCs ). They seem to be 
>> consistent in generating DWARF DW_TAG_compile_unit information in this case.
>>
>> Anyway, even if GDB treats this situation as a bad DWARF data it doesn't 
>> look decent to output misleading error messages, like 'No line 6 in file 
>> "test.c".', when there actually is the line number 6, and the test case was 
>> compiled with "-g".
>>     
>
> There must be more to the problem, since many people do this all the
> time without any trouble.  GDB has support for both cases.  What
> platform - is this Cygwin maybe?  Is there any other test.c that GDB
> might be opening?
>
>   



More information about the Gdb mailing list