Closed Bug 412220 Opened 17 years ago Closed 4 years ago

[ppc64] sibling call optimization to `nsMemory::Alloc(unsigned long)' does not allow automatic multiple TOCs

Categories

(Core :: General, defect)

Other
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: caillon, Unassigned)

Details

Compilation failure using CVS HEAD from a few hours ago on Rawhide ppc64 using gcc 4.1.2-36:


c++  -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -pedantic -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions -fPIC -shared -Wl,-z,defs -Wl,-h,libxul.so -o libxul.so  nsStaticXULComponents.o nsUnicharUtils.o nsCompressedCharMap.o nsBidiUtils.o nsRDFResource.o     -lpthread -Wl,-rpath,/usr/lib64/xulrunner-1.9pre  -Wl,-rpath-link,../../dist/bin  -Wl,--whole-archive ../../embedding/browser/gtk/src/libgtkembedmoz.a ../../toolkit/xre/libxulapp_s.a  ../../staticlib/components/libxpconnect.a ../../staticlib/components/libnecko.a ../../staticlib/components/libuconv.a ../../staticlib/components/libi18n.a ../../staticlib/components/libchardet.a ../../staticlib/components/libjar50.a ../../staticlib/components/libpref.a ../../staticlib/components/libcaps.a ../../staticlib/components/libhtmlpars.a ../../staticlib/components/libimglib2.a ../../staticlib/components/libgklayout.a ../../staticlib/components/libdocshell.a ../../staticlib/components/libembedcomponents.a ../../staticlib/components/libwebbrwsr.a ../../staticlib/components/libnsappshell.a ../../staticlib/components/libtxmgr.a ../../staticlib/components/libchrome.a ../../staticlib/components/libcommandlines.a ../../staticlib/components/libtoolkitcomps.a ../../staticlib/components/libpipboot.a ../../staticlib/components/libpipnss.a ../../staticlib/components/libxmlextras.a ../../staticlib/components/libgkplugin.a ../../staticlib/components/libmozfind.a ../../staticlib/components/libappcomps.a ../../staticlib/components/libxpinstall.a ../../staticlib/components/libjsd.a ../../staticlib/components/libautoconfig.a ../../staticlib/components/libauth.a ../../staticlib/components/libcookie.a ../../staticlib/components/libpermissions.a ../../staticlib/components/libuniversalchardet.a ../../staticlib/components/libcomposer.a ../../staticlib/components/librdf.a ../../staticlib/components/libwindowds.a ../../staticlib/components/libintlapp.a ../../staticlib/components/libfileview.a ../../staticlib/components/libstoragecomps.a ../../staticlib/components/libplaces.a ../../staticlib/components/libtkautocomplete.a ../../staticlib/components/libsatchel.a ../../staticlib/components/libpippki.a ../../staticlib/components/libucvmath.a ../../staticlib/components/libwidget_gtk2.a ../../staticlib/components/libsystem-pref.a ../../staticlib/components/libgkgfxthebes.a ../../staticlib/components/liboji.a ../../staticlib/components/libaccessibility.a ../../staticlib/components/libremoteservice.a ../../staticlib/components/libspellchecker.a ../../staticlib/components/libzipwriter.a ../../staticlib/libxpcom_core.a ../../staticlib/libucvutil_s.a ../../staticlib/libgkgfx.a ../../staticlib/libgfxshared_s.a ../../staticlib/libmozreg_s.a ../../staticlib/libmorkreader_s.a ../../staticlib/libgtkxtbin.a ../../staticlib/libgfxpsshar.a ../../staticlib/libthebes.a ../../staticlib/libjsj.a  -Wl,--no-whole-archive  -L../../dist/bin -L../../dist/lib  -L../../dist/bin -L../../dist/lib -ljpeg  -L../../modules/libimg/png -lmozpng -L../../dist/bin -lmozlcms -L../../dist/bin -lmozjs -Wl,-rpath-link,/lib64 -L/lib64 -lssl3 -lsmime3 -lnss3 -lcrmf  -lz  -lpangocairo-1.0 -lcairo -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   ../../gfx/cairo/cairo/src/libmozcairo.a ../../gfx/cairo/libpixman/src/libmozlibpixman.a   -L/usr/lib64 -lXrender -lfreetype -lfontconfig -L/lib64 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -L/usr/lib64 -lX11  -lXft -lXrender -lfontconfig -lfreetype -lX11   -lgtk-x11-2.0 -latk-1.0 -lgdk-x11-2.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgmodule-2.0 -ldl -lgobject-2.0 -lglib-2.0   -lXt -lgthread-2.0 -lfreetype -ldl -lm     
/usr/bin/ld: ../../staticlib/components/libgklayout.a(nsROCSSPrimitiveValue.o)(.text+0x7dc): sibling call optimization to `nsMemory::Alloc(unsigned long)' does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or make `nsMemory::Alloc(unsigned long)' extern
/usr/bin/ld: final link failed: Bad value
collect2: ld returned 1 exit status
gmake[4]: *** [libxul.so] Error 1
gmake[4]: Leaving directory `/builddir/build/BUILD/mozilla/toolkit/library'
gmake[3]: *** [libs_tier_toolkit] Error 2
gmake[3]: Leaving directory `/builddir/build/BUILD/mozilla'
gmake[2]: *** [tier_toolkit] Error 2
gmake[2]: Leaving directory `/builddir/build/BUILD/mozilla'
gmake[1]: *** [default] Error 2
gmake[1]: Leaving directory `/builddir/build/BUILD/mozilla'
make: *** [build] Error 2
http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/RS-6000-and-PowerPC-Options.html

Some new entries could have put us over the 16,834 entry limit in the TOC...
Adding -mno-fp-in-toc -mno-sum-in-toc to CXXFLAGS as suggested by the doc above helps.

Closing as WFM, since this hasn't occurred in a long time.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.