aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-12-09 19:57:29 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-12-09 19:57:29 +0000
commit3c68acd202d061c38e9b7744012094b4009d932a (patch)
tree9890c2ea85ebea8a1ae1a3a683ada581fa1528df
parent493ad6b95d153763b4b4fec456918f6c0d72d1ea (diff)
downloadexternal_llvm-3c68acd202d061c38e9b7744012094b4009d932a.tar.gz
external_llvm-3c68acd202d061c38e9b7744012094b4009d932a.tar.bz2
external_llvm-3c68acd202d061c38e9b7744012094b4009d932a.zip
Handle reloc_signed_4byte in here. Not doing so was a regression from my
previous commit. It is strange that we see it in 32 bits. We already have a fixme about it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146273 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/MC/ELFObjectWriter.cpp1
-rw-r--r--test/MC/ELF/relocation-386.s8
2 files changed, 9 insertions, 0 deletions
diff --git a/lib/MC/ELFObjectWriter.cpp b/lib/MC/ELFObjectWriter.cpp
index 14ca509d75..40b84ae458 100644
--- a/lib/MC/ELFObjectWriter.cpp
+++ b/lib/MC/ELFObjectWriter.cpp
@@ -1749,6 +1749,7 @@ unsigned X86ELFObjectWriter::GetRelocType(const MCValue &Target,
Type = ELF::R_386_GOTPC;
break;
+ case X86::reloc_signed_4byte:
case FK_PCRel_4:
case FK_Data_4:
switch (Modifier) {
diff --git a/test/MC/ELF/relocation-386.s b/test/MC/ELF/relocation-386.s
index 7604f9e151..85da2eb8c9 100644
--- a/test/MC/ELF/relocation-386.s
+++ b/test/MC/ELF/relocation-386.s
@@ -165,6 +165,13 @@
// CHECK-NEXT: (('r_offset', 0x00000094)
// CHECK-NEXT: ('r_sym', 0x00000b)
// CHECK-NEXT: ('r_type', 0x0a)
+// CHECK-NEXT: ),
+// Relocation 26 (und_symbol-bar2) is of type R_386_PC32
+// CHECK-NEXT: Relocation 26
+// CHECK-NEXT: (('r_offset', 0x0000009a)
+// CHECK-NEXT: ('r_sym', 0x00000e)
+// CHECK-NEXT: ('r_type', 0x02)
+// CHECK-NEXT: ),
// Section 4 is bss
// CHECK: # Section 4
@@ -231,6 +238,7 @@ bar2:
pushl $bar
addl foo@GOTTPOFF(%edx), %eax
subl _GLOBAL_OFFSET_TABLE_-bar2, %ebx
+ leal und_symbol-bar2(%edx),%ecx
.section zedsec,"awT",@progbits
zed: