X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fcode%2Fdebug-int.lisp;h=df06188ed07f0519110132703308bad492ae18d7;hb=6e60dc9f79037ab84f5bfd8568979c24291c9922;hp=592c75f298c995a54ea8c5d95e7dd522877806d9;hpb=f4f6c11c4a86c81767d919daf07671b467b3d829;p=sbcl.git diff --git a/src/code/debug-int.lisp b/src/code/debug-int.lisp index 592c75f..df06188 100644 --- a/src/code/debug-int.lisp +++ b/src/code/debug-int.lisp @@ -2005,6 +2005,15 @@ register." (= (logand val #xff) sb!vm:character-widetag)) ; char tag ;; unbound marker (= val sb!vm:unbound-marker-widetag) + ;; undefined_tramp doesn't validate properly as a pointer, and + ;; the actual value can vary by backend (x86oids need not + ;; apply) + #!+(or alpha hppa mips ppc) + (= val (+ (- (foreign-symbol-address "undefined_tramp") + (* sb!vm:n-word-bytes sb!vm:simple-fun-code-offset)) + sb!vm:fun-pointer-lowtag)) + #!+sparc + (= val (foreign-symbol-address "undefined_tramp")) ;; pointer (not (zerop (valid-lisp-pointer-p (int-sap val))))) (values (%make-lisp-obj val) t)