diff options
author | Tom de Vries <tdevries@suse.de> | 2024-04-17 12:55:00 +0200 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2024-04-17 12:55:00 +0200 |
commit | d52ba54add0d2500403db63c09878e3f3cde8449 (patch) | |
tree | 4c2aabaee8cf3978d43b274660ff2b714f87fdef /libctf/ctf-create.c | |
parent | 4d76c39f751dda04a386ca8ce5203e34bd0341fe (diff) | |
download | gdb-d52ba54add0d2500403db63c09878e3f3cde8449.zip gdb-d52ba54add0d2500403db63c09878e3f3cde8449.tar.gz gdb-d52ba54add0d2500403db63c09878e3f3cde8449.tar.bz2 |
[gdb/testsuite] Require address update for DW_LNE_end_sequence
With test-case gdb.dwarf2/dw2-epilogue-begin.exp, we have an end_sequence
entry with the same address as the line entry before it:
...
File name Line number Starting address View Stmt
dw2-epilogue-begin.c 44 0x4101e8 x
dw2-epilogue-begin.c 47 0x4101ec x
dw2-epilogue-begin.c - 0x4101ec
...
and consequently the line entry is removed by gdb:
...
INDEX LINE REL-ADDRESS UNREL-ADDRESS IS-STMT PRO EPI
0 20 0x00000000004101a8 0x00000000004101a8 Y Y Y
1 27 0x00000000004101b0 0x00000000004101b0 Y
2 32 0x00000000004101b8 0x00000000004101b8 Y Y
3 34 0x00000000004101c0 0x00000000004101c0 Y Y
4 35 0x00000000004101c8 0x00000000004101c8 Y
5 40 0x00000000004101d4 0x00000000004101d4 Y Y
6 44 0x00000000004101e8 0x00000000004101e8 Y
7 END 0x00000000004101ec 0x00000000004101ec Y
...
This is a common mistake in dwarf assembly test-cases.
Fix this by:
- requiring an address update for each DW_LNE_end_sequence, and
- fixing the test-cases where that triggers an error.
I also encountered the error in test-case gdb.dwarf2/dw2-bad-elf.exp, and in
this case I worked around it using "DW_LNS_advance_pc 0".
Tested on aarch64-linux.
PR testsuite/31592
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=31592
Diffstat (limited to 'libctf/ctf-create.c')
0 files changed, 0 insertions, 0 deletions