From: Petr Machata Date: Mon, 17 Nov 2014 00:31:47 +0000 (+0800) Subject: dwarf.exp: In 64-bit units, emit also abbrev offset as a 64-bit field X-Git-Tag: gdb-7.9-branchpoint~531 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=41c7760520c02124d2d3d0b8ad12e2186ba48f46;p=thirdparty%2Fbinutils-gdb.git dwarf.exp: In 64-bit units, emit also abbrev offset as a 64-bit field Dwarf::tu and Dwarf::cu allow selection of units with 64-bit offsets through an option. When selected, unit size is encoded properly, but offset to abbreviation unit is still encoded in a 4-byte field. This patch fixes the problem. Reproducer: Dwarf::assemble "blah.s" { tu {is_64 1 version 4 addr_size 8} 0x1122334455667788 the_type { type_unit {} { the_type: } } cu {is_64 1 version 4 addr_size 8} { compile_unit {{language @DW_LANG_C}} {} } } gdb/testsuite: * lib/dwarf.exp (Dwarf::cu, Dwarf::tu): Emit ${_cu_offset_size} bytes abbrev offset. --- diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 65687c011b7..2a027d5c132 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2014-11-17 Petr Machata + + * lib/dwarf.exp (Dwarf::cu, Dwarf::tu): Emit + ${_cu_offset_size} bytes abbrev offset. + 2014-11-15 Doug Evans PR symtab/17559 diff --git a/gdb/testsuite/lib/dwarf.exp b/gdb/testsuite/lib/dwarf.exp index cadda3e81f9..778ad1cf797 100644 --- a/gdb/testsuite/lib/dwarf.exp +++ b/gdb/testsuite/lib/dwarf.exp @@ -954,7 +954,7 @@ namespace eval Dwarf { } define_label $start_label _op .2byte $_cu_version Version - _op .4byte $my_abbrevs Abbrevs + _op .${_cu_offset_size}byte $my_abbrevs Abbrevs _op .byte $_cu_addr_size "Pointer size" _defer_output $_abbrev_section { @@ -1047,7 +1047,7 @@ namespace eval Dwarf { } define_label $start_label _op .2byte $_cu_version Version - _op .4byte $my_abbrevs Abbrevs + _op .${_cu_offset_size}byte $my_abbrevs Abbrevs _op .byte $_cu_addr_size "Pointer size" _op .8byte $signature Signature if { $type_label != "" } {