Annotation of gcc/config/i386/linux.h, revision 1.1.1.1

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: #include "i386/gstabs.h"
                     24: 
                     25: /* Specify predefined symbols in preprocessor.  */
                     26: 
                     27: #undef CPP_PREDEFINES
                     28: #define CPP_PREDEFINES "-Dunix -Di386 -Dlinux"
                     29: 
                     30: #undef CPP_SPEC
                     31: #if TARGET_CPU_DEFAULT == 2
                     32: #define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
                     33: #else
                     34: #define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
                     35: #endif
                     36: 
                     37: #undef SIZE_TYPE
                     38: #define SIZE_TYPE "unsigned int"
                     39: 
                     40: #undef PTRDIFF_TYPE
                     41: #define PTRDIFF_TYPE "int"
                     42: 
                     43: #undef WCHAR_TYPE
                     44: #define WCHAR_TYPE "long int"
                     45: 
                     46: #undef WCHAR_TYPE_SIZE
                     47: #define WCHAR_TYPE_SIZE BITS_PER_WORD
                     48: 
                     49: #undef HAVE_ATEXIT
                     50: #define HAVE_ATEXIT
                     51: 
                     52: /* Linux uses ctype from glibc.a. I am not sure how complete it is.
                     53:  * For now, we play safe. It may change later.
                     54:  */
                     55: #if 0
                     56: #undef MULTIBYTE_CHARS
                     57: #define MULTIBYTE_CHARS        1
                     58: #endif
                     59: 
                     60: #undef LIB_SPEC
                     61: #define LIB_SPEC "%{g*:-lg} %{!g*:%{!p:%{!pg:-lc}}%{p:-lgmon -lc_p}%{pg:-lgmon -lc_p}}"
                     62: 
                     63: 
                     64: #undef STARTFILE_SPEC
                     65: #undef GPLUSPLUS_INCLUDE_DIR
                     66: 
                     67: #ifdef CROSS_COMPILE
                     68: 
                     69: /*
                     70:  * For cross-compile, we just need to search `$(tooldir)/lib'
                     71:  */
                     72: 
                     73: #define STARTFILE_SPEC  \
                     74:   "%{g*:crt0.o%s -static} %{!g*:%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{!static:%{nojump:-nojump}} %{static:-static}}}}"
                     75: 
                     76: /*
                     77:  *The cross-compile uses this.
                     78:  */
                     79: #define GPLUSPLUS_INCLUDE_DIR TOOLDIR"/g++-include"
                     80: 
                     81: #else
                     82: 
                     83: #define STARTFILE_SPEC  \
                     84:   "%{g*:crt0.o%s -static} %{!g*:%{pg:gcrt0.o%s -static} %{!pg:%{p:gcrt0.o%s -static} %{!p:crt0.o%s %{!static:%{nojump:-nojump}} %{static:-static}}}}"
                     85: 
                     86: /*
                     87:  *The native Linux system uses this.
                     88:  */
                     89: #define GPLUSPLUS_INCLUDE_DIR "/usr/g++-include"
                     90: 
                     91: #endif
                     92: 
                     93: /* There are conflicting reports about whether this system uses
                     94:    a different assembler syntax.  [email protected] says # is right.  */
                     95: #undef COMMENT_BEGIN
                     96: #define COMMENT_BEGIN "#"
                     97: 
                     98: #undef ASM_APP_ON
                     99: #define ASM_APP_ON "#APP\n"
                    100: 
                    101: #undef ASM_APP_OFF
                    102: #define ASM_APP_OFF "#NO_APP\n"
                    103: 
                    104: /* Don't default to pcc-struct-return, because gcc is the only compiler, and
                    105:    we want to retain compatibility with older gcc versions.  */
                    106: #define DEFAULT_PCC_STRUCT_RETURN 0
                    107: 
                    108: /* We need that too. */
                    109: #define HANDLE_SYSV_PRAGMA
                    110: 
                    111: #undef LINK_SPEC
                    112: 
                    113: /* We want to pass -v to linker */
                    114: #if TARGET_CPU_DEFAULT == 2
                    115: #define LINK_SPEC      "%{v:-dll-verbose} %{!m386:-m486}"
                    116: #else
                    117: #define LINK_SPEC      "%{v:-dll-verbose} %{m486:-m486}"
                    118: #endif

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.