[llvm-commits] [llvm] r127780 - in /llvm/trunk: lib/MC/MCELFStreamer.cpp test/MC/ELF/tls-i386.s
Joerg Sonnenberger
joerg at britannica.bec.de
Fri Mar 18 03:32:55 PDT 2011
Bill, I think this should be in 2.9.
Joerg
On Thu, Mar 17, 2011 at 12:35:10AM -0000, Joerg Sonnenberger wrote:
> Author: joerg
> Date: Wed Mar 16 19:35:10 2011
> New Revision: 127780
>
> URL: http://llvm.org/viewvc/llvm-project?rev=127780&view=rev
> Log:
> Fix handling of @IDNTPOFF relocations, they need to get STT_TLS.
> While here, add VK_ARM_TPOFF and VK_ARM_GOTTPOFF, too.
>
> Modified:
> llvm/trunk/lib/MC/MCELFStreamer.cpp
> llvm/trunk/test/MC/ELF/tls-i386.s
>
> Modified: llvm/trunk/lib/MC/MCELFStreamer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCELFStreamer.cpp?rev=127780&r1=127779&r2=127780&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCELFStreamer.cpp (original)
> +++ llvm/trunk/lib/MC/MCELFStreamer.cpp Wed Mar 16 19:35:10 2011
> @@ -291,15 +291,18 @@
> 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());
>
> Modified: llvm/trunk/test/MC/ELF/tls-i386.s
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/ELF/tls-i386.s?rev=127780&r1=127779&r2=127780&view=diff
> ==============================================================================
> --- llvm/trunk/test/MC/ELF/tls-i386.s (original)
> +++ llvm/trunk/test/MC/ELF/tls-i386.s Wed Mar 16 19:35:10 2011
> @@ -8,6 +8,7 @@
> movl foo4 at TLSLDM(%eax), %eax
> movl foo5 at TPOFF(%eax), %eax
> movl foo6 at DTPOFF(%eax), %eax
> + movl foo7 at 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: ),
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list