summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
diff options
context:
space:
mode:
authorPeter Smith <peter.smith@linaro.org>2016-12-09 09:59:54 +0000
committerPeter Smith <peter.smith@linaro.org>2016-12-09 09:59:54 +0000
commit4b360292ede74b82f89aa95947bedb9ce18bdaee (patch)
tree93c9db907ad4d1e5b528bb7d4d2758dd52bef87b /lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp
parent43a7f2c53b016ae7bd75215353c57dfffcbb72e6 (diff)
downloadbcm5719-llvm-4b360292ede74b82f89aa95947bedb9ce18bdaee.tar.gz
bcm5719-llvm-4b360292ede74b82f89aa95947bedb9ce18bdaee.zip
[ELF][I386] .got.plt entries for i386 should use VA of ifunc resolver
The i386 glibc ld.so expects the .got.slot entry that is relocated by a R_386_IRELATIVE relocation to point directly at the ifunc resolver and not the address of the PLT entry + 6 (thus entering the lazy resolver). This is also the case for ARM and I suspect it is because these use REL relocations and can't use the addend field to store the address of the ifunc resolver. If the lazy resolver is used we get an error message stating that only R_386_JUMP_SLOT is supported. As ARM and i386 share the same code, I've removed the ARM specific test and added a writeIgotPlt() function that by default calls writeGotPlt(). ARM and i386 override this to write the address of the ifunc resolver. Differential Revision: https://reviews.llvm.org/D27581 llvm-svn: 289198
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/call-function/main.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud