netbsd.h (TARGET_HAS_F_SETLKW): define.
[platform/upstream/gcc.git] / gcc / config / i386 / netbsd.h
1 /* This is tested by i386gas.h.  */
2 #define YES_UNDERSCORES
3
4 #include <i386/gstabs.h>
5
6 /* Get generic NetBSD definitions.  */
7 #include <netbsd.h>
8 #include <netbsd-aout.h>
9
10 /* This goes away when the math-emulator is fixed */
11 #undef TARGET_SUBTARGET_DEFAULT
12 #define TARGET_SUBTARGET_DEFAULT \
13   (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_NO_FANCY_MATH_387)
14
15 #undef CPP_PREDEFINES
16 #define CPP_PREDEFINES "-Dunix -D__NetBSD__ \
17  -Asystem=unix -Asystem=bsd -Asystem=NetBSD"
18 \f
19 #undef SIZE_TYPE
20 #define SIZE_TYPE "unsigned int"
21
22 #undef PTRDIFF_TYPE
23 #define PTRDIFF_TYPE "int"
24
25 #undef WCHAR_TYPE
26 #define WCHAR_TYPE "int"
27
28 #undef WCHAR_UNSIGNED
29 #define WCHAR_UNSIGNED 0
30
31 #undef WCHAR_TYPE_SIZE
32 #define WCHAR_TYPE_SIZE 32
33
34 #undef ASM_APP_ON
35 #define ASM_APP_ON "#APP\n"
36
37 #undef ASM_APP_OFF
38 #define ASM_APP_OFF "#NO_APP\n"
39
40 /* Don't default to pcc-struct-return, because gcc is the only compiler, and
41    we want to retain compatibility with older gcc versions.  */
42 #define DEFAULT_PCC_STRUCT_RETURN 0
43 \f
44 /* i386 netbsd still uses old binutils that don't insert nops by default
45    when the .align directive demands to insert extra space in the text
46    segment.  */
47 #undef ASM_OUTPUT_ALIGN
48 #define ASM_OUTPUT_ALIGN(FILE,LOG) \
49   if ((LOG)!=0) fprintf ((FILE), "\t.align %d,0x90\n", (LOG))
50 \f
51 /* Profiling routines, partially copied from i386/osfrose.h.  */
52
53 /* Redefine this to use %eax instead of %edx.  */
54 #undef FUNCTION_PROFILER
55 #define FUNCTION_PROFILER(FILE, LABELNO)  \
56 {                                                                       \
57   if (flag_pic)                                                         \
58     {                                                                   \
59       fprintf (FILE, "\tcall mcount@PLT\n");                            \
60     }                                                                   \
61   else                                                                  \
62     {                                                                   \
63       fprintf (FILE, "\tcall mcount\n");                                \
64     }                                                                   \
65 }
66
67 /* Until they use ELF or something that handles dwarf2 unwinds
68    and initialization stuff better.  */
69 #define DWARF2_UNWIND_INFO 0