Commit 59fe9d15 authored by Bill Wendling's avatar Bill Wendling
Browse files

--- Merging r127780 into '.':

U    test/MC/ELF/tls-i386.s
U    lib/MC/MCELFStreamer.cpp

llvm-svn: 128032
parent 2d1a83ae
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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());
+10 −0
Original line number Diff line number Diff line
@@ -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:  ),