diff options
author | Tony Tye <Tony.Tye@amd.com> | 2017-10-16 20:46:53 +0000 |
---|---|---|
committer | Tony Tye <Tony.Tye@amd.com> | 2017-10-16 20:46:53 +0000 |
commit | 394e1dde6e6c85450f124053b49329d287d088d6 (patch) | |
tree | fb507b28ee3871eb7bed5245b3ea69fa92b4802e /llvm/lib/Fuzzer/FuzzerExtFunctionsWeak.cpp | |
parent | d288430c3e8597c5eb74ab6fe9ee6f4ef75b1723 (diff) | |
download | bcm5719-llvm-394e1dde6e6c85450f124053b49329d287d088d6.tar.gz bcm5719-llvm-394e1dde6e6c85450f124053b49329d287d088d6.zip |
Add base relative relocation record that can be used for the following case (OpenCL example):
static __global int Var = 0;
__global int* Ptr[] = {&Var};
...
In this case Var is a non premptable symbol and so its address can be used as the value of Ptr, with a base relative relocation that will add the delta between the ELF address and the actual load address. Such relocations do not require a symbol.
This also fixes LLD which was incorrectly generating a PCREL64 for this case.
Differential Revision: https://reviews.llvm.org/D38910
llvm-svn: 315936
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerExtFunctionsWeak.cpp')
0 files changed, 0 insertions, 0 deletions