summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
diff options
context:
space:
mode:
authorVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-03-01 05:07:21 +0000
committerVenkatraman Govindaraju <venkatra@cs.wisc.edu>2014-03-01 05:07:21 +0000
commit9fc29098dfa684de53dd180aa93e94c39c388631 (patch)
tree9b0c0cb624d550bfb5131cb0da76491101879618 /llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
parent552d9e49d9431b8529e6ed6988d9531b9a1aa81f (diff)
downloadbcm5719-llvm-9fc29098dfa684de53dd180aa93e94c39c388631.tar.gz
bcm5719-llvm-9fc29098dfa684de53dd180aa93e94c39c388631.zip
[Sparc] Teach SparcAsmParser to emit correct relocations for PIC code.
llvm-svn: 202571
Diffstat (limited to 'llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp')
-rw-r--r--llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
index db1c361c8f9..812f4b73bd1 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
@@ -11,8 +11,10 @@
#include "MCTargetDesc/SparcFixupKinds.h"
#include "MCTargetDesc/SparcMCTargetDesc.h"
#include "llvm/MC/MCELFObjectWriter.h"
+#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCFixupKindInfo.h"
#include "llvm/MC/MCObjectWriter.h"
+#include "llvm/MC/MCValue.h"
#include "llvm/Support/TargetRegistry.h"
using namespace llvm;
@@ -154,6 +156,8 @@ namespace {
switch ((Sparc::Fixups)Fixup.getKind()) {
default: break;
case Sparc::fixup_sparc_wplt30:
+ if (Target.getSymA()->getSymbol().isTemporary())
+ return;
case Sparc::fixup_sparc_tls_gd_hi22:
case Sparc::fixup_sparc_tls_gd_lo10:
case Sparc::fixup_sparc_tls_gd_add:
OpenPOWER on IntegriCloud