Created attachment 40618 [details] .s file spawn /test/gnu/gcc/objdir/gcc/testsuite/g++/../../xg++ -B/test/gnu/gcc/objdir/gcc/testsuite/g++/../../ /test/gnu/gcc/gcc/gcc/testsuite/g++.dg/tls/pr77285-2.C -fno-diagnostics-show-caret -fdiagnostics-color=never -nostdinc++ -I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include/hppa2.0w-hp-hpux11.11 -I/test/gnu/gcc/objdir/hppa2.0w-hp-hpux11.11/libstdc++-v3/include -I/test/gnu/gcc/gcc/libstdc++-v3/libsupc++ -I/test/gnu/gcc/gcc/libstdc++-v3/include/backward -I/test/gnu/gcc/gcc/libstdc++-v3/testsuite/util -fmessage-length=0 -std=c++11 -pedantic-errors -Wno-long-long -S -o pr77285-2.sPASS: g++.dg/tls/pr77285-2.C -std=c++11 (test for excess errors)PASS: g++.dg/tls/pr77285-2.C -std=c++11 scan-assembler _Z4var1B3tagPASS: g++.dg/tls/pr77285-2.C -std=c++11 scan-assembler _Z4var2B3tagFAIL: g++.dg/tls/pr77285-2.C -std=c++11 scan-assembler _ZTH4var1B3tag PASS: g++.dg/tls/pr77285-2.C -std=c++11 scan-assembler _ZTW4var1B3tag Think this is a result of emutls.
the test was changed to require tls_native (from gcc 9+). I see the same issue on Darwin on gcc8/7 when you say "Think this is a result of emutls." - you mean that hppa is also (Darwin does) using emuTLS? AFAIR, [with emuTLS] there's no proper init of global TLS vars when they are in a different TU from the one referencing - which is what the _ZTH4/_ZTW4var1B3tag symbols are about. (It's on my [very long] TODO to see if there's a way of doing the same thing for emuTLS - that is done for the native case). I'd say we just need to back-port the require native_tls [or xfail] to the earlier branches (if that's permitted).
On 2019-10-30 10:12 a.m., iains at gcc dot gnu.org wrote: > when you say "Think this is a result of emutls." - you mean that hppa is also > (Darwin does) using emuTLS? hppa uses emutls on hpux.
Author: iains Date: Sun Nov 3 07:59:32 2019 New Revision: 277750 URL: https://gcc.gnu.org/viewcvs?rev=277750&root=gcc&view=rev Log: [Darwin, testsuite] Fix PR 79274 The solution for initialising global TLS variables does not apply to platforms using emulated TLS. XFAIL the test for this on Darwin. 2019-11-03 Iain Sandoe <iain@sandoe.co.uk> PR c++/79274 * g++.dg/tls/pr77285-2.C: XFAIL test for Darwin. Modified: branches/gcc-8-branch/gcc/testsuite/ChangeLog branches/gcc-8-branch/gcc/testsuite/g++.dg/tls/pr77285-2.C
Author: iains Date: Sun Nov 3 08:23:33 2019 New Revision: 277751 URL: https://gcc.gnu.org/viewcvs?rev=277751&root=gcc&view=rev Log: [Darwin, testsuite] Fix PR 79274 The solution for initialising global TLS variables does not apply to platforms using emulated TLS. XFAIL the test for this on Darwin. 2019-11-03 Iain Sandoe <iain@sandoe.co.uk> PR c++/79274 * g++.dg/tls/pr77285-2.C: XFAIL test for Darwin. Modified: branches/gcc-7-branch/gcc/testsuite/ChangeLog branches/gcc-7-branch/gcc/testsuite/g++.dg/tls/pr77285-2.C
(In reply to Iain Sandoe from comment #1) > the test was changed to require tls_native (from gcc 9+). > > I see the same issue on Darwin on gcc8/7 > > when you say "Think this is a result of emutls." - you mean that hppa is > also (Darwin does) using emuTLS? > > AFAIR, [with emuTLS] there's no proper init of global TLS vars when they are > in a different TU from the one referencing - which is what the > _ZTH4/_ZTW4var1B3tag symbols are about. > > (It's on my [very long] TODO to see if there's a way of doing the same thing > for emuTLS - that is done for the native case). > > I'd say we just need to back-port the require native_tls [or xfail] to the > earlier branches (if that's permitted). The bug for native TLS support on Darwin is bug 52268, for reference.
Oops I just realized I made a typo the last time I was editing the "See Also" field; hopefully this fixes it...