Closed
Bug 124074
Opened 24 years ago
Closed 24 years ago
Mozilla 0.9.8 will not compile with ccc/cxx (Compaq C/C++ compilers)
Categories
(SeaMonkey :: Build Config, defect, P4)
Tracking
(Not tracked)
mozilla1.1alpha
People
(Reporter: vsync, Assigned: netscape)
Details
(Whiteboard: http://lxr.mozilla.org/seamonkey/source/xpcom/reflect/xptcall/status.html)
Attachments
(1 file)
|
6.75 KB,
patch
|
Details | Diff | Splinter Review |
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.7) Gecko/20011223
BuildID: 20020206
There are non-portable __asm__ constructs in
mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_linux_alpha.cpp.
Additionally, horrible linking errors are spewed from libxpcom.so when trying to
link mozilla/xpcom/tools/registry/regExport.
Reproducible: Didn't try
Steps to Reproduce:
1. Download Mozilla.
2. ./configure CC=ccc CCC=cxx
3. Cry.
Actual Results: cxx: Info: Switch -pthread not supported on this
platform...ignoring.
cxx: Error: xptcinvoke_linux_alpha.cpp, line 47: expected a "{"
asm("invoke_copy_to_stack") __attribute__((unused));
^
cxx: Warning: xptcinvoke_linux_alpha.cpp, line 51: parsing restarts here after
previous syntax error
{
^
cxx: Error: xptcinvoke_linux_alpha.cpp, line 101: this declaration has no
storage class or type specifier
__asm__(
^
cxx: Error: xptcinvoke_linux_alpha.cpp, line 102: a value of type "char *"
cannot be used to initialize an entity of type "int"
"#### XPTC_InvokeByIndex ####\n"
----^
cxx: Info: 3 errors detected in the compilation of "xptcinvoke_linux_alpha.cpp".
If I do "make CC=gcc CCC=cxx" in that directory and continue the build, I later
on get:
cxx -I/usr/X11R6/include -mieee -pthread -DNDEBUG -DTRIMMED -O3 -o regExport
regExport.o -L../../../dist/bin -L../../../dist/lib -L../../../dist/bin -lxpcom
-L/home/vsync/downloads/net/mozilla/dist/lib -lplds4 -lplc4 -lnspr4 -lpthread
-ldl -lc -ldl -lm -lc
cxx: Info: Switch -pthread not supported on this platform...ignoring.
../../../dist/bin/libxpcom.so: undefined reference to
`nsXPTCStubBase::Stub221(void)'
../../../dist/bin/libxpcom.so: undefined reference to `nsXPTCStubBase::Stub42(void)'
../../../dist/bin/libxpcom.so: undefined reference to `nsXPTCStubBase::Stub87(void)'
[...blah blah blah ad infinitum elided...]
make[4]: *** [regExport] Error 1
make[4]: Leaving directory `/home/vsync/downloads/net/mozilla/xpcom/tools/registry'
make[3]: *** [libs] Error 2
make[3]: Leaving directory `/home/vsync/downloads/net/mozilla/xpcom/tools'
make[2]: *** [libs] Error 2
make[2]: Leaving directory `/home/vsync/downloads/net/mozilla/xpcom'
make[1]: *** [tier_9] Error 2
make[1]: Leaving directory `/home/vsync/downloads/net/mozilla'
make: *** [default] Error 2
Expected Results: A compiled Mozilla.
When built with gcc, Mozilla is _pathetically_ slow on my 533MHz EV56 AlphaPC
164LX. Considering that it _flies_ on my 500MHz Celeron-based laptop, I'm a bit
annoyed. I have heard that the Compaq compilers produce ~30% faster output, so
I wanted to try them, but it appears the Mozilla source is full of proprietary
gcc-only constructs.
I note that the UNIX build instructions do not say that gcc is required...
| Assignee | ||
Comment 1•24 years ago
|
||
Jim^2, could either of you shed some light on this? I see that the dec1
tinderbox is using cc/cxx to compile. Has xptcall only been ported for gcc on
linux alpha?
vsync, can you attach a log of the configure run as well as config.log &
config/autoconf.mk?
64bit... I can't even deal with 2bits...
I am adding shanmu who has been working on
OSF/Tru64 builds maybe he can help. Either
technically or asking around to others at
compaq who might be able to help.
You cant build mozilla with gcc on the alpha. The xptcall stuff only works
with cxx.
jim_nance:
Perhaps you are referring to Tru64? All I know is that I'm on Linux/Alpha, and
0.9.8 built properly using gcc, but wouldn't using ccc/cxx.
BTW, sorry about not attaching that configure log sooner... Work's been crazy.
I'll try to get to it tonight.
| Assignee | ||
Comment 6•24 years ago
|
||
It looks like xptcall has only been ported to gcc for Linux/Alpha. I don't know
of any working Linux/Alpha boxes, much less ones with the compaq compiler.
At a glance, it may be possible to just copy the inline asm code into a separate
asm file. The syntax looks like it should be the same, if the osf1 asm code is
any indication.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P2
Whiteboard: http://lxr.mozilla.org/seamonkey/source/xpcom/reflect/xptcall/status.html
Target Milestone: --- → mozilla0.9.9
| Assignee | ||
Comment 7•24 years ago
|
||
I found that the asm used for the osf1 build is identicalto the inline asm
code. Give this patch a shot and see if it fixes the problem. If xpcom
builds, can you verify that dist/bin/TestXPTCInvoke works?
| Assignee | ||
Comment 8•24 years ago
|
||
ping?
| Assignee | ||
Updated•24 years ago
|
Target Milestone: mozilla0.9.9 → mozilla1.1
| Assignee | ||
Updated•24 years ago
|
Priority: P2 → P4
Comment 10•24 years ago
|
||
this bug looks the same as bug 48516
| Assignee | ||
Comment 11•24 years ago
|
||
*** This bug has been marked as a duplicate of 48516 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
Updated•21 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•