forked from OSchip/llvm-project
c9cffdde39
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 |
||
---|---|---|
.. | ||
cmake | ||
docs | ||
include | ||
src | ||
test | ||
.clang-format | ||
CMakeLists.txt | ||
LICENSE.TXT |