Annotation of GNUtools/cc/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: #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

unix.superglobalmegacorp.com

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