8sa1-gcc/gcc/config/i386/linux.h
Richard Stallman 22cc53bcef (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT):
Remove PIC stuff.  We wait for the ELF support in gas and binutils.
(LINK_SPEC): Defined for -v.

From-SVN: r4308
1993-05-03 10:50:06 +00:00

113 lines
2.5 KiB
C
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* Definitions for Intel 386 running Linux
* Copyright (C) 1992 Free Software Foundation, Inc.
*
* Written by H.J. Lu (hlu@eecs.wsu.edu)
*
* Linux is a POSIX.1 compatible UNIX clone for i386, which uses GNU
* stuffs as the native stuffs.
*/
#if 0 /* The FSF has fixed the known bugs. But ....... */
/* Linux has a hacked gas 1.38.1, which can handle repz, repnz
* and fildll.
*/
#define GOOD_GAS
#endif
/* This is tested by i386/gas.h. */
#define YES_UNDERSCORES
#include "i386/gstabs.h"
/* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -Di386 -Dlinux"
#undef CPP_SPEC
#if TARGET_CPU_DEFAULT == 2
#define CPP_SPEC "%{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
#else
#define CPP_SPEC "%{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
#endif
#undef SIZE_TYPE
#define SIZE_TYPE "unsigned int"
#undef PTRDIFF_TYPE
#define PTRDIFF_TYPE "int"
#undef WCHAR_TYPE
#define WCHAR_TYPE "long int"
#undef WCHAR_TYPE_SIZE
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#undef HAVE_ATEXIT
#define HAVE_ATEXIT
/* Linux uses ctype from glibc.a. I am not sure how complete it is.
* For now, we play safe. It may change later.
*/
#if 0
#undef MULTIBYTE_CHARS
#define MULTIBYTE_CHARS 1
#endif
#undef LIB_SPEC
#define LIB_SPEC "%{g*:-lg} %{!g*:%{!p:%{!pg:-lc}}%{p:-lgmon -lc_p}%{pg:-lgmon -lc_p}}"
#undef STARTFILE_SPEC
#undef GPLUSPLUS_INCLUDE_DIR
#ifdef CROSS_COMPILE
/*
* For cross-compile, we just need to search `$(tooldir)/lib'
*/
#define STARTFILE_SPEC \
"%{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}}}}"
/*
*The cross-compile uses this.
*/
#define GPLUSPLUS_INCLUDE_DIR TOOLDIR"/g++-include"
#else
#define STARTFILE_SPEC \
"%{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}}}}"
/*
*The native Linux system uses this.
*/
#define GPLUSPLUS_INCLUDE_DIR "/usr/g++-include"
#endif
/* There are conflicting reports about whether this system uses
a different assembler syntax. wilson@cygnus.com says # is right. */
#undef COMMENT_BEGIN
#define COMMENT_BEGIN "#"
#undef ASM_APP_ON
#define ASM_APP_ON "#APP\n"
#undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"
#undef LINK_SPEC
/* Don't default to pcc-struct-return, because gcc is the only compiler, and
#if TARGET_CPU_DEFAULT == 2
#define LINK_SPEC "%{v:-dll-verbose} %{!m386:-m486}"
#else
#define LINK_SPEC "%{v:-dll-verbose} %{m486:-m486}"
#endif
#define DEFAULT_PCC_STRUCT_RETURN 0