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: [email protected]
ReportedBy: [email protected]
CC: [email protected]
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.