diff options
author | Tom de Vries <tdevries@suse.de> | 2021-01-25 16:32:31 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2021-01-25 16:32:31 +0100 |
commit | 9f6c202e573b796a9e7328cc5fdab7c0c63776bf (patch) | |
tree | 310272100983769de46bdd3f11b907e62700b69e /bfd/coff-sh.c | |
parent | f3bdc2dbb9673ee2d0d4d51c86a278dce199d360 (diff) | |
download | gdb-9f6c202e573b796a9e7328cc5fdab7c0c63776bf.zip gdb-9f6c202e573b796a9e7328cc5fdab7c0c63776bf.tar.gz gdb-9f6c202e573b796a9e7328cc5fdab7c0c63776bf.tar.bz2 |
[gdb/symtab] Handle DW_AT_ranges with DW_FORM_sec_off in partial DIE
While looking into a failure in gdb.go/package.exp with gcc-11, I noticed that
gdb shows some complaints when loading the executable (also with gcc-10, where
the test-case passes):
...
$ gdb -batch -iex "set complaints 100" package.10 -ex start
During symbol reading: Attribute value is not a constant (DW_FORM_sec_offset)
Temporary breakpoint 1 at 0x402ae6: file gdb.go/package1.go, line 8.
During symbol reading: Attribute value is not a constant (DW_FORM_sec_offset)
During symbol reading: Invalid .debug_rnglists data (no base address)
...
Fix this by using as_unsigned () to read DW_AT_ranges in the partial DIE
reader, similar to how that is done in dwarf2_get_pc_bounds.
Tested on x86_64-linux.
gdb/ChangeLog:
2021-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
Simon Marchi <simon.marchi@polymtl.ca>
Tom de Vries <tdevries@suse.de>
* dwarf2/read.c (partial_die_info::read): Use as_unsigned () for
DW_AT_ranges.
gdb/testsuite/ChangeLog:
2021-01-25 Tom de Vries <tdevries@suse.de>
* gdb.dwarf2/dw2-ranges-psym.exp (gdb_load_no_complaints): New proc.
* lib/gdb.exp: Use gdb_load_no_complaints.
Diffstat (limited to 'bfd/coff-sh.c')
0 files changed, 0 insertions, 0 deletions