*os_context_pc_addr(context) = call_into_lisp;
*os_context_register_addr(context,reg_ECX) = 0;
*os_context_register_addr(context,reg_EBP) = sp-2;
+#ifdef __NetBSD__
+ *os_context_register_addr(context,reg_UESP) = sp-14;
+#else
*os_context_register_addr(context,reg_ESP) = sp-14;
+#endif
#else
/* this much of the calling convention is common to all
non-x86 ports */
return CONTEXT_ADDR_FROM_STEM(ESI);
case 14:
return CONTEXT_ADDR_FROM_STEM(EDI);
+ case 16:
+ return CONTEXT_ADDR_FROM_STEM(UESP);
default:
return 0;
}
#define reg_EBP REG(10)
#define reg_ESI REG(12)
#define reg_EDI REG(14)
+#define reg_UESP REG(16)
-#define REGNAMES "EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI"
+#define REGNAMES "EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI", "UESP"
/* classification of registers
*
;;; 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.8.15.16"
+"0.8.15.17"