diff options
author | David Spickett <david.spickett@linaro.org> | 2023-07-04 11:14:45 +0100 |
---|---|---|
committer | David Spickett <david.spickett@linaro.org> | 2023-07-04 11:15:18 +0100 |
commit | 518320fd98d51e2151d2d256275860e99cae695f (patch) | |
tree | 8b766760a5479b77015f44fd077c40c0513363e2 /clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp | |
parent | 8aedad0fa071edabeb4f6dd50b1c82bb414f00d5 (diff) | |
download | llvm-518320fd98d51e2151d2d256275860e99cae695f.zip llvm-518320fd98d51e2151d2d256275860e99cae695f.tar.gz llvm-518320fd98d51e2151d2d256275860e99cae695f.tar.bz2 |
[lldb][AArch64] Account for extra libc frames in PAC unwind test
Running this on Amazon Ubuntu the final backtrace is:
```
(lldb) thread backtrace
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
* frame #0: 0x0000aaaaaaaa07d0 a.out`func_c at main.c:10:3
frame #1: 0x0000aaaaaaaa07c4 a.out`func_b at main.c:14:3
frame #2: 0x0000aaaaaaaa07b4 a.out`func_a at main.c:18:3
frame #3: 0x0000aaaaaaaa07a4 a.out`main(argc=<unavailable>, argv=<unavailable>) at main.c:22:3
frame #4: 0x0000fffff7b373fc libc.so.6`___lldb_unnamed_symbol2962 + 108
frame #5: 0x0000fffff7b374cc libc.so.6`__libc_start_main + 152
frame #6: 0x0000aaaaaaaa06b0 a.out`_start + 48
```
This causes the test to fail because of the extra ___lldb_unnamed_symbol2962 frame
(an inlined function?).
To fix this, strictly check all the frames in main.c then for the rest
just check we find __libc_start_main and _start in that order regardless
of other frames in between.
Reviewed By: omjavaid
Differential Revision: https://reviews.llvm.org/D154204
Diffstat (limited to 'clang/lib/Analysis/FlowSensitive/DataflowAnalysisContext.cpp')
0 files changed, 0 insertions, 0 deletions