[Bug debug/98946] GCC generating incorrect relocation R_386_GOTOFF in .debug-info for x86 (32)
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Feb 3 07:49:05 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98946
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to fail| |10.2.1, 11.0, 9.3.1
Keywords| |wrong-debug
Last reconfirmed| |2021-02-03
Ever confirmed|0 |1
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed with -O2 -g -fPIE. GCC 7 produces
.uleb128 0x42 # (DIE (0x5789) DW_TAG_GNU_call_site_parameter)
.uleb128 0x2 # DW_AT_location
.byte 0x74 # DW_OP_breg4
.sleb128 0
.uleb128 0xf # DW_AT_GNU_call_site_value
.byte 0x91 # DW_OP_fbreg
.sleb128 -60
.byte 0x6 # DW_OP_deref
.byte 0x3 # DW_OP_addr
.long _GLOBAL_OFFSET_TABLE_
.byte 0x1c # DW_OP_minus
.byte 0x3 # DW_OP_addr
.long .LC3
.byte 0x22 # DW_OP_plus
.byte 0 # end of children of DIE 0x5780
.byte 0 # end of children of DIE 0x4f2c
not sure if that's any better ...
GCC 10 variant:
.uleb128 0x35 # (DIE (0x2aeb) DW_TAG_GNU_call_site_parameter)
.uleb128 0x2 # DW_AT_location
.byte 0x74 # DW_OP_breg4
.sleb128 0
.uleb128 0x9 # DW_AT_GNU_call_site_value
.byte 0x91 # DW_OP_fbreg
.sleb128 -60
.byte 0x6 # DW_OP_deref
.byte 0x3 # DW_OP_addr
.long .LC3@gotoff
.byte 0x22 # DW_OP_plus
.byte 0 # end of children of DIE 0x2ade
More information about the Gcc-bugs
mailing list