[LLVMbugs] [Bug 3400] New: code generator bug using __thread variables

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Sat Jan 24 23:11:20 PST 2009


           Summary: code generator bug using __thread variables
           Product: tools
           Version: 2.2
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: llvm-gcc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: bhurt at spnz.org
                CC: llvmbugs at cs.uiuc.edu

Created an attachment (id=2442)
 --> (http://llvm.org/bugs/attachment.cgi?id=2442)
Tar of attachments

Attempting to access global variables declared to be thread-local using
__thread in llvm-gcc causes the code generator to abort with the error message:

Cannot yet select: 0x285c510: i64 = GlobalTLSAddress <i64** @young_limit> 0
temp3.c:19: internal compiler error: Aborted
Please submit a full bug report,
with preprocessed source if appropriate.

The original bug is reproduced with the following attached file temp3.c, which
is part of an Ocaml-like parallel garbage collector I'm writing.  Note that if
you remove the __thread keywords from the source code, it compiles without
error, so it almost certainly a problem with the thread local storage code. 
Also attached should be a reduced byte code file, produced by bugpoint.  As
bugzilla doesn't want me to add multiple attachments, I tar'ed and gzip'd the
two files together.

This is LLVM 2.2 (Ubuntu 8.10 default, x86 64-bit).  I haven't tested the
problem with more recent versions of the compiler.  I did both google the bug
and search the bugzilla database.

Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.

More information about the llvm-bugs mailing list