summaryrefslogtreecommitdiff
path: root/editors/emacs
diff options
context:
space:
mode:
authormycroft <mycroft>1999-06-04 03:42:35 +0000
committermycroft <mycroft>1999-06-04 03:42:35 +0000
commit180d44d3751e55ae0720dd1351a17f816f11ab26 (patch)
treeb65e17cc9dd2995981a9f85eb6577677f05d1cfe /editors/emacs
parent917b3192552c68f24d7b4c031f4e6d82a498e004 (diff)
downloadpkgsrc-180d44d3751e55ae0720dd1351a17f816f11ab26.tar.gz
I'm not going to pretend to fully grok the ELF magick, but this makes Emacs
work on the macppc port.
Diffstat (limited to 'editors/emacs')
-rw-r--r--editors/emacs/patches/patch-ab121
-rw-r--r--editors/emacs/patches/patch-az27
-rw-r--r--editors/emacs/patches/patch-bd161
-rw-r--r--editors/emacs/patches/patch-be102
4 files changed, 285 insertions, 126 deletions
diff --git a/editors/emacs/patches/patch-ab b/editors/emacs/patches/patch-ab
index 286dc8a834d..61cf5f00e56 100644
--- a/editors/emacs/patches/patch-ab
+++ b/editors/emacs/patches/patch-ab
@@ -1,112 +1,19 @@
-$NetBSD: patch-ab,v 1.6 1998/09/04 02:28:53 tron Exp $
+$NetBSD: patch-ab,v 1.7 1999/06/04 03:42:35 mycroft Exp $
---- ./configure.orig Fri Aug 28 13:38:44 1998
-+++ ./configure Sun Aug 16 03:48:36 1998
-@@ -759,6 +748,7 @@
+--- configure.orig Mon Jul 27 04:17:07 1998
++++ configure Thu Jun 3 22:49:02 1999
+@@ -751,12 +751,14 @@
+ opsys=netbsd
+ case "${canonical}" in
+ alpha*-*-netbsd*) machine=alpha ;;
++ arm*-*-netbsd*) machine=arm ;;
+ i[3456]86-*-netbsd*) machine=intel386 ;;
+ m68k-*-netbsd*)
+ # This is somewhat bogus.
+ machine=hp9000s300 ;;
+ mips-*-netbsd*) machine=pmax ;;
ns32k-*-netbsd*) machine=ns32000 ;;
++ powerpc-*-netbsd*) machine=powerpc ;;
sparc-*-netbsd*) machine=sparc ;;
vax-*-netbsd*) machine=vax ;;
-+ arm*-*-netbsd*) machine=arm ;;
esac
- ;;
-
---- /dev/null Fri Aug 28 13:20:16 1998
-+++ ./src/m/arm.h Sun Aug 16 03:48:25 1998
-@@ -0,0 +1,97 @@
-+/* Machine description file for Acorn RISCiX machines.
-+ Copyright (C) 1994 Free Software Foundation, Inc.
-+
-+This file is part of GNU Emacs.
-+
-+GNU Emacs is free software; you can redistribute it and/or modify
-+it under the terms of the GNU General Public License as published by
-+the Free Software Foundation; either version 2, or (at your option)
-+any later version.
-+
-+GNU Emacs is distributed in the hope that it will be useful,
-+but WITHOUT ANY WARRANTY; without even the implied warranty of
-+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+GNU General Public License for more details.
-+
-+You should have received a copy of the GNU General Public License
-+along with GNU Emacs; see the file COPYING. If not, write to
-+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-+Boston, MA 02111-1307, USA. */
-+
-+
-+
-+/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
-+ is the most significant byte. */
-+
-+#undef WORDS_BIG_ENDIAN
-+
-+/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
-+ * group of arguments and treat it as an array of the arguments. We can't
-+ * do this on the arm with gcc, since the first 4 args are in registers. */
-+
-+#ifdef __GNUC__
-+#define NO_ARG_ARRAY
-+#else
-+#undef NO_ARG_ARRAY
-+#endif
-+
-+/* Define WORD_MACHINE if addresses and such have
-+ * to be corrected before they can be used as byte counts. */
-+
-+#undef WORD_MACHINE
-+
-+/* Define how to take a char and sign-extend into an int.
-+ On machines where char is signed, this is a no-op. */
-+
-+/* ARM note - The RISCiX Norcroft C Compiler has ALL
-+ non-32-bit types as unsigned */
-+
-+#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24)
-+
-+/* Now define a symbol for the cpu type, if your compiler
-+ does not define it automatically:
-+ Ones defined so far include vax, m68000, ns16000, pyramid,
-+ orion, tahoe, APOLLO and many others */
-+
-+/* ARM note - this is done by the Norcroft compiler - symbol is `__arm' */
-+
-+/* Use type int rather than a union, to represent Lisp_Object */
-+/* This is desirable for most machines. */
-+
-+#define NO_UNION_TYPE
-+
-+/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
-+ the 24-bit bit field into an int. In other words, if bit fields
-+ are always unsigned.
-+
-+ If you use NO_UNION_TYPE, this flag does not matter. */
-+
-+#define EXPLICIT_SIGN_EXTEND
-+
-+/* Define CANNOT_DUMP on machines where unexec does not work.
-+ Then the function dump-emacs will not be defined
-+ and temacs will do (load "loadup") automatically unless told otherwise. */
-+
-+#undef CANNOT_DUMP
-+
-+#ifdef __GNUC__
-+
-+/* Use builtin alloca. Also be sure that no other ones are tried out. */
-+#define alloca __builtin_alloca
-+#define HAVE_ALLOCA
-+
-+#else
-+#define C_ALLOCA
-+#undef HAVE_ALLOCA
-+#endif /* __GNUC__ */
-+
-+/* Define NO_REMAP if memory segmentation makes it not work well
-+ to change the boundary between the text section and data section
-+ when Emacs is dumped. If you define this, the preloaded Lisp
-+ code will not be sharable; but that's better than failing completely. */
-+
-+#define NO_REMAP
-+
-+
-+/* For the portable alloca */
-+#define STACK_DIRECTION -1
diff --git a/editors/emacs/patches/patch-az b/editors/emacs/patches/patch-az
index e77462a1600..8566f4318bd 100644
--- a/editors/emacs/patches/patch-az
+++ b/editors/emacs/patches/patch-az
@@ -1,7 +1,7 @@
-$NetBSD: patch-az,v 1.1 1999/02/04 14:54:25 frueauf Exp $
+$NetBSD: patch-az,v 1.2 1999/06/04 03:42:35 mycroft Exp $
---- src/unexelf.c.orig Mon Aug 10 04:33:12 1998
-+++ src/unexelf.c Thu Feb 4 12:46:44 1999
+--- unexelf.c.orig Sun Aug 9 22:33:12 1998
++++ unexelf.c Thu Jun 3 23:31:50 1999
@@ -501,9 +501,16 @@
# include <sys/exec_ecoff.h>
# define HDRR struct ecoff_symhdr
@@ -28,7 +28,7 @@ $NetBSD: patch-az,v 1.1 1999/02/04 14:54:25 frueauf Exp $
+# define HAVE_MIPS_SBSS
+#endif
+
-+#if defined (__mips__) && (defined(__NetBSD__) || defined(__OpenBSD__))
++#if (defined (__mips__) || defined (__powerpc__)) && (defined(__NetBSD__) || defined(__OpenBSD__))
+# define HAVE_MIPS_SBSS
+#endif
+
@@ -244,7 +244,7 @@ $NetBSD: patch-az,v 1.1 1999/02/04 14:54:25 frueauf Exp $
|| !strcmp ((old_section_names + NEW_SECTION_H (n).sh_name),
".data1"))
src = (caddr_t) OLD_SECTION_H (n).sh_addr;
-@@ -993,22 +1077,11 @@
+@@ -993,18 +1077,7 @@
== 0)
{
pHDRR symhdr = (pHDRR) (NEW_SECTION_H (nn).sh_offset + new_base);
@@ -264,12 +264,7 @@ $NetBSD: patch-az,v 1.1 1999/02/04 14:54:25 frueauf Exp $
}
#endif /* __alpha__ */
--#if defined (__sony_news) && defined (_SYSTYPE_SYSV)
-+#ifdef HAVE_MIPS_SBSS
- if (NEW_SECTION_H (nn).sh_type == SHT_MIPS_DEBUG && old_mdebug_index)
- {
- int diff = NEW_SECTION_H(nn).sh_offset
-@@ -1017,20 +1090,17 @@
+@@ -1017,20 +1090,11 @@
if (diff)
{
@@ -284,18 +279,12 @@ $NetBSD: patch-az,v 1.1 1999/02/04 14:54:25 frueauf Exp $
- phdr->cbFdOffset += diff;
- phdr->cbRfdOffset += diff;
- phdr->cbExtOffset += diff;
-+#if defined ( __sony_news) && defined (_SYSTYPE_SYSV)
+ relocate_ecoff_symhdr(phdr, diff);
-+#else
-+ /* xxxBSD with GNU binutils has .mdebug, but not ecoff(???) */
-+#ifdef DEBUG
-+ printf("Dont know how to relocate mdebug syms by %0x\n", diff);
-+#endif
-+#endif
}
}
-#endif /* __sony_news && _SYSTYPE_SYSV */
-+#endif /* HAVE_MIPS_SBSS */
++#endif /* __sony_news and systype_sysv */
++
/* If it is the symbol table, its st_shndx field needs to be patched. */
if (NEW_SECTION_H (nn).sh_type == SHT_SYMTAB
|| NEW_SECTION_H (nn).sh_type == SHT_DYNSYM)
diff --git a/editors/emacs/patches/patch-bd b/editors/emacs/patches/patch-bd
new file mode 100644
index 00000000000..5e404a96c90
--- /dev/null
+++ b/editors/emacs/patches/patch-bd
@@ -0,0 +1,161 @@
+$NetBSD: patch-bd,v 1.1 1999/06/04 03:42:35 mycroft Exp $
+
+--- /dev/null Thu Jun 3 22:42:46 1999
++++ powerpc.h Thu Jun 3 23:04:00 1999
+@@ -0,0 +1,156 @@
++/* machine description file For the PowerPC chip.
++ Copyright (C) 1994, 1997 Free Software Foundation, Inc.
++
++This file is part of GNU Emacs.
++
++GNU Emacs is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 1, or (at your option)
++any later version.
++
++GNU Emacs is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU Emacs; see the file COPYING. If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
++ is the most significant byte. */
++
++#define WORDS_BIG_ENDIAN
++
++/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
++ * group of arguments and treat it as an array of the arguments. */
++
++#define NO_ARG_ARRAY
++
++/* Define WORD_MACHINE if addresses and such have
++ * to be corrected before they can be used as byte counts. */
++
++/* #define WORD_MACHINE */
++
++/* Now define a symbol for the cpu type, if your compiler
++ does not define it automatically:
++ Ones defined so far include vax, m68000, ns16000, pyramid,
++ orion, tahoe, APOLLO and many others */
++
++/* __powerpc__ defined automatically */
++
++
++/* Use type EMACS_INT rather than a union, to represent Lisp_Object */
++/* This is desirable for most machines. */
++
++#define NO_UNION_TYPE
++
++/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
++ the 24-bit bit field into an int. In other words, if bit fields
++ are always unsigned.
++
++ If you use NO_UNION_TYPE, this flag does not matter. */
++
++#define EXPLICIT_SIGN_EXTEND
++
++/* Data type of load average, as read out of kmem. */
++
++#define LOAD_AVE_TYPE long
++
++/* Convert that into an integer that is 100 for a load average of 1.0 */
++
++#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
++
++/* Define CANNOT_DUMP on machines where unexec does not work.
++ Then the function dump-emacs will not be defined
++ and temacs will do (load "loadup") automatically unless told otherwise. */
++
++/* #define CANNOT_DUMP */
++
++/* Define VIRT_ADDR_VARIES if the virtual addresses of
++ pure and impure space as loaded can vary, and even their
++ relative order cannot be relied on.
++
++ Otherwise Emacs assumes that text space precedes data space,
++ numerically. */
++
++/* #define VIRT_ADDR_VARIES */
++
++/* Define C_ALLOCA if this machine does not support a true alloca
++ and the one written in C should be used instead.
++ Define HAVE_ALLOCA to say that the system provides a properly
++ working alloca function and it should be used.
++ Define neither one if an assembler-language alloca
++ in the file alloca.s should be used. */
++
++#define HAVE_ALLOCA
++
++/* GNU malloc and the relocating allocator do not work together
++ with X. [Who wrote that?] */
++
++/* May 1995: reportedly [Rainer Schoepf <schoepf@uni-mainz.de>] both the
++ system and the gnu malloc system work with "alpha-dec-osf3.0" and
++ "alpha-dec-osf3.2". */
++
++/* May 1995: it seems to me [Morten Welinder <terra@diku.dk>] that both
++ mallocs work with "alpha-dec-osf2.0", but I daren't break anything
++ right now. Feel free to play if you want. */
++
++/* #define SYSTEM_MALLOC */
++
++/* Define NO_REMAP if memory segmentation makes it not work well
++ to change the boundary between the text section and data section
++ when Emacs is dumped. If you define this, the preloaded Lisp
++ code will not be sharable; but that's better than failing completely. */
++
++#define NO_REMAP
++
++/* Some really obscure 4.2-based systems (like Sequent DYNIX)
++ * do not support asynchronous I/O (using SIGIO) on sockets,
++ * even though it works fine on tty's. If you have one of
++ * these systems, define the following, and then use it in
++ * config.h (or elsewhere) to decide when (not) to use SIGIO.
++ *
++ * You'd think this would go in an operating-system description file,
++ * but since it only occurs on some, but not all, BSD systems, the
++ * reasonable place to select for it is in the machine description
++ * file.
++ */
++
++/* #define NO_SOCK_SIGIO */
++
++
++#ifdef __ELF__
++/* With ELF, make sure that all common symbols get allocated to in the
++ data section. Otherwise, the dump of temacs may miss variables in
++ the shared library that have been initialized. For example, with
++ GNU libc, __malloc_initialized would normally be resolved to the
++ shared library's .bss section, which is fatal. */
++# ifdef __GNUC__
++# define C_SWITCH_MACHINE -fno-common
++# else
++# error What gives? Fix me if DEC Unix supports ELF now.
++# endif
++#endif
++
++#if defined(__NetBSD__) || defined(__OpenBSD__)
++#define ORDINARY_LINK
++#endif
++
++#ifdef __ELF__
++#undef UNEXEC
++#define UNEXEC unexelf.o
++#endif
++
++/* On the Alpha it's best to avoid including TERMIO since struct
++ termio and struct termios are mutually incompatible. */
++#define NO_TERMIO
++
++#if defined (LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
++# define TEXT_END ({ extern int _etext; &_etext; })
++#endif
++
++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__)
++#define HAVE_TEXT_START
++#endif
diff --git a/editors/emacs/patches/patch-be b/editors/emacs/patches/patch-be
new file mode 100644
index 00000000000..8cbf0320fb5
--- /dev/null
+++ b/editors/emacs/patches/patch-be
@@ -0,0 +1,102 @@
+$NetBSD: patch-be,v 1.1 1999/06/04 03:42:35 mycroft Exp $
+
+--- /dev/null Fri Aug 28 13:20:16 1998
++++ ./src/m/arm.h Sun Aug 16 03:48:25 1998
+@@ -0,0 +1,97 @@
++/* Machine description file for Acorn RISCiX machines.
++ Copyright (C) 1994 Free Software Foundation, Inc.
++
++This file is part of GNU Emacs.
++
++GNU Emacs is free software; you can redistribute it and/or modify
++it under the terms of the GNU General Public License as published by
++the Free Software Foundation; either version 2, or (at your option)
++any later version.
++
++GNU Emacs is distributed in the hope that it will be useful,
++but WITHOUT ANY WARRANTY; without even the implied warranty of
++MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++GNU General Public License for more details.
++
++You should have received a copy of the GNU General Public License
++along with GNU Emacs; see the file COPYING. If not, write to
++the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
++Boston, MA 02111-1307, USA. */
++
++
++
++/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
++ is the most significant byte. */
++
++#undef WORDS_BIG_ENDIAN
++
++/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
++ * group of arguments and treat it as an array of the arguments. We can't
++ * do this on the arm with gcc, since the first 4 args are in registers. */
++
++#ifdef __GNUC__
++#define NO_ARG_ARRAY
++#else
++#undef NO_ARG_ARRAY
++#endif
++
++/* Define WORD_MACHINE if addresses and such have
++ * to be corrected before they can be used as byte counts. */
++
++#undef WORD_MACHINE
++
++/* Define how to take a char and sign-extend into an int.
++ On machines where char is signed, this is a no-op. */
++
++/* ARM note - The RISCiX Norcroft C Compiler has ALL
++ non-32-bit types as unsigned */
++
++#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24)
++
++/* Now define a symbol for the cpu type, if your compiler
++ does not define it automatically:
++ Ones defined so far include vax, m68000, ns16000, pyramid,
++ orion, tahoe, APOLLO and many others */
++
++/* ARM note - this is done by the Norcroft compiler - symbol is `__arm' */
++
++/* Use type int rather than a union, to represent Lisp_Object */
++/* This is desirable for most machines. */
++
++#define NO_UNION_TYPE
++
++/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
++ the 24-bit bit field into an int. In other words, if bit fields
++ are always unsigned.
++
++ If you use NO_UNION_TYPE, this flag does not matter. */
++
++#define EXPLICIT_SIGN_EXTEND
++
++/* Define CANNOT_DUMP on machines where unexec does not work.
++ Then the function dump-emacs will not be defined
++ and temacs will do (load "loadup") automatically unless told otherwise. */
++
++#undef CANNOT_DUMP
++
++#ifdef __GNUC__
++
++/* Use builtin alloca. Also be sure that no other ones are tried out. */
++#define alloca __builtin_alloca
++#define HAVE_ALLOCA
++
++#else
++#define C_ALLOCA
++#undef HAVE_ALLOCA
++#endif /* __GNUC__ */
++
++/* Define NO_REMAP if memory segmentation makes it not work well
++ to change the boundary between the text section and data section
++ when Emacs is dumped. If you define this, the preloaded Lisp
++ code will not be sharable; but that's better than failing completely. */
++
++#define NO_REMAP
++
++
++/* For the portable alloca */
++#define STACK_DIRECTION -1