From: Cyrus H. <sl...@us...> - 2010-06-03 04:40:00
|
Update of /cvsroot/sbcl/sbcl/src/compiler/generic In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv12780/src/compiler/generic Modified Files: genesis.lisp Log Message: 1.0.39.3: support building on darwin x86 and x86-64 without the dlshim * x86 config -mmacosx-version-min cleanup * remove dlshim feature in make-config.sh * fix extern-alien-name and ldso naming conventions * kludge in load-cold-foreign-symbol-table to strip off the leading #\_ from the nm parsing * change dependency on ldso stubs for dlopen and friends to be #!-dlshim instead of #!-darwin * remove Config.x86-64-darwin9+ and replace with makefile conditionals * add :dlshim feature for darwin in make-config.sh and rework the darwin9+ stuff * make grovel-headers.c load genesis/config.h first so that we can use the LISP_FEATURE_xxx conditionals earlier Index: genesis.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/genesis.lisp,v retrieving revision 1.161 retrieving revision 1.162 diff -u -d -r1.161 -r1.162 --- genesis.lisp 3 Apr 2010 00:42:24 -0000 1.161 +++ genesis.lisp 3 Jun 2010 04:39:51 -0000 1.162 @@ -1597,6 +1597,13 @@ (subseq line (1+ p2))) (values (parse-integer line :end p1 :radix 16) (subseq line (1+ p2)))) + ; KLUDGE CLH 2010-05-31: on darwin, nm gives us + ;; _function but dlsym expects us to look up + ;; function, without the leading _ . Therefore, we + ;; strip it off here. + #!+(and darwin (not dlshim)) + (when (equal (char name 0) #\_) + (setf name (subseq name 1))) (multiple-value-bind (old-value found) (gethash name *cold-foreign-symbol-table*) (when (and found |