Package: xulrunner
Version: 1.8.0.11-4
Severity: serious
Tags: patch

Hi Mike,

xulrunner is currently failing to build on alpha in unstable, because ld
currently has --relax enabled by default and this option seems to fail on
alpha in some cases:

[...]
make[3]: Entering directory `/build/buildd/xulrunner-1.8.0.11/toolkit/library'
nsStaticXULComponents.cpp
c++ -o nsStaticXULComponents.o -c -fvisibility=hidden -DNECKO2 
-DMOZ_ENABLE_POSTSCRIPT -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" 
-DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -D_IMPL_NS_COM -D_IMPL_NS_STRINGAPI 
-DEXPORT_XPT_API -DEXPORT_XPTC_API -DEXPORT_XPTI_API -D_IMPL_NS_COM_OBSOLETE 
-D_IMPL_NS_GFX -D_IMPL_NS_WIDGET -DIMPL_XULAPI  -I../../config 
-I../../extensions/java/xpcom/src 
-I/build/buildd/xulrunner-1.8.0.11/sun-java/stubs/include 
-I/build/buildd/xulrunner-1.8.0.11/sun -java/stubs/include/linux 
-I../../dist/include/xpcom -I../../dist/include/string 
-I../../dist/include/xpcom_obsolete -I../../dist/include/xulapp 
-I../../dist/include/libxul -I../../dist/include -I/usr/include/nspr       
-fPIC -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align 
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor 
-Wno-long-long -mieee -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2 
-fno-strict-aliasing -g -DMOZILLA_CLIENT -include ../../mozilla-config.h 
-Wp,-MD,.deps/nsStaticXULComponents.pp nsStaticXULComponents.cpp
rm -f libxul.so.0d
c++  -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align 
-Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor 
-Wno-long-long -mieee -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2 
-fno-strict-aliasing -g -fPIC -shared -Wl,-h -Wl,libxul.so.0d -o libxul.so.0d 
nsStaticXULComponents.o    -Wl,--as-needed   -Wl,--whole-archive 
../../dist/lib/libxpcom_core .a ../../dist/lib/libxpcom_compat.a 
../../dist/lib/libunicharutil_s.a ../../dist/lib/libucvutil_s.a 
../../dist/lib/libgkgfx.a ../../dist/lib/libgfxshared_s.a 
../../dist/lib/libxulapp_s.a ../../dist/lib/libgtkxtbin.a 
../../dist/lib/libgfxpsshar.a ../../dist/lib/libjsj.a 
../../dist/lib/libjavaxpcom.a ../../dist/lib/components/libxpcom_compat_c.a 
../../dist/lib/components/libxpconnect.a ../../dist/lib/components/libnecko.a 
../../dist/lib/components/libuconv.a ../../dist/lib/components/libi18n.a 
../../dist/lib/components/libjar50.a ../../dist/lib/components/libpref.a 
../../dist/lib/components/libcaps.a ../../dist/lib/components/librdf.a 
../../dist/lib/components/libhtmlpars.a ../../dist/lib/components/libimglib2.a 
../../dist/lib/components/libgkplugin.a ../../dist/lib/components/libgklayout.a 
../../dist/lib/components/libdocshell.a 
../../dist/lib/components/libembedcomponents.a 
../../dist/lib/components/libwebbrwsr.a ../../dist/lib/components/libeditor.a 
../../dist/lib/components/libnsappshell.a ../../dist/lib/components/libtxmgr.a 
../../dist/lib/components/libcomposer.a ../../dist/lib/components/libchrome.a 
../../dist/lib/components/libmork.a ../../dist/lib/components/libmozfind.a 
../../dist/lib/components/libappcomps.a 
../../dist/lib/components/libcommandlines.a 
../../dist/lib/components/libtoolkitcomps.a 
../../dist/lib/components/libxpinstall.a ../../dist/lib/components/libjsd.a 
../../dist/lib/components/libucvmath.a 
../../dist/lib/components/libwidget_gtk2.a 
../../dist/lib/components/libnecko2.a ../../dist/lib/components/libgfxps.a 
../../dist/lib/components/libgfx_gtk.a ../../dist/lib/components/liboji.a 
../../dist/lib/components/libaccessibility.a 
../../dist/lib/components/libremoteservice.a  -Wl,--no-whole-archive 
-Wl,-rpath-link,../../dist/bin -L../../dist/bin -L../../dist/lib -ljpeg -lpng  
-L../../dist/bin -lmozjs  -lz   -L/usr/lib -lplds4 -lplc4 -lnspr4 -lpthread 
-ldl -lXinerama  -lX11   -lXft -lfontconfig   -lgtk-x11-2.0 -lgdk-x11-2.0 
-latk-1.0 -lgdk_pixbuf-2 .0 -lm -lpangocairo-1.0 -lfontconfig -lXext -lXrender 
-lXinerama -lXi -lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lX11 
-lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -lXt -lcairo   -lpangoxft-1.0 
-lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0   -ldl 
-lm     
../../dist/lib/components/libaccessibility.a(nsDocAccessible.o):/build/buildd/xulrunner-1.8.0.11/accessible/src/base/nsDocAccessible.cpp:238:
 relocation truncated to fit: GPREL16 against symbol 
`nsAccessNode::gLastFocusedNode' defined in .sbss section in 
../../dist/lib/components/libaccessibility.a(nsAccessNode.o)
../../dist/lib/components/libaccessibility.a(nsDocAccessible.o):/build/buildd/xulrunner-1.8.0.11/accessible/src/base/nsDocAccessible.cpp:1157:
 relocation truncated to fit: GPREL16 against symbol 
