diff options
author | Nikola Prica <nikola.prica@rt-rk.com> | 2019-07-10 18:58:05 +0000 |
---|---|---|
committer | Nikola Prica <nikola.prica@rt-rk.com> | 2019-07-10 18:58:05 +0000 |
commit | bbfa4cf70b9ac7cc9864fef42240d45bfa8bd681 (patch) | |
tree | f18d1567bdaaf5b9fa2e1af574c10303efb3b1b4 /llvm/lib/MC/ELFObjectWriter.cpp | |
parent | 7c95925b133f0e2d2bcf2ec570c675866d47d298 (diff) | |
download | bcm5719-llvm-bbfa4cf70b9ac7cc9864fef42240d45bfa8bd681.tar.gz bcm5719-llvm-bbfa4cf70b9ac7cc9864fef42240d45bfa8bd681.zip |
Revert "[ELF] Loose a condition for relocation with a symbol"
This reverts commit 8507eca1647118e73435b0ce1de8a1952a021d01.
Reveting due to some suspicious failurse in santizer-x86_64-linux.
llvm-svn: 365685
Diffstat (limited to 'llvm/lib/MC/ELFObjectWriter.cpp')
-rw-r--r-- | llvm/lib/MC/ELFObjectWriter.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/MC/ELFObjectWriter.cpp b/llvm/lib/MC/ELFObjectWriter.cpp index e20af8de0c3..2c68723a12f 100644 --- a/llvm/lib/MC/ELFObjectWriter.cpp +++ b/llvm/lib/MC/ELFObjectWriter.cpp @@ -1396,6 +1396,11 @@ bool ELFObjectWriter::shouldRelocateWithSymbol(const MCAssembler &Asm, if (Flags & ELF::SHF_MERGE) { if (C != 0) return true; + + // It looks like gold has a bug (http://sourceware.org/PR16794) and can + // only handle section relocations to mergeable sections if using RELA. + if (!hasRelocationAddend()) + return true; } // Most TLS relocations use a got, so they need the symbol. Even those that |