Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
3c373507 by Raymond Toy at 2015-10-16T21:33:50Z
Fix data-vector-set-c for unsigned-byte 1, 2, and 4
For simple-arrays of 1, 2, or 4-bit elements, data-vector-set-c was
incorrectly merging the new value into the array when the index is a
multiple of the number of elements per (32-bit) word. Thus, for 4-bit
elements, the new value was not merged in when the index is a multiple
of 8. In these cases, there's no need to shift the array value or the
new value to move them into the correct place. When the shift is
zero, the code accidentally removed the part that merges in the new
value.
Fix #10.
- - - - -
b239ce3f by Raymond Toy at 2015-10-16T21:35:16Z
Add tests for issue #10.
Covers 1, 2, and 4-bit arrays.
Manually verified that the cmucl 21a fails these tests, as expected,
when the index is a multiple of the number of elements per 32-bit
word.
- - - - -
2 changed files:
- src/compiler/x86/array.lisp
- tests/issues.lisp
Changes:
=====================================
src/compiler/x86/array.lisp
=====================================
--- a/src/compiler/x86/array.lisp
+++ b/src/compiler/x86/array.lisp
@@ -288,9 +288,10 @@
(unsigned-reg
(let ((shift (* extra ,bits)))
(unless (zerop shift)
- (inst ror old shift)
- (inst and old (lognot ,(1- (ash 1 bits))))
- (inst or old value)
+ (inst ror old shift))
+ (inst and old (lognot ,(1- (ash 1 bits))))
+ (inst or old value)
+ (unless (zerop shift)
(inst rol old shift)))))
(inst mov (make-ea :dword :base object
:disp (- (* (+ word vector-data-offset) word-bytes)
=====================================
tests/issues.lisp
=====================================
--- a/tests/issues.lisp
+++ b/tests/issues.lisp
@@ -119,3 +119,84 @@
(let ((z (list 1 2)))
(flet ((frob (x) (cdr x)))
(xpop (frob z))))))
+
+(define-test issue.10-unsigned-byte-4
+ (:tag :issues)
+ (macrolet
+ ((compiled-test-function (constant-index)
+ ;; Compile the test function from the issue.
+ (compile nil `(lambda (v x)
+ (declare (type (integer 0 5) v)
+ (optimize (safety 0)))
+ (setf (aref (the (simple-array (integer 0 5) (1)) x)
+ ,constant-index)
+ (the (integer 0 5) v))
+ x)))
+ (make-tests ()
+ ;; Create a set of tests for a set of fixed constant indices,
+ ;; one test for each constant index from 0 to 15.
+ (let (tests)
+ (dotimes (k 16)
+ (push
+ `(assert-equal 1
+ (aref (funcall (compiled-test-function ,k)
+ 1
+ (make-array 16 :element-type '(integer 0 5) :initial-element 0))
+ ,k))
+ tests))
+ `(progn ,@(nreverse tests)))))
+ (make-tests)))
+
+(define-test issue.10-unsigned-byte-2
+ (:tag :issues)
+ (macrolet
+ ((compiled-test-function (constant-index)
+ ;; Compile the test function from the issue.
+ (compile nil `(lambda (v x)
+ (declare (type (integer 0 2) v)
+ (optimize (safety 0)))
+ (setf (aref (the (simple-array (integer 0 2) (1)) x)
+ ,constant-index)
+ (the (integer 0 2) v))
+ x)))
+ (make-tests ()
+ ;; Create a set of tests for a set of fixed constant indices,
+ ;; one test for each constant index from 0 to 31.
+ (let (tests)
+ (dotimes (k 32)
+ (push
+ `(assert-equal 1
+ (aref (funcall (compiled-test-function ,k)
+ 1
+ (make-array 32 :element-type '(integer 0 2) :initial-element 0))
+ ,k))
+ tests))
+ `(progn ,@(nreverse tests)))))
+ (make-tests)))
+
+(define-test issue.10-unsigned-byte-1
+ (:tag :issues)
+ (macrolet
+ ((compiled-test-function (constant-index)
+ ;; Compile the test function from the issue.
+ (compile nil `(lambda (v x)
+ (declare (type (integer 0 1) v)
+ (optimize (safety 0)))
+ (setf (aref (the (simple-array (integer 0 1) (1)) x)
+ ,constant-index)
+ (the (integer 0 1) v))
+ x)))
+ (make-tests ()
+ ;; Create a set of tests for a set of fixed constant indices,
+ ;; one test for each constant index from 0 to 31.
+ (let (tests)
+ (dotimes (k 64)
+ (push
+ `(assert-equal 1
+ (aref (funcall (compiled-test-function ,k)
+ 1
+ (make-array 64 :element-type '(integer 0 1) :initial-element 0))
+ ,k))
+ tests))
+ `(progn ,@(nreverse tests)))))
+ (make-tests)))
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/704b1ae0c0a023bf315a9652…
Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks at cmucl / cmucl
Commits:
5a413e60 by Raymond Toy at 2015-10-11T16:00:39Z
Support stacks at fixed addresses as before.
If CONTROL_STACK_START or BINDING_STACK_START are defined, we take
that as a hint that the system wants the stacks mapped at fixed
addresses. Otherwise, the stacks are mapped wherever there's room.
- - - - -
1 changed file:
- src/lisp/validate.c
Changes:
=====================================
src/lisp/validate.c
=====================================
--- a/src/lisp/validate.c
+++ b/src/lisp/validate.c
@@ -115,16 +115,29 @@ void
validate_stacks()
{
/* Control Stack */
+#ifdef CONTROL_STACK_START
+ /* Map the control stack at a fixed location */
+ control_stack = (lispobj *) CONTROL_STACK_START;
+#if (defined(i386) || defined(__x86_64))
+ control_stack_end = (lispobj *) (CONTROL_STACK_START + control_stack_size);
+#endif
+ ensure_space(control_stack, control_stack_size);
+#else
/* Map the conrol stack wherever we have space */
control_stack = (lispobj*) os_validate(NULL, control_stack_size);
#if (defined(i386) || defined(__x86_64))
control_stack_end = (void*)control_stack + control_stack_size;
#endif
+#endif
/* Binding Stack */
+#ifdef BINDING_STACK_START
+ binding_stack = (lispobj *) BINDING_STACK_START;
+ ensure_space(binding_stack, binding_stack_size);
+#else
binding_stack = (lispobj*) os_validate(NULL, binding_stack_size);
-
+#endif
#ifdef sparc
make_stack_holes();
#endif
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/5a413e601bb1acc75e1e912fc…
Raymond Toy pushed to branch rtoy-mmap-anon-control-and-binding-stacks at cmucl / cmucl
Commits:
43e24775 by Raymond Toy at 2015-10-11T15:38:24Z
Support asdf's static-image-op.
* src/lisp/GNUMakefile
* Don't add exec-final.o to lisp.a. (But still remove exec-init.o
from it.)
* src/tools/linker.sh
* When linking the executable, need to link exec-final.o too.
* bin/make-main-dist.sh
* Need to install exec-init.o and exec-final.o. exec-init.o is
needed to link a normal lisp; exec-final.o is used for the
executable image.
* Fix modes on some installed files. exec-init.o, exec-final.o,
and lisp.a don't need to be executable.
- - - - -
c49d87c7 by Raymond Toy at 2015-10-11T15:38:24Z
Exit with the return code from obj_run_linker.
obj_run_linker() returns the return code from the call to system().
Exit lisp with this return code to indicate if running the executable
linker script worked or not.
- - - - -
c614c412 by Raymond Toy at 2015-10-11T15:38:24Z
Include the exit code when printing the process structure.
It's really nice to see the exit code of the process when printing out
the process structure.
Fix a typo too: "tings" -> "things".
- - - - -
7c199b29 by Raymond Toy at 2015-10-11T15:38:24Z
Use correct path for git clone.
Noticed by Joram Schrijver who gave the correct path.
- - - - -
776f7f63 by Raymond Toy at 2015-10-11T15:38:24Z
Use PRINT-UNREADABLE-OBJECT to print the process structure.
- - - - -
c415308a by Raymond Toy at 2015-10-11T15:38:24Z
Give hint on what the last value of the printed process is
Left this out in the previous commit.
- - - - -
3e5e8ebb by Raymond Toy at 2015-10-11T15:38:24Z
Remove -mmacosx-version-min=10.5
When making an executable on some random machine, we can't depend on
the user having the 10.5 SDK around. So remove the flag, but add
-Wl,-no_pie to suppress the warning about PIE disabled due to absolute
addressing.
- - - - -
1a3f83f6 by Raymond Toy at 2015-10-11T15:38:24Z
Update version so bootfiles are loaded from the dir
- - - - -
de896d6e by Raymond Toy at 2015-10-11T15:38:24Z
Add new release notes file for 21b.
- - - - -
46d1d014 by Raymond Toy at 2015-10-11T15:38:24Z
Add some comments.
MIN_VER requires the 10.5 SDK be available.
Add -Wl,-no_pie to turn off warning (and add comment).
- - - - -
16fbb323 by Raymond Toy at 2015-10-11T15:38:24Z
Cleanup.
Remove old comment, and remove the min OSX version on ppc too.
- - - - -
00bb8d4e by Raymond Toy at 2015-10-11T15:38:24Z
Disassemble BREAK inst as INT3.
The break inst is really the int3 instruction, so disassemble it as
int3.
- - - - -
33cb8d6c by Raymond Toy at 2015-10-11T15:38:24Z
Change disassembly to use .byte and .word instead of byte and word
when printing random bytes and words.
- - - - -
11 changed files:
- BUILDING
- bin/build.sh
- bin/make-main-dist.sh
- src/code/run-program.lisp
- src/compiler/disassem.lisp
- src/compiler/x86/insts.lisp
- + src/general-info/release-21b.txt
- src/lisp/Config.x86_darwin
- src/lisp/GNUmakefile
- src/lisp/save.c
- src/tools/linker.sh
Changes:
=====================================
BUILDING
=====================================
--- a/BUILDING
+++ b/BUILDING
@@ -55,7 +55,7 @@ Setting up a build environment
or, if you want to use the git sources directly:
- git clone git://common-lisp.net/projects/cmucl/cmucl.git
+ git clone https://gitlab.common-lisp.net/cmucl/cmucl.git
Whatever you do, the sources must be in a directory named src
inside the base directory. Since the build tools keep all
=====================================
bin/build.sh
=====================================
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -39,7 +39,7 @@ ENABLE2="yes"
ENABLE3="yes"
ENABLE4="yes"
-version=20f
+version=21a
SRCDIR=src
BINDIR=bin
TOOLDIR=$BINDIR
=====================================
bin/make-main-dist.sh
=====================================
--- a/bin/make-main-dist.sh
+++ b/bin/make-main-dist.sh
@@ -96,7 +96,9 @@ install -d ${GROUP} ${OWNER} -m 0755 $DESTDIR/${MANDIR}
install ${GROUP} ${OWNER} -m 0755 $TARGET/lisp/lisp $DESTDIR/bin/
if [ "$EXECUTABLE" = "true" ]
then
- install ${GROUP} ${OWNER} -m 0755 $TARGET/lisp/lisp.a $DESTDIR/lib/cmucl/lib/
+ install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/lisp.a $DESTDIR/lib/cmucl/lib/
+ install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/exec-init.o $DESTDIR/lib/cmucl/lib/
+ install ${GROUP} ${OWNER} -m 0555 $TARGET/lisp/exec-final.o $DESTDIR/lib/cmucl/lib/
install ${GROUP} ${OWNER} -m 0755 src/tools/linker.sh $DESTDIR/lib/cmucl/lib/
if [ -f src/tools/$SCRIPT-cmucl-linker-script ]; then
install ${GROUP} ${OWNER} -m 0755 src/tools/$SCRIPT-cmucl-linker-script $DESTDIR/lib/cmucl/lib/
=====================================
src/code/run-program.lisp
=====================================
--- a/src/code/run-program.lisp
+++ b/src/code/run-program.lisp
@@ -90,15 +90,18 @@
output ; Stream from child's output or nil.
error ; Stream from child's error output or nil.
status-hook ; Closure to call when PROC changes status.
- plist ; Place for clients to stash tings.
+ plist ; Place for clients to stash things.
cookie ; List of the number of pipes from the subproc.
)
(defun %print-process (proc stream depth)
(declare (ignore depth))
- (format stream "#<process ~D ~S>"
- (process-pid proc)
- (process-status proc)))
+ (print-unreadable-object (proc stream :type t :identity t)
+ (format stream "~D ~S ~S ~D"
+ (process-pid proc)
+ (process-status proc)
+ :exit-code
+ (process-exit-code proc))))
;;; PROCESS-STATUS -- Public.
;;;
=====================================
src/compiler/disassem.lisp
=====================================
--- a/src/compiler/disassem.lisp
+++ b/src/compiler/disassem.lisp
@@ -2470,7 +2470,7 @@
(declare (type offset num)
(type stream stream)
(type disassem-state dstate))
- (format stream "~a~vt" 'BYTE (dstate-argument-column dstate))
+ (format stream "~a~vt" '.BYTE (dstate-argument-column dstate))
(let ((sap (dstate-segment-sap dstate))
(start-offs (dstate-cur-offs dstate)))
(dotimes (offs num)
@@ -2483,7 +2483,7 @@
(declare (type offset num)
(type stream stream)
(type disassem-state dstate))
- (format stream "~a~vt" 'WORD (dstate-argument-column dstate))
+ (format stream "~a~vt" '.WORD (dstate-argument-column dstate))
(let ((sap (dstate-segment-sap dstate))
(start-offs (dstate-cur-offs dstate))
(byte-order (dstate-byte-order dstate)))
=====================================
src/compiler/x86/insts.lisp
=====================================
--- a/src/compiler/x86/insts.lisp
+++ b/src/compiler/x86/insts.lisp
@@ -2105,6 +2105,7 @@
(define-instruction break (segment code)
(:declare (type (unsigned-byte 8) code))
(:printer byte-imm ((op #b11001100)) '(:name :tab code)
+ :print-name 'int3
:control #'break-control)
(:emitter
(emit-byte segment #b11001100)
=====================================
src/general-info/release-21b.txt
=====================================
--- /dev/null
+++ b/src/general-info/release-21b.txt
@@ -0,0 +1,49 @@
+========================== C M U C L 21 a =============================
+
+[Work in progress]
+
+The CMUCL project is pleased to announce the release of CMUCL 21b.
+This is a major release which contains numerous enhancements and
+bug fixes from the 21a release.
+
+CMUCL is a free, high performance implementation of the Common Lisp
+programming language which runs on most major Unix platforms. It
+mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
+sophisticated native code compiler; a powerful foreign function
+interface; an implementation of CLOS, the Common Lisp Object System,
+which includes multi-methods and a meta-object protocol; a source-level
+debugger and code profiler; and an Emacs-like editor implemented in
+Common Lisp. CMUCL is maintained by a team of volunteers collaborating
+over the Internet, and is mostly in the public domain.
+
+New in this release:
+ * Known issues:
+
+ * Feature enhancements
+
+ * Changes
+
+ * ANSI compliance fixes:
+
+ * Bugfixes:
+
+ * Trac Tickets:
+
+ * Gitlab tickets:
+
+ * Other changes:
+
+ * Improvements to the PCL implementation of CLOS:
+
+ * Changes to building procedure:
+
+
+This release is not binary compatible with code compiled using CMUCL
+21a; you will need to recompile FASL files.
+
+See <URL:http://www.cmucl.org> or
+<URL:http://trac.common-lisp.net/cmucl> for download information,
+guidelines on reporting bugs, and mailing list details.
+
+
+We hope you enjoy using this release of CMUCL!
=====================================
src/lisp/Config.x86_darwin
=====================================
--- a/src/lisp/Config.x86_darwin
+++ b/src/lisp/Config.x86_darwin
@@ -2,7 +2,8 @@
include Config.x86_common
-# Compile code that will run on OSX 10.5 (Tiger)
+# Compile code that will run on OSX 10.5 (Tiger). This only works if
+# you have the 10.5 SDK available.
MIN_VER = -mmacosx-version-min=10.5
CPPFLAGS += -DDARWIN $(MIN_VER) -m32
@@ -13,7 +14,10 @@ ASFLAGS += -g3 $(MIN_VER)
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
OS_SRC += Darwin-os.c mach-o.c
-OS_LINK_FLAGS = -m32 $(MIN_VER)
+
+# Turn off the PIE warning; we know the x86-assem.S is not
+# relocatable, and we're not going to fix that anytime soon.
+OS_LINK_FLAGS = -m32 $(MIN_VER) -Wl,-no_pie
OS_LIBS =
EXEC_FINAL_OBJ = exec-final.o
=====================================
src/lisp/GNUmakefile
=====================================
--- a/src/lisp/GNUmakefile
+++ b/src/lisp/GNUmakefile
@@ -52,21 +52,15 @@ version.o : version.c version
$(CC) ${CFLAGS} $(CPPFLAGS) -DVERSION=`cat version` -c $<
lisp: ${OBJS} version.o
- $(CC) -g ${OS_LINK_FLAGS} -o ,lisp \
- ${OBJS} version.o \
- ${OS_LIBS} -lm
+ $(CC) -g ${OS_LINK_FLAGS} -o ,lisp $^ ${OS_LIBS} -lm
mv -f ,lisp lisp
# Create a library out of all the object files so we can build an
# executable. However, we need to remove exec-init.o from the library
-# and replace it with exec-final.o because exec-final.o sets the
-# builtin_image_flag to 1 so that the runtime knows the runtime
-# contains the core sections.
lisp.a: version.o ${OBJS} ${EXEC_FINAL_OBJ}
$(AR) crs lisp.a ${OBJS} version.o
ifneq (${EXEC_FINAL_OBJ},)
$(AR) d lisp.a exec-init.o
- $(AR) r lisp.a ${EXEC_FINAL_OBJ}
endif
version:
=====================================
src/lisp/save.c
=====================================
--- a/src/lisp/save.c
+++ b/src/lisp/save.c
@@ -254,6 +254,7 @@ save_executable(char *filename, lispobj init_function)
{
char *dir_name;
char *dir_copy;
+ int rc;
#if defined WANT_CGC
volatile lispobj *func_ptr = &init_function;
@@ -365,9 +366,9 @@ save_executable(char *filename, lispobj init_function)
printf("Linking executable...\n");
fflush(stdout);
- obj_run_linker(init_function, filename);
+ rc = obj_run_linker(init_function, filename);
printf("done.\n");
free(dir_copy);
- exit(0);
+ exit(rc);
}
#endif
=====================================
src/tools/linker.sh
=====================================
--- a/src/tools/linker.sh
+++ b/src/tools/linker.sh
@@ -92,13 +92,9 @@ case $uname_s in
# Extra stuff. For some reason one __LINKEDIT segment is
# mapped just past the dynamic space. This messes things
# up, so we move it to another address. This seems to be
- # free, at least on 10.5.
-
- # Also specify the min version. (See Config.x86_darwin for
- # the desired version.) This gets rid of a PIE warning
- # when creating the executable on 10.8. (See ticket:112.)
-
- OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -rdynamic -mmacosx-version-min=10.5"
+ # free, at least on 10.5. -no_pie is to get rid of the
+ # linker warning about PIE.
+ OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -rdynamic -Wl,-no_pie"
OS_LIBS=
;;
powerpc)
@@ -106,7 +102,7 @@ case $uname_s in
# just after the dynamic space which messes things up, so
# we move it to a diffferent address. The address below
# appears to be free.
- OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -mmacosx-version-min=10.4 -static-libgcc"
+ OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -static-libgcc"
OS_LIBS="-lSystem -lc -lm"
;;
esac
@@ -139,5 +135,5 @@ trap 'rm -f $OUTDIR/$OPT_IFADDR $OUTDIR/CORRO.o $OUTDIR/CORSTA.o $OUTDIR/CORDYN.
(cd $OUTDIR
echo "long initial_function_addr = $IFADDR;" > $OPT_IFADDR
-$CCOMPILER -m32 -o $OUTNAME $OPT_IFADDR $OPT_ARCHIVE $OPT_CORE $RO_ADDR $STATIC_ADDR $DYN_ADDR $OPT_EXTRA $OS_LIBS -lm)
+$CCOMPILER -m32 -o $OUTNAME $OPT_IFADDR $OPT_ARCHIVE $CMUCLLIB/exec-final.o $OPT_CORE $RO_ADDR $STATIC_ADDR $DYN_ADDR $OPT_EXTRA $OS_LIBS -lm)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/1d8db41a003ab622e274078f…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
6e2e81b7 by Raymond Toy at 2015-10-11T08:46:36Z
Add some comments.
MIN_VER requires the 10.5 SDK be available.
Add -Wl,-no_pie to turn off warning (and add comment).
- - - - -
51b6b2de by Raymond Toy at 2015-10-11T08:58:06Z
Cleanup.
Remove old comment, and remove the min OSX version on ppc too.
- - - - -
2 changed files:
- src/lisp/Config.x86_darwin
- src/tools/linker.sh
Changes:
=====================================
src/lisp/Config.x86_darwin
=====================================
--- a/src/lisp/Config.x86_darwin
+++ b/src/lisp/Config.x86_darwin
@@ -2,7 +2,8 @@
include Config.x86_common
-# Compile code that will run on OSX 10.5 (Tiger)
+# Compile code that will run on OSX 10.5 (Tiger). This only works if
+# you have the 10.5 SDK available.
MIN_VER = -mmacosx-version-min=10.5
CPPFLAGS += -DDARWIN $(MIN_VER) -m32
@@ -13,7 +14,10 @@ ASFLAGS += -g3 $(MIN_VER)
UNDEFSYMPATTERN = -Xlinker -u -Xlinker &
OS_SRC += Darwin-os.c mach-o.c
-OS_LINK_FLAGS = -m32 $(MIN_VER)
+
+# Turn off the PIE warning; we know the x86-assem.S is not
+# relocatable, and we're not going to fix that anytime soon.
+OS_LINK_FLAGS = -m32 $(MIN_VER) -Wl,-no_pie
OS_LIBS =
EXEC_FINAL_OBJ = exec-final.o
=====================================
src/tools/linker.sh
=====================================
--- a/src/tools/linker.sh
+++ b/src/tools/linker.sh
@@ -92,12 +92,8 @@ case $uname_s in
# Extra stuff. For some reason one __LINKEDIT segment is
# mapped just past the dynamic space. This messes things
# up, so we move it to another address. This seems to be
- # free, at least on 10.5.
-
- # Also specify the min version. (See Config.x86_darwin for
- # the desired version.) This gets rid of a PIE warning
- # when creating the executable on 10.8. (See ticket:112.)
-
+ # free, at least on 10.5. -no_pie is to get rid of the
+ # linker warning about PIE.
OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -rdynamic -Wl,-no_pie"
OS_LIBS=
;;
@@ -106,7 +102,7 @@ case $uname_s in
# just after the dynamic space which messes things up, so
# we move it to a diffferent address. The address below
# appears to be free.
- OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -mmacosx-version-min=10.4 -static-libgcc"
+ OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -static-libgcc"
OS_LIBS="-lSystem -lc -lm"
;;
esac
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/323c6cdb84a8d5cb87080f9b…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
5590ed0e by Raymond Toy at 2015-10-10T18:01:41Z
Update version so bootfiles are loaded from the dir
- - - - -
323c6cdb by Raymond Toy at 2015-10-10T18:04:25Z
Add new release notes file for 21b.
- - - - -
2 changed files:
- bin/build.sh
- + src/general-info/release-21b.txt
Changes:
=====================================
bin/build.sh
=====================================
--- a/bin/build.sh
+++ b/bin/build.sh
@@ -39,7 +39,7 @@ ENABLE2="yes"
ENABLE3="yes"
ENABLE4="yes"
-version=20f
+version=21a
SRCDIR=src
BINDIR=bin
TOOLDIR=$BINDIR
=====================================
src/general-info/release-21b.txt
=====================================
--- /dev/null
+++ b/src/general-info/release-21b.txt
@@ -0,0 +1,49 @@
+========================== C M U C L 21 a =============================
+
+[Work in progress]
+
+The CMUCL project is pleased to announce the release of CMUCL 21b.
+This is a major release which contains numerous enhancements and
+bug fixes from the 21a release.
+
+CMUCL is a free, high performance implementation of the Common Lisp
+programming language which runs on most major Unix platforms. It
+mainly conforms to the ANSI Common Lisp standard. CMUCL provides a
+sophisticated native code compiler; a powerful foreign function
+interface; an implementation of CLOS, the Common Lisp Object System,
+which includes multi-methods and a meta-object protocol; a source-level
+debugger and code profiler; and an Emacs-like editor implemented in
+Common Lisp. CMUCL is maintained by a team of volunteers collaborating
+over the Internet, and is mostly in the public domain.
+
+New in this release:
+ * Known issues:
+
+ * Feature enhancements
+
+ * Changes
+
+ * ANSI compliance fixes:
+
+ * Bugfixes:
+
+ * Trac Tickets:
+
+ * Gitlab tickets:
+
+ * Other changes:
+
+ * Improvements to the PCL implementation of CLOS:
+
+ * Changes to building procedure:
+
+
+This release is not binary compatible with code compiled using CMUCL
+21a; you will need to recompile FASL files.
+
+See <URL:http://www.cmucl.org> or
+<URL:http://trac.common-lisp.net/cmucl> for download information,
+guidelines on reporting bugs, and mailing list details.
+
+
+We hope you enjoy using this release of CMUCL!
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/compare/6f0643637e3207c57d039f5b…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
6f064363 by Raymond Toy at 2015-10-10T17:58:40Z
Remove -mmacosx-version-min=10.5
When making an executable on some random machine, we can't depend on
the user having the 10.5 SDK around. So remove the flag, but add
-Wl,-no_pie to suppress the warning about PIE disabled due to absolute
addressing.
- - - - -
1 changed file:
- src/tools/linker.sh
Changes:
=====================================
src/tools/linker.sh
=====================================
--- a/src/tools/linker.sh
+++ b/src/tools/linker.sh
@@ -98,7 +98,7 @@ case $uname_s in
# the desired version.) This gets rid of a PIE warning
# when creating the executable on 10.8. (See ticket:112.)
- OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -rdynamic -mmacosx-version-min=10.5"
+ OPT_EXTRA="-segaddr __LINKEDIT 0x99000000 -rdynamic -Wl,-no_pie"
OS_LIBS=
;;
powerpc)
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/6f0643637e3207c57d039f5be…
Raymond Toy pushed to branch master at cmucl / cmucl
Commits:
ae08122d by Raymond Toy at 2015-10-10T17:48:16Z
Give hint on what the last value of the printed process is
Left this out in the previous commit.
- - - - -
1 changed file:
- src/code/run-program.lisp
Changes:
=====================================
src/code/run-program.lisp
=====================================
--- a/src/code/run-program.lisp
+++ b/src/code/run-program.lisp
@@ -97,9 +97,10 @@
(defun %print-process (proc stream depth)
(declare (ignore depth))
(print-unreadable-object (proc stream :type t :identity t)
- (format stream "~D ~S ~D"
+ (format stream "~D ~S ~S ~D"
(process-pid proc)
(process-status proc)
+ :exit-code
(process-exit-code proc))))
;;; PROCESS-STATUS -- Public.
View it on GitLab: https://gitlab.common-lisp.net/cmucl/cmucl/commit/ae08122d15bdb758da47dbcf6…