$NetBSD: patch-ac,v 1.1 1998/09/06 16:06:58 christos Exp $ *** config.h.orig Wed Aug 20 20:01:31 1997 --- config.h Sun Sep 6 10:23:41 1998 *************** *** 92,98 **** # endif # if defined(sparc) && defined(unix) && !defined(sun) # define SPARC ! # define DRSNX # define mach_type_known # endif # if defined(_IBMR2) --- 92,102 ---- # endif # if defined(sparc) && defined(unix) && !defined(sun) # define SPARC ! # if defined(__NetBSD__) ! # define SUNOS4 /* XXX */ ! # else ! # define DRSNX ! # endif # define mach_type_known # endif # if defined(_IBMR2) *** dyn_load.c.orig Sun Sep 6 10:37:47 1998 --- dyn_load.c Sun Sep 6 10:58:20 1998 *************** *** 62,67 **** --- 62,99 ---- #endif #ifdef SUNOS4 # include + # ifdef __NetBSD__ + # include + # define link_dynamic _dynamic + # define link_dynamic_2 section_dispatch_table + # define ld_2 d_sdt + # define ld_1 d_sdt + # define ld_version d_version + # define ld_un d_un + + # define ldd d_debug + # define ldd_cp dd_cc + + # define rtc_symb rt_symbol + # define rtc_next rt_next + # define rtc_sp rt_sp->nlist + # define RTC_DEREF . + + # define ld_loaded sdt_loaded + # define ld_stab sdt_nzlist + # define ld_symbols sdt_strings + # define ld_symb_size sdt_str_sz + # define ld_loaded sdt_loaded + + + # define link_map so_map + # define lm_addr som_addr + # define lm_next som_next + # define lm_ld som_dynamic + # define lm_name som_path + # else + # define RTC_DEREF -> + # endif # include # include /* struct link_map field overrides */ *************** *** 150,157 **** curr_symbol = _DYNAMIC.ldd -> ldd_cp; for (; curr_symbol != 0; curr_symbol = curr_symbol -> rtc_next) { if (result == 0 ! || (ptr_t)(curr_symbol -> rtc_sp -> n_value) < result) { ! result = (ptr_t)(curr_symbol -> rtc_sp -> n_value); } } return(result); --- 184,191 ---- curr_symbol = _DYNAMIC.ldd -> ldd_cp; for (; curr_symbol != 0; curr_symbol = curr_symbol -> rtc_next) { if (result == 0 ! || (ptr_t)(curr_symbol -> rtc_sp RTC_DEREF n_value) < result) { ! result = (ptr_t)(curr_symbol -> rtc_sp RTC_DEREF n_value); } } return(result); *** mach_dep.c.orig Wed Aug 20 19:11:03 1997 --- mach_dep.c Sun Sep 6 10:19:54 1998 *************** *** 347,353 **** --- 347,357 ---- # ifdef SVR4 asm(" .globl GC_save_regs_in_stack"); asm("GC_save_regs_in_stack:"); + # ifdef __NetBSD__ + asm(" .type GC_save_regs_in_stack,@function"); + # else asm(" .type GC_save_regs_in_stack,#function"); + # endif # else asm(" .globl _GC_save_regs_in_stack"); asm("_GC_save_regs_in_stack:"); *************** *** 380,386 **** --- 384,394 ---- # else asm(".globl GC_clear_stack_inner"); asm("GC_clear_stack_inner:"); + #ifdef __NetBSD__ + asm(".type GC_save_regs_in_stack,@function"); + #else asm(".type GC_save_regs_in_stack,#function"); + #endif # endif asm("mov %sp,%o2"); /* Save sp */ asm("add %sp,-8,%o3"); /* p = sp-8 */ *** os_dep.c.orig Sun Sep 6 10:27:43 1998 --- os_dep.c Sun Sep 6 10:35:24 1998 *************** *** 1390,1398 **** char * addr; # ifdef SUNOS4 # define SIG_OK (sig == SIGSEGV || sig == SIGBUS) ! # define CODE_OK (FC_CODE(code) == FC_PROT \ || (FC_CODE(code) == FC_OBJERR \ && FC_ERRNO(code) == FC_PROT)) # endif # ifdef FREEBSD # define SIG_OK (sig == SIGBUS) --- 1390,1402 ---- char * addr; # ifdef SUNOS4 # define SIG_OK (sig == SIGSEGV || sig == SIGBUS) ! # if defined(__NetBSD__) ! # define CODE_OK TRUE ! # else ! # define CODE_OK (FC_CODE(code) == FC_PROT \ || (FC_CODE(code) == FC_OBJERR \ && FC_ERRNO(code) == FC_PROT)) + # endif # endif # ifdef FREEBSD # define SIG_OK (sig == SIGBUS) *************** *** 2093,2098 **** --- 2097,2106 ---- #if defined(SPARC) # if defined(SUNOS4) # include + # if defined(__NetBSD__) + # define fr_savpc fr_pc + # define fr_savfp fr_fp + # endif # else # if defined (DRSNX) # include