diff options
author | Tom Tromey <tromey@adacore.com> | 2021-11-08 10:58:27 -0700 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2021-11-09 08:30:48 -0700 |
commit | 7b9f73fad09a5ec76002625d562e32c4debc2a5e (patch) | |
tree | 294a549f0c3ec2e02c0680d26b4f059fe5d4733f /gdb/m32c-tdep.c | |
parent | 0b03c6f03d51f441d999e0cee92f81af543d9373 (diff) | |
download | gdb-7b9f73fad09a5ec76002625d562e32c4debc2a5e.zip gdb-7b9f73fad09a5ec76002625d562e32c4debc2a5e.tar.gz gdb-7b9f73fad09a5ec76002625d562e32c4debc2a5e.tar.bz2 |
Correctly handle DW_LLE_start_end
When the code to handle DW_LLE_start_end was added (as part of some
DWARF 5 work), it was written to add the base address. However, this
seems incorrect -- the DWARF standard describes this as an address,
not an offset from the base address.
This patch changes a couple of spots in dwarf2/loc.c to fix this
problem. It then changes decode_debug_loc_addresses to return
DEBUG_LOC_OFFSET_PAIR instead, which preserves the previous semantics.
This only showed up on the RISC-V target internally, due to the
combination of DWARF 5 and a newer version of GCC. I've updated a
couple of existing loclists test cases to demonstrate the bug.
Diffstat (limited to 'gdb/m32c-tdep.c')
0 files changed, 0 insertions, 0 deletions