1 /* This is tested by i386gas.h. */
2 #define YES_UNDERSCORES
4 #include <i386/gstabs.h>
6 /* Get perform_* macros to build libgcc.a. */
7 #include <i386/perform.h>
9 /* Get generic NetBSD definitions. */
12 /* This goes away when the math-emulator is fixed */
14 #define TARGET_DEFAULT \
15 (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
18 #define CPP_PREDEFINES "-Dunix -Di386 -D__NetBSD__ -Asystem(unix) -Asystem(NetBSD) -Acpu(i386) -Amachine(i386)"
21 #define SIZE_TYPE "unsigned int"
24 #define PTRDIFF_TYPE "int"
27 #define WCHAR_TYPE "int"
30 #define WCHAR_UNSIGNED 0
32 #undef WCHAR_TYPE_SIZE
33 #define WCHAR_TYPE_SIZE 32
36 #define ASM_APP_ON "#APP\n"
39 #define ASM_APP_OFF "#NO_APP\n"
41 /* The following macros are stolen from i386v4.h */
42 /* These have to be defined to get PIC code correct */
44 /* This is how to output an element of a case-vector that is relative.
45 This is only used for PIC code. See comments by the `casesi' insn in
46 i386.md for an explanation of the expression this outputs. */
48 #undef ASM_OUTPUT_ADDR_DIFF_ELT
49 #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, BODY, VALUE, REL) \
50 fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
52 /* Indicate that jump tables go in the text section. This is
53 necessary when compiling PIC code. */
55 #define JUMP_TABLES_IN_TEXT_SECTION 1
57 /* Don't default to pcc-struct-return, because gcc is the only compiler, and
58 we want to retain compatibility with older gcc versions. */
59 #define DEFAULT_PCC_STRUCT_RETURN 0
61 /* i386 netbsd still uses old binutils that don't insert nops by default
62 when the .align directive demands to insert extra space in the text
64 #undef ASM_OUTPUT_ALIGN
65 #define ASM_OUTPUT_ALIGN(FILE,LOG) \
66 if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
68 /* Profiling routines, partially copied from i386/osfrose.h. */
70 /* Redefine this to use %eax instead of %edx. */
71 #undef FUNCTION_PROFILER
72 #define FUNCTION_PROFILER(FILE, LABELNO) \
76 fprintf (FILE, "\tcall mcount@PLT\n"); \
80 fprintf (FILE, "\tcall mcount\n"); \
84 /* Until they use ELF or something that handles dwarf2 unwinds
85 and initialization stuff better. */
86 #define DWARF2_UNWIND_INFO 0