From: Andy H. <ah...@gm...> - 2008-06-16 15:23:33
|
Embarassingly, I somehow submitted a patch more broken than the original code. Here's a corrected version: Index: foreign.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/code/foreign.lisp,v retrieving revision 1.43 diff -u -r1.43 foreign.lisp --- foreign.lisp 2 Dec 2007 17:00:15 -0000 1.43 +++ foreign.lisp 11 Jun 2008 23:48:49 -0000 @@ -131,9 +131,8 @@ sb!vm:linkage-table-space-end) (dohash ((name-and-datap info) *linkage-info* :locked t) (let ((table-addr (linkage-info-address info))) - (when (<= table-addr - addr - (+ table-addr sb!vm:linkage-table-entry-size)) + (when (and (<= table-addr addr) + (< addr (+ table-addr sb!vm:linkage-table-entry-size))) (return-from sap-foreign-symbol (car name-and-datap)))))) #!+os-provides-dladdr (with-alien ((info (struct dl-info |