`nsAccessibilityAtoms::role' defined in .sbss section in 
../../dist/lib/components/libaccessibility.a(nsAccessibilityAtoms.o)
[...]
../../dist/lib/components/libaccessibility.a(nsDocAccessible.o):/build/buildd/xulrunner-1.8.0.11/accessible/src/base/nsDocAccessible.cpp:822:
 additional relocation overflows omitted from the output
collect2: ld returned 1 exit status
[...]

A full build log can be found at 
<http://buildd.debian.org/fetch.cgi?pkg=xulrunner&arch=alpha&ver=1.8.0.11-4&stamp=1178004487>.

The attached patch changes xulrunner to use -Wl,--no-relax on alpha as a
workaround.

Bug filed as 'serious' because so far xulrunner is the only package shown to
be affected by this problem in current binutils and a workaround is
available.  A separate bug will be filed on binutils.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
[EMAIL PROTECTED]                                   http://www.debian.org/
diff -u xulrunner-1.8.0.11/debian/changelog xulrunner-1.8.0.11/debian/changelog
--- xulrunner-1.8.0.11/debian/changelog
+++ xulrunner-1.8.0.11/debian/changelog
@@ -1,3 +1,11 @@
+xulrunner (1.8.0.11-4.1) unstable; urgency=low
+
+  * Non-maintainer upload
+  * Build with -Wl,--no-relax on alpha, to work around a binutils bug
+    causing a build failure.
+
+ -- Steve Langasek <[EMAIL PROTECTED]>  Sun, 20 May 2007 18:14:00 -0700
+
 xulrunner (1.8.0.11-4) unstable; urgency=low
 
   * debian/rules: Don't make shlibs for components (which happened to make one
diff -u xulrunner-1.8.0.11/debian/rules xulrunner-1.8.0.11/debian/rules
--- xulrunner-1.8.0.11/debian/rules
+++ xulrunner-1.8.0.11/debian/rules
@@ -34,6 +34,10 @@
 
 OPTCFLAGS += -g
 
+ifeq ($(DEB_BUILD_ARCH),alpha)
+	OPTCFLAGS += -Wl,--no-relax
+endif
+
 ifeq ($(DEB_BUILD_ARCH),ppc64)
 	OPTCFLAGS += -mminimal-toc
 endif

Reply via email to