Closed
Bug 528687
Opened 16 years ago
Closed 15 years ago
Linking error on mips/mipsel with patch for bug 521750
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9.3a5
People
(Reporter: glandium, Assigned: glandium)
References
()
Details
Attachments
(1 file)
522 bytes,
patch
|
benjamin
:
review+
|
Details | Diff | Splinter Review |
The change from bug 521750 broke builds on mips and mipsel with the following error message:
../../staticlib/components/libxpconnect.a(xpcjsruntime.o):/build/buildd/xulrunner-1.9.1.5/js/src/xpconnect/src/xpcjsruntime.cpp:487: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libxpconnect.a(xpcthreadcontext.o):/build/buildd/xulrunner-1.9.1.5/js/src/xpconnect/src/xpcthreadcontext.cpp:493: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libnecko.a(nsSocketTransportService2.o):/build/buildd/xulrunner-1.9.1.5/netwerk/base/src/nsSocketTransportService2.cpp:437: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libnecko.a(nsSocketTransportService2.o):/build/buildd/xulrunner-1.9.1.5/netwerk/base/src/nsSocketTransportService2.cpp:383: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsJSEnvironment.o): In function `DOMGCCallback':
/build/buildd/xulrunner-1.9.1.5/dom/src/base/nsJSEnvironment.cpp:3694: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsDOMScriptObjectFactory.o):/build/buildd/xulrunner-1.9.1.5/dom/src/base/nsDOMScriptObjectFactory.cpp:384: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsDOMThreadService.o):/build/buildd/xulrunner-1.9.1.5/dom/src/threads/nsDOMThreadService.cpp:1153: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsDOMThreadService.o):/build/buildd/xulrunner-1.9.1.5/dom/src/threads/nsDOMThreadService.cpp:687: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsDOMWorkerXHRProxy.o):/build/buildd/xulrunner-1.9.1.5/dom/src/threads/nsDOMWorkerXHRProxy.cpp:901: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
../../staticlib/components/libgklayout.a(nsDOMWorkerXHRProxy.o):/build/buildd/xulrunner-1.9.1.5/dom/src/threads/nsDOMWorkerXHRProxy.cpp:871: relocation truncated to fit: R_MIPS_TLS_GD against `gTLSIsMainThread'
collect2: ld returned 1 exit status
I guess this happens on trunk, too.
Updated•16 years ago
|
Summary: Linking error on mips/mipsel → Linking error on mips/mipsel with patch for bug 521750
Blocks: 521750
Assignee | ||
Comment 1•16 years ago
|
||
So far, investigation seems to indicate this is a bug in binutils with R_MIPS_TLS_GD relocations, which are related to the use of __thread.
I tried several things, one of which was replacing the inline NS_IsMainThread function with a normal function call, which reduced significantly the amount of R_MIPS_TLS_GD relocations. This unfortunately didn't help.
It seems the issue is R_MIPS_TLS_GD relocations not being well supported when the GOTs are significantly filled up. For example, reducing the number of static components does help (especially excluding libgklayout).
So, until binutils is fixed, it looks like the best to do is to simply undefine NS_TLS for mips/mipsel. How would you prefer that to be done ?
Assignee | ||
Comment 2•15 years ago
|
||
Assignee: nobody → mh+mozilla
Attachment #435832 -
Flags: review?(benjamin)
Comment 3•15 years ago
|
||
Comment on attachment 435832 [details] [diff] [review]
Patch
Please add a comment referencing this bug and/or the binutils bug.
Attachment #435832 -
Flags: review?(benjamin) → review+
Assignee | ||
Comment 4•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9.3a5
![]() |
||
Comment 5•13 years ago
|
||
According to http://sourceware.org/ml/binutils/2010-09/msg00042.html
"But after changing the max_count in got_per_bfd_arg from 16377 to 12000,
all relocation overflows disappear.
Then I found 12639 is the largest allowable value."
You need to log in
before you can comment on or make changes to this bug.
Description
•