debug_macinfo buglet
Daniel Berlin
dberlin@dberlin.org
Fri May 17 08:56:00 GMT 2002
Jim, that answers *that* question, I guess.
Could you commit the patch to fix this as obvious?
On Fri, 17 May 2002, Nitin Gupta, Noida wrote:
> The last byte of the debug_macinfo is at offset 0x2313 (readelf
> --hex-dump=34)
> Since the first byte is at offset 0 and the size of the section is
> 0x2314 (readelf -S). However deviation of from the specs is still there.
> The "zero" byte is missing.
>
> rgds.
> Nitin.
> > -----Original Message-----
> > From: Nitin Gupta, Noida
> > Sent: Friday, May 17, 2002 6:27 PM
> > To: 'gcc-bugs@gcc.gnu.org'
> > Subject: debug_macinfo buglet
> >
> > Hi,
> > During analysis of contents of .debug_macinfo
> > I discovered that the contents are not as per DWARF2 specifications.
> > The DWARF2 spec says [section 6.3]
> >
> > Each macinfo entry consists of a "type code" and
> > up to two additional operands. The series of entries for a
> > given compilation unit ends with an
> > entry containing a type code of 0.
> >
> > The DWARF3 specs also retains this.
> >
> > However the last byte of the .debug_macinfo section, of the elf
> > binary generated by gcc3.1,
> > does not seems to be a zero.
> >
> > I'm using
> > $ gcc3.1 -v
> > Reading specs from
> > /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
> > Configured with: ../3.1/gcc/configure --prefix=/usr/local
> > Thread model: single
> > gcc version 3.1
> >
> > $ gcc3.1 -O3 -g3 mac_bug.c
> > $ readelf -S a.out
> > ....
> >
> > [31] .debug_line PROGBITS 00000000 003e10 000275 00
> > 0 0 1
> > [32] .debug_frame PROGBITS 00000000 004088 000034 00
> > 0 0 4
> > [33] .debug_str PROGBITS 00000000 0040bc 00002f 00
> > 0 0 1
> > [34] .debug_macinfo PROGBITS 00000000 0040eb 002314 00
> > 0 0 1
> > [35] .note NOTE 00000000 0063ff 00003c 00
> > 0 0 1
> > [36] .shstrtab STRTAB 00000000 00643b 00015a 00
> > 0 0 1
> > [37] .symtab SYMTAB 00000000 006bb0 000530 10
> > 38 3e 4
> > [38] .strtab STRTAB 00000000 0070e0 00022c 00
> > 0 0 1
> > .....
> > .....
> > $ readelf --hex-dump=34 a.out
> > ....(showing last 2 lines)
> > 0x00002300 226e5c64 6c726f57 206f6c6c 65482228 ("Hello World\n"
> > 0x00002310 04040029 )...
> > ^
> > The last byte of macinfo should be at 0x2314 and it is 04
> > (MACINFO_END_FILE).
> > The mac_bug.c is a simple hello world programme. The program and
> > readelf outputs
> > are attached of your reference.
> >
> > However rest of the information in the section seems to be correct.
> >
> > Thanks and Regards
> > Nitin.
> >
> > .... << File: mac_bug.h >> << File: mac_bug.c >> << File:
> > readelf_hex_dump >> << File: readelf_S >>
>
More information about the Gcc-bugs
mailing list