On Sun, Oct 26, 2008 at 02:52:46AM -0500, Bob Tracy wrote:
> On Sun, Oct 26, 2008 at 12:26:52PM +1300, Michael Cree wrote:
> > I've CCed this to Bob Tracy since he has done quite a bit of work trying to
> > track down the problem,, that is reported in the debian-alpha mail list.
> > He may wish to comment further.
> >
> > Bob compiled vanilla 3.0.3 firefox sources, and I compiled 3.0.3-g1 icecat
> > sources for testing (mainly because iceweasel was still back at 3.0.1 at
> > the time). These also crash. For me the symptom is that the browser
> > window opens on the screen and then immediately disappears again with the
> > crash.
>
> That is the symptom I'm seeing as well. Significantly, this occurs
> both with Iceweasel and with firefox executables built from the
> vanilla firefox-3.x sources. The main browser window with two tabs
> appears: the two tabs correspond to the "you've upgraded" web page and
> the normal home page. As soon as the two pages start to load, the
> browser crashes with a segfault.
>
> For a vanilla firefox-3.0.3 build, disabling optimization took care of
> the segfaults, while adding "-Wl,--no-relax" to DSO_LDOPTS allowed
> libxul.so to be built. The build process was aborting during the final
> link-edit of libxul.so with GPREL16 relocation errors, and a 2007
> bugzilla report I found implicated the "relax" code in "binutils".
>
> The same workarounds allow firefox-3.1b1 to build and work properly.
Can you try to rebuild a xulrunner-1.9 package with the attached patch
and see if iceweasel gets better?
Thanks
Mike
diff --git a/debian/rules b/debian/rules
index 2ae4a21..6fac4e3 100755
--- a/debian/rules
+++ b/debian/rules
@@ -34,10 +34,6 @@ ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CONFIGURE_FLAGS += --disable-optimize
endif
-ifeq ($(DEB_BUILD_ARCH),alpha)
- CFLAGS += -Wl,--no-relax
-endif
-
ifeq ($(DEB_BUILD_ARCH),ppc64)
CFLAGS += -mminimal-toc
endif
@@ -90,7 +86,7 @@ build-stamp: config.status
PYTHON_SO=$(shell objdump -p /usr/lib/lib$(PYVER).so | awk
'/SONAME/ {print $$2}') \
$(JAVA_VARS) \
DEB_NO_JAR=1 \
- OS_LDFLAGS="-Wl,--as-needed $(shell sed -n
's/^OS_LDFLAGS\s*=\s*//p' config/autoconf.mk)"
+ OS_LDFLAGS="-Wl,--no-relax -Wl,--as-needed $(shell sed -n
's/^OS_LDFLAGS\s*=\s*//p' config/autoconf.mk)"
#docbook-to-man debian/xulrunner.sgml > xulrunner.1
touch build-stamp