mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
Fix handling of @IDNTPOFF relocations, they need to get STT_TLS.
While here, add VK_ARM_TPOFF and VK_ARM_GOTTPOFF, too. llvm-svn: 127780
This commit is contained in:
parent
2786187b43
commit
e37bdf4386
@ -291,15 +291,18 @@ void MCELFStreamer::fixSymbolsInTLSFixups(const MCExpr *expr) {
|
||||
switch (symRef.getKind()) {
|
||||
default:
|
||||
return;
|
||||
case MCSymbolRefExpr::VK_GOTTPOFF:
|
||||
case MCSymbolRefExpr::VK_INDNTPOFF:
|
||||
case MCSymbolRefExpr::VK_NTPOFF:
|
||||
case MCSymbolRefExpr::VK_GOTNTPOFF:
|
||||
case MCSymbolRefExpr::VK_TLSGD:
|
||||
case MCSymbolRefExpr::VK_TLSLD:
|
||||
case MCSymbolRefExpr::VK_TLSLDM:
|
||||
case MCSymbolRefExpr::VK_TPOFF:
|
||||
case MCSymbolRefExpr::VK_DTPOFF:
|
||||
case MCSymbolRefExpr::VK_GOTTPOFF:
|
||||
case MCSymbolRefExpr::VK_TLSLD:
|
||||
case MCSymbolRefExpr::VK_ARM_TLSGD:
|
||||
case MCSymbolRefExpr::VK_ARM_TPOFF:
|
||||
case MCSymbolRefExpr::VK_ARM_GOTTPOFF:
|
||||
break;
|
||||
}
|
||||
MCSymbolData &SD = getAssembler().getOrCreateSymbolData(symRef.getSymbol());
|
||||
|
@ -8,6 +8,7 @@
|
||||
movl foo4@TLSLDM(%eax), %eax
|
||||
movl foo5@TPOFF(%eax), %eax
|
||||
movl foo6@DTPOFF(%eax), %eax
|
||||
movl foo7@INDNTPOFF, %eax
|
||||
|
||||
// CHECK: (('st_name', 0x00000001) # 'foo1'
|
||||
// CHECK-NEXT: ('st_value', 0x00000000)
|
||||
@ -62,3 +63,12 @@
|
||||
// CHECK-NEXT: ('st_other', 0x00000000)
|
||||
// CHECK-NEXT: ('st_shndx', 0x00000000)
|
||||
// CHECK-NEXT: ),
|
||||
// CHECK-NEXT: # Symbol 0x0000000b
|
||||
// CHECK-NEXT: (('st_name', 0x0000001f) # 'foo7'
|
||||
// CHECK-NEXT: ('st_value', 0x00000000)
|
||||
// CHECK-NEXT: ('st_size', 0x00000000)
|
||||
// CHECK-NEXT: ('st_bind', 0x00000001)
|
||||
// CHECK-NEXT: ('st_type', 0x00000006)
|
||||
// CHECK-NEXT: ('st_other', 0x00000000)
|
||||
// CHECK-NEXT: ('st_shndx', 0x00000000)
|
||||
// CHECK-NEXT: ),
|
||||
|
Loading…
x
Reference in New Issue
Block a user