llvm-project/libunwind
Adrian Vogelsgesang c9cffdde39 [libunwind] Fix usage of `_dl_find_object` on 32-bit x86
On 32-bit x86, `_dl_find_object` also returns a `dlfo_eh_dbase` address.
So far, compiling against a version of `_dl_find_object` which returns a
`dlfo_eh_dbase` was blocked using a `#if` + `#error`. This commit now
removes this compile time assertion and simply ignores the returned
`dlfo_eh_dbase`. All test cases are passing on a 32-bit build now.

According to https://www.gnu.org/software/libc/manual/html_node/Dynamic-Linker-Introspection.html,
`dlfo_eh_dbase` should be the base address for all DW_EH_PE_datarel
relocations. However, glibc/elf/dl-find_object.h says that eh_dbase
is the relocated DT_PLTGOT value. I don't understand how those two
statements fit together, but to fix 32-bit x86, ignoring `dlfo_eh_dbase`
seems to be good enough.

Fixes #57733

Differential Revision: https://reviews.llvm.org/D133846
2022-09-16 06:29:49 -07:00
..
cmake [compiler-rt][libunwind][runtimes] Recategorize `llvm_check_linker_flag` langs 2022-08-17 12:35:36 -04:00
docs [libunwind] Fixed a number of typos 2022-08-20 18:09:03 -07:00
include [libunwind] Fixed a number of typos 2022-08-20 18:09:03 -07:00
src [libunwind] Fix usage of `_dl_find_object` on 32-bit x86 2022-09-16 06:29:49 -07:00
test [libunwind] Fixed a number of typos 2022-08-20 18:09:03 -07:00
.clang-format
CMakeLists.txt Revert "[cmake] Use `CMAKE_INSTALL_LIBDIR` too" 2022-08-18 22:46:32 -04:00
LICENSE.TXT