diff --git a/Documentation/Developers/CHANGELOG-RENE b/Documentation/Developers/CHANGELOG-RENE index af5e3417a..07fb86d83 100644 --- a/Documentation/Developers/CHANGELOG-RENE +++ b/Documentation/Developers/CHANGELOG-RENE @@ -19,6 +19,7 @@ - Michael Obster: praenti/ddd version update (3.3.7) - updated pbbuttons and xemacs - Mathieu: updated bittorrent (3.3) + - fixed emacs for powerpc (and removed already disabled patch) *) 2003-09-24 (2.0.0-rc1 - 2.0.0-rc2) diff --git a/package/rene/emacs/arch-powerpc-ptr-hack.patch-disabled b/package/rene/emacs/arch-powerpc-ptr-hack.patch-disabled deleted file mode 100644 index 9be2a3a38..000000000 --- a/package/rene/emacs/arch-powerpc-ptr-hack.patch-disabled +++ /dev/null @@ -1,204 +0,0 @@ -# --- ROCK-COPYRIGHT-NOTE-BEGIN --- -# -# This copyright note is auto-generated by ./scripts/Create-CopyPatch. -# Please add additional copyright information _after_ the line containing -# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by -# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! -# -# ROCK Linux: rock-src/package/rene/emacs/arch-powerpc-ptr-hack.patch-disabled -# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf -# -# This program 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 of the License, or -# (at your option) any later version. A copy of the GNU General Public -# License can be found at Documentation/COPYING. -# -# Many people helped and are helping developing ROCK Linux. Please -# have a look at http://www.rocklinux.org/ and the Documentation/TEAM -# file for details. -# -# --- ROCK-COPYRIGHT-NOTE-END --- - -See the comments prior to each patch piece. Primarily, the load address was -changed in gcc-2.95 for PowerPC Linux, which broke Emacs's pointer handling. -The two important patches to fix that problem are DATA_SEG_BITS and -EXPLICIT_SIGN_EXTEND. Most of these patches originated with the RedHat and -LinuxPPC distributions. This file patches the headers for the Macintosh and -IBM RS-6000 machines. - - -- goo (goo@radek.org) - -*** src/m/macppc.h.old Wed Nov 29 16:39:18 2000 ---- src/m/macppc.h Wed Nov 29 17:08:08 2000 -*************** -*** 1,4 **** -! /* machine description file For the powerpc Macintosh. - Copyright (C) 1994 Free Software Foundation, Inc. - - This file is part of GNU Emacs. ---- 1,4 ---- -! /* machine description file for the PowerPC Macintosh. - Copyright (C) 1994 Free Software Foundation, Inc. - - This file is part of GNU Emacs. -*************** -*** 28,33 **** ---- 28,44 ---- - - #define NO_ARG_ARRAY - -+ #if defined(__linux__) && (__GNUC__ - 0 == 2) && (__GNUC_MINOR__ >= 95) -+ /* gcc-2.95 on Linux/PPC changed the load address to 0x10000000 */ -+ # define DATA_SEG_BITS 0x10000000 -+ #endif -+ -+ /* Say this machine is a PowerPC Reference Platform */ -+ -+ #ifndef prep -+ # define prep -+ #endif -+ - /* Define WORD_MACHINE if addresses and such have - * to be corrected before they can be used as byte counts. */ - -*************** -*** 38,48 **** ---- 49,66 ---- - Ones defined so far include vax, m68000, ns16000, pyramid, - orion, tahoe, APOLLO and many others */ - -+ /* This level of optimization is reported to work. */ -+ #define C_OPTIMIZE_SWITCH -O2 -+ - /* Use type EMACS_INT rather than a union, to represent Lisp_Object */ - /* This is desirable for most machines. */ - - #define NO_UNION_TYPE - -+ /* XINT must explicitly sign-extend */ -+ -+ #define EXPLICIT_SIGN_EXTEND -+ - /* Data type of load average, as read out of kmem. */ - - #define LOAD_AVE_TYPE long -*************** -*** 59,64 **** ---- 77,87 ---- - in the file alloca.s should be used. */ - - #define HAVE_ALLOCA -+ #ifndef NOT_C_CODE -+ # if __GNUC__ < 2 /* Modern versions of GCC handle alloca directly. */ -+ # include -+ # endif -+ #endif - - /* Some really obscure 4.2-based systems (like Sequent DYNIX) - * do not support asynchronous I/O (using SIGIO) on sockets, -*************** -*** 75,81 **** - /* #define NO_SOCK_SIGIO */ - - #if defined(__NetBSD__) || defined(__OpenBSD__) -! #define ORDINARY_LINK - #endif - - #define UNEXEC unexelf.o ---- 98,104 ---- - /* #define NO_SOCK_SIGIO */ - - #if defined(__NetBSD__) || defined(__OpenBSD__) -! # define ORDINARY_LINK - #endif - - #define UNEXEC unexelf.o -*************** -*** 83,91 **** - #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 ---- 106,117 ---- - #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 -+ -+ /* Avoid .sbss, which causes undump to fail for some reason. */ -+ #define LD_SWITCH_MACHINE -G0 -*** src/m/ibmrs6000.h.old Wed Nov 29 16:49:59 2000 ---- src/m/ibmrs6000.h Wed Nov 29 16:58:40 2000 -*************** -*** 42,51 **** - - #define IBMR2AIX - -! /* Use type int rather than a union, to represent Lisp_Object */ - /* This is desirable for most machines. */ - - #define NO_UNION_TYPE - - /* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined ---- 42,59 ---- - - #define IBMR2AIX - -! /* This level of optimization is reported to work. */ -! #define C_OPTIMIZE_SWITCH -O2 -! -! /* Use type EMACS_INT rather than a union, to represent Lisp_Object */ - /* This is desirable for most machines. */ - - #define NO_UNION_TYPE -+ -+ /* XINT must explicitly sign-extend */ -+ -+ #define EXPLICIT_SIGN_EXTEND -+ - - /* Define CANNOT_DUMP on machines where unexec does not work. - Then the function dump-emacs will not be defined -*************** -*** 74,82 **** - we always lose the high bits. We must tell XPNTR to add them back. */ - - #ifndef USG5_4 -! #define DATA_SEG_BITS 0x20000000 - #else -! #define DATA_SEG_BITS 0 - #endif - - #ifdef CANNOT_DUMP ---- 82,100 ---- - we always lose the high bits. We must tell XPNTR to add them back. */ - - #ifndef USG5_4 -! # define DATA_SEG_BITS 0x20000000 - #else -! # if defined(__linux__) && (__GNUC__ - 0 == 2) && (__GNUC_MINOR__ >= 95) -! /* gcc-2.95 on Linux/PPC changed the load address to 0x10000000 */ -! # define DATA_SEG_BITS 0x10000000 -! # else -! # define DATA_SEG_BITS 0 -! # endif /* newer gcc */ -! #endif -! -! /* Say this machine is a PowerPC Reference Platform */ -! #ifndef prep -! # define prep - #endif - - #ifdef CANNOT_DUMP diff --git a/package/rene/emacs/ppc-oddity.patch b/package/rene/emacs/ppc-oddity.patch new file mode 100644 index 000000000..4b390cd59 --- /dev/null +++ b/package/rene/emacs/ppc-oddity.patch @@ -0,0 +1,58 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/rene/emacs/ppc-oddity.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program 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 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +To be able to build and run Emacs on PowerPC we need to wipe some strange +outdated ... assumptions ... + + - Rene Rebe + +diff -u emacs-21.3/src/m/macppc.h src.emacs.1064607046.7811.3222618932/emacs-21.3/src/m/macppc.h +--- emacs-21.3/src/m/macppc.h 2001-10-23 08:43:33.000000000 +0200 ++++ src.emacs.1064607046.7811.3222618932/emacs-21.3/src/m/macppc.h 2003-09-26 22:26:59.000000000 +0200 +@@ -90,26 +90,9 @@ + #define HAVE_TEXT_START + #endif + +-/* NAKAJI Hiroyuki says this is needed +- For MkLinux/LinuxPPC. */ + +-#ifdef LINUX +-#define LINKER $(CC) -nostdlib +-#define LD_SWITCH_MACHINE -Xlinker -m -Xlinker elf32ppc +-/* s/gnu-linux.h defines this to `-z nocombreloc' which does not work here +- because prefix-args is not used. */ +-#undef LD_SWITCH_SYSTEM_TEMACS +-#define LD_SWITCH_MACHINE_TEMACS -Xlinker -znocombreloc +-#endif +- +-#if 0 /* This breaks things on PPC GNU/Linux ecept for Yellowdog, +- even with identical GCC, as, ld. Let's take it out until we +- know what's really going on here. */ +-/* GCC 2.95 and newer on GNU/Linux PPC changed the load address to +- 0x10000000. */ + #if defined __linux__ + #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95) + #define DATA_SEG_BITS 0x10000000 + #endif +-#endif + #endif /* 0 */ diff --git a/package/rene/xemacs/ppc-oddity.patch b/package/rene/xemacs/ppc-oddity.patch index 65dcb83fd..bb06e4d48 100644 --- a/package/rene/xemacs/ppc-oddity.patch +++ b/package/rene/xemacs/ppc-oddity.patch @@ -20,6 +20,11 @@ # # --- ROCK-COPYRIGHT-NOTE-END --- +To be able to build and run XEmacs on PowerPC we need to wipe some strange +outdated ... assumptions ... + + - Rene Rebe + --- xemacs-21.4.13/configure.orig 2003-06-03 18:42:59.000000000 +0200 +++ xemacs-21.4.13/configure 2003-06-03 18:43:06.000000000 +0200 @@ -2974,8 +2974,6 @@