0.9.2.30: oops, missed one
authorNikodemus Siivola <nikodemus@random-state.net>
Tue, 5 Jul 2005 19:29:08 +0000 (19:29 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Tue, 5 Jul 2005 19:29:08 +0000 (19:29 +0000)
  * rename one more call to FOREIGN-SYMBOL-ADDRESS-AS-INTEGER
  * fix foreign.test.sh to actually fail when we can't load stuff
     properly.

src/code/fop.lisp
tests/foreign.test.sh
version.lisp-expr

index 95165d9..6a3506b 100644 (file)
@@ -715,6 +715,6 @@ bug.~:@>")
     (read-n-bytes *fasl-input-stream* sym 0 len)
     (sb!vm:fixup-code-object code-object
                             (read-word-arg)
-                            (foreign-symbol-address-as-integer sym t)
+                            (foreign-symbol-address sym t)
                             kind)
     code-object))
index 2d7865f..b5176bd 100644 (file)
@@ -27,10 +27,10 @@ testfilestem=${TMPDIR:-/tmp}/sbcl-foreign-test-$$
 
 build_so() {
   echo building $1.so
-  if [ $(uname -m) = x86_64 ]; then
+  if [ "$(uname -m)" = x86_64 ]; then
     CFLAGS="$CFLAGS -fPIC"
   fi
-  if [ $(uname) = Darwin ]; then
+  if [ "$(uname)" = Darwin ]; then
     SO_FLAGS="-bundle"
   else
     SO_FLAGS="-shared"
@@ -84,6 +84,10 @@ cat > $testfilestem.def.lisp <<EOF
   (define-alien-routine "negative_int" int)
   (define-alien-routine "negative_long" long)
 
+  ;; compiling this gets us the FOP-FOREIGN-DATAREF-FIXUP on
+  ;; linkage-table ports
+  (defvar *extern* (extern-alien "negative_short" short))
+
   ;; Test that loading an object file didn't screw up our records
   ;; of variables visible in runtime. (This was a bug until 
   ;; Nikodemus Siivola's patch in sbcl-0.8.5.50.)
@@ -149,8 +153,9 @@ cat > $testfilestem.test.lisp <<EOF
   (sb-ext:quit :unix-status 52) ; success convention for Lisp program
 EOF
 
-${SBCL:-sbcl} --eval "(progn (compile-file #p\"$testfilestem.def.lisp\") (sb-ext:quit :unix-status 52))"
-if [ $? = 52 ] ; then :
+${SBCL:-sbcl} --eval "(progn (load (compile-file #p\"$testfilestem.def.lisp\")) (sb-ext:quit :unix-status 52))"
+if [ $? = 52 ]; then
+    true # nop
 else
     # we can't compile the test file. something's wrong.
     rm $testfilestem.*
@@ -183,7 +188,7 @@ fi
 
 echo table ok
 
-$SBCL_ALLOWING_CORE --core $testfilestem.core --sysinit /dev/null --userinit /dev/null --load $testfilestem.test.lisp
+${SBCL_ALLOWING_CORE:-sbcl} --core $testfilestem.core --sysinit /dev/null --userinit /dev/null --load $testfilestem.test.lisp
 if [ $? != 52 ]; then
     rm $testfilestem.*
     echo test failed: $?
@@ -194,7 +199,7 @@ echo start ok
 
 # missing object file
 rm $testfilestem-b.so $testfilestem-b2.so
-$SBCL_ALLOWING_CORE --core $testfilestem.core --sysinit /dev/null --userinit /dev/null <<EOF
+${SBCL_ALLOWING_CORE:-sbcl} --core $testfilestem.core --sysinit /dev/null --userinit /dev/null <<EOF
   (assert (= 22 (summish 10 11)))
   (multiple-value-bind (val err) (ignore-errors (eval 'foo))
     (assert (not val))
index 0e1b5d3..8c0f018 100644 (file)
@@ -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".)
-"0.9.2.29"
+"0.9.2.30"