Closed
Bug 33739
Opened 25 years ago
Closed 25 years ago
FreeBSD 4.0 build crashes at startup
Categories
(Core :: XPCOM, defect, P3)
Tracking
()
People
(Reporter: arun-public, Assigned: shaver)
Details
(Keywords: crash)
From Bugzilla Helper:
User-Agent: Mozilla/4.61 [en] (X11; I; Linux 2.2.12-20 i686)
BuildID: 2000070614
FreeBSD 4.0 ships with gcc 2.95.x which uses CFRONT_STYLE_THIS_ADJUST
and not THUNK_BASED_THIS_ADJUST. Changing this in
xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h
will fix the problem.
Reproducible: Always
Steps to Reproduce:
1. Build on FreeBSD 4.0 with gcc 2.95.x
2. Start the browser
3.
Updated•25 years ago
|
Assignee: mccabe → jband
Comment 2•25 years ago
|
||
Reassigning to jband, xptcall owner.
Comment 3•25 years ago
|
||
Reasigning to shaver. He still owns the issue of how and to what extent we are
going to achieve binary compatibility of components within and across 'nix
platforms where that is possible. Sometimes the answer is to set compiler flags
to force the compiler to build with a certain calling convention rather than
change xptcall to expect a calling convention specialized by the default
settings of the compiler.
news://news.mozilla.org/3781ADE7.7762F69C%40netscape.com
Assignee: jband → shaver
Comment 5•25 years ago
|
||
Confirming this to pop it into shaver's radar (like, he needs more bugs ;-)
Gerv
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 6•25 years ago
|
||
The same thing happens on FreeBSD 3.4 if you build with gcc 2.95.2 (the gcc295
package) rather than the system-shipped gcc 2.7.2.3. Backing out the FreeBSD
part of the revision 1.6 change to xptc_platforms_unixish_x86.h fixes this.
Changing the #defines in xptc_platforms_unixish_x86.h to behave differently on
FreeBSD 3.4 based on the values of __GNUC__ and __GNUC_MINOR__ would be
possible, but I don't know what you're trying to do with regard to binary
compatibility.
I'm not sure if there's a way to force binary compatibility with 2.7.2.3;
-fvtable-thunks might do it, but according to the gcc 2.95.2 info file, you have
to recompile all the g++ support libraries to use it.
Is there a Right Thing to do for situations like this?
| Assignee | ||
Comment 7•25 years ago
|
||
If there are binary incompatibilities in the compiler versions, then I think we
just end up having to borrow some of FreeBSD's trouble.
Maybe vendors will need to ship two versions for FreeBSD, though that seems like
a great way to get off of a vendor's platform list. Is there someone in the
FreeBSD community that can educate me as to how other programs handle this?
From the comment above about needing to recompile all of the g++ support
libraries, I would imagine that we're not alone here.
Status: NEW → ASSIGNED
Comment 8•25 years ago
|
||
Sounds like the longest /usr/ports build. Ever.
Comment 9•25 years ago
|
||
Yesterday I checked out the FreeBSD-Stable-4.0-Tree and now under /usr/contrib
there exists a gcc295 directory.
They seem to switch to gcc-2.95 as default compiler. There are currently
problems building world (aka building everything new) so I'll give more
information as soon as I checked again.
Comment 10•25 years ago
|
||
Works for me
FreeBSD -current
GCC 2.95
7/23 CVS pull
Comment 11•25 years ago
|
||
Works out of the box with Mozilla pulled from CVS 2000-08-13 and FreeBSD
4.1-STABLE.
Comment 13•25 years ago
|
||
See the comments I just added to bug 39268. I believe I untangled the whole
FreeBSD object-layout mess...
| Assignee | ||
Comment 14•25 years ago
|
||
You might be right: can someone here test that patch on FreeBSD4.0? I still
hate the two-layouts problem, but there really aren't many ways around it.
Comment 15•25 years ago
|
||
I don't think the two-layouts thing is really a problem per se. The "official"
object layout for FreeBSD should always be the one which /usr/bin/g++ produces.
Support for /usr/local/bin/g++295 on 3.x systems is easy to do in the source
tree, since it uses the same object layout as Linux, but since it requires
jumping through some hoops to accomplish it (setting CC and CXX at
configure-time) it'll likely always be a developers-only trick.
| Assignee | ||
Comment 16•25 years ago
|
||
I'm marking this as a dup of 39268, because I think Jonathan's patch there will
save the day.
*** This bug has been marked as a duplicate of 39268 ***
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•