[llvm] r245576 - Fix symbol value computation when part of the expression is weak.
Rafael Espindola via llvm-commits
llvm-commits at lists.llvm.org
Thu Aug 20 09:18:30 PDT 2015
Author: rafael
Date: Thu Aug 20 11:18:30 2015
New Revision: 245576
URL: http://llvm.org/viewvc/llvm-project?rev=245576&view=rev
Log:
Fix symbol value computation when part of the expression is weak.
This matches the behaviour of the gnu assembler and is part of
fixing pr24486.
Modified:
llvm/trunk/lib/MC/MCAssembler.cpp
llvm/trunk/test/MC/X86/expand-var.s
Modified: llvm/trunk/lib/MC/MCAssembler.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAssembler.cpp?rev=245576&r1=245575&r2=245576&view=diff
==============================================================================
--- llvm/trunk/lib/MC/MCAssembler.cpp (original)
+++ llvm/trunk/lib/MC/MCAssembler.cpp Thu Aug 20 11:18:30 2015
@@ -137,7 +137,7 @@ static bool getSymbolOffsetImpl(const MC
// If SD is a variable, evaluate it.
MCValue Target;
- if (!S.getVariableValue()->evaluateAsRelocatable(Target, &Layout, nullptr))
+ if (!S.getVariableValue()->evaluateAsValue(Target, Layout))
report_fatal_error("unable to evaluate offset for variable '" +
S.getName() + "'");
Modified: llvm/trunk/test/MC/X86/expand-var.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/expand-var.s?rev=245576&r1=245575&r2=245576&view=diff
==============================================================================
--- llvm/trunk/test/MC/X86/expand-var.s (original)
+++ llvm/trunk/test/MC/X86/expand-var.s Thu Aug 20 11:18:30 2015
@@ -1,9 +1,13 @@
-// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux < %s | llvm-readobj -r | FileCheck %s
+// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux < %s | llvm-readobj -r -t | FileCheck %s
// CHECK: Section {{.*}} .rela.text {
// CHECK-NEXT: 0x0 R_X86_64_32 d 0x0
// CHECK-NEXT: }
+// CHECK: Symbol {
+// CHECK: Name: d2
+// CHECK-NEXT: Value: 0x2A
+
a:
b = a
c = a
@@ -16,3 +20,4 @@ a2:
.weak b2
b2 = a2
c2 = b2 - a2
+ d2 = b2 - a2 + 42
More information about the llvm-commits
mailing list