Dear Bruno,

On Mon, Feb 19, 2018 at 08:41:51AM +0100, Sébastien Villemot wrote:
> > > - ppc64el: lisp image generated, but fails to compile asdf (segfault)
> > 
> > These MAY be fixed in 2.49.92, due to the memory-map fixes.
> 
> Unfortunately this is not the case.
> 
> > If not, please try adding -DSAFETY=3 to the CFLAGS for these architectures.
> 
> I tried a manual build on a ppc64el box with -DSAFETY=3 and indeed it fixes 
> the
> problem. Should I add the flag to the Debian packaging or do you plan to
> investigate this further?

Actually I was able to fix the issue (and then another similar one in the
testsuite) by lowering GCC optimisation for two files (hashtabl and package).

I attach a mercurial changeset (on the clisp-2.50 branch) that implements this
workaround, please consider applying it.

Best,

-- 
⢀⣴⠾⠻⢶⣦⠀  Sébastien Villemot
⣾⠁⢠⠒⠀⣿⡁  Debian Developer
⢿⡄⠘⠷⠚⠋⠀  http://sebastien.villemot.name
⠈⠳⣄⠀⠀⠀⠀  http://www.debian.org
# HG changeset patch
# User Sébastien Villemot <sebast...@debian.org>
# Date 1519592678 0
#      Sun Feb 25 21:04:38 2018 +0000
# Branch clisp-2.50
# Node ID 265f19e88db6733952e1d7734b3e841939791e64
# Parent  513fb57885af00f96a2385e2b1772ae35e205f23
Fix build and test failures on Linux/powerpc64le with gcc 7.3.0.

diff -r 513fb57885af -r 265f19e88db6 src/ChangeLog
--- a/src/ChangeLog	Sun Feb 25 03:25:43 2018 +0100
+++ b/src/ChangeLog	Sun Feb 25 21:04:38 2018 +0000
@@ -1,3 +1,9 @@
+2018-02-26  Sébastien Villemot  <sebast...@debian.org>
+
+	Fix build and test failures on Linux/powerpc64le with gcc 7.3.0.
+	* makemake.in: Compile hashtabl.c and package.c with option -O1,
+	instead of -O2.
+
 2018-02-24  Bruno Haible  <br...@clisp.org>
 
 	Fix memory map related warnings on Alpine Linux 3.7/i386.
diff -r 513fb57885af -r 265f19e88db6 src/makemake.in
--- a/src/makemake.in	Sun Feb 25 03:25:43 2018 +0100
+++ b/src/makemake.in	Sun Feb 25 21:04:38 2018 +0000
@@ -3006,6 +3006,11 @@
           # gcc-4.9.2 on Linux/s390x miscompiles lisparit.d when -O2 is used.
           flags2=$flags2' -O1'
         fi
+        if [ \( $f = hashtabl -o $f = package \) -a "$cpu" = powerpc64-elfv2 ] ; then
+          # gcc-7.3.0 on Linux/powerpc64le miscompiles hashtabl.d and package.d
+          # when -O2 is used.
+          flags2=$flags2' -O1'
+        fi
         ;;
     esac
   else

Attachment: signature.asc
Description: PGP signature

_______________________________________________
pkg-common-lisp-devel mailing list
pkg-common-lisp-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-common-lisp-devel

Reply via email to