mirror of
git://git.code.sf.net/p/sbcl/sbcl
synced 2026-09-10 07:26:40 -04:00
1.0.2.11:
NetBSD/PPC support (from Aymeric Vincent sbcl-devel 2007-01-18).
This commit is contained in:
parent
9ae9ab3401
commit
1071bf1ca8
1
NEWS
1
NEWS
|
|
@ -1,5 +1,6 @@
|
|||
;;;; -*- coding: utf-8; -*-
|
||||
changes in sbcl-1.0.3 relative to sbcl-1.0.2:
|
||||
* new platform: NetBSD/PPC. (thanks to Aymeric Vincent)
|
||||
* optimization: calls of the form (AREF FOO (+ INDEX <constant>)) now
|
||||
produce more efficient code on the x86 if the compiler can determine
|
||||
that (+ INDEX <constant>) does not require a bounds check and FOO
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ case `uname -m` in
|
|||
[Aa]lpha) guessed_sbcl_arch=alpha ;;
|
||||
sparc*) guessed_sbcl_arch=sparc ;;
|
||||
sun*) guessed_sbcl_arch=sparc ;;
|
||||
ppc) guessed_sbcl_arch=ppc ;;
|
||||
*ppc) guessed_sbcl_arch=ppc ;;
|
||||
ppc64) guessed_sbcl_arch=ppc ;;
|
||||
Power*Macintosh) guessed_sbcl_arch=ppc ;;
|
||||
parisc) guessed_sbcl_arch=hppa ;;
|
||||
|
|
@ -313,6 +313,8 @@ elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "darwin" ]; then
|
|||
echo "See the limit(1) or ulimit(1) commands and the README file."
|
||||
exit 1
|
||||
fi
|
||||
elif [ "$sbcl_arch" = "ppc" -a "$sbcl_os" = "netbsd" ]; then
|
||||
printf ' :gencgc :stack-allocatable-closures :linkage-table' >> $ltf
|
||||
elif [ "$sbcl_arch" = "sparc" ]; then
|
||||
# Test the compiler in order to see if we are building on Sun
|
||||
# toolchain as opposed to GNU binutils, and write the appropriate
|
||||
|
|
|
|||
|
|
@ -120,8 +120,9 @@
|
|||
;;; Given a signal context, return the floating point modes word in
|
||||
;;; the same format as returned by FLOATING-POINT-MODES.
|
||||
;;;
|
||||
;;; FIXME: surely this must be accessible somewhere under Darwin?
|
||||
#!-darwin
|
||||
;;; FIXME: surely this must be accessible somewhere under Darwin? Or
|
||||
;;; under NetBSD?
|
||||
#!+linux
|
||||
(define-alien-routine ("os_context_fp_control" context-floating-point-modes)
|
||||
(sb!alien:unsigned 32)
|
||||
(context (* os-context-t)))
|
||||
|
|
|
|||
|
|
@ -110,6 +110,23 @@
|
|||
(def!constant linkage-table-space-end #x0b000000)
|
||||
(def!constant linkage-table-entry-size 16))
|
||||
|
||||
#!+netbsd
|
||||
(progn
|
||||
#!+gencgc
|
||||
(progn
|
||||
(def!constant dynamic-space-start #x4f000000)
|
||||
(def!constant dynamic-space-end #x7efff000))
|
||||
#!-gencgc
|
||||
(progn
|
||||
(def!constant dynamic-0-space-start #x4f000000)
|
||||
(def!constant dynamic-0-space-end #x66fff000)
|
||||
(def!constant dynamic-1-space-start #x67000000)
|
||||
(def!constant dynamic-1-space-end #x7efff000))
|
||||
|
||||
(def!constant linkage-table-space-start #x0a000000)
|
||||
(def!constant linkage-table-space-end #x0b000000)
|
||||
(def!constant linkage-table-entry-size 16))
|
||||
|
||||
#!+darwin
|
||||
(progn
|
||||
#!+gencgc
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
Caveat callers. */
|
||||
|
||||
#if defined (LISP_FEATURE_DARWIN) || defined(LISP_FEATURE_LINUX)
|
||||
#ifndef PT_DAR
|
||||
#define PT_DAR 41
|
||||
#endif
|
||||
|
|
@ -34,6 +35,7 @@
|
|||
#ifndef PT_DSISR
|
||||
#define PT_DSISR 42
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void arch_init() {
|
||||
}
|
||||
|
|
@ -44,7 +46,11 @@ arch_get_bad_addr(int sig, siginfo_t *code, os_context_t *context)
|
|||
unsigned long pc = (unsigned long)(*os_context_pc_addr(context));
|
||||
os_vm_address_t addr;
|
||||
|
||||
#if defined(LISP_FEATURE_NETBSD)
|
||||
addr = (os_vm_address_t) (code->si_addr);
|
||||
#else
|
||||
addr = (os_vm_address_t) (*os_context_register_addr(context,PT_DAR));
|
||||
#endif
|
||||
return addr;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,3 +4,5 @@ stack-alignment-offset
|
|||
test-status.lisp-expr
|
||||
run-program-ed-test.tmp
|
||||
threads-foreign.c
|
||||
read-sequence.data
|
||||
write-sequence.data
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ ldso_stub__ ## fct: ; \\
|
|||
.L ## fct ## e1: ; \\
|
||||
.size ldso_stub__ ## fct,.L ## fct ## e1-ldso_stub__ ## fct ;"
|
||||
|
||||
#!+(and linux ppc) "
|
||||
#!+(and (not darwin) ppc) "
|
||||
#define LDSO_STUBIFY(fct) \\
|
||||
.globl ldso_stub__ ## fct ; \\
|
||||
.type ldso_stub__ ## fct,@function ; \\
|
||||
|
|
|
|||
|
|
@ -17,4 +17,4 @@
|
|||
;;; checkins which aren't released. (And occasionally for internal
|
||||
;;; versions, especially for internal versions off the main CVS
|
||||
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
|
||||
"1.0.2.10"
|
||||
"1.0.2.11"
|
||||
|
|
|
|||
Loading…
Reference in a new issue