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.

Reply via email to