[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