[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #9 from uros at gcc dot gnu dot org 2005-12-02 06:43 --- Subject: Bug 24475 Author: uros Date: Fri Dec 2 06:43:45 2005 New Revision: 107876 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=107876 Log: PR target/24475 * lib/target-supports.exp (check_effective_target_tls): New. (check_effective_target_tls_runtime): New. * gcc.dg/tls/tls.exp, g++.dg/tls/tls.exp: Remove check for TLS support. * gcc.dg/tls/opt-1.c, gcc.dg/tls/opt-2.c, gcc.dg/tls/opt-3.c, gcc.dg/tls/opt-4.c, gcc.dg/tls/opt-5.c, gcc.dg/tls/opt-6.c, gcc.dg/tls/opt-7.c, gcc.dg/tls/opt-8.c, gcc.dg/tls/opt-9.c, gcc.dg/tls/opt-10.c, gcc.dg/tls/diag-1.c, gcc.dg/tls/diag-2.c, gcc.dg/tls/diag-3.c, gcc.dg/tls/diag-4.c, gcc.dg/tls/diag-5.c, gcc.dg/tls/alias-1.c, gcc.dg/tls/alpha-1.c, gcc.dg/tls/asm-1.c, gcc.dg/tls/debug-1.c, gcc.dg/tls/init-1.c, gcc.dg/tls/nonpic-1.c, gcc.dg/tls/pic-1.c, gcc.dg/tls/section-1.c, gcc.dg/tls/struct-1.c, gcc.dg/tls/trivial.c, g++.dg/tls/diag-1.C, g++.dg/tls/diag-2.C, g++.dg/tls/diag-3.C, g++.dg/tls/diag-4.C, g++.dg/tls/init-1.C, g++.dg/tls/init-2.C, g++.dg/tls/trivial.C: Require effective-target TLS. * gcc.dg/tls/pr24428-2.c, gcc.dg/tls/pr24428.c, gcc.dg/tls/opt-11.c, g++.dg/tls/static-1a.cc, g++.dg/tls/static-1.C: Require effective-target TLS runtime. Modified: branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/diag-1.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/diag-2.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/diag-3.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/diag-4.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/init-1.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/init-2.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/static-1.C branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/static-1a.cc branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/tls.exp branches/gcc-4_1-branch/gcc/testsuite/g++.dg/tls/trivial.C branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/alias-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/alpha-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/asm-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/debug-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/diag-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/diag-2.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/diag-3.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/diag-4.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/diag-5.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/init-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/nonpic-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-10.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-11.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-2.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-3.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-4.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-5.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-6.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-7.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-8.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/opt-9.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/pic-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/pr24428-2.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/pr24428.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/section-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/struct-1.c branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/tls.exp branches/gcc-4_1-branch/gcc/testsuite/gcc.dg/tls/trivial.c branches/gcc-4_1-branch/gcc/testsuite/lib/target-supports.exp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #10 from uros at kss-loka dot si 2005-12-02 06:59 --- Fixed on 4.1 and mainline. -- uros at kss-loka dot si changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #8 from uros at gcc dot gnu dot org 2005-12-01 06:52 --- Subject: Bug 24475 Author: uros Date: Thu Dec 1 06:52:11 2005 New Revision: 107804 URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=107804 Log: PR target/24475 * lib/target-supports.exp (check_effective_target_tls): New. (check_effective_target_tls_runtime): New. * gcc.dg/tls/tls.exp, g++.dg/tls/tls.exp: Remove check for TLS support. * gcc.dg/tls/opt-1.c, gcc.dg/tls/opt-2.c, gcc.dg/tls/opt-3.c, gcc.dg/tls/opt-4.c, gcc.dg/tls/opt-5.c, gcc.dg/tls/opt-6.c, gcc.dg/tls/opt-7.c, gcc.dg/tls/opt-8.c, gcc.dg/tls/opt-9.c, gcc.dg/tls/opt-10.c, gcc.dg/tls/diag-1.c, gcc.dg/tls/diag-2.c, gcc.dg/tls/diag-3.c, gcc.dg/tls/diag-4.c, gcc.dg/tls/diag-5.c, gcc.dg/tls/alias-1.c, gcc.dg/tls/alpha-1.c, gcc.dg/tls/asm-1.c, gcc.dg/tls/debug-1.c, gcc.dg/tls/init-1.c, gcc.dg/tls/nonpic-1.c, gcc.dg/tls/pic-1.c, gcc.dg/tls/section-1.c, gcc.dg/tls/struct-1.c, gcc.dg/tls/trivial.c, g++.dg/tls/diag-1.C, g++.dg/tls/diag-2.C, g++.dg/tls/diag-3.C, g++.dg/tls/diag-4.C, g++.dg/tls/init-1.C, g++.dg/tls/init-2.C, g++.dg/tls/trivial.C: Require effective-target TLS. * gcc.dg/tls/pr24428-2.c, gcc.dg/tls/pr24428.c, gcc.dg/tls/opt-11.c, g++.dg/tls/static-1a.cc, g++.dg/tls/static-1.C: Require effective-target TLS runtime. Modified: trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/g++.dg/tls/diag-1.C trunk/gcc/testsuite/g++.dg/tls/diag-2.C trunk/gcc/testsuite/g++.dg/tls/diag-3.C trunk/gcc/testsuite/g++.dg/tls/diag-4.C trunk/gcc/testsuite/g++.dg/tls/init-1.C trunk/gcc/testsuite/g++.dg/tls/init-2.C trunk/gcc/testsuite/g++.dg/tls/static-1.C trunk/gcc/testsuite/g++.dg/tls/static-1a.cc trunk/gcc/testsuite/g++.dg/tls/tls.exp trunk/gcc/testsuite/g++.dg/tls/trivial.C trunk/gcc/testsuite/gcc.dg/tls/alias-1.c trunk/gcc/testsuite/gcc.dg/tls/alpha-1.c trunk/gcc/testsuite/gcc.dg/tls/asm-1.c trunk/gcc/testsuite/gcc.dg/tls/debug-1.c trunk/gcc/testsuite/gcc.dg/tls/diag-1.c trunk/gcc/testsuite/gcc.dg/tls/diag-2.c trunk/gcc/testsuite/gcc.dg/tls/diag-3.c trunk/gcc/testsuite/gcc.dg/tls/diag-4.c trunk/gcc/testsuite/gcc.dg/tls/diag-5.c trunk/gcc/testsuite/gcc.dg/tls/init-1.c trunk/gcc/testsuite/gcc.dg/tls/nonpic-1.c trunk/gcc/testsuite/gcc.dg/tls/opt-1.c trunk/gcc/testsuite/gcc.dg/tls/opt-10.c trunk/gcc/testsuite/gcc.dg/tls/opt-11.c trunk/gcc/testsuite/gcc.dg/tls/opt-2.c trunk/gcc/testsuite/gcc.dg/tls/opt-3.c trunk/gcc/testsuite/gcc.dg/tls/opt-4.c trunk/gcc/testsuite/gcc.dg/tls/opt-5.c trunk/gcc/testsuite/gcc.dg/tls/opt-6.c trunk/gcc/testsuite/gcc.dg/tls/opt-7.c trunk/gcc/testsuite/gcc.dg/tls/opt-8.c trunk/gcc/testsuite/gcc.dg/tls/opt-9.c trunk/gcc/testsuite/gcc.dg/tls/pic-1.c trunk/gcc/testsuite/gcc.dg/tls/pr24428-2.c trunk/gcc/testsuite/gcc.dg/tls/pr24428.c trunk/gcc/testsuite/gcc.dg/tls/section-1.c trunk/gcc/testsuite/gcc.dg/tls/struct-1.c trunk/gcc/testsuite/gcc.dg/tls/tls.exp trunk/gcc/testsuite/gcc.dg/tls/trivial.c trunk/gcc/testsuite/lib/target-supports.exp -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #6 from uros at kss-loka dot si 2005-11-15 08:13 --- Perhaps a runtime check should be added to target-supports.exp ( check_effective_target_tls-runtime perhaps) that would check if the system is capable of running tls enabled binaries. Alternatively, my proposed patch (http://gcc.gnu.org/ml/gcc-patches/2005-11/msg00963.html) could try to run the tls testcase, instead of just compiling it. However, addind { dg-require-effective-target tls-runtime }, runtime tests will also be skipped on the system that is otherwise able to compile testcases. The job of compiler is IMO to compile sources correctly, and the purpose of runtime test is to check if the system is able to run testcases. Runtime failure, reported here, just says that the tested system is not able to run the testcase and that the system should be upgraded/fixed. -- uros at kss-loka dot si changed: What|Removed |Added CC||uros at kss-loka dot si http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #7 from joseph at codesourcery dot com 2005-11-15 09:23 --- Subject: Re: gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32 On Tue, 15 Nov 2005, uros at kss-loka dot si wrote: The job of compiler is IMO to compile sources correctly, and the purpose of runtime test is to check if the system is able to run testcases. Runtime No, it is to check if the compiler generated correct code for the testcases. If this fact cannot be tested because of system limitations the result should be UNSUPPORTED, whereas if it can be tested and the code was incorrect it should be FAIL. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
-- uros at kss-loka dot si changed: What|Removed |Added CC|uros at kss-loka dot si | AssignedTo|unassigned at gcc dot gnu |uros at kss-loka dot si |dot org | URL||http://gcc.gnu.org/ml/gcc- ||patches/2005- ||11/msg01059.html Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1 Keywords||patch Last reconfirmed|-00-00 00:00:00 |2005-11-15 13:43:11 date|| http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #5 from rth at gcc dot gnu dot org 2005-11-15 01:57 --- (In reply to comment #3) Do you think there are enough people with prehistoric libcs building new GCC to bother with it though? If someone wanted to do the work in the .exp files, I wouldn't be opposed. But I also wouldn't mind just closing this as Someone Else's Problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #4 from joseph at codesourcery dot com 2005-11-12 14:24 --- Subject: Re: gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32 On Thu, 10 Nov 2005, jakub at gcc dot gnu dot org wrote: Does even a trivial __thread using program break fail at runtime? __thread int thr; int main (void) { return thr; } Yes, it segfaults on the system in question; it also seems to segfault with more recent glibc configured with --without-tls. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #3 from jakub at gcc dot gnu dot org 2005-11-10 09:49 --- glibc can be configured without tls support when using --without-tls configure switch. I think glibc 2.3.2 defaulted to --without-tls, so you had to explicitly request --with-tls support. Does even a trivial __thread using program break fail at runtime? __thread int thr; int main (void) { return thr; } Maybe either tls.exp or testsuite/lib/*.exp could check for this. If the former, it would need moving runtime tls tests to say testsuite/gcc.dg/tls/run/ and using a separate *.exp file for them, if the latter set some dg-require-tls-libc or something like that. Do you think there are enough people with prehistoric libcs building new GCC to bother with it though? -- jakub at gcc dot gnu dot org changed: What|Removed |Added CC||rth at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #1 from jakub at gcc dot gnu dot org 2005-11-09 16:31 --- Works just fine here. What glibc are you using? pr24428.c and pr24428-2.c are the only dg-do run tls tests, so perhaps your libc doesn't support TLS at all? -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475
[Bug target/24475] gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32
--- Comment #2 from joseph at codesourcery dot com 2005-11-09 18:09 --- Subject: Re: gcc.dg/tls/pr24428.c execution test and gcc.dg/tls/pr24428-2.c execution test fail on IA32 On Wed, 9 Nov 2005, jakub at gcc dot gnu dot org wrote: Works just fine here. What glibc are you using? pr24428.c and pr24428-2.c are the only dg-do run tls tests, so perhaps your libc doesn't support TLS at all? The tests changed from failing to working on my (CodeSourcery Automatic Testing System) nightly builds when I switched them from running on an i686-pc-linux-gnu system to running on an x86_64 system (with more recent libc), bootstrapping with an i686-pc-linux-gnu cross-compiler and configuring with --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --target=i686-pc-linux-gnu; that is, the same compiler version failed under the pure 32-bit environment but passed when building as 32-bit under a 64-bit kernel (with more recent libc), and this was the only change in test results between the two environments apart from gcc.misc-tests/linkage.c which tries to link with programs built with cc. Both environments have some form of glibc 2.3.2; it's quite possible the older one doesn't support TLS. If the state of libc doesn't support TLS can reliably be detected then perhaps the test should be marked UNSUPPORTED in that case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24475