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.
This commit is contained in:
parent
209fed2dec
commit
41c7760520
2 changed files with 7 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-11-17 Petr Machata <pmachata@redhat.com>
|
||||
|
||||
* lib/dwarf.exp (Dwarf::cu, Dwarf::tu): Emit
|
||||
${_cu_offset_size} bytes abbrev offset.
|
||||
|
||||
2014-11-15 Doug Evans <xdje42@gmail.com>
|
||||
|
||||
PR symtab/17559
|
||||
|
|
|
@ -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 != "" } {
|
||||
|
|
Loading…
Reference in a new issue