diff options
author | Joerg Sonnenberger <joerg@bec.de> | 2011-03-17 00:35:10 +0000 |
---|---|---|
committer | Joerg Sonnenberger <joerg@bec.de> | 2011-03-17 00:35:10 +0000 |
commit | d02c8b6cc1d07bfe37fc055eefdac21b1c9303cb (patch) | |
tree | a482f91a8c36747de6565f9c5fe8bc18593f49a5 /lib | |
parent | 2254227791ea267426b9ac674fc6d87decb65bc1 (diff) | |
download | external_llvm-d02c8b6cc1d07bfe37fc055eefdac21b1c9303cb.zip external_llvm-d02c8b6cc1d07bfe37fc055eefdac21b1c9303cb.tar.gz external_llvm-d02c8b6cc1d07bfe37fc055eefdac21b1c9303cb.tar.bz2 |
Fix handling of @IDNTPOFF relocations, they need to get STT_TLS.
While here, add VK_ARM_TPOFF and VK_ARM_GOTTPOFF, too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127780 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MC/MCELFStreamer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/MC/MCELFStreamer.cpp b/lib/MC/MCELFStreamer.cpp index 464c136..9fc9173 100644 --- a/lib/MC/MCELFStreamer.cpp +++ b/lib/MC/MCELFStreamer.cpp @@ -291,15 +291,18 @@ void MCELFStreamer::fixSymbolsInTLSFixups(const MCExpr *expr) { switch (symRef.getKind()) { default: return; + case MCSymbolRefExpr::VK_GOTTPOFF: + case MCSymbolRefExpr::VK_INDNTPOFF: case MCSymbolRefExpr::VK_NTPOFF: case MCSymbolRefExpr::VK_GOTNTPOFF: case MCSymbolRefExpr::VK_TLSGD: + case MCSymbolRefExpr::VK_TLSLD: case MCSymbolRefExpr::VK_TLSLDM: case MCSymbolRefExpr::VK_TPOFF: case MCSymbolRefExpr::VK_DTPOFF: - case MCSymbolRefExpr::VK_GOTTPOFF: - case MCSymbolRefExpr::VK_TLSLD: case MCSymbolRefExpr::VK_ARM_TLSGD: + case MCSymbolRefExpr::VK_ARM_TPOFF: + case MCSymbolRefExpr::VK_ARM_GOTTPOFF: break; } MCSymbolData &SD = getAssembler().getOrCreateSymbolData(symRef.getSymbol()); |