diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-19 16:02:38 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2018-02-19 16:02:38 +0000 |
commit | c7e51805ff52e84594b0514d5bdf31579434b80c (patch) | |
tree | 8b16479bcae90b6f88b97cbdc450ee5a78b8bbdd /llvm/lib/Object/Object.cpp | |
parent | 9c5ac63785b5aac0c85b57637409869b27983bfe (diff) | |
download | llvm-c7e51805ff52e84594b0514d5bdf31579434b80c.zip llvm-c7e51805ff52e84594b0514d5bdf31579434b80c.tar.gz llvm-c7e51805ff52e84594b0514d5bdf31579434b80c.tar.bz2 |
Bring back r323297.
It was reverted because it broke the grub build. The reason the grub
build broke is because grub does its own relocation processing and was
not handing R_386_PLT32. Since grub has no dynamic linker, the fix is
trivial: handle R_386_PLT32 exactly like R_386_PC32.
On the report it was noted that they are using
-fno-integrated-assembler. The upstream GAS (starting with
451875b4f976a527395e9303224c7881b65e12ed) will already be producing a
R_386_PLT32 anyway, so they have to update their code one way or the
other
Original message:
Don't assume a null GV is local for ELF and MachO.
This is already a simplification, and should help with avoiding a plt
reference when calling an intrinsic with -fno-plt.
With this change we return false for null GVs, so the caller only
needs to check the new metadata to decide if it should use foo@plt or
*foo@got.
llvm-svn: 325514
Diffstat (limited to 'llvm/lib/Object/Object.cpp')
0 files changed, 0 insertions, 0 deletions