Steps to reproduce: cat >> test.c <<EOF __thread int foo;
void bar (void) { foo = 2; } EOF hppa64-linux-gnu-gcc-4.3.1 -S test.c test.c: In function 'bar': test.c:5: error: unrecognizable insn: (insn 6 5 7 3 test.c:4 (set (reg:DI 67) (unspec:SI [ (const_int 0 [0x0]) ] 3)) -1 (nil)) test.c:5: internal compiler error: in extract_insn, at recog.c:1990 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. Expected: - Compiler correctly compiles the code. Observed: - ICE trying to compile code with __thread keyword. hppa does have support for thread local storage, but it's never been tested on the 64-bit compiler. I came across this error while trying to port glibc to hppa64-linux-gnu during a 64-bit userspace bring-up. -- Summary: Failure to compile __thread variable. Product: gcc Version: 4.3.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: carlos at systemhalted dot org GCC build triplet: hppa-linux-gnu GCC host triplet: hppa64-linux-gnu GCC target triplet: hppa64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36551