[lld] r296505 - Fix wrong TLS symbol values.

Rafael Avila de Espindola via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 28 11:30:51 PST 2017


Thanks!

Rui Ueyama via llvm-commits <llvm-commits at lists.llvm.org> writes:

> Author: ruiu
> Date: Tue Feb 28 13:06:32 2017
> New Revision: 296505
>
> URL: http://llvm.org/viewvc/llvm-project?rev=296505&view=rev
> Log:
> Fix wrong TLS symbol values.
>
> I do not fully understand why we had these values in the tests, but
> the new value matches what ld.bfd and ld.gold set, so I guess that
> was just a mistake.
>
> Differential Revision: https://reviews.llvm.org/D30441
>
> Modified:
>     lld/trunk/ELF/SyntheticSections.cpp
>     lld/trunk/test/ELF/gc-debuginfo-tls.s
>     lld/trunk/test/ELF/mips-tls-64.s
>     lld/trunk/test/ELF/mips-tls-hilo.s
>     lld/trunk/test/ELF/mips-tls.s
>
> Modified: lld/trunk/ELF/SyntheticSections.cpp
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/ELF/SyntheticSections.cpp?rev=296505&r1=296504&r2=296505&view=diff
> ==============================================================================
> --- lld/trunk/ELF/SyntheticSections.cpp (original)
> +++ lld/trunk/ELF/SyntheticSections.cpp Tue Feb 28 13:06:32 2017
> @@ -1376,14 +1376,6 @@ template <class ELFT> void SymbolTableSe
>  
>      if (const OutputSection *OutSec = Body->getOutputSection<ELFT>()) {
>        ESym->st_shndx = OutSec->SectionIndex;
> -
> -      // This piece of code should go away as it doesn't make sense,
> -      // but we want to keep it tentatively because some tests for TLS
> -      // variable depends on this. We should fix the test and remove
> -      // this code.
> -      if (Body->isLocal())
> -        if (auto *DS = dyn_cast<DefinedRegular<ELFT>>(Body))
> -          ESym->st_value = OutSec->Addr + DS->Section->getOffset(*DS);
>      } else if (isa<DefinedRegular<ELFT>>(Body)) {
>        ESym->st_shndx = SHN_ABS;
>      } else if (isa<DefinedCommon>(Body)) {
>
> Modified: lld/trunk/test/ELF/gc-debuginfo-tls.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/gc-debuginfo-tls.s?rev=296505&r1=296504&r2=296505&view=diff
> ==============================================================================
> --- lld/trunk/test/ELF/gc-debuginfo-tls.s (original)
> +++ lld/trunk/test/ELF/gc-debuginfo-tls.s Tue Feb 28 13:06:32 2017
> @@ -6,7 +6,7 @@
>  
>  # NOGC:      Symbol {
>  # NOGC:        Name: patatino
> -# NOGC-NEXT:   Value: 0x1000
> +# NOGC-NEXT:   Value: 0x0
>  # NOGC-NEXT:   Size: 0
>  # NOGC-NEXT:   Binding: Local
>  # NOGC-NEXT:   Type: TLS
>
> Modified: lld/trunk/test/ELF/mips-tls-64.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-64.s?rev=296505&r1=296504&r2=296505&view=diff
> ==============================================================================
> --- lld/trunk/test/ELF/mips-tls-64.s (original)
> +++ lld/trunk/test/ELF/mips-tls-64.s Tue Feb 28 13:06:32 2017
> @@ -29,7 +29,7 @@
>  # DIS-NEXT:  30040 00000000 00000000 00000000 00000001
>  # DIS-NEXT:  30050 ffffffff ffff8004 ffffffff ffff9004
>  
> -# DIS: 0000000000040000 l       .tdata          00000000 loc
> +# DIS: 0000000000000000 l       .tdata          00000000 loc
>  # DIS: 0000000000000004 g       .tdata          00000000 bar
>  # DIS: 0000000000000000 g       *UND*           00000000 foo
>  
>
> Modified: lld/trunk/test/ELF/mips-tls-hilo.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls-hilo.s?rev=296505&r1=296504&r2=296505&view=diff
> ==============================================================================
> --- lld/trunk/test/ELF/mips-tls-hilo.s (original)
> +++ lld/trunk/test/ELF/mips-tls-hilo.s Tue Feb 28 13:06:32 2017
> @@ -21,7 +21,7 @@
>  # DIS-NEXT:    2000c:   24 62 90 00   addiu   $2, $3, -28672
>  #                       %lo(loc0 - .tdata - 0x7000) --^
>  
> -# DIS: 00040000 l       .tdata          00000000 loc0
> +# DIS: 00000000 l       .tdata          00000000 loc0
>  
>  # CHECK:      Relocations [
>  # CHECK-NEXT: ]
>
> Modified: lld/trunk/test/ELF/mips-tls.s
> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/ELF/mips-tls.s?rev=296505&r1=296504&r2=296505&view=diff
> ==============================================================================
> --- lld/trunk/test/ELF/mips-tls.s (original)
> +++ lld/trunk/test/ELF/mips-tls.s Tue Feb 28 13:06:32 2017
> @@ -27,7 +27,7 @@
>  # DIS-NEXT:  30020 00000000 00000001 00000000 00000001
>  # DIS-NEXT:  30030 ffff8004 ffff9004
>  
> -# DIS: 00040000 l       .tdata          00000000 loc
> +# DIS: 00000000 l       .tdata          00000000 loc
>  # DIS: 00000004 g       .tdata          00000000 bar
>  # DIS: 00000000 g       *UND*           00000000 foo
>  
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list