1 --- emacs-21.2/configure.in~ 2002-11-05 18:26:11.000000000 +0900
2 +++ emacs-21.2/configure.in 2002-11-05 18:26:11.000000000 +0900
4 machine=f301 opsys=uxpv
7 + ## AMD x86-64 Linux-based GNU system
8 + x86_64-*-linux-gnu* )
9 + machine=amdx86-64 opsys=gnu-linux
15 --- /dev/null 2002-11-06 15:24:04.000000000 +0900
16 +++ emacs-21.2/src/m/amdx86-64.h 2002-11-06 15:24:04.000000000 +0900
18 +/* machine description file for AMD x86-64.
19 + Copyright (C) 2002 Free Software Foundation, Inc.
21 +This file is part of GNU Emacs.
23 +GNU Emacs is free software; you can redistribute it and/or modify
24 +it under the terms of the GNU General Public License as published by
25 +the Free Software Foundation; either version 2, or (at your option)
28 +GNU Emacs is distributed in the hope that it will be useful,
29 +but WITHOUT ANY WARRANTY; without even the implied warranty of
30 +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
31 +GNU General Public License for more details.
33 +You should have received a copy of the GNU General Public License
34 +along with GNU Emacs; see the file COPYING. If not, write to
35 +the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
36 +Boston, MA 02111-1307, USA. */
39 +/* The following line tells the configuration script what sort of
40 + operating system this machine is likely to run.
41 + USUAL-OPSYS="linux" */
43 +#define BITS_PER_LONG 64
44 +#define BITS_PER_EMACS_INT 64
46 +/* Define WORDS_BIG_ENDIAN iff lowest-numbered byte in a word
47 + is the most significant byte. */
49 +#undef WORDS_BIG_ENDIAN
51 +/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
52 + * group of arguments and treat it as an array of the arguments. */
56 +/* Define WORD_MACHINE if addresses and such have
57 + * to be corrected before they can be used as byte counts. */
59 +/* #define WORD_MACHINE */
61 +/* Now define a symbol for the cpu type, if your compiler
62 + does not define it automatically:
63 + Ones defined so far include vax, m68000, ns16000, pyramid,
64 + orion, tahoe, APOLLO and many others */
65 +/* __x86_64 defined automatically. */
67 +/* Use type int rather than a union, to represent Lisp_Object */
68 +/* This is desirable for most machines. */
70 +#define NO_UNION_TYPE
72 +/* Define the type to use. */
73 +#define EMACS_INT long
74 +#define EMACS_UINT unsigned long
75 +#define SPECIAL_EMACS_INT
77 +/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
78 + the 24-bit bit field into an int. In other words, if bit fields
79 + are always unsigned.
81 + If you use NO_UNION_TYPE, this flag does not matter. */
83 +#define EXPLICIT_SIGN_EXTEND
85 +/* Data type of load average, as read out of kmem. */
87 +#define LOAD_AVE_TYPE long
89 +/* Convert that into an integer that is 100 for a load average of 1.0 */
91 +#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
93 +/* Define CANNOT_DUMP on machines where unexec does not work.
94 + Then the function dump-emacs will not be defined
95 + and temacs will do (load "loadup") automatically unless told otherwise. */
97 +/* #define CANNOT_DUMP */
99 +/* Define VIRT_ADDR_VARIES if the virtual addresses of
100 + pure and impure space as loaded can vary, and even their
101 + relative order cannot be relied on.
103 + Otherwise Emacs assumes that text space precedes data space,
106 +/* #define VIRT_ADDR_VARIES */
108 +/* Define C_ALLOCA if this machine does not support a true alloca
109 + and the one written in C should be used instead.
110 + Define HAVE_ALLOCA to say that the system provides a properly
111 + working alloca function and it should be used.
112 + Define neither one if an assembler-language alloca
113 + in the file alloca.s should be used. */
118 +/* Define NO_REMAP if memory segmentation makes it not work well
119 + to change the boundary between the text section and data section
120 + when Emacs is dumped. If you define this, the preloaded Lisp
121 + code will not be sharable; but that's better than failing completely. */
123 +/* #define NO_REMAP */
125 +#define PNTR_COMPARISON_TYPE unsigned long
127 +/* On the 64 bit architecture, we can use 60 bits for addresses */
131 +/* This definition of MARKBIT is necessary because of the comparison of
132 + ARRAY_MARK_FLAG and MARKBIT in an #if in lisp.h, which cpp doesn't like. */
134 +#define MARKBIT 0x8000000000000000L
136 +/* Define XINT and XUINT so that they can take arguments of type int */
137 +#define XINT(a) (((long) (a) << (BITS_PER_LONG - VALBITS)) >> (BITS_PER_LONG - VALBITS))
138 +#define XUINT(a) ((long) (a) & VALMASK)
140 +/* Define XPNTR to avoid or'ing with DATA_SEG_BITS */
142 +#define XPNTR(a) XUINT (a)
145 +#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
148 +#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
149 --- emacs-21.3/configure.orig 2003-03-18 15:19:12.000000000 +0100
150 +++ emacs-21.3/configure 2004-07-24 01:21:59.740692929 +0200
151 @@ -1686,6 +1686,11 @@
152 machine=f301 opsys=uxpv
155 + ## AMD x86-64 Linux-based GNU system
156 + x86_64-*-linux-gnu* )
157 + machine=amdx86-64 opsys=gnu-linux