|
|
@ -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 <alloca.h> |
|
|
|
+ # 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 |