http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46131
Rainer Orth <ro at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|wrong-code |
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2010.10.28 14:26:38
Component|middle-end |target
AssignedTo|unassigned at gcc dot |ro at gcc dot gnu.org
|gnu.org |
Ever Confirmed|0 |1
--- Comment #5 from Rainer Orth <ro at gcc dot gnu.org> 2010-10-28 14:26:38 UTC
---
On second (or third) thought, the problem became obvious: emutls relies on a
couple of libpthread functions. Since the OSF/1 linker doesn't support weak
definitions, libgcc contains dummy definitions for them. For the TLS tests
(and C++ EH, cf. PR target/46131) to work, the respective programs need to be
linked with -pthread so the real functions are used instead.
Manual testing indicated that this fixes the problem. I'll submit a proper
patch shortly.