Closed
Bug 225511
Opened 22 years ago
Closed 20 years ago
compilation error: Undefined symbol invoke_count_words
Categories
(Core :: XPConnect, defect)
Tracking
()
RESOLVED
EXPIRED
People
(Reporter: kron, Assigned: dbradley)
Details
User-Agent: Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1)
Build Identifier: ftp://ftp.mozilla.org/pub/mozilla.org/firebird/releases/0.7/MozillaFirebird-source-0.7.tar.gz
Compiling FireBird 0.7 on Solaris8, using gcc 3.3.1 with the -m64 (64-bit)
compilation option.
The problem is due to using gcc with the -m64 option, the Makefile in
xpcom/reflect/xptcall/src/md/unix does not allow for this combination. Excerpt
below from Makefile:
============================ Begin ================================
#
# Solaris/SPARC
#
ifeq ($(OS_ARCH),SunOS)
ifneq (86,$(findstring 86,$(OS_TEST)))
ifdef HAVE_64BIT_OS
CPPSRCS := xptcinvoke_sparcv9_solaris.cpp
xptcstubs_sparcv9_solaris.cpp
else
CPPSRCS := xptcinvoke_sparc_solaris.cpp
xptcstubs_sparc_solaris.cpp
endif
ifeq ($(GNU_CC),1)
ifdef HAVE_GCC3_ABI
ASFILES := xptcinvoke_asm_sparc_solaris_GCC3.s
xptcstubs_asm_sparc_solaris.s
else
ASFILES := xptcinvoke_asm_sparc_solaris_GCC.s
xptcstubs_asm_sparc_solaris.s
endif
else
ifdef HAVE_64BIT_OS
ASFILES := xptcinvoke_asm_sparcv9_solaris_SUNW.s
xptcstubs_asm_sparcv9_solaris.s
else
ASFILES := xptcinvoke_asm_sparc_solaris_SUNW.s
xptcstubs_asm_sparc_solaris.s
endif
endif
endif
endif
######################################################################
# S/390
============================ End ================================
The result of the above segment ends up with the variables as follows:
CPPSRCS=xptcinvoke_sparcv9_solaris.cpp xptcstubs_sparcv9_solaris.cpp
ASFILES=xptcinvoke_asm_sparc_solaris_GCC3.s xptcstubs_asm_sparc_solaris.s
(ifdef HAVE_64BIT_OS is true and ifeq ($(GNU_CC),1) is true and ifdef
HAVE_GCC3_ABI is true)
which ends up using 64-bit cpp files with 32-bit .s files, which just doesn't work.
=============== config.site ===============
CC=gcc
LD=/usr/ccs/bin/ld
CFLAGS="-m64 -O2 -I/usr/local/sparcv9/include"
OS_CFLAGS="-m64 -O2"
NATIVE_FLAGS="-m64 -O2"
LDFLAGS="-R/usr/local/lib/gcc3/lib/sparcv9 -R/usr/local/sparcv9/lib"
CPPFLAGS="-I/usr/local/gcc3/include -I/usr/local/sparcv9/include"
=============== end config.site ===============
configure --prefix=/usr/local/sparcv9 --disable-ldap --disable-mailnews
--enable-extensions=cookie,xml-rpc,xmlextras,p3p
,pref,transformiix,universalchardet,typeaheadfind,webservices --enable-crypto
--disable-composer --disable-profilesharing
--disable-installer
I have a wrapper around c++ to force it to always use the -m64 flag:
../gcc3/bin/c++ -m64 $@
Reproducible: Always
Steps to Reproduce:
1. config.site as above
2. configure --prefix=/usr/local/sparcv9 --disable-ldap --disable-mailnews
--enable-extensions=cookie,xml-rpc,xmlextras,p3p
,pref,transformiix,universalchardet,typeaheadfind,webservices --enable-crypto
--disable-composer --disable-profilesharing
--disable-installer
3. make
Actual Results:
c++ -I/usr/local/gcc3/include -I/usr/local/sparcv9/include
-I/usr/openwin/include -fno-rtti -fno-exceptions -Wno-long-long -pedantic
-fshort-wchar -pthreads -DNDEBUG -DTRIMMED -o xpcshell xpcshell.o
-R/usr/local/lib/gcc3/lib/sparcv9 -R/usr/local/sparcv9/lib
-L../../../../dist/bin -L../../../../dist/lib -L../../../../dist/bin -lmozjs
-L../../../../dist/bin -lxpcom -L/data/jkg/src/bak/mozilla/dist/lib -lplds4
-lplc4 -lnspr4 -ldl -lrt -lsocket -ldl -lm
Undefined first referenced
symbol in file
invoke_count_words ../../../../dist/bin/libxpcom.so
ld: fatal: Symbol referencing errors. No output written to xpcshell
collect2: ld returned 1 exit status
make[3]: *** [xpcshell] Error 1
make[3]: Leaving directory `/data/jkg/src/bak/mozilla/js/src/xpconnect/shell'
make[2]: *** [libs] Error 2
make[2]: Leaving directory `/data/jkg/src/bak/mozilla/js/src/xpconnect'
make[1]: *** [tier_9] Error 2
make[1]: Leaving directory `/data/jkg/src/bak/mozilla'
make: *** [default] Error 2
Expected Results:
compiled without errors :)
It looks like there is a 64-bit .s file for use with the native sun compiler,
but no .s file for 64-bit compilation with gcc3.
Reporter | ||
Updated•22 years ago
|
OS: other → Solaris
Hardware: Other → Sun
Assignee: bryner → BradleyJunk
Component: build-config → XPConnect
Product: Firefox → Browser
QA Contact: asa → pschwartau
Version: unspecified → Trunk
This bug is still present in all Mozilla versions. Somebody needs to provide
support for invoke_count_words for sparcv9 for GCC3.
Its strange that the product doesn't build in an environment and this bug is not
being looked into. Can we have an update on this bug please?
Justin, were you able to workaround/fix this issue?
thank you for volunteering, please click the create a new attachment link with
your gcc friendly 64bit .s file. i hope to see it soon.
Assignee: BradleyJunk → funtoos
that response is both funny and arrogant...I wish I knew sparc assembly enough
to write that file....thanks for your great HELP!!
Assignee: funtoos → BradleyJunk
Assignee | ||
Comment 4•21 years ago
|
||
Seriously, for this to get addressed we need someone who has access to and
knowledge of sparcv9. Or if someone knows of a sparcv9 emulator that might get
it more attention. Until someone steps up, this bug will sit idle.
Comment 5•21 years ago
|
||
This issue appears to still be present in an attempt to compile Mozilla 1.7.2 on
Solaris 8 w/ a sparcv9 processor (using GCC3)
Here's my output:
<CENSORED>/mozilla/config/nsinstall -R -m 755 regxpcom ../../../dist/sdk/bin
gmake[4]: Leaving directory `<CENSORED>/mozilla/xpcom/tools/registry'
gmake[3]: Leaving directory `<CENSORED>/mozilla/xpcom/tools'
gmake[3]: Entering directory `<CENSORED>/mozilla/xpcom/tests'
nsIFileEnumerator.cpp
g++ -o nsIFileEnumerator.o -c -DOSTYPE=\"SunOS5\" -DOSARCH=\"SunOS\" -I./../ds
-I./services -I../../dist/include/string -I../../dist/include/xpcom
-I../../dist/include -I<CENSORED>/mozilla/dist/include/nspr -fPIC
-fno-rtti -fno-exceptions -Wno-long-long -pedantic -O2 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -m64 -fshort-wchar -pthreads -DDEBUG -D_DEBUG -DDEBUG_
-DTRACING -g -DMOZILLA_CLIENT -include ../../mozilla-config.h
-Wp,-MD,.deps/nsIFileEnumerator.pp nsIFileEnumerator.cpp
g++ -fno-rtti -fno-exceptions -Wno-long-long -pedantic -O2 -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -m64 -fshort-wchar -pthreads -DDEBUG -D_DEBUG -DDEBUG_
-DTRACING -g -o nsIFileEnumerator nsIFileEnumerator.o -m64
-L<CENSORED>/libgettext/0.14.1/lib/ -L../../dist/bin -L../../dist/lib
-L../../dist/bin -lxpcom -L<CENSORED>/mozilla/dist/lib -lplds4 -lplc4 -lnspr4
-L<CENSORED>/libgettext/0.14.1/lib/ -ldl -lrt -lsocket -ldl -lm
Undefined first referenced
symbol in file
invoke_count_words ../../dist/bin/libxpcom.so
Comment 6•20 years ago
|
||
This is an automated message, with ID "auto-resolve01".
This bug has had no comments for a long time. Statistically, we have found that
bug reports that have not been confirmed by a second user after three months are
highly unlikely to be the source of a fix to the code.
While your input is very important to us, our resources are limited and so we
are asking for your help in focussing our efforts. If you can still reproduce
this problem in the latest version of the product (see below for how to obtain a
copy) or, for feature requests, if it's not present in the latest version and
you still believe we should implement it, please visit the URL of this bug
(given at the top of this mail) and add a comment to that effect, giving more
reproduction information if you have it.
If it is not a problem any longer, you need take no action. If this bug is not
changed in any way in the next two weeks, it will be automatically resolved.
Thank you for your help in this matter.
The latest beta releases can be obtained from:
Firefox: http://www.mozilla.org/projects/firefox/
Thunderbird: http://www.mozilla.org/products/thunderbird/releases/1.5beta1.html
Seamonkey: http://www.mozilla.org/projects/seamonkey/
Comment 7•20 years ago
|
||
This bug has been automatically resolved after a period of inactivity (see above
comment). If anyone thinks this is incorrect, they should feel free to reopen it.
Status: UNCONFIRMED → RESOLVED
Closed: 20 years ago
Resolution: --- → EXPIRED
You need to log in
before you can comment on or make changes to this bug.
Description
•