[Bug debug/60812] New: gcc -g -gpubnames statically linked produces a .debug_pubnames that is wrong or corrupted
geir at cray dot com
gcc-bugzilla@gcc.gnu.org
Thu Apr 10 21:08:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60812
Bug ID: 60812
Summary: gcc -g -gpubnames statically linked produces a
.debug_pubnames that is wrong or corrupted
Product: gcc
Version: 4.8.2
Status: UNCONFIRMED
Severity: critical
Priority: P3
Component: debug
Assignee: unassigned at gcc dot gnu.org
Reporter: geir at cray dot com
gcc -g -gpubnames statically linked produces a .debug_pubnames that is wrong or
corrupted:
$ gcc --version
gcc (GCC) 4.8.2 20131016 (Cray Inc.)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
$ cat getpid.c
#include <unistd.h>
int main() {
return getpid();
}
$ gcc -c -g -gpubnames getpid.c
$ gcc -o getpid getpid.o -static
$ readelf -wp getpid
Contents of the .debug_pubnames section:
Length: 33
Version: 2
Offset into .debug_info section: 0x77
Size of area in .debug_info section: 139
Offset Name
6f _IO_stdin_used
Length: 7091
Version: 2
Offset into .debug_info section: 0x102
Size of area in .debug_info section: 145
Offset Name
73 main
readelf: Warning: .debug_info offset of 0x6e65706f in .debug_pubnames section
does not point to a CU header.
readelf: Warning: Only DWARF 2 and 3 pubnames are currently supported
$
The .debug_pubnames section of the getpid.o object file is fine:
$ readelf -wp getpid.o
Contents of the .debug_pubnames section:
Length: 7091
Version: 2
Offset into .debug_info section: 0x0
Size of area in .debug_info section: 145
Offset Name
73 main
$
The .debug_pubnames section of a dynamically linked executable is also fine:
$ gcc -o getpid-dynamic getpid.o
$ readelf -wp getpid-dynamic
Contents of the .debug_pubnames section:
Length: 33
Version: 2
Offset into .debug_info section: 0x77
Size of area in .debug_info section: 139
Offset Name
6f _IO_stdin_used
Length: 7091
Version: 2
Offset into .debug_info section: 0x102
Size of area in .debug_info section: 145
Offset Name
73 main
$
Problem is severely impacting the operation of performance analysis tools that
need to use this information.
More information about the Gcc-bugs
mailing list