Closed
Bug 411256
Opened 17 years ago
Closed 16 years ago
AIX linker error for trunk build xpcom module :ERROR: Undefined symbol: .PR_dtoa
Categories
(Core :: XPCOM, defect)
Tracking
()
RESOLVED
FIXED
mozilla1.9beta4
People
(Reporter: shailen.n.jain, Assigned: benjamin)
Details
(Keywords: regression)
Attachments
(1 file, 1 obsolete file)
4.18 KB,
patch
|
dwitte
:
review+
mtschrep
:
approval1.9+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11 While building the trunk on AIX, getting below linker error for mozilla/obj-opt/xpcom/tools/registry ld: 0711-317 ERROR: Undefined symbol: .PR_dtoa ld: 0711-317 ERROR: Undefined symbol: .PR_snprintf ld: 0711-317 ERROR: Undefined symbol: .PR_Assert ld: 0711-317 ERROR: Undefined symbol: .PR_Free Reproducible: Always Steps to Reproduce: 1.Build Mozilla Firefox Trunk build on AIX with Gnome 2.12 RPMS of 64 bit version. 2. 3. Actual Results: Build fails with the above error. Expected Results: No build failure
Adding NSPR_LIBS helps resolving the below undefined symbols .PR_dtoa .PR_snprintf .PR_Assert .PR_Free
Attachment #295916 -
Flags: review?(benjamin)
Assignee | ||
Comment 2•17 years ago
|
||
Comment on attachment 295916 [details] [diff] [review] Patch V1 regxpcom should not be referencing PR_dtoa or those other symbols... what library is bringing them in?
Attachment #295916 -
Flags: review?(benjamin) → review-
Looks like the library libxpcomglue.a is bringing these symbols in. Below is how it is used /usr/vacpp/bin/xlC_r -DDEBUG -D_DEBUG -DDEBUG_root -DTRACING -g -o regxpcom regxpcom.o -lpthreads -bh:5 -bbigtoc -Wl,-brtl -blibpath:/usr/lib:/lib -L../../../dist/bin -L../../../dist/lib ../../../dist/lib/libxpcomglue.a -lC_r -ldl -lm -lc_r Can you please advise how this can be avoided ?
Can you please provide suggestions to resolve this issue ?
Comment 5•16 years ago
|
||
Benjamin: Can you maybe give Shailen some advice here?
Assignee | ||
Comment 6•16 years ago
|
||
Which object in libxpcomglue.a references PR_dtoa and the others?
Below are the files in xpcom/glue that references PR_dtoa and PR_snprintf nsTextFormatter.cpp: // limit precision to avoid PR_dtoa bug 108335 nsTextFormatter.cpp: if (PR_dtoa(d, mode, numdigits, &decpt, &sign, &endnum, num, bufsz) == PR_FAILURE) { nsAutoLock.cpp: PR_snprintf(buf, sizeof buf, nsID.cpp: PR_snprintf(res, NSID_LENGTH, gIDFormat, nsID.cpp: PR_snprintf(dest, NSID_LENGTH, gIDFormat, nsTextFormatter.cpp: PR_snprintf(bufp, bufsz - (bufp - buf), "%+03d", decpt-1); nsTextFormatter.cpp: PR_snprintf(bufp, bufsz - (bufp - buf), "%+03d", decpt-1); Please let me know if you need more information.
Assignee | ||
Comment 8•16 years ago
|
||
I need you to use `nm` to figure out which objects in libxpcomglue.a actually reference these symbols. The standalone glue isn't supposed to have any dependencies on NSPR, and we used to successfully #ifdef them all away in the XPCOM_GLUE case. I'd like to figure out whether this is an AIX-specific bug or whether we've added an incorrect dependency somewhere.
Please find below the output for nm command and let me know if you need more information libxpcomglue.a[nsTextFormatter.o]: .PR_Assert U - libxpcomglue.a[nsTextFormatter.o]: .PR_Free U - libxpcomglue.a[nsTextFormatter.o]: .PR_dtoa U - libxpcomglue.a[nsTextFormatter.o]: .PR_snprintf U - Thanks, Shailendra
Assignee | ||
Comment 10•16 years ago
|
||
Argh, this is a real bug where the standalone glue has NSPR dependencies again. It doesn't show up on other linkers because they do symbol GC, but that's really fragile. Patch forthcoming.
Status: UNCONFIRMED → NEW
Component: Build Config → XPCOM
Ever confirmed: true
Keywords: regression
Product: Firefox → Core
QA Contact: build.config → xpcom
Target Milestone: --- → mozilla1.9beta4
Assignee | ||
Comment 11•16 years ago
|
||
Assignee: nobody → benjamin
Attachment #295916 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #301666 -
Flags: review?(dwitte)
Comment 12•16 years ago
|
||
Comment on attachment 301666 [details] [diff] [review] Remove standalone glue dependencies on NSPR, rev. 1 sounds good! r=me
Attachment #301666 -
Flags: review?(dwitte) → review+
Assignee | ||
Updated•16 years ago
|
Attachment #301666 -
Flags: approval1.9?
Updated•16 years ago
|
Attachment #301666 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Updated•16 years ago
|
Keywords: checkin-needed
Comment 13•16 years ago
|
||
Checking in xpcom/glue/nsID.cpp; /cvsroot/mozilla/xpcom/glue/nsID.cpp,v <-- nsID.cpp new revision: 3.18; previous revision: 3.17 done Checking in xpcom/glue/nsID.h; /cvsroot/mozilla/xpcom/glue/nsID.h,v <-- nsID.h new revision: 1.31; previous revision: 1.30 done Checking in xpcom/glue/nsTextFormatter.h; /cvsroot/mozilla/xpcom/glue/nsTextFormatter.h,v <-- nsTextFormatter.h new revision: 1.2; previous revision: 1.1 done Checking in xpcom/glue/objs.mk; /cvsroot/mozilla/xpcom/glue/objs.mk,v <-- objs.mk new revision: 1.35; previous revision: 1.34 done
You need to log in
before you can comment on or make changes to this bug.
Description
•