http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46131
Summary: Some TLS execution tests fail on Tru64 UNIX with emutls Product: gcc Version: 4.6.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: middle-end AssignedTo: unassig...@gcc.gnu.org ReportedBy: r...@gcc.gnu.org CC: r...@gcc.gnu.org Host: alpha-dec-osf5.1b Target: alpha-dec-osf5.1b Build: alpha-dec-osf5.1b Created attachment 22121 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22121 preprocessed input Some TLS execution tests fail on Tru64 UNIX V5.1B. The platform has no native TLS support, so emutls is in use: FAIL: g++.dg/tls/diag-1.C (internal compiler error) FAIL: g++.dg/tls/diag-1.C (test for excess errors) FAIL: g++.dg/tls/static-1.C execution test FAIL: gcc.dg/tls/opt-11.c execution test FAIL: gcc.dg/tls/opt-12.c execution test FAIL: gcc.dg/tls/thr-init-2.c execution test FAIL: gcc.dg/torture/tls/thr-init-2.c -O0 execution test FAIL: gcc.dg/torture/tls/thr-init-2.c -O1 execution test FAIL: gcc.dg/torture/tls/thr-init-2.c -Os execution test FAIL: objc.dg/torture/tls/thr-init-2.m -O0 execution test FAIL: objc.dg/torture/tls/thr-init-2.m -O1 execution test FAIL: objc.dg/torture/tls/thr-init-2.m -Os execution test FAIL: objc.dg/torture/tls/thr-init.m -O0 execution test FAIL: objc.dg/torture/tls/thr-init.m -O1 execution test FAIL: objc.dg/torture/tls/thr-init.m -Os execution test As an example, I've looked at the gcc.dg/tls/thr-init-2.c case: it aborts. With the abort replaced by a printf, I find: $ gcc -o thr-init-2.exe thr-init-2.c $ ./thr-init-2.exe a = 2 fstat = 1 The test fails at -O0 and -O1, but passes at -O3 and higher. I'm attaching the preprocessed source and assembler output for investigation.