>>>>> "Henrik" == Henrik Motakef <[EMAIL PROTECTED]> writes:

    Henrik> Hi,

    Henrik> system:foreign-symbol-address doesn't seem to work for me in compiled
    Henrik> functions, while it's fine in interpreted code.

It seems that the deftransform for foreign-symbol-address is used when
it shouldn't be.  It transforms (foreign-symbol-address sym) to
(foreign-symbol-code-address sym), but the VOP for
foreign-symbol-code-address wants a constant string arg (I think).

I think the attached patch should do the trick.  We just give up if
the arg isn't a constant string.

Ray



Index: saptran.lisp
===================================================================
RCS file: /home/CVS-cmucl/src/compiler/saptran.lisp,v
retrieving revision 1.13
diff -u -r1.13 saptran.lisp
--- saptran.lisp        17 Mar 2003 22:10:59 -0000      1.13
+++ saptran.lisp        5 Jun 2003 18:34:20 -0000
@@ -36,6 +36,8 @@
   #-linkage-table
   (when (null flavor)
     (give-up))
+  (unless (constant-continuation-p symbol)
+    (give-up))
   (let ((flav (cond ((null flavor) :code)
                     ((not (constant-continuation-p flavor))
                     (give-up))

Reply via email to