[arch-commits] Commit in cmucl/trunk (2 files)
Date: Monday, May 27, 2019 @ 14:59:36 Author: juergen Revision: 471473 upgpkg: cmucl 21d-1 add gcc-8 workaround Added: cmucl/trunk/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch Modified: cmucl/trunk/PKGBUILD --+ 0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch | 33 + PKGBUILD | 22 +-- 2 files changed, 43 insertions(+), 12 deletions(-) Added: 0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch === --- 0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch (rev 0) +++ 0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch2019-05-27 14:59:36 UTC (rev 471473) @@ -0,0 +1,33 @@ +From 9bd292bd1fca41d438d6eaeedec04c23cc442d4f Mon Sep 17 00:00:00 2001 +From: Raymond Toy +Date: Tue, 16 Apr 2019 19:17:32 -0700 +Subject: [PATCH] Fix #68: Use -O1 when compiling with gcc now + +As reported gcc 8.1.1 can't produce a working lisp. gcc 8.3.1 also +fails. But as reported on cmucl-imp, 2019-04-08, by Juan Pablo Hierro +Alverez, -O1 works. + +Use -O1. +--- + src/lisp/Config.x86_common | 5 - + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/lisp/Config.x86_common b/src/lisp/Config.x86_common +index 31aebfc1e..d5537657b 100644 +--- a/src/lisp/Config.x86_common b/src/lisp/Config.x86_common +@@ -44,7 +44,10 @@ endif + + CPPFLAGS := $(CPP_DEFINE_OPTIONS) $(CPP_INCLUDE_OPTIONS) + CFLAGS += -Wstrict-prototypes -Wall -g -fno-omit-frame-pointer +-CFLAGS += -O2 ++ ++# gcc 8.1.1 and 8.3.1 (and probably anything after 8.1.1?) won't ++# produce a working lisp with -O2. Just use -O1. ++CFLAGS += -O1 + ASFLAGS = -g + + ASSEM_SRC = x86-assem.S +-- +2.21.0 + Modified: PKGBUILD === --- PKGBUILD2019-05-27 14:59:29 UTC (rev 471472) +++ PKGBUILD2019-05-27 14:59:36 UTC (rev 471473) @@ -3,13 +3,13 @@ # Maintainer: Juergen Hoetzel pkgname=cmucl -pkgver=21c +pkgver=21d pkgrel=1 pkgdesc="CMU Common Lisp" depends_i686=('glibc' 'openmotif') depends_x86_64=('lib32-glibc' 'openmotif') provides=('common-lisp') -makedepends=('sed' 'bc' 'clang') +makedepends=('sed' 'bc' 'lib32-gcc-libs') license=('custom') #license PublicDomain source=("https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2; @@ -16,22 +16,20 @@ "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2.asc; "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2; "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2.asc; -82bf2c727ba1d3c461fa360aaae176608eb9349b.patch) -sha256sums=('3435963b594d44b5ca0e12674222b40fb00b3c44ea0226fead5d66041369a74d' + '0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch') +sha256sums=('657d9332ef0453a513a55c4ed84993ac5157e215efa423d2d7aa432a4bbc4ab4' 'SKIP' -'f94a79ca4c2918cc4e7bdc58c934c98e56accc3c08f7cccde70ade02ab438105' +'45d72d72a3d3b5087561bdc1ae943c8ed445427f3939cc0eb7597dd07eb10d9b' 'SKIP' -'6cb5b7921bee5c5cba19939de635870f56f1bce662d457aeccde29878a4d0ebc') +'48ef3fd1038cc0c53c4a5151f5a3eccde1ac58cef28f4dfc8553b5f7977ea9c9') validpgpkeys=('0EF50ED55514BFF6B72B9DAC06CE3819086C750B') # "Raymond Toy url="https://www.cons.org/cmucl/; arch=('x86_64') prepare() { - cd "${srcdir}" - patch -p1 -i 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch - + patch -p1 -d "${srcdir}" -i "${srcdir}/0001-Fix-68-Use-O1-when-compiling-with-gcc-now.patch" if [[ $CARCH == "i686" ]]; then -sed -i 's|i386\*|i686\*|' bin/build-all.sh +sed -i 's|i386\*|i686\*|' "${srcdir}"/bin/build-all.sh fi } @@ -39,13 +37,13 @@ cd "${srcdir}" export CMUCLLIB="${srcdir}"/lib/cmucl/lib # Build using binary-dist lisp - ./bin/build-all.sh -o "${srcdir}"/bin/lisp -C x86_linux_clang + ./bin/build-all.sh -o "${srcdir}"/bin/lisp -C x86_linux } package() { cd "${srcdir}" # install distribution - ./bin/make-dist.sh -I "${pkgdir}"/usr -M share/man/man1 -V 21c linux-4 + ./bin/make-dist.sh -I "${pkgdir}"/usr -M share/man/man1 -V ${pkgver} linux-4 # move docs mv "${pkgdir}"/usr/doc "${pkgdir}"/usr/share/ # backwards compatibility
[arch-commits] Commit in cmucl/trunk (2 files)
Date: Saturday, November 10, 2018 @ 13:03:28 Author: juergen Revision: 405667 Switch to clang, because of upstream gcc8 issue. Fixes #60280 Added: cmucl/trunk/82bf2c727ba1d3c461fa360aaae176608eb9349b.patch Modified: cmucl/trunk/PKGBUILD + 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch | 56 +++ PKGBUILD | 23 + 2 files changed, 69 insertions(+), 10 deletions(-) Added: 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch === --- 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch (rev 0) +++ 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch 2018-11-10 13:03:28 UTC (rev 405667) @@ -0,0 +1,56 @@ +From 82bf2c727ba1d3c461fa360aaae176608eb9349b Mon Sep 17 00:00:00 2001 +From: Raymond Toy +Date: Sat, 25 Aug 2018 16:51:35 -0700 +Subject: [PATCH] Add support for compiling with clang on x86/linux + +Add `Config.x86_linux_clang` to use clang instead of gcc to build +cmucl. update `create-target.sh` so that it sets the motif variant +correctly when using `Config.x86_linux_clang` + +See issue #68. + +With this config, Fedora 28 successfully builds cmucl and passes all +the tests. +--- + bin/create-target.sh| 2 +- + src/lisp/Config.x86_linux_clang | 15 +++ + 2 files changed, 16 insertions(+), 1 deletion(-) + create mode 100644 src/lisp/Config.x86_linux_clang + +diff --git a/bin/create-target.sh b/bin/create-target.sh +index 400a2e52b..c1b763056 100755 +--- a/bin/create-target.sh b/bin/create-target.sh +@@ -83,7 +83,7 @@ case $uname_s in + hp700*) motif_variant=hpux_cc ;; + pmax_mach) motif_variant=pmax_mach ;; + sgi*) motif_variant=irix ;; +- x86_linux|linux*) motif_variant=x86 ;; ++ x86_linux*|linux*) motif_variant=x86 ;; + esac + } + [ -f src/motif/server/Config.$motif_variant ] || quit "No such motif-variant could be found: Config.$motif_variant" +diff --git a/src/lisp/Config.x86_linux_clang b/src/lisp/Config.x86_linux_clang +new file mode 100644 +index 0..cbfb4306a +--- /dev/null b/src/lisp/Config.x86_linux_clang +@@ -0,0 +1,15 @@ ++# -*- Mode: makefile -*- ++include Config.x86_common ++ ++CC = clang ++CPPFLAGS += -m32 -D__NO_CTYPE -D_GNU_SOURCE ++CFLAGS += -march=pentium4 -mfpmath=sse -mtune=generic ++ ++UNDEFSYMPATTERN = -Xlinker -u -Xlinker & ++ASSEM_SRC += linux-stubs.S ++OS_SRC += Linux-os.c elf.c ++OS_LIBS = -ldl ++OS_LINK_FLAGS = -m32 -rdynamic -Xlinker --export-dynamic -Xlinker -Map -Xlinker foo ++OS_LINK_FLAGS += -Wl,-z,noexecstack ++ ++EXEC_FINAL_OBJ = exec-final.o +-- +2.18.1 + Modified: PKGBUILD === --- PKGBUILD2018-11-10 12:58:08 UTC (rev 405666) +++ PKGBUILD2018-11-10 13:03:28 UTC (rev 405667) @@ -3,23 +3,25 @@ # Maintainer: Juergen Hoetzel pkgname=cmucl -pkgver=21b -pkgrel=2 +pkgver=21c +pkgrel=1 pkgdesc="CMU Common Lisp" depends_i686=('glibc' 'openmotif') depends_x86_64=('lib32-glibc' 'openmotif') provides=('common-lisp') -makedepends=('sed' 'bc') +makedepends=('sed' 'bc' 'clang') license=('custom') #license PublicDomain source=("https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2; - "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2.asc; + "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2.asc; "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2; - "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2.asc;) -sha256sums=('6f9ea5920d38d6881cee85d976565b3a6070bf6473dd64254e0e9f2f23625875' + "https://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2.asc; +82bf2c727ba1d3c461fa360aaae176608eb9349b.patch) +sha256sums=('3435963b594d44b5ca0e12674222b40fb00b3c44ea0226fead5d66041369a74d' 'SKIP' -'eaccb1d676dbf40c5327ae5c61a7a638e4c12525b1e4118535582ffb7c59638e' -'SKIP') +'f94a79ca4c2918cc4e7bdc58c934c98e56accc3c08f7cccde70ade02ab438105' +'SKIP' +'6cb5b7921bee5c5cba19939de635870f56f1bce662d457aeccde29878a4d0ebc') validpgpkeys=('0EF50ED55514BFF6B72B9DAC06CE3819086C750B') # "Raymond Toy url="https://www.cons.org/cmucl/; arch=('x86_64') @@ -26,6 +28,7 @@ prepare() { cd "${srcdir}" + patch -p1 -i 82bf2c727ba1d3c461fa360aaae176608eb9349b.patch if [[ $CARCH == "i686" ]]; then sed -i 's|i386\*|i686\*|' bin/build-all.sh @@ -36,13 +39,13 @@ cd "${srcdir}" export CMUCLLIB="${srcdir}"/lib/cmucl/lib # Build using binary-dist lisp - ./bin/build-all.sh -o "${srcdir}"/bin/lisp
[arch-commits] Commit in cmucl/trunk (2 files)
Date: Monday, February 20, 2012 @ 18:34:00 Author: juergen Revision: 150710 update to 20c Added: cmucl/trunk/workaround-for-gcc-4.6-overoptimization Modified: cmucl/trunk/PKGBUILD -+ PKGBUILD| 12 workaround-for-gcc-4.6-overoptimization | 19 +++ 2 files changed, 27 insertions(+), 4 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-02-20 22:31:08 UTC (rev 150709) +++ PKGBUILD2012-02-20 23:34:00 UTC (rev 150710) @@ -3,8 +3,8 @@ # Maintainer: Juergen Hoetzel juer...@archlinux.org pkgname=cmucl -pkgver=20a -pkgrel=2 +pkgver=20c +pkgrel=1 pkgdesc=CMU Common Lisp depends=('glibc' 'lesstif') provides=('common-lisp') @@ -12,13 +12,17 @@ license=('custom') #license PublicDomain source=(http://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-src-${pkgver}.tar.bz2 \ - http://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2) -md5sums=('e3e1daa3631d38ed3c3e7601d798aba1' 'bfc6eb859c9219d8e7b00796c69e504c') + http://common-lisp.net/project/cmucl/downloads/release/${pkgver}/cmucl-${pkgver}-x86-linux.tar.bz2 \ + workaround-for-gcc-4.6-overoptimization) +md5sums=('7eec1ddbd281261e2b08194859727e9a' + 'c200365b631c7b36b7675e4fc6e17177' + '02dd46e8b4b966d121a15037c713f6d4') url=http://www.cons.org/cmucl/; arch=(i686) build() { cd ${srcdir} + patch -Np1 -i workaround-for-gcc-4.6-overoptimization export CMUCLCORE=${srcdir}/lib/cmucl/lib/lisp-x87.core # Create target buildroot ./src/tools/create-target.sh $CHOST Added: workaround-for-gcc-4.6-overoptimization === --- workaround-for-gcc-4.6-overoptimization (rev 0) +++ workaround-for-gcc-4.6-overoptimization 2012-02-20 23:34:00 UTC (rev 150710) @@ -0,0 +1,19 @@ +Description: GCC 4.6 optimizes away the direction of stack testing, so do it by hand +Author: Peter Van Eynde pvane...@debian.org +Forwarded: Done + + +Index: cmucl/src/lisp/os-common.c +=== +--- cmucl.orig/src/lisp/os-common.c2012-01-16 13:29:48.716895926 + cmucl/src/lisp/os-common.c 2012-01-16 13:30:42.855951009 + +@@ -383,7 +383,8 @@ + { + int dummy; + +-return os_stack_grows_down_1(dummy); ++/* return os_stack_grows_down_1(dummy); */ ++return 1; + } + +