From b3bd1a4794d9bf3c4aeae0fefc0b12c7b5200868 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 4 Jan 1996 23:58:42 +0000 Subject: [PATCH] Add call to `declare_builtin' when setting up assembly-language builtins, so that the exception handler can properly recognize when an exception has occurred in a builtin. --- v7/src/microcode/cmpintmd/i386.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/v7/src/microcode/cmpintmd/i386.h b/v7/src/microcode/cmpintmd/i386.h index d65487833..6bbb0a9a8 100644 --- a/v7/src/microcode/cmpintmd/i386.h +++ b/v7/src/microcode/cmpintmd/i386.h @@ -1,8 +1,8 @@ /* -*-C-*- -$Id: i386.h,v 1.29 1995/10/24 06:21:44 cph Exp $ +$Id: i386.h,v 1.30 1996/01/04 23:58:42 cph Exp $ -Copyright (c) 1992-95 Massachusetts Institute of Technology +Copyright (c) 1992-96 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -505,6 +505,12 @@ long i386_pc_displacement_relocation = 0; #define HOOK_TO_SCHEME_OFFSET(hook) ((unsigned long) (hook)) #endif +#ifdef __STDC__ +#define STRINGIFY(x) #x +#else +#define STRINGIFY(x) "x" +#endif + #define SETUP_REGISTER(hook) do \ { \ extern void hook (); \ @@ -512,12 +518,14 @@ long i386_pc_displacement_relocation = 0; (* ((unsigned long *) (esi_value + offset))) = \ (HOOK_TO_SCHEME_OFFSET (hook)); \ offset += (COMPILER_HOOK_SIZE * (sizeof (SCHEME_OBJECT))); \ + declare_builtin (((unsigned long) hook), (STRINGIFY (hook))); \ } while (0) void DEFUN_VOID (i386_reset_hook) { extern int EXFUN (ASM_ENTRY_POINT(i386_interface_initialize), (void)); + extern void EXFUN (declare_builtin, (unsigned long, char *)); int offset = (COMPILER_REGBLOCK_N_FIXED * (sizeof (SCHEME_OBJECT))); unsigned char * esi_value = ((unsigned char *) (&Registers[0])); int fp_support_present = (i386_interface_initialize ()); -- 2.25.1