X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/430d2ee2919b2d4693780f2474ba40148442d206..76b6f7075970e492eba3cf3f4411fcfc4ff3bdcd:/src/m/amdx86-64.h diff --git a/src/m/amdx86-64.h b/src/m/amdx86-64.h index 37ae8ebb14..bccd3d3825 100644 --- a/src/m/amdx86-64.h +++ b/src/m/amdx86-64.h @@ -1,13 +1,13 @@ /* machine description file for AMD x86-64. - Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is part of GNU Emacs. -GNU Emacs is free software; you can redistribute it and/or modify +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 3, or (at your option) -any later version. +the Free Software Foundation, either version 3 of the License, 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 @@ -15,9 +15,7 @@ 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., 51 Franklin Street, Fifth Floor, -Boston, MA 02110-1301, USA. */ +along with GNU Emacs. If not, see . */ #ifdef i386 /* Although we're running on an amd64 kernel, we're actually compiling for @@ -45,32 +43,21 @@ Boston, MA 02110-1301, USA. */ #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 */ /* __x86_64 defined automatically. */ -/* Use type 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. */ + This flag only matters if you use USE_LISP_UNION_TYPE. */ #define EXPLICIT_SIGN_EXTEND @@ -82,30 +69,6 @@ Boston, MA 02110-1301, USA. */ #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 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 */ - -#define PNTR_COMPARISON_TYPE unsigned long - /* Define XPNTR to avoid or'ing with DATA_SEG_BITS */ #undef DATA_SEG_BITS @@ -138,29 +101,24 @@ Boston, MA 02110-1301, USA. */ /* LIB_STANDARD and START_FILES set correctly in s/netbsd.h */ -#elif defined(sun) +#elif defined(SOLARIS2) #undef START_FILES #undef LIB_STANDARD -#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !sun */ - -#undef START_FILES -#ifdef HAVE_X86_64_LIB64_DIR -#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o -#else -#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o -#endif - +#else /* !__OpenBSD__ && !__FreeBSD__ && !__NetBSD__ && !SOLARIS2 */ /* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. The reason is that some functions in libgcc.a call functions from libc.a, and some libc.a functions need functions from libgcc.a. Since most versions of ld are one-pass linkers, we need to mention -lgcc twice, or else we risk getting unresolved externals. */ +#undef START_FILES #undef LIB_STANDARD -#ifdef HAVE_X86_64_LIB64_DIR +#ifdef HAVE_LIB64_DIR +#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o #else +#define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o #endif