yingcong-wu wrote:
Added a e2e regression test. I have to manually mark the .eh_frame_hdr as
omitted in order to make libunwind to do the linear seach which will invoke the
affected logic.
Local test result:
```
zsh$> clang 1.c -lunwind
zsh$> ldd a.out
linux-vdso.so.1 (0x00007ffc3b16b000)
libunwind.so.1 =>
/tmp/llvm-unwind-fde-bug/build-debug/install/lib/x86_64-unknown-linux-gnu/libunwind.so.1
(0x00007fbac1735000)
libc.so.6 => /lib64/libc.so.6 (0x00007fbac1511000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbac174e000)
# skipping the command to update the eh_frame_hdr section
zsh$> ./a.out
123
fde_pc = 0x55fc2620b0d8
fde_fpc = (nil)
fde_fpc1 = 0x55fc2620b0b8
```
And here is the result using libgcc_s's unwind implementation
```
zsh$> clang 1.c
zsh$> ldd a.out
linux-vdso.so.1 (0x00007fff217c8000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f410a4aa000)
libc.so.6 => /lib64/libc.so.6 (0x00007f410a2a0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f410a4e6000)
# skipping the command to update the eh_frame_hdr section
zsh$> ./a.out
123
fde_pc = 0x5632f0ed50d8
fde_fpc = 0x5632f0ed50b8
fde_fpc1 = 0x5632f0ed50b8
```
https://github.com/llvm/llvm-project/pull/154902
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits