Summary: | relocation truncated to fit R_MIPS_TLS_GD linking xulrunner | ||
---|---|---|---|
Product: | binutils | Reporter: | Lluís Batlle <viric> |
Component: | ld | Assignee: | unassigned |
Status: | RESOLVED WONTFIX | ||
Severity: | normal | CC: | bug-binutils, petr.pisar, r0bertz, rixed |
Priority: | P2 | ||
Version: | 2.21 | ||
Target Milestone: | --- | ||
Host: | mips64-unknown-linux | Target: | mips64-unknown-linux |
Build: | mips64-unknown-linux | Last reconfirmed: |
Description
Lluís Batlle
2010-08-30 07:37:36 UTC
Additional information: I was using gcc 4.5.1, glibc 2.12.1, kernel headers from 2.6.32, all natively built. gcc by default produces code for mips3 n32. The problem may be related to a TLS variable exported in a shared object (in the global-dynamic way). The TLS variable is gTLSIsMainThread, and the errors from ld come for all the places where it is used. The upstream mozilla people decided to disallow TLS completely on mips due to this binutils problem. More information here: https://bugzilla.mozilla.org/show_bug.cgi?id=528687 http://sourceware.org/ml/binutils/2010-09/msg00042.htm some new findings on the above link sorry the link should be http://sourceware.org/ml/binutils/2010-09/msg00042.html *** Bug 260998 has been marked as a duplicate of this bug. *** Seen from the domain http://volichat.com Page where seen: http://volichat.com/adult-chat-rooms Marked for reference. Resolved as fixed @bugzilla. According to the analysis already done in comment #4, this is an overflow of the GOT table. That can't be fixed except by changing code so either needs a lot of code editing by the linker (support which is unlikely to be written), or you need to generate different code in gcc. -mxgot might help, |