Cyril Brulebois <k...@debian.org> (28/01/2009): > I'll follow up in a few hours with a proposed patch, and an NMU short > afterwards, thus tagging pending.
NMU just uploaded, using the attached patch. Mraw, KiBi.
diff -u guile-1.6-1.6.8/debian/rules guile-1.6-1.6.8/debian/rules --- guile-1.6-1.6.8/debian/rules +++ guile-1.6-1.6.8/debian/rules @@ -49,28 +49,48 @@ --enable-dynamic-linking \ ${ENABLE_THREADS} -# Use -O1. Otherwise guile may use up too much stack on some -# architectures. + +### CFLAGS HANDLING. +# +# ----------------------------------- +# CFLAGS | sparc | hppa | others | +# --------------------------------------------- +# | normal | -O0 | -O1 -D... | nothing | +# --------------------------------------------- +# | noopt | -g -O0 | -g -O1 -D... | -g -01 | +# --------------------------------------------- # -# http://lists.gnu.org/archive/html/guile-devel/2006-10/msg00007.html +# Implemented this way: +# - if noopt, then -g +# if additionally not on hppa & sparc, -O1 +# - if on sparc, add -O0 +# - if on hppa, add -01 -D... # +# This solves the following issues: +# - hppa: the stack grows up, autotools test +# was broken and disabled. +# - hppa: stack overflows if -O1 isn't used. +# - sparc: runtime errors if -O0 isn't used. +# +# -- Cyril Brulebois <k...@debian.org> Wed, 28 Jan 2009 12:25:38 +0100 + ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) -# However, using -O1 makes the test suite fail (#501114) on sparc. -# Use -O0 there. -ifneq ($(DEB_HOST_ARCH),sparc) - configure_args += CFLAGS="-O1 -g" -else - configure_args += CFLAGS="-O0 -g" + cflags = -g +ifeq (,$(findstring $(DEB_HOST_ARCH), hppa sparc)) + cflags += -O1 endif endif -# Use -O0 on sparc to work around a failure in the test suite with the -# default -O2 (see #501114). +ifeq ($(DEB_HOST_ARCH), hppa) + cflags += -O1 -DSCM_STACK_GROWS_UP=1 +endif + ifeq ($(DEB_HOST_ARCH), sparc) -# Don't set CFLAGS if it was already set because of noopt. -ifeq (,$(findstring CFLAGS, $(configure_args))) - configure_args += CFLAGS="-O0" + cflags += -O0 endif + +ifneq (,$(cflags)) + configure_args += CFLAGS="$(cflags)" endif # It looks like Debian's packaging tools can't handle an empty file, diff -u guile-1.6-1.6.8/debian/changelog guile-1.6-1.6.8/debian/changelog --- guile-1.6-1.6.8/debian/changelog +++ guile-1.6-1.6.8/debian/changelog @@ -1,3 +1,23 @@ +guile-1.6 (1.6.8-6.3) unstable; urgency=high + + * Non-maintainer upload. + * Work around two FTBFS causes on hppa (Closes: #497740): + - The stack grows up on hppa (only), and the variable introduced by + the stackdirection.diff patch isn't the needed one (it introduces + SCM_I_GSC_STACK_GROWS_UP while SCM_STACK_GROWS_UP would be needed). + - Both -O2 and -O0 are not OK on hppa because it leads to a stack + overflow. + Therefore, instead of fiddling with the patch, introduce more + architecture-specific checks to add the right CFLAGS. + * As a consequence, rework the existing CFLAGS handling to make them a + bit more readable, including a table that describes the wanted CFLAGS + depending on the architecture, and depending on whether “noopt” is + passed through DEB_BUILD_OPTIONS. Test-buit successfully on amd64, + hppa, and sparc, both with and without “noopt”. + * Set urgency to “high” since that will fix 2 RC bugs in lenny. + + -- Cyril Brulebois <k...@debian.org> Wed, 28 Jan 2009 12:25:38 +0100 + guile-1.6 (1.6.8-6.2) unstable; urgency=low * Non-maintainer upload.
signature.asc
Description: Digital signature