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

1.1       root        1: /* Definitions for Intel 386 running Linux
1.1.1.3 ! root        2:    Copyright (C) 1992, 1994 Free Software Foundation, Inc.
        !             3:    Contributed by H.J. Lu ([email protected])
        !             4: 
        !             5: This file is part of GNU CC.
        !             6: 
        !             7: GNU CC is free software; you can redistribute it and/or modify
        !             8: it under the terms of the GNU General Public License as published by
        !             9: the Free Software Foundation; either version 2, or (at your option)
        !            10: any later version.
        !            11: 
        !            12: GNU CC is distributed in the hope that it will be useful,
        !            13: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            15: GNU General Public License for more details.
        !            16: 
        !            17: You should have received a copy of the GNU General Public License
        !            18: along with GNU CC; see the file COPYING.  If not, write to
        !            19: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
1.1       root       20: 
                     21: #if 0  /* The FSF has fixed the known bugs. But ....... */
                     22: 
                     23: /* Linux has a hacked gas 1.38.1, which can handle repz, repnz
1.1.1.3 ! root       24:  and fildll.  */
1.1       root       25: 
                     26: #define GOOD_GAS
                     27: #endif
                     28: 
1.1.1.3 ! root       29: /* Don't assume anything about the header files. */
        !            30: #define NO_IMPLICIT_EXTERN_C
        !            31: 
1.1       root       32: /* This is tested by i386/gas.h.  */
                     33: #define YES_UNDERSCORES
                     34: 
1.1.1.2   root       35: #ifndef LINUX_ELF
1.1       root       36: #include "i386/gstabs.h"
1.1.1.2   root       37: #endif
1.1       root       38: 
                     39: /* Specify predefined symbols in preprocessor.  */
                     40: 
                     41: #undef CPP_PREDEFINES
1.1.1.2   root       42: #define CPP_PREDEFINES "-Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)"
1.1       root       43: 
                     44: #undef CPP_SPEC
                     45: #if TARGET_CPU_DEFAULT == 2
                     46: #define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
                     47: #else
                     48: #define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
                     49: #endif
                     50: 
                     51: #undef SIZE_TYPE
                     52: #define SIZE_TYPE "unsigned int"
                     53: 
                     54: #undef PTRDIFF_TYPE
                     55: #define PTRDIFF_TYPE "int"
                     56: 
                     57: #undef WCHAR_TYPE
                     58: #define WCHAR_TYPE "long int"
                     59: 
                     60: #undef WCHAR_TYPE_SIZE
                     61: #define WCHAR_TYPE_SIZE BITS_PER_WORD
                     62: 
                     63: #undef HAVE_ATEXIT
                     64: #define HAVE_ATEXIT
                     65: 
                     66: /* Linux uses ctype from glibc.a. I am not sure how complete it is.
1.1.1.3 ! root       67:    For now, we play safe. It may change later. */
        !            68: 
1.1       root       69: #if 0
                     70: #undef MULTIBYTE_CHARS
                     71: #define MULTIBYTE_CHARS        1
                     72: #endif
                     73: 
                     74: #undef LIB_SPEC
1.1.1.3 ! root       75: #define LIB_SPEC \
        !            76: "%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \
        !            77:  %{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}" 
1.1       root       78: 
                     79: #undef STARTFILE_SPEC
1.1.1.3 ! root       80: #define STARTFILE_SPEC  "%{pg:gcrt0.o%s} %{!pg:%{p:gcrt0.o%s} %{!p:crt0.o%s}} %{static:-static}"
1.1       root       81: 
                     82: 
                     83: /* There are conflicting reports about whether this system uses
                     84:    a different assembler syntax.  [email protected] says # is right.  */
                     85: #undef COMMENT_BEGIN
                     86: #define COMMENT_BEGIN "#"
                     87: 
                     88: #undef ASM_APP_ON
                     89: #define ASM_APP_ON "#APP\n"
                     90: 
                     91: #undef ASM_APP_OFF
                     92: #define ASM_APP_OFF "#NO_APP\n"
                     93: 
                     94: /* Don't default to pcc-struct-return, because gcc is the only compiler, and
                     95:    we want to retain compatibility with older gcc versions.  */
1.1.1.3 ! root       96: #ifndef LINUX_ELF
1.1       root       97: #define DEFAULT_PCC_STRUCT_RETURN 0
1.1.1.3 ! root       98: #endif
1.1       root       99: 
                    100: /* We need that too. */
                    101: #define HANDLE_SYSV_PRAGMA
                    102: 
                    103: #undef LINK_SPEC
                    104: 
                    105: /* We want to pass -v to linker */
                    106: #if TARGET_CPU_DEFAULT == 2
                    107: #define LINK_SPEC      "%{v:-dll-verbose} %{!m386:-m486}"
                    108: #else
                    109: #define LINK_SPEC      "%{v:-dll-verbose} %{m486:-m486}"
                    110: #endif
1.1.1.3 ! root      111: 
        !           112: /* Get perform_* macros to build libgcc.a.  */
        !           113: #include "i386/perform.h"

unix.superglobalmegacorp.com

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