1 /* Configuration for an i386 running 386BSD as the target machine. */ 2 3 /* This is tested by i386gas.h. */ 4 #define YES_UNDERSCORES 5 6 #include "i386/gstabs.h" 7 8 /* Get perform_* macros to build libgcc.a. */ 9 #include "i386/perform.h" 10 11 #undef CPP_PREDEFINES 12 #define CPP_PREDEFINES "-Dunix -Di386 -D__386BSD__" 13 14 /* Like the default, except no -lg. */ 15 #define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p}" 16 17 #undef SIZE_TYPE 18 #define SIZE_TYPE "unsigned int" 19 20 #undef PTRDIFF_TYPE 21 #define PTRDIFF_TYPE "int" 22 23 #undef WCHAR_TYPE 24 #define WCHAR_TYPE "short unsigned int" 25 26 #define WCHAR_UNSIGNED 1 27 28 #undef WCHAR_TYPE_SIZE 29 #define WCHAR_TYPE_SIZE 16 30 31 /* 386BSD does have atexit. */ 32 33 #define HAVE_ATEXIT 34 35 /* Redefine this to use %eax instead of %edx. */ 36 #undef FUNCTION_PROFILER 37 #define FUNCTION_PROFILER(FILE, LABELNO) \ 38 { \ 39 if (flag_pic) \ 40 { \ 41 fprintf (FILE, "\tleal %sP%d@GOTOFF(%%ebx),%%eax\n", \ 42 LPREFIX, (LABELNO)); \ 43 fprintf (FILE, "\tcall *mcount@GOT(%%ebx)\n"); \ 44 } \ 45 else \ 46 { \ 47 fprintf (FILE, "\tmovl $%sP%d,%%eax\n", LPREFIX, (LABELNO)); \ 48 fprintf (FILE, "\tcall mcount\n"); \ 49 } \ 50 } 51 52 /* There are conflicting reports about whether this system uses 53 a different assembler syntax. wilson@cygnus.com says # is right. */ 54 #undef COMMENT_BEGIN 55 #define COMMENT_BEGIN "#" 56 57 #undef ASM_APP_ON 58 #define ASM_APP_ON "#APP\n" 59 60 #undef ASM_APP_OFF 61 #define ASM_APP_OFF "#NO_APP\n" 62 63 /* The following macros are stolen from i386v4.h */ 64 /* These have to be defined to get PIC code correct */ 65 66 /* This is how to output an element of a case-vector that is relative. 67 This is only used for PIC code. See comments by the `casesi' insn in 68 i386.md for an explanation of the expression this outputs. */ 69 70 #undef ASM_OUTPUT_ADDR_DIFF_ELT 71 #define ASM_OUTPUT_ADDR_DIFF_ELT(FILE, VALUE, REL) \ 72 fprintf (FILE, "\t.long _GLOBAL_OFFSET_TABLE_+[.-%s%d]\n", LPREFIX, VALUE) 73 74 /* Indicate that jump tables go in the text section. This is 75 necessary when compiling PIC code. */ 76 77 #define JUMP_TABLES_IN_TEXT_SECTION 78 79 /* Don't default to pcc-struct-return, because gcc is the only compiler, and 80 we want to retain compatibility with older gcc versions. */ 81 #define DEFAULT_PCC_STRUCT_RETURN 0 82