diff options
Diffstat (limited to 'editors/emacs22/files/patch-src:m:amd64.h')
-rw-r--r-- | editors/emacs22/files/patch-src:m:amd64.h | 184 |
1 files changed, 184 insertions, 0 deletions
diff --git a/editors/emacs22/files/patch-src:m:amd64.h b/editors/emacs22/files/patch-src:m:amd64.h new file mode 100644 index 000000000000..3129433e59b5 --- /dev/null +++ b/editors/emacs22/files/patch-src:m:amd64.h @@ -0,0 +1,184 @@ +--- src/m/amd64.h~ Wed Dec 31 18:00:00 1969 ++++ src/m/amd64.h Thu Dec 18 00:21:51 2003 +@@ -0,0 +1,181 @@ ++/* machine description file For the amd64 chip. ++ Copyright (C) 1994, 1997, 1999 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. */ ++ ++ ++/* The following line tells the configuration script what sort of ++ operating system this machine is likely to run. ++ USUAL-OPSYS="note" ++ ++NOTE-START ++Use -opsystem=freebsd ++NOTE-END ++ ++*/ ++ ++#define BITS_PER_LONG 64 ++#define BITS_PER_EMACS_INT 64 ++#ifndef _LP64 ++#define _LP64 ++#endif ++ ++/* 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. */ ++ ++#define NO_ARG_ARRAY ++ ++/* 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 */ ++ ++/* __amd64__ 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 the type to use. */ ++#define EMACS_INT long ++#define EMACS_UINT unsigned long ++#define SPECIAL_EMACS_INT ++ ++/* 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. */ ++ ++#undef 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 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 at 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 at 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 */ ++ ++#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(__OpenBSD__) ++#define ORDINARY_LINK ++#endif ++ ++#ifdef __ELF__ ++#undef UNEXEC ++#define UNEXEC unexelf.o ++#endif ++ ++#if defined (LINUX) && __GNU_LIBRARY__ - 0 < 6 ++/* This controls a conditional in main. */ ++#define LINUX_SBRK_BUG ++#endif ++ ++ ++#define PNTR_COMPARISON_TYPE unsigned long ++ ++/* 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) ++ ++#ifndef NOT_C_CODE ++/* We need these because pointers are larger than the default ints. */ ++#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) ++#include <alloca.h> ++#endif ++#endif /* not NOT_C_CODE */ ++ ++/* 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; }) ++# ifndef __ELF__ ++# define COFF ++# define DATA_END ({ extern int _EDATA; &_EDATA; }) ++# endif /* notdef __ELF__ */ ++#endif ++ ++#if (defined (__NetBSD__) || defined (__OpenBSD__)) && defined (__ELF__) ++#define HAVE_TEXT_START ++#endif ++ ++/* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN: ++ they generate code that uses a signaling NaN instead of DBL_MIN. ++ Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN: ++ this avoids the assembler bug. */ ++/* #define DBL_MIN_REPLACEMENT 2.2250738585072019e-308 */ |