stdio.h not needed
[fw/sdcc] / support / cpp / i386 / netbsd.h
1 /* This goes away when the math-emulator is fixed */
2 #define TARGET_CPU_DEFAULT 0400         /* TARGET_NO_FANCY_MATH_387 */
3
4 /* This is tested by i386gas.h.  */
5 #define YES_UNDERSCORES
6
7 #include <i386/gstabs.h>
8
9 /* Get perform_* macros to build libgcc.a.  */
10 #include <i386/perform.h>
11
12 /* Get generic NetBSD definitions.  */
13 #include <netbsd.h>
14
15 #undef CPP_PREDEFINES
16 #define CPP_PREDEFINES "-Dunix -Di386 -D__NetBSD__ -Asystem(unix) -Asystem(NetBSD) -Acpu(i386) -Amachine(i386)"
17 \f
18 #undef SIZE_TYPE
19 #define SIZE_TYPE "unsigned int"
20
21 #undef PTRDIFF_TYPE
22 #define PTRDIFF_TYPE "int"
23
24 #undef WCHAR_TYPE
25 #define WCHAR_TYPE "int"
26
27 #undef WCHAR_UNSIGNED
28 #define WCHAR_UNSIGNED 0
29
30 #undef WCHAR_TYPE_SIZE
31 #define WCHAR_TYPE_SIZE 32
32
33 #define HANDLE_SYSV_PRAGMA
34
35 /* There are conflicting reports about whether this system uses
36    a different assembler syntax.  wilson@cygnus.com says # is right.  */
37 #undef COMMENT_BEGIN
38 #define COMMENT_BEGIN "#"
39
40 #undef ASM_APP_ON
41 #define ASM_APP_ON "#APP\n"
42
43 #undef ASM_APP_OFF
44 #define ASM_APP_OFF "#NO_APP\n"
45 \f
46 /* The following macros are stolen from i386v4.h */
47 /* These have to be defined to get PIC code correct */
48
49 /* This is how to output an element of a case-vector that is relative.
50    This is only used for PIC code.  See comments by the `casesi' insn in
51    i386.md for an explanation of the expression this outputs. */
52
53 #undef ASM_OUTPUT_ADDR_DIFF_ELT
54 #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \
55   fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE)
56
57 /* Indicate that jump tables go in the text section.  This is
58    necessary when compiling PIC code.  */
59
60 #define JUMP_TABLES_IN_TEXT_SECTION
61
62 /* Don't default to pcc-struct-return, because gcc is the only compiler, and
63    we want to retain compatibility with older gcc versions.  */
64 #define DEFAULT_PCC_STRUCT_RETURN 0
65 \f
66 /* Profiling routines, partially copied from i386/osfrose.h.  */
67
68 /* Redefine this to use %eax instead of %edx.  */
69 #undef FUNCTION_PROFILER
70 #define FUNCTION_PROFILER(FILE, LABELNO)  \
71 {                                                                       \
72   if (flag_pic)                                                         \
73     {                                                                   \
74       fprintf (FILE, "\tcall mcount@PLT\n");                            \
75     }                                                                   \
76   else                                                                  \
77     {                                                                   \
78       fprintf (FILE, "\tcall mcount\n");                                \
79     }                                                                   \
80 }