xref: /minix3/external/gpl3/gcc/files/i386-minix.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1d19d7d58SLionel Sambuc /* Definitions for Intel 386 running MINIX with ELF format
2d19d7d58SLionel Sambuc    Copyright (C) 1996, 2000, 2002, 2004 Free Software Foundation, Inc.
3d19d7d58SLionel Sambuc    Contributed by Eric Youngdale.
4d19d7d58SLionel Sambuc    Modified for stabs-in-ELF by H.J. Lu.
5d19d7d58SLionel Sambuc    Adapted from GNU/Linux version by John Polstra.
6d19d7d58SLionel Sambuc    Continued development by David O'Brien <obrien@freebsd.org>
70cdf705cSLionel Sambuc    Adapted for MINIX by Lionel Sambuc <lionel@minix3.org>
8d19d7d58SLionel Sambuc 
9d19d7d58SLionel Sambuc    This file is part of GCC.
10d19d7d58SLionel Sambuc 
110cdf705cSLionel Sambuc    GCC is free software; you can redistribute it and/or modify it
120cdf705cSLionel Sambuc    under the terms of the GNU General Public License as published
130cdf705cSLionel Sambuc    by the Free Software Foundation; either version 2, or (at your
140cdf705cSLionel Sambuc    option) any later version.
15d19d7d58SLionel Sambuc 
160cdf705cSLionel Sambuc    GCC is distributed in the hope that it will be useful, but WITHOUT
170cdf705cSLionel Sambuc    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
180cdf705cSLionel Sambuc    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
190cdf705cSLionel Sambuc    License for more details.
20d19d7d58SLionel Sambuc 
21d19d7d58SLionel Sambuc    You should have received a copy of the GNU General Public License
220cdf705cSLionel Sambuc    along with GCC; see the file COPYING.  If not, write to the
230cdf705cSLionel Sambuc    Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston,
240cdf705cSLionel Sambuc    MA 02110-1301, USA.  */
25d19d7d58SLionel Sambuc 
260cdf705cSLionel Sambuc /* Define the actual types of some ANSI-mandated types.
270cdf705cSLionel Sambuc    Needs to agree with <machine/ansi.h>.  GCC defaults come from c-decl.c,
280cdf705cSLionel Sambuc    c-common.c, and config/<arch>/<arch>.h. */
290cdf705cSLionel Sambuc #undef  SIZE_TYPE
300cdf705cSLionel Sambuc #define SIZE_TYPE	(TARGET_64BIT ? "long unsigned int" : "unsigned int")
310cdf705cSLionel Sambuc 
320cdf705cSLionel Sambuc #undef  PTRDIFF_TYPE
330cdf705cSLionel Sambuc #define PTRDIFF_TYPE	(TARGET_64BIT ? "long int" : "int")
340cdf705cSLionel Sambuc 
35d19d7d58SLionel Sambuc /* Override the default comment-starter of "/".  */
36d19d7d58SLionel Sambuc #undef  ASM_COMMENT_START
37d19d7d58SLionel Sambuc #define ASM_COMMENT_START "#"
38d19d7d58SLionel Sambuc 
39d19d7d58SLionel Sambuc #undef  ASM_APP_ON
40d19d7d58SLionel Sambuc #define ASM_APP_ON "#APP\n"
41d19d7d58SLionel Sambuc 
42d19d7d58SLionel Sambuc #undef  ASM_APP_OFF
43d19d7d58SLionel Sambuc #define ASM_APP_OFF "#NO_APP\n"
44d19d7d58SLionel Sambuc 
45d19d7d58SLionel Sambuc #undef  DBX_REGISTER_NUMBER
46d19d7d58SLionel Sambuc #define DBX_REGISTER_NUMBER(n) \
47d19d7d58SLionel Sambuc   (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n])
48d19d7d58SLionel Sambuc 
49d19d7d58SLionel Sambuc #undef  NO_PROFILE_COUNTERS
50d19d7d58SLionel Sambuc #define NO_PROFILE_COUNTERS	1
51d19d7d58SLionel Sambuc 
52d19d7d58SLionel Sambuc /* Tell final.c that we don't need a label passed to mcount.  */
53d19d7d58SLionel Sambuc #undef  MCOUNT_NAME
54d19d7d58SLionel Sambuc #define MCOUNT_NAME ".mcount"
55d19d7d58SLionel Sambuc 
56d19d7d58SLionel Sambuc /* A C statement to output to the stdio stream FILE an assembler
57d19d7d58SLionel Sambuc    command to advance the location counter to a multiple of 1<<LOG
58d19d7d58SLionel Sambuc    bytes if it is within MAX_SKIP bytes.
59d19d7d58SLionel Sambuc 
60d19d7d58SLionel Sambuc    This is used to align code labels according to Intel recommendations.  */
61d19d7d58SLionel Sambuc #ifdef HAVE_GAS_MAX_SKIP_P2ALIGN
62d19d7d58SLionel Sambuc #undef  ASM_OUTPUT_MAX_SKIP_ALIGN
63d19d7d58SLionel Sambuc #define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP)			\
64d19d7d58SLionel Sambuc   if ((LOG) != 0) {							\
65d19d7d58SLionel Sambuc     if ((MAX_SKIP) == 0) fprintf ((FILE), "\t.p2align %d\n", (LOG));	\
66d19d7d58SLionel Sambuc     else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP));	\
67d19d7d58SLionel Sambuc   }
68d19d7d58SLionel Sambuc #endif
69d19d7d58SLionel Sambuc 
700cdf705cSLionel Sambuc #undef SUBTARGET32_DEFAULT_CPU
71b86af8beSLionel Sambuc #define SUBTARGET32_DEFAULT_CPU "i586"
720cdf705cSLionel Sambuc 
73*0a6a1f1dSLionel Sambuc #undef X87_ENABLE_ARITH
74*0a6a1f1dSLionel Sambuc #define X87_ENABLE_ARITH(MODE) \
75*0a6a1f1dSLionel Sambuc   (flag_excess_precision == EXCESS_PRECISION_FAST || (MODE) == DFmode)
76