Author: tstellar Date: Tue Nov 14 12:09:34 2017 New Revision: 318188 URL: http://llvm.org/viewvc/llvm-project?rev=318188&view=rev Log: Merging r317470:
------------------------------------------------------------------------ r317470 | sdardis | 2017-11-06 02:50:04 -0800 (Mon, 06 Nov 2017) | 12 lines [mips] Fix PR35140 Mark all symbols involved with TLS relocations as being TLS symbols. This resolves PR35140. Thanks to Alex Crichton for reporting the issue! Reviewers: atanasyan Differential Revision: https://reviews.llvm.org/D39591 ------------------------------------------------------------------------ Added: llvm/branches/release_50/test/MC/Mips/tls-symbols.s Modified: llvm/branches/release_50/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp Modified: llvm/branches/release_50/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_50/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp?rev=318188&r1=318187&r2=318188&view=diff ============================================================================== --- llvm/branches/release_50/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp (original) +++ llvm/branches/release_50/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp Tue Nov 14 12:09:34 2017 @@ -246,8 +246,6 @@ void MipsMCExpr::fixELFSymbolsInTLSFixup break; case MEK_CALL_HI16: case MEK_CALL_LO16: - case MEK_DTPREL_HI: - case MEK_DTPREL_LO: case MEK_GOT: case MEK_GOT_CALL: case MEK_GOT_DISP: @@ -263,14 +261,16 @@ void MipsMCExpr::fixELFSymbolsInTLSFixup case MEK_NEG: case MEK_PCREL_HI16: case MEK_PCREL_LO16: - case MEK_TLSLDM: // If we do have nested target-specific expressions, they will be in // a consecutive chain. if (const MipsMCExpr *E = dyn_cast<const MipsMCExpr>(getSubExpr())) E->fixELFSymbolsInTLSFixups(Asm); break; - case MEK_GOTTPREL: + case MEK_DTPREL_HI: + case MEK_DTPREL_LO: + case MEK_TLSLDM: case MEK_TLSGD: + case MEK_GOTTPREL: case MEK_TPREL_HI: case MEK_TPREL_LO: fixELFSymbolsInTLSFixupsImpl(getSubExpr(), Asm); Added: llvm/branches/release_50/test/MC/Mips/tls-symbols.s URL: http://llvm.org/viewvc/llvm-project/llvm/branches/release_50/test/MC/Mips/tls-symbols.s?rev=318188&view=auto ============================================================================== --- llvm/branches/release_50/test/MC/Mips/tls-symbols.s (added) +++ llvm/branches/release_50/test/MC/Mips/tls-symbols.s Tue Nov 14 12:09:34 2017 @@ -0,0 +1,28 @@ +# RUN: llvm-mc -arch=mips < %s -position-independent -filetype=obj \ +# RUN: | llvm-readelf -symbols | FileCheck %s +# RUN: llvm-mc -arch=mips < %s -filetype=obj | llvm-readelf -symbols \ +# RUN: | FileCheck %s + +# Test that TLS relocations cause symbols to be marked as TLS symbols. + + .set noat + lui $3, %tlsgd(foo1) + lui $1, %dtprel_hi(foo2) + lui $1, %dtprel_lo(foo3) + lui $1, %tprel_hi(foo4) + lui $1, %tprel_lo(foo5) + lw $2, %gottprel(foo6)($28) + + .hidden foo1 + .hidden foo2 + .hidden foo3 + .hidden foo4 + .hidden foo5 + .hidden foo6 + +# CHECK: 1: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo1 +# CHECK: 2: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo2 +# CHECK: 3: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo3 +# CHECK: 4: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo4 +# CHECK: 5: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo5 +# CHECK: 6: {{.+}} {{.+}} TLS GLOBAL HIDDEN UND foo6 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits