summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp7
-rw-r--r--llvm/test/MC/ARM/thumb_set.s25
2 files changed, 12 insertions, 20 deletions
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
index e55aa667134..3f5f42318ff 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
@@ -1003,11 +1003,8 @@ ARMTargetELFStreamer::AnnotateTLSDescriptorSequence(const MCSymbolRefExpr *S) {
void ARMTargetELFStreamer::emitThumbSet(MCSymbol *Symbol, const MCExpr *Value) {
if (const MCSymbolRefExpr *SRE = dyn_cast<MCSymbolRefExpr>(Value)) {
- // FIXME: Doing a lookup in here is a hack.
- MCSymbol *Sym =
- getStreamer().getContext().LookupSymbol(SRE->getSymbol().getName());
- if (!Sym->isDefined()) {
- getStreamer().EmitSymbolAttribute(Sym, MCSA_Global);
+ const MCSymbol &Sym = SRE->getSymbol();
+ if (!Sym.isDefined()) {
getStreamer().EmitAssignment(Symbol, Value);
return;
}
diff --git a/llvm/test/MC/ARM/thumb_set.s b/llvm/test/MC/ARM/thumb_set.s
index ac4bd328895..d2a0dc04730 100644
--- a/llvm/test/MC/ARM/thumb_set.s
+++ b/llvm/test/MC/ARM/thumb_set.s
@@ -59,8 +59,6 @@ beta:
.thumb_set beta, alpha
- .thumb_set alias_undefined, undefined
-
@ CHECK: Symbol {
@ CHECK: Name: alias_arm_func
@ CHECK: Value: 0x1
@@ -109,6 +107,16 @@ beta:
@ CHECK: Type: Function
@ CHECK: }
+@ CHECK: Symbol {
+@ CHECK: Name: badblood
+@ CHECK-NEXT: Value: 0x0
+@ CHECK-NEXT: Size: 0
+@ CHECK-NEXT: Binding: Local
+@ CHECK-NEXT: Type: Object
+@ CHECK-NEXT: Other: 0
+@ CHECK-NEXT: Section: .data
+@ CHECK-NEXT: }
+
@ CHECK: Symbol {
@ CHECK: Name: bedazzle
@ CHECK: Value: 0x4
@@ -144,16 +152,3 @@ beta:
@ CHECK: Value: 0x5
@ CHECK: Type: Function
@ CHECK: }
-
-@ CHECK: Symbol {
-@ CHECK: Name: badblood
-@ CHECK: Value: 0x0
-@ CHECK: Type: Object
-@ CHECK: }
-
-@ CHECK: Symbol {
-@ CHECK: Name: undefined
-@ CHECK: Value: 0x0
-@ CHECK: Type: None
-@ CHECK: }
-
OpenPOWER on IntegriCloud