|
|
1.1 ! root 1: /* Definitions for Intel 386 running Linux ! 2: * Copyright (C) 1992 Free Software Foundation, Inc. ! 3: * ! 4: * Written by H.J. Lu ([email protected]) ! 5: * ! 6: * Linux is a POSIX.1 compatible UNIX clone for i386, which uses GNU ! 7: * stuffs as the native stuffs. ! 8: */ ! 9: ! 10: #if 0 /* The FSF has fixed the known bugs. But ....... */ ! 11: ! 12: /* Linux has a hacked gas 1.38.1, which can handle repz, repnz ! 13: * and fildll. ! 14: */ ! 15: ! 16: #define GOOD_GAS ! 17: ! 18: #endif ! 19: ! 20: /* This is tested by i386/gas.h. */ ! 21: #define YES_UNDERSCORES ! 22: ! 23: #ifndef LINUX_ELF ! 24: #include "i386/gstabs.h" ! 25: #endif ! 26: ! 27: /* Specify predefined symbols in preprocessor. */ ! 28: ! 29: #undef CPP_PREDEFINES ! 30: #define CPP_PREDEFINES "-Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)" ! 31: ! 32: #undef CPP_SPEC ! 33: #if TARGET_CPU_DEFAULT == 2 ! 34: #define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}" ! 35: #else ! 36: #define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}" ! 37: #endif ! 38: ! 39: #undef SIZE_TYPE ! 40: #define SIZE_TYPE "unsigned int" ! 41: ! 42: #undef PTRDIFF_TYPE ! 43: #define PTRDIFF_TYPE "int" ! 44: ! 45: #undef WCHAR_TYPE ! 46: #define WCHAR_TYPE "long int" ! 47: ! 48: #undef WCHAR_TYPE_SIZE ! 49: #define WCHAR_TYPE_SIZE BITS_PER_WORD ! 50: ! 51: #undef HAVE_ATEXIT ! 52: #define HAVE_ATEXIT ! 53: ! 54: /* Linux uses ctype from glibc.a. I am not sure how complete it is. ! 55: * For now, we play safe. It may change later. ! 56: */ ! 57: #if 0 ! 58: #undef MULTIBYTE_CHARS ! 59: #define MULTIBYTE_CHARS 1 ! 60: #endif ! 61: ! 62: #undef LIB_SPEC ! 63: #define LIB_SPEC "%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}" ! 64: ! 65: ! 66: #undef STARTFILE_SPEC ! 67: #undef GPLUSPLUS_INCLUDE_DIR ! 68: ! 69: #ifdef CROSS_COMPILE ! 70: ! 71: /* ! 72: * For cross-compile, we just need to search `$(tooldir)/lib' ! 73: */ ! 74: ! 75: #define STARTFILE_SPEC \ ! 76: "%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{g*:-static} %{!static:%{nojump:-nojump}} %{static:-static}}} -L"TOOLDIR"/lib" ! 77: ! 78: /* ! 79: *The cross-compile uses this. ! 80: */ ! 81: #define GPLUSPLUS_INCLUDE_DIR TOOLDIR"/g++-include" ! 82: ! 83: #else ! 84: ! 85: #define STARTFILE_SPEC \ ! 86: "%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{g*:-static}%{!static:%{nojump:-nojump}} %{static:-static}}}" ! 87: ! 88: /* ! 89: *The native Linux system uses this. ! 90: */ ! 91: #define GPLUSPLUS_INCLUDE_DIR "/usr/g++-include" ! 92: ! 93: #endif ! 94: ! 95: /* There are conflicting reports about whether this system uses ! 96: a different assembler syntax. [email protected] says # is right. */ ! 97: #undef COMMENT_BEGIN ! 98: #define COMMENT_BEGIN "#" ! 99: ! 100: #undef ASM_APP_ON ! 101: #define ASM_APP_ON "#APP\n" ! 102: ! 103: #undef ASM_APP_OFF ! 104: #define ASM_APP_OFF "#NO_APP\n" ! 105: ! 106: /* Don't default to pcc-struct-return, because gcc is the only compiler, and ! 107: we want to retain compatibility with older gcc versions. */ ! 108: #define DEFAULT_PCC_STRUCT_RETURN 0 ! 109: ! 110: /* We need that too. */ ! 111: #define HANDLE_SYSV_PRAGMA ! 112: ! 113: #undef LINK_SPEC ! 114: ! 115: /* We want to pass -v to linker */ ! 116: #if TARGET_CPU_DEFAULT == 2 ! 117: #define LINK_SPEC "%{v:-dll-verbose} %{!m386:-m486}" ! 118: #else ! 119: #define LINK_SPEC "%{v:-dll-verbose} %{m486:-m486}" ! 120: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.