[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug default/24345] New: Dwz invalidates debug sections generated by --emit-relocs
https://sourceware.org/bugzilla/show_bug.cgi?id=24345
Bug ID: 24345
Summary: Dwz invalidates debug sections generated by
--emit-relocs
Product: dwz
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: default
Assignee: nobody at sourceware dot org
Reporter: vries at gcc dot gnu.org
CC: dwz at sourceware dot org
Target Milestone: ---
When compiling hello world, we can keep the relocations in the executable using
linker option --emit-relocs:
...
$ gcc hello.c -g -Wl,--emit-relocs
...
So we have:
...
[35] .debug_info PROGBITS 0000000000000000 000011a0
00000000000005bb 0000000000000000 0 0 1
[36] .rela.debug_info RELA 0000000000000000 00003138
0000000000000c78 0000000000000018 I 44 35 8
...
Using readelf, we find f.i. this string relocation:
...
$ readelf -r -w a.out
Relocation section '.rela.debug_info' at offset 0x3138 contains 133 entries:
Offset Info Type Sym. Value Sym. Name +
Addend
000000000024 00200000000a R_X86_64_32 0000000000000000 .debug_str + 1a
...
for this location:
...
<24> DW_AT_comp_dir : (indirect string, offset: 0x1a):
/home/abuild/rpmbuild/BUILD/glibc-2.26/csu
...
However, if we run dwz, then .debug_info is modified:
...
<24> DW_AT_encoding : 5 (signed)
...
but .rela.debug_info is not.
So, dwz breaks the validity of .rela.debug_info.
--
You are receiving this mail because:
You are on the CC list for the bug.