Closed Bug 289586 Opened 20 years ago Closed 20 years ago

Build fails when using -O3 optimization

Categories

(Core :: XPCOM, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

()

VERIFIED INVALID

People

(Reporter: krmathis, Assigned: dougt)

References

Details

User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b2) Gecko/20050405 Firefox/1.0+ (PowerBook)
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b2) Gecko/20050405 Firefox/1.0+ (PowerBook)

Latest Trunk no longer compiles successfully on Mac OS X using -O3 optimization.
A checkin between 04/05 ~18:00 CET and 04/06 16:00 CET is probably the cause of
the problem.

I successfully compiled with -O3 tuesday 04/05 around 18:00 CET, but the source
I pulled from CVS on wednesday 04/06 around 17:00 CET failed.
So to get a successfull build I must use -O2

Reproducible: Always

Steps to Reproduce:
1. Add "ac_add_options --enable-optimize="-O3"" to you .mozconfig
2. Pull the latest Trunk source from CVS
3. Build Firefox

Actual Results:  
Build errors out at the late end.

Expected Results:  
Build completed successfully.

Error code:

c++ -o firefox-bin  -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith
-Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy
-Wno-non-virtual-dtor -Wno-long-long
-I/Developer/SDKs/MacOSX10.2.8.sdk/usr/include/gcc/darwin/3.3
-I/Developer/SDKs/MacOSX10.2.8.sdk/usr/include -fpascal-strings -no-cpp-precomp
-fno-common -fshort-wchar
-I/Developer/SDKs/MacOSX10.2.8.sdk/Developer/Headers/FlatCarbon -pipe  -DNDEBUG
-DTRIMMED -O3 -faltivec -mcpu=7450 -mtune=7450 -mpowerpc -mpowerpc-gfxopt 
nsBrowserApp.o nsStaticComponents.o      -L../../dist/bin -L../../dist/lib
-L../../dist/lib/components -lxpcom_compat_c -lxpconnect -luconv -lucvmath
-li18n -lnecko -lnecko2 -ljar50 -lpref -lcaps -lrdf -lhtmlpars -lgfx_mac
-limgicon -limglib2 -lgkplugin -lwidget_mac -lgklayout -ldocshell
-lembedcomponents -lwebbrwsr -leditor -ltxmgr -lcomposer -lnsappshell -loji
-laccessibility -lchrome -lmork -lmozfind -lappcomps -lcommandlines
-ltoolkitcomps -lpipboot -lpipnss -lpippki -lcookie -lxmlextras -lautoconfig
-ltransformiix -luniversalchardet -lwebsrvcs -lpermissions -lbrowsercomps
-lunicharutil_s -lucvutil_s -lgfxshared_s -lgkgfx -ljsj -lxulapp_s
../../dist/lib/libxulapp_s.a -L../../dist/bin -lmozjs -L../../dist/bin -lxpcom
-lxpcom_core -L../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -framework Cocoa
-framework Carbon  -framework QuickTime -framework IOKit
-L/Developer/SDKs/MacOSX10.2.8.sdk/usr/lib/gcc/darwin/3.3
-L/Developer/SDKs/MacOSX10.2.8.sdk/usr/lib -lm   -L../../dist/lib/components
-L../../dist/lib -lmozpng -L../../dist/lib -lmozjpeg -L../../dist/lib -lmozz 
-L../../dist/bin -L../../dist/lib ../../dist/lib/libcrmf.a -lsmime3 -lssl3
-lnss3 -lsoftokn3   -L../../dist/lib -lxpcom_compat  -Wl,-headerpad -Wl,5a0c   
ld: warning suggest use of -bind_at_load, as lazy binding may result in errors
or different symbols being used
symbol _libVersionPoint used from dynamic library
../../dist/bin/libplc4.dylib(plvrsion.o) not from earlier dynamic library
@executable_path/libplds4.dylib(plvrsion.o)
ld: warning prebinding disabled because of undefined symbols
ld: Undefined symbols:
non-virtual thunk to nsHashPropertyBag::GetProperty(nsAString const&, nsIVariant**)
non-virtual thunk to nsHashPropertyBag::GetEnumerator(nsISimpleEnumerator**)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsBool(nsAString const&, int*)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsBool(nsAString const&, int)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsInt32(nsAString const&, int*)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsInt64(nsAString const&,
long long*)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsInt32(nsAString const&, int)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsInt64(nsAString const&,
long long)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsDouble(nsAString const&,
double*)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsUint32(nsAString const&,
unsigned int*)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsUint64(nsAString const&,
unsigned long long*)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsDouble(nsAString const&,
double)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsUint32(nsAString const&,
unsigned int)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsUint64(nsAString const&,
unsigned long long)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsAString(nsAString const&,
nsAString&)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsAString(nsAString const&,
nsAString const&)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsACString(nsAString const&,
nsACString&)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsACString(nsAString const&,
nsACString const&)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsInterface(nsAString const&,
nsID const&, void**)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsInterface(nsAString const&,
nsISupports*)
non-virtual thunk to nsHashPropertyBag::GetPropertyAsAUTF8String(nsAString
const&, nsACString&)
non-virtual thunk to nsHashPropertyBag::SetPropertyAsAUTF8String(nsAString
const&, nsACString const&)
make[4]: *** [firefox-bin] Error 1
make[3]: *** [libs] Error 2
make[2]: *** [tier_99] Error 2
make[1]: *** [default] Error 2
make: *** [build] Error 2
I can confirm that this also occurs when building Camino from CVS, and has been
happening since around midnight EDT 05 April.

cl
You must be doing a static build.  My build doesn't even make it to the final
link.  It dies when linking necko complaining about the same missing symbols.

Given the timeframe, I'm going to guess that one of the fixes for bug 288626 or
bug 283489 caused this.
Assignee: nobody → dougt
Status: UNCONFIRMED → NEW
Component: Build Config → XPCOM
Ever confirmed: true
Product: Firefox → Core
QA Contact: build-config
Version: unspecified → Trunk
Yeah, Kai and I were both doing static builds. Problem's still there as of 1600
EDT today (09 April).

cl
*** Bug 290652 has been marked as a duplicate of this bug. ***
This problem always occur on osx when you use the gcc optimization
"-finline-functions".
(In reply to comment #6)
> This problem always occur on osx when you use the gcc optimization
> "-finline-functions".

It didn't used to.

Any progress yet?
Sorry poor language on my part. Sometimes in C++ code this happens when you use
the "-finline-functions". 
This is a bug in gcc.  Apple is aware of it.

http://lists.apple.com/archives/unix-porting/2003/Dec/msg00107.html

I'm hoping it's fixed in Xcode 2.
ok, so this is not a mozilla bug.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → INVALID
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.