summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorReid Kleckner <reid@kleckner.net>2014-09-25 02:09:18 +0000
committerReid Kleckner <reid@kleckner.net>2014-09-25 02:09:18 +0000
commit81782f0cb8840c17e9715b3f8ad0117559a9403d (patch)
tree502a0af662df85330ec9b1ab2a97aec03febcf0d
parentd355369dbbb8c2d3a56779492658f3b20af6d692 (diff)
downloadbcm5719-llvm-81782f0cb8840c17e9715b3f8ad0117559a9403d.tar.gz
bcm5719-llvm-81782f0cb8840c17e9715b3f8ad0117559a9403d.zip
MC: Use @IMGREL instead of @IMGREL32, which we can't parse
Nico Rieck added support for this 32-bit COFF relocation some time ago for Win64 stuff. It appears that as an oversight, the assembly output used "foo"@IMGREL32 instead of "foo"@IMGREL, which is what we can parse. Sadly, there were actually tests that took in IMGREL and put out IMGREL32, and we didn't notice the inconsistency. Oh well. Now LLVM can assemble it's own output with slightly more fidelity. llvm-svn: 218437
-rw-r--r--llvm/lib/MC/MCExpr.cpp2
-rw-r--r--llvm/test/MC/COFF/ir-to-imgrel.ll2
-rw-r--r--llvm/test/MC/X86/intel-syntax.s2
3 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index 992f0a756ca..c0396233c27 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -273,7 +273,7 @@ StringRef MCSymbolRefExpr::getVariantKindName(VariantKind Kind) {
case VK_Mips_CALL_LO16: return "CALL_LO16";
case VK_Mips_PCREL_HI16: return "PCREL_HI16";
case VK_Mips_PCREL_LO16: return "PCREL_LO16";
- case VK_COFF_IMGREL32: return "IMGREL32";
+ case VK_COFF_IMGREL32: return "IMGREL";
}
llvm_unreachable("Invalid variant kind");
}
diff --git a/llvm/test/MC/COFF/ir-to-imgrel.ll b/llvm/test/MC/COFF/ir-to-imgrel.ll
index 39884d2a15e..dfc88b2a675 100644
--- a/llvm/test/MC/COFF/ir-to-imgrel.ll
+++ b/llvm/test/MC/COFF/ir-to-imgrel.ll
@@ -2,5 +2,5 @@
@__ImageBase = external global i8
-; X64: .quad "?x@@3HA"@IMGREL32
+; X64: .quad "?x@@3HA"@IMGREL
@"\01?x@@3HA" = global i64 sub nsw (i64 ptrtoint (i64* @"\01?x@@3HA" to i64), i64 ptrtoint (i8* @__ImageBase to i64)), align 8
diff --git a/llvm/test/MC/X86/intel-syntax.s b/llvm/test/MC/X86/intel-syntax.s
index 325f64d533b..c027aa426f3 100644
--- a/llvm/test/MC/X86/intel-syntax.s
+++ b/llvm/test/MC/X86/intel-syntax.s
@@ -606,7 +606,7 @@ mov rcx, qword ptr [_g0 + 8]
fadd dword ptr "?half@?0??bar@@YAXXZ@4NA"
fadd dword ptr "?half@?0??bar@@YAXXZ@4NA"@IMGREL
// CHECK: fadds "?half@?0??bar@@YAXXZ@4NA"
-// CHECK: fadds "?half@?0??bar@@YAXXZ@4NA"@IMGREL32
+// CHECK: fadds "?half@?0??bar@@YAXXZ@4NA"@IMGREL
inc qword ptr [rax]
inc dword ptr [rax]
OpenPOWER on IntegriCloud