Commit | Line | Data |
---|---|---|
20c428fd | 1 | /* machine description file for Sun 4 SPARC. |
eb3d11ef | 2 | Copyright (C) 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
5df4f04c | 3 | 2008, 2009, 2010, 2011 Free Software Foundation, Inc. |
20c428fd JB |
4 | |
5 | This file is part of GNU Emacs. | |
6 | ||
eb3d11ef | 7 | GNU Emacs is free software: you can redistribute it and/or modify |
20c428fd | 8 | it under the terms of the GNU General Public License as published by |
eb3d11ef GM |
9 | the Free Software Foundation, either version 3 of the License, or |
10 | (at your option) any later version. | |
20c428fd JB |
11 | |
12 | GNU Emacs is distributed in the hope that it will be useful, | |
13 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | GNU General Public License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
eb3d11ef | 18 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
20c428fd | 19 | |
177c0ea7 | 20 | /* The following line tells the configuration script what sort of |
20c428fd JB |
21 | operating system this machine is likely to run. |
22 | USUAL-OPSYS="note" | |
23 | ||
24 | NOTE-START | |
25 | Use -opsystem=sunos4 for operating system version 4, and | |
26 | -opsystem=bsd4-2 for earlier versions. | |
27 | NOTE-END */ | |
28 | ||
22e9fe24 | 29 | /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word |
74d3f806 KH |
30 | is the most significant byte. */ |
31 | ||
32 | #define WORDS_BIG_ENDIAN | |
33 | ||
20c428fd JB |
34 | /* Define NO_ARG_ARRAY if you cannot take the address of the first of a |
35 | * group of arguments and treat it as an array of the arguments. */ | |
36 | ||
37 | #define NO_ARG_ARRAY | |
38 | ||
ad76189a | 39 | /* __sparc__ is defined by the compiler by default. */ |
20c428fd | 40 | |
6e5cb96f DN |
41 | /* XINT must explicitly sign-extend |
42 | This flag only matters if you use USE_LISP_UNION_TYPE. */ | |
20c428fd JB |
43 | |
44 | #define EXPLICIT_SIGN_EXTEND | |
45 | ||
46 | /* Data type of load average, as read out of kmem. */ | |
47 | ||
48 | #define LOAD_AVE_TYPE long | |
49 | ||
50 | /* Convert that into an integer that is 100 for a load average of 1.0 */ | |
51 | ||
52 | #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE) | |
53 | ||
20c428fd JB |
54 | /* Mask for address bits within a memory segment */ |
55 | ||
56 | #define SEGMENT_MASK (SEGSIZ - 1) | |
57 | ||
ffcd05c3 DL |
58 | #ifdef __arch64__ /* GCC, 64-bit ABI. */ |
59 | #define BITS_PER_LONG 64 | |
a08ea181 CY |
60 | #ifdef __linux__ |
61 | #undef START_FILES | |
62 | #define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o | |
63 | ||
64 | /* The duplicate -lgcc is intentional in the definition of LIB_STANDARD. | |
65 | The reason is that some functions in libgcc.a call functions from libc.a, | |
66 | and some libc.a functions need functions from libgcc.a. Since most | |
67 | versions of ld are one-pass linkers, we need to mention -lgcc twice, | |
68 | or else we risk getting unresolved externals. */ | |
69 | #undef LIB_STANDARD | |
70 | #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o | |
71 | #endif | |
72 | ||
ffcd05c3 DL |
73 | #ifndef _LP64 |
74 | #define _LP64 /* Done on Alpha -- not sure if it | |
75 | should be here. -- fx */ | |
76 | #endif | |
77 | #endif | |
ab5796a9 MB |
78 | |
79 | /* arch-tag: 0a6f7882-33fd-4811-9832-7466c51e50f7 | |
80 | (do not change this comment) */ |