diff --git a/editors/emacs/patches/patch-configure b/editors/emacs/patches/patch-configure index 905b98d1bec..1f5eabf6e72 100644 --- a/editors/emacs/patches/patch-configure +++ b/editors/emacs/patches/patch-configure @@ -1,10 +1,13 @@ ---- configure.orig Fri Oct 20 16:00:28 2000 -+++ configure Fri Oct 20 16:01:43 2000 -@@ -733,6 +733,7 @@ +$OpenBSD: patch-configure,v 1.2 2002/03/23 18:40:02 pvalchev Exp $ +--- configure.orig Mon Jun 12 14:05:56 2000 ++++ configure Sun Mar 17 20:33:50 2002 +@@ -733,7 +733,8 @@ case "${canonical}" in m68k-*-openbsd*) machine=hp9000s300 ;; mipsel-*-openbsd*) machine=pmax ;; ns32k-*-openbsd*) machine=ns32000 ;; +- sparc-*-openbsd*) machine=sparc ;; + powerpc-*-openbsd*) machine=macppc ;; - sparc-*-openbsd*) machine=sparc ;; ++ sparc*-*-openbsd*) machine=sparc ;; vax-*-openbsd*) machine=vax ;; esac + ;; diff --git a/editors/emacs/patches/patch-src_m_sparc_h b/editors/emacs/patches/patch-src_m_sparc_h new file mode 100644 index 00000000000..a227939fe01 --- /dev/null +++ b/editors/emacs/patches/patch-src_m_sparc_h @@ -0,0 +1,59 @@ +$OpenBSD: patch-src_m_sparc_h,v 1.1 2002/03/23 18:40:02 pvalchev Exp $ +--- src/m/sparc.h.orig Sat Sep 6 12:51:04 1997 ++++ src/m/sparc.h Sun Mar 17 22:22:25 2002 +@@ -83,9 +83,11 @@ NOTE-END */ + /* Must use the system's termcap, if we use any termcap. + It does special things. */ + ++#if 0 /* not with OpenBSD 2.4 current */ + #ifndef TERMINFO + #define LIBS_TERMCAP -ltermcap + #endif ++#endif + + /* Mask for address bits within a memory segment */ + +@@ -117,3 +119,43 @@ NOTE-END */ + #define A_TEXT_SEEK(HDR) (N_TXTOFF (hdr) + sizeof (hdr)) + + #endif /* not __NetBSD__ and not __linux__ and not __OpenBSD__ */ ++ ++#ifdef __arch64__ /* GCC, 64-bit ABI. */ ++#define BITS_PER_LONG 64 ++#ifdef __sparc64__ ++#define UNEXEC unexelf.o ++#endif ++ ++#ifdef __arch64__ /* GCC, 64-bit ABI. */ ++#define EMACS_INT long ++#define BITS_PER_LONG 64 ++#define BITS_PER_EMACS_INT BITS_PER_LONG ++#define EMACS_UINT unsigned long ++#define SPECIAL_EMACS_INT ++ ++/* On the 64 bit architecture, we can use 60 bits for addresses */ ++ ++#define VALBITS 60 ++ ++/* This definition of MARKBIT is necessary because of the comparison of ++ ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */ ++ ++#define MARKBIT 0x8000000000000000L ++ ++/* Define XINT and XUINT so that they can take arguments of type int */ ++ ++#define XINT(a) (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS)) ++#define XUINT(a) ((long) (a) & VALMASK) ++ ++/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ ++ ++#define XPNTR(a) XUINT (a) ++ ++#define PNTR_COMPARISON_TYPE unsigned long ++#ifndef _LP64 ++#define _LP64 /* Done on Alpha -- not sure if it ++ should be here. -- fx */ ++#endif ++#endif ++ ++#endif