summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Grozin <grozin@gentoo.org>2011-04-28 20:21:33 +0000
committerAndrey Grozin <grozin@gentoo.org>2011-04-28 20:21:33 +0000
commitc45805bd11a22913b5c811478e235a52a8b73832 (patch)
treecdc7912ac9451ba2698f70df533775d3adff6bbe /dev-lisp/cmucl/files
parent[media-libs/herqq] added multilib support (fixes bug #365155) (diff)
downloadgentoo-2-c45805bd11a22913b5c811478e235a52a8b73832.tar.gz
gentoo-2-c45805bd11a22913b5c811478e235a52a8b73832.tar.bz2
gentoo-2-c45805bd11a22913b5c811478e235a52a8b73832.zip
Version bump from the lisp overlay
(Portage version: 2.2.0_alpha30/cvs/Linux i686)
Diffstat (limited to 'dev-lisp/cmucl/files')
-rw-r--r--dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch16
-rw-r--r--dev-lisp/cmucl/files/20b-execstack-fixes.patch118
-rw-r--r--dev-lisp/cmucl/files/20b-nositeinit-build.patch18
-rw-r--r--dev-lisp/cmucl/files/20b-patch001.patch119
-rw-r--r--dev-lisp/cmucl/files/site-init.lisp.in4
5 files changed, 271 insertions, 4 deletions
diff --git a/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch b/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch
new file mode 100644
index 000000000000..41da86d014ff
--- /dev/null
+++ b/dev-lisp/cmucl/files/20b-customize-lisp-implementation-version.patch
@@ -0,0 +1,16 @@
+diff -ur cmucl.orig/src/code/misc.lisp cmucl/src/code/misc.lisp
+--- cmucl.orig/src/code/misc.lisp 2010-04-20 19:57:45.000000000 +0200
++++ cmucl/src/code/misc.lisp 2010-10-15 02:15:53.064623104 +0200
+@@ -181,8 +181,10 @@
+
+ (defun lisp-implementation-version ()
+ "Returns a string describing the implementation version."
+- (format nil "~A (~X~A)" *lisp-implementation-version* c:byte-fasl-file-version
+- #+unicode (intl:gettext " Unicode") #-unicode ""))
++ (format nil "~X~A~A"
++ c:byte-fasl-file-version
++ #+unicode "-unicode" #-unicode ""
++ *lisp-implementation-version*))
+
+ (defun machine-instance ()
+ "Returns a string giving the name of the local machine."
diff --git a/dev-lisp/cmucl/files/20b-execstack-fixes.patch b/dev-lisp/cmucl/files/20b-execstack-fixes.patch
new file mode 100644
index 000000000000..034848d64a26
--- /dev/null
+++ b/dev-lisp/cmucl/files/20b-execstack-fixes.patch
@@ -0,0 +1,118 @@
+diff -Naur work.old/src/lisp/alpha-assem.S work/src/lisp/alpha-assem.S
+--- work.old/src/lisp/alpha-assem.S 2003-03-06 11:13:09.000000000 -0300
++++ work/src/lisp/alpha-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -297,3 +297,7 @@
+ function_end_breakpoint_end:
+
+
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/amd64-assem.S work/src/lisp/amd64-assem.S
+--- work.old/src/lisp/amd64-assem.S 2004-07-27 19:03:53.000000000 -0300
++++ work/src/lisp/amd64-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -1051,3 +1051,7 @@
+ .end
+
+ #endif /* LINKAGE_TABLE */
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/backtrace.c work/src/lisp/backtrace.c
+--- work.old/src/lisp/backtrace.c 2009-06-11 13:04:01.000000000 -0300
++++ work/src/lisp/backtrace.c 2010-05-10 00:06:22.000000000 -0300
+@@ -3,6 +3,8 @@
+ * Simple backtrace facility. More or less from Rob's lisp version.
+ */
+
++#include "os-common.h"
++
+ #include <stdio.h>
+ #include <signal.h>
+ #include "lisp.h"
+diff -Naur work.old/src/lisp/hppa-assem.S work/src/lisp/hppa-assem.S
+--- work.old/src/lisp/hppa-assem.S 2002-08-23 14:05:35.000000000 -0300
++++ work/src/lisp/hppa-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -460,3 +460,7 @@
+
+ .export function_end_breakpoint_end
+ function_end_breakpoint_end
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/linux-stubs.S work/src/lisp/linux-stubs.S
+--- work.old/src/lisp/linux-stubs.S 2005-08-17 00:40:16.000000000 -0300
++++ work/src/lisp/linux-stubs.S 2010-05-10 00:06:34.000000000 -0300
+@@ -995,3 +995,7 @@
+ /* doe(yperr_string) */
+ /* doe(ypprot_err) */
+ #endif /* defined(LINKAGE_TABLE) && !defined(__FreeBSD__) */
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/lisp.c work/src/lisp/lisp.c
+--- work.old/src/lisp/lisp.c 2009-07-13 16:41:54.000000000 -0300
++++ work/src/lisp/lisp.c 2010-05-10 00:05:55.000000000 -0300
+@@ -5,6 +5,9 @@
+ *
+ */
+
++#include "os-common.h"
++#include <time.h>
++
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <limits.h>
+diff -Naur work.old/src/lisp/mips-assem.S work/src/lisp/mips-assem.S
+--- work.old/src/lisp/mips-assem.S 2002-08-23 14:01:02.000000000 -0300
++++ work/src/lisp/mips-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -402,3 +402,7 @@
+ move v0, a1
+ j _restore_state
+ .end save_state
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/os-common.h work/src/lisp/os-common.h
+--- work.old/src/lisp/os-common.h 1969-12-31 21:00:00.000000000 -0300
++++ work/src/lisp/os-common.h 2010-05-10 00:06:22.000000000 -0300
+@@ -0,0 +1 @@
++char* convert_lisp_string(char *c_string, void *lisp_string, int len);
+diff -Naur work.old/src/lisp/ppc-assem.S work/src/lisp/ppc-assem.S
+--- work.old/src/lisp/ppc-assem.S 2006-02-25 01:35:58.000000000 -0300
++++ work/src/lisp/ppc-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -721,3 +721,7 @@
+ SET_SIZE(fpu_restore)
+
+ #endif
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/sparc-assem.S work/src/lisp/sparc-assem.S
+--- work.old/src/lisp/sparc-assem.S 2003-10-23 23:57:00.000000000 -0300
++++ work/src/lisp/sparc-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -837,3 +837,7 @@
+ * End:
+ */
+
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+diff -Naur work.old/src/lisp/x86-assem.S work/src/lisp/x86-assem.S
+--- work.old/src/lisp/x86-assem.S 2008-12-24 02:36:40.000000000 -0200
++++ work/src/lisp/x86-assem.S 2010-05-10 00:06:34.000000000 -0300
+@@ -798,3 +798,7 @@
+ ENDFUNC(undefined_foreign_symbol_trap)
+
+ #endif /* LINKAGE_TABLE */
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
diff --git a/dev-lisp/cmucl/files/20b-nositeinit-build.patch b/dev-lisp/cmucl/files/20b-nositeinit-build.patch
new file mode 100644
index 000000000000..3aea006d159d
--- /dev/null
+++ b/dev-lisp/cmucl/files/20b-nositeinit-build.patch
@@ -0,0 +1,18 @@
+Author: Stelian Ionescu <sionescu@cddr.org>
+Date: 2010-11-03
+Status: Upstream
+Description: Avoids loading the site init during build
+
+diff -ur cmucl.orig//src/tools/build.sh cmucl/src/tools/build.sh
+--- cmucl.orig//src/tools/build.sh 2010-09-02 18:16:18.000000000 +0200
++++ cmucl/src/tools/build.sh 2010-11-03 15:57:06.615611658 +0100
+@@ -126,7 +126,8 @@
+ fi
+ $TOOLDIR/load-world.sh $TARGET "$VERSION" || { echo "Failed: $TOOLDIR/load-world.sh"; exit 1; }
+
+- $TARGET/lisp/lisp -batch -noinit $FPU_MODE < /dev/null || { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; }
++ $TARGET/lisp/lisp -batch -noinit -nositeinit $FPU_MODE < /dev/null || \
++ { echo "Failed: $TARGET/lisp/lisp -batch -noinit $FPU_MODE"; exit 1; }
+ return 0;
+ fi
+ }
diff --git a/dev-lisp/cmucl/files/20b-patch001.patch b/dev-lisp/cmucl/files/20b-patch001.patch
new file mode 100644
index 000000000000..f9464221e365
--- /dev/null
+++ b/dev-lisp/cmucl/files/20b-patch001.patch
@@ -0,0 +1,119 @@
+Author: Raymond Toy <rtoy@common-lisp.net>
+Date: 2010-11-02
+Status: Upstream
+Description: Fixes bug in SSE2 VOP for COMPLEX arrays
+
+diff -ru cmucl.orig//src/compiler/x86/float-sse2.lisp cmucl/src/compiler/x86/float-sse2.lisp
+--- cmucl.orig//src/compiler/x86/float-sse2.lisp 2010-08-15 17:09:41.000000000 +0200
++++ cmucl/src/compiler/x86/float-sse2.lisp 2010-11-01 13:41:54.860889371 +0100
+@@ -7,7 +7,7 @@
+ ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
+ ;;;
+ (ext:file-comment
+- "$Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/files/20b-patch001.patch,v 1.1 2011/04/28 20:21:33 grozin Exp $")
++ "$Header: /var/cvsroot/gentoo-x86/dev-lisp/cmucl/files/20b-patch001.patch,v 1.1 2011/04/28 20:21:33 grozin Exp $")
+ ;;;
+ ;;; **********************************************************************
+ ;;;
+@@ -1390,13 +1390,19 @@
+ (:arg-types complex-single-float)
+ (:results (r :scs (single-reg)))
+ (:result-types single-float)
++ (:temporary (:sc single-reg) temp)
+ (:policy :fast-safe)
+ (:note _N"complex float realpart")
+ (:generator 3
+ (sc-case x
+ (complex-single-reg
+- (inst xorps r r) ; temp = 0|0|0|0
+- (inst movss r x)) ; r = 0|0|0|x
++ (cond ((location= r x)
++ (inst xorps temp temp) ; temp = 0|0|0|0
++ (inst movss temp x) ; temp = 0|0|0|x
++ (inst movss r temp)) ; r = temp
++ (t
++ (inst xorps r r) ; temp = 0|0|0|0
++ (inst movss r x)))) ; r = 0|0|0|x
+ (complex-single-stack
+ (inst movss r (ea-for-csf-real-stack x)))
+ (descriptor-reg
+@@ -1408,13 +1414,19 @@
+ (:arg-types complex-double-float)
+ (:results (r :scs (double-reg)))
+ (:result-types double-float)
++ (:temporary (:sc double-reg) temp)
+ (:policy :fast-safe)
+- (:note _N"complex float realpart")
++ (:note "complex float realpart")
+ (:generator 3
+ (sc-case x
+ (complex-double-reg
+- (inst xorpd r r) ; temp = 0|0
+- (inst movsd r x)) ; r = 0|x
++ (cond ((location= r x)
++ (inst xorpd temp temp) ; temp = 0|0
++ (inst movsd temp x) ; temp = 0|x
++ (inst movsd r temp)) ; r = temp
++ (t
++ (inst xorpd r r) ; r = 0|0
++ (inst movsd r x)))) ; r = 0|x
+ (complex-double-stack
+ (inst movsd r (ea-for-cdf-real-stack x)))
+ (descriptor-reg
+@@ -1457,8 +1469,13 @@
+ (:generator 3
+ (sc-case x
+ (complex-double-reg
+- (inst xorpd r r) ; r = 0|0
+- (inst movhlps r x)) ; r = 0|b
++ (cond ((location= r x)
++ (inst xorpd temp temp) ; temp = 0|0
++ (inst movhlps temp x) ; temp = 0|b
++ (inst movsd r temp)) ; r = temp
++ (t
++ (inst xorpd r r) ; r = 0|0
++ (inst movhlps r x)))) ; r = 0|b
+ (complex-double-stack
+ (inst movsd r (ea-for-cdf-imag-stack x)))
+ (descriptor-reg
+@@ -1835,7 +1852,7 @@
+ (convert-complex %complex-single-float cvtpd2ps complex-single complex-double))
+
+ (macrolet
+- ((convert-complex (trans op base-ea to from)
++ ((convert-complex (trans op base-ea to from movinst)
+ (let ((name (symbolicate to "/" from))
+ (from-sc (symbolicate from "-REG"))
+ (from-sc-stack (symbolicate from "-STACK"))
+@@ -1849,21 +1866,27 @@
+ (:arg-types ,from-type)
+ (:results (r :scs (,to-sc)))
+ (:result-types ,to-type)
++ (:temporary (:sc ,to-sc) temp)
+ (:policy :fast-safe)
+ (:generator 1
+ (sc-case x
+ (,from-sc
+ ;; Need to make sure the imaginary part is zero
+- (inst xorps r r)
+- (inst ,op r x))
++ (cond ((location= x r)
++ (inst xorps temp temp)
++ (inst ,op temp x)
++ (inst ,movinst r temp))
++ (t
++ (inst xorps r r)
++ (inst ,op r x))))
+ (,from-sc-stack
+ (inst xorps r r)
+ (inst ,op r (,(symbolicate "EA-FOR-" base-ea "-STACK") x)))
+ (descriptor-reg
+ (inst xorps r r)
+ (inst ,op r (,(symbolicate "EA-FOR-" base-ea "-DESC") x)))))))))
+- (convert-complex %complex-double-float cvtss2sd sf complex-double single)
+- (convert-complex %complex-single-float cvtsd2ss df complex-single double))
++ (convert-complex %complex-double-float cvtss2sd sf complex-double single movapd)
++ (convert-complex %complex-single-float cvtsd2ss df complex-single double movaps))
+
+ ;; Add and subtract for two complex arguments
+ (macrolet
diff --git a/dev-lisp/cmucl/files/site-init.lisp.in b/dev-lisp/cmucl/files/site-init.lisp.in
index 7a1010102003..1b232166c889 100644
--- a/dev-lisp/cmucl/files/site-init.lisp.in
+++ b/dev-lisp/cmucl/files/site-init.lisp.in
@@ -12,10 +12,6 @@
(in-package "SYSTEM")
-(ext:without-package-locks
- (defun lisp-implementation-version ()
- (format nil "~X-~A" c:byte-fasl-file-version "@VERSION@")))
-
(if (probe-file "/etc/cmuclrc")
(load "/etc/cmuclrc")
(format t "~%;;; Warning: There is no /etc/cmuclrc file (which should have been created during emerge"))