diff options
Diffstat (limited to 'gcc/config/i386')
-rw-r--r-- | gcc/config/i386/beos-elf.h | 234 | ||||
-rw-r--r-- | gcc/config/i386/kaos-i386.h | 23 | ||||
-rw-r--r-- | gcc/config/i386/ptx4-i.h | 95 | ||||
-rw-r--r-- | gcc/config/i386/sco5.h | 311 | ||||
-rw-r--r-- | gcc/config/i386/sco5.opt | 24 | ||||
-rw-r--r-- | gcc/config/i386/sysv4-cpp.h | 31 | ||||
-rw-r--r-- | gcc/config/i386/sysv5.h | 33 | ||||
-rw-r--r-- | gcc/config/i386/t-beos | 4 | ||||
-rw-r--r-- | gcc/config/i386/t-sco5 | 15 | ||||
-rw-r--r-- | gcc/config/i386/t-uwin | 5 | ||||
-rw-r--r-- | gcc/config/i386/uwin.asm | 32 | ||||
-rw-r--r-- | gcc/config/i386/uwin.h | 85 |
12 files changed, 0 insertions, 892 deletions
diff --git a/gcc/config/i386/beos-elf.h b/gcc/config/i386/beos-elf.h deleted file mode 100644 index 7a9d9889a9b..00000000000 --- a/gcc/config/i386/beos-elf.h +++ /dev/null @@ -1,234 +0,0 @@ -/* Definitions for Intel x86 running BeOS - Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2007 - Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - - -#define TARGET_VERSION fprintf (stderr, " (i386 BeOS/ELF)"); - -/* Change debugging to Dwarf2. */ -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG - -/* The SVR4 ABI for the i386 says that records and unions are returned - in memory. */ -#undef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 1 - -#undef ASM_COMMENT_START -#define ASM_COMMENT_START " #" - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ - (TARGET_64BIT ? dbx64_register_map[n] : svr4_dbx_register_map[n]) - -/* Output assembler code to FILE to increment profiler label # LABELNO - for profiling a function entry. */ - -#undef MCOUNT_NAME -#define MCOUNT_NAME "mcount" - -#undef SIZE_TYPE -#define SIZE_TYPE "long unsigned int" - -#undef PTRDIFF_TYPE -#define PTRDIFF_TYPE "long int" - -#undef WCHAR_TYPE -#define WCHAR_TYPE "short unsigned int" - -#undef WCHAR_TYPE_SIZE -#define WCHAR_TYPE_SIZE 16 - -#define TARGET_DECLSPEC 1 - -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__BEOS__"); \ - builtin_define ("__INTEL__"); \ - builtin_define ("_X86_"); \ - builtin_define ("__stdcall=__attribute__((__stdcall__))"); \ - builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ - builtin_assert ("system=beos"); \ - } \ - while (0) - -/* BeOS uses lots of multichars, so don't warn about them unless the - user explicitly asks for the warnings with -Wmultichar. Note that - CC1_SPEC is used for both cc1 and cc1plus. */ - -#undef CC1_SPEC -#define CC1_SPEC "%{!no-fpic:%{!fno-pic:%{!fno-pie:%{!fpie:%{!fPIC:%{!fPIE:-fpic}}}}}} %{!Wmultichar: -Wno-multichar} %(cc1_cpu) %{profile:-p}" - -#undef CC1PLUS_SPEC -#define CC1PLUS_SPEC "%{!Wctor-dtor-privacy:-Wno-ctor-dtor-privacy}" - -/* Provide a LINK_SPEC appropriate for BeOS. Here we provide support - for the special GCC options -static and -shared, which allow us to - link things in one of these three modes by applying the appropriate - combinations of options at link-time. */ - -/* If ELF is the default format, we should not use /lib/elf. */ - -#undef LINK_SPEC -#define LINK_SPEC "%{!o*:-o %b} -m elf_i386_be -shared -Bsymbolic %{nostart:-e 0}" - -/* Provide start and end file specs appropriate to glibc. */ - -/* LIB_SPEC for BeOS */ -#undef LIB_SPEC -#define LIB_SPEC "-lnet -lroot" - -/* gcc runtime lib is built into libroot.so on BeOS */ -/* ??? This is gonna be lovely when the next release of gcc has - some new symbol in, so that links start failing. */ -#undef LIBGCC_SPEC -#define LIBGCC_SPEC "" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "crti.o%s crtbegin.o%s %{!nostart:start_dyn.o%s} init_term_dyn.o%s %{p:i386-mcount.o%s}" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC "crtend.o%s crtn.o%s" - -/* A C statement (sans semicolon) to output to the stdio stream - FILE the assembler definition of uninitialized global DECL named - NAME whose size is SIZE bytes and alignment is ALIGN bytes. - Try to use asm_output_aligned_bss to implement this macro. */ - -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) - -/* A C statement to output to the stdio stream FILE an assembler - command to advance the location counter to a multiple of 1<<LOG - bytes if it is within MAX_SKIP bytes. - - This is used to align code labels according to Intel recommendations. */ - -#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN -#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE,LOG,MAX_SKIP) \ - if ((LOG)!=0) \ - if ((MAX_SKIP)==0) fprintf ((FILE), "\t.p2align %d\n", (LOG)); \ - else fprintf ((FILE), "\t.p2align %d,,%d\n", (LOG), (MAX_SKIP)) -#endif - -/* For native compiler, use standard BeOS include file search paths - rooted in /boot/develop/headers. For a cross compiler, don't - expect the host to use the BeOS directory scheme, and instead look - for the BeOS include files relative to TOOL_INCLUDE_DIR. Yes, we - use ANSI string concatenation here (FIXME) */ - -#ifndef CROSS_DIRECTORY_STRUCTURE -#undef INCLUDE_DEFAULTS -#define INCLUDE_DEFAULTS \ - { \ - { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\ - { GCC_INCLUDE_DIR, "GCC", 0, 0 },\ - { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \ - { "/boot/develop/headers/be/add-ons/graphics", 0, 0, 0 },\ - { "/boot/develop/headers/be/devel", 0, 0, 0 },\ - { "/boot/develop/headers/be/translation", 0, 0, 0 },\ - { "/boot/develop/headers/be/mail", 0, 0, 0 },\ - { "/boot/develop/headers/gnu", 0, 0, 0 },\ - { "/boot/develop/headers/be/drivers", 0, 0, 0 },\ - { "/boot/develop/headers/be/opengl", 0, 0, 0 },\ - { "/boot/develop/headers/be/game", 0, 0, 0 },\ - { "/boot/develop/headers/be/support", 0, 0, 0 },\ - { "/boot/develop/headers/be/storage", 0, 0, 0 },\ - { "/boot/develop/headers/be/kernel", 0, 0, 0 },\ - { "/boot/develop/headers/be/net", 0, 0, 0 },\ - { "/boot/develop/headers/be/midi", 0, 0, 0 },\ - { "/boot/develop/headers/be/midi2", 0, 0, 0 },\ - { "/boot/develop/headers/be/media", 0, 0, 0 },\ - { "/boot/develop/headers/be/interface", 0, 0, 0 },\ - { "/boot/develop/headers/be/device", 0, 0, 0 },\ - { "/boot/develop/headers/be/app", 0, 0, 0 },\ - { "/boot/develop/headers/be/precompiled", 0, 0, 0 },\ - { "/boot/develop/headers/be/add-ons/input_server", 0, 0, 0 },\ - { "/boot/develop/headers/be/add-ons/net_server", 0, 0, 0 },\ - { "/boot/develop/headers/be/add-ons/screen_saver", 0, 0, 0 },\ - { "/boot/develop/headers/be/add-ons/tracker", 0, 0, 0 },\ - { "/boot/develop/headers/be/be_apps/Deskbar", 0, 0, 0 },\ - { "/boot/develop/headers/be/be_apps/NetPositive", 0, 0, 0 },\ - { "/boot/develop/headers/be/be_apps/Tracker", 0, 0, 0 },\ - { "/boot/develop/headers/be/drivers/tty", 0, 0, 0 },\ - { "/boot/develop/headers/be/net/netinet", 0, 0, 0 },\ - { "/boot/develop/headers/be/storage", 0, 0, 0 },\ - { "/boot/develop/headers/be", 0, 0, 0 },\ - { "/boot/develop/headers/cpp", 0, 0, 0 },\ - { "/boot/develop/headers/posix", 0, 0, 0 },\ - { "/boot/develop/headers", 0, 0, 0 }, \ - { 0, 0, 0, 0 } \ - } -#else /* CROSS_DIRECTORY_STRUCTURE */ -#undef INCLUDE_DEFAULTS -#define INCLUDE_DEFAULTS \ - { \ - { GPLUSPLUS_INCLUDE_DIR, "G++", 1, 1 },\ - { GCC_INCLUDE_DIR, "GCC", 0, 0 },\ - { TOOL_INCLUDE_DIR, "BINUTILS", 0, 1}, \ - { CROSS_INCLUDE_DIR "/be/add-ons/graphics", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/devel", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/translation", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/mail", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/gnu", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/drivers", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/opengl", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/game", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/support", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/kernel", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/net", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/midi", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/midi2", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/media", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/interface", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/device", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/app", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/precompiled", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/add-ons/input_server", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/add-ons/net_server", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/add-ons/screen_saver", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/add-ons/tracker", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/be_apps/Deskbar", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/be_apps/NetPositive", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/be_apps/Tracker", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/drivers/tty", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/net/netinet", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be/storage", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/be", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/cpp", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR "/posix", 0, 0, 0 },\ - { CROSS_INCLUDE_DIR , 0, 0, 0 }, \ - { 0, 0, 0, 0 } \ - } -#endif - -/* Whee. LIBRARY_PATH is Be's LD_LIBRARY_PATH, which of course will - cause nasty problems if we override it. */ -#define LIBRARY_PATH_ENV "BELIBRARIES" - -/* BeOS doesn't have a separate math library. */ -#define MATH_LIBRARY "" - -/* BeOS headers are C++-aware (and often use C++). */ -#define NO_IMPLICIT_EXTERN_C - -/* BeOS uses explicit import from shared libraries. */ -#define MULTIPLE_SYMBOL_SPACES 1 diff --git a/gcc/config/i386/kaos-i386.h b/gcc/config/i386/kaos-i386.h deleted file mode 100644 index df1a906393a..00000000000 --- a/gcc/config/i386/kaos-i386.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Definitions of target machine for GCC. - kaOS on ia32 architecture version. - Copyright (C) 2003, 2007 Free Software Foundation, Inc. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fputs (" (i386/kaOS[ELF])", stderr); - diff --git a/gcc/config/i386/ptx4-i.h b/gcc/config/i386/ptx4-i.h deleted file mode 100644 index 15959af70d3..00000000000 --- a/gcc/config/i386/ptx4-i.h +++ /dev/null @@ -1,95 +0,0 @@ -/* Target definitions for GCC for Intel 80386 running Dynix/ptx v4 - Copyright (C) 1996, 2002, 2007 Free Software Foundation, Inc. - - Modified from sysv4.h - Originally written by Ron Guilmette (rfg@netcom.com). - Modified by Tim Wright (timw@sequent.com). - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - - -#define TARGET_VERSION fprintf (stderr, " (i386 Sequent Dynix/ptx Version 4)"); - -/* The svr4 ABI for the i386 says that records and unions are returned - in memory. */ - -#define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \ - (TYPE_MODE (TYPE) == BLKmode \ - || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8)); - -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define_std ("unix"); \ - builtin_define ("_SEQUENT_"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=ptx4"); \ - } \ - while (0) - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] - -/* The routine used to output sequences of byte values. We use a special - version of this for most svr4 targets because doing so makes the - generated assembly code more compact (and thus faster to assemble) - as well as more readable. Note that if we find subparts of the - character sequence which end with NUL (and which are shorter than - STRING_LIMIT) we output those using ASM_OUTPUT_LIMITED_STRING. */ - -#undef ASM_OUTPUT_ASCII -#define ASM_OUTPUT_ASCII(FILE, STR, LENGTH) \ - do \ - { \ - const unsigned char *_ascii_bytes = \ - (const unsigned char *) (STR); \ - const unsigned char *limit = _ascii_bytes + (LENGTH); \ - unsigned bytes_in_chunk = 0; \ - for (; _ascii_bytes < limit; _ascii_bytes++) \ - { \ - const unsigned char *p; \ - if (bytes_in_chunk >= 64) \ - { \ - fputc ('\n', (FILE)); \ - bytes_in_chunk = 0; \ - } \ - for (p = _ascii_bytes; p < limit && *p != '\0'; p++) \ - continue; \ - if (p < limit && (p - _ascii_bytes) <= (long) STRING_LIMIT) \ - { \ - if (bytes_in_chunk > 0) \ - { \ - fputc ('\n', (FILE)); \ - bytes_in_chunk = 0; \ - } \ - ASM_OUTPUT_LIMITED_STRING ((FILE), _ascii_bytes); \ - _ascii_bytes = p; \ - } \ - else \ - { \ - if (bytes_in_chunk == 0) \ - fprintf ((FILE), "\t.byte\t"); \ - else \ - fputc (',', (FILE)); \ - fprintf ((FILE), "0x%02x", *_ascii_bytes); \ - bytes_in_chunk += 5; \ - } \ - } \ - if (bytes_in_chunk > 0) \ - fprintf ((FILE), "\n"); \ - } \ - while (0) diff --git a/gcc/config/i386/sco5.h b/gcc/config/i386/sco5.h deleted file mode 100644 index 4f19fd4f85d..00000000000 --- a/gcc/config/i386/sco5.h +++ /dev/null @@ -1,311 +0,0 @@ -/* Definitions for Intel 386 running SCO Unix System V 3.2 Version 5. - Copyright (C) 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004, - 2007 Free Software Foundation, Inc. - Contributed by Kean Johnston (jkj@sco.com) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -#undef TARGET_VERSION -#define TARGET_VERSION fprintf (stderr, " (i386, SCO OpenServer 5 Syntax)"); - -#undef ASM_QUAD - -#undef GLOBAL_ASM_OP -#define GLOBAL_ASM_OP "\t.globl\t" - -#undef BSS_SECTION_ASM_OP -#define BSS_SECTION_ASM_OP "\t.section\t.bss, \"aw\", @nobits" - -/* - * NOTE: We really do want CTORS_SECTION_ASM_OP and DTORS_SECTION_ASM_OP. - * Here's the reason why. If we dont define them, and we dont define them - * to always emit to the same section, the default is to emit to "named" - * ctors and dtors sections. This would be great if we could use GNU ld, - * but we can't. The native linker could possibly be trained to coalesce - * named ctors sections, but that hasn't been done either. So if we don't - * define these, many C++ ctors and dtors dont get run, because they never - * wind up in the ctors/dtors arrays. - */ -#define CTORS_SECTION_ASM_OP "\t.section\t.ctors, \"aw\"" -#define DTORS_SECTION_ASM_OP "\t.section\t.dtors, \"aw\"" - -#define TARGET_ASM_FILE_START_FILE_DIRECTIVE true -#undef X86_FILE_START_VERSION_DIRECTIVE -#define X86_FILE_START_VERSION_DIRECTIVE true - -/* A C statement (sans semicolon) to output to the stdio stream - FILE the assembler definition of uninitialized global DECL named - NAME whose size is SIZE bytes and alignment is ALIGN bytes. - Try to use asm_output_aligned_bss to implement this macro. */ - -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss (FILE, DECL, NAME, SIZE, ALIGN) - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) svr4_dbx_register_map[n] - -#define DWARF2_DEBUGGING_INFO 1 -#define DBX_DEBUGGING_INFO 1 - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG - -#undef DWARF2_UNWIND_INFO -#define DWARF2_UNWIND_INFO 1 - -#undef NO_IMPLICIT_EXTERN_C -#define NO_IMPLICIT_EXTERN_C 1 - -#undef SWITCH_TAKES_ARG -#define SWITCH_TAKES_ARG(CHAR) \ - (DEFAULT_SWITCH_TAKES_ARG(CHAR) \ - || (CHAR) == 'h' \ - || (CHAR) == 'R' \ - || (CHAR) == 'Y' \ - || (CHAR) == 'z') - -#undef WORD_SWITCH_TAKES_ARG -#define WORD_SWITCH_TAKES_ARG(STR) \ - (DEFAULT_WORD_SWITCH_TAKES_ARG (STR) \ - && strcmp (STR, "Tdata") && strcmp (STR, "Ttext") \ - && strcmp (STR, "Tbss")) - -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS) - -/* - * Define sizes and types - */ -#undef SIZE_TYPE -#undef PTRDIFF_TYPE -#undef WCHAR_TYPE -#undef WCHAR_TYPE_SIZE -#undef WINT_TYPE -#define SIZE_TYPE "unsigned int" -#define PTRDIFF_TYPE "int" -#define WCHAR_TYPE "long int" -#define WCHAR_TYPE_SIZE BITS_PER_WORD -#define WINT_TYPE "long int" - -/* - * New for multilib support. Set the default switches for multilib, - * which is -melf. - */ -#define MULTILIB_DEFAULTS { "melf" } - - -/* Please note that these specs may look messy but they are required in - order to emulate the SCO Development system as closely as possible. - With SCO Open Server 5.0, you now get the linker and assembler free, - so that is what these specs are targeted for. These utilities are - very argument sensitive: a space in the wrong place breaks everything. - So please forgive this mess. It works. - - Parameters which can be passed to gcc, and their SCO equivalents: - GCC Parameter SCO Equivalent - -ansi -a ansi - -posix -a posix - -Xpg4 -a xpg4 - -Xpg4plus -a xpg4plus - -Xods30 -a ods30 - - As with SCO, the default is XPG4 plus mode. SCO also allows you to - specify a C dialect with -Xt, -Xa, -Xc, -Xk and -Xm. These are passed - on to the assembler and linker in the same way that the SCO compiler - does. - - SCO also allows you to compile, link and generate either ELF or COFF - binaries. With gcc, we now only support ELF mode. - - GCC also requires that the user has installed OSS646, the Execution - Environment Update, or is running release 5.0.7 or later. This has - many fixes to the ELF link editor and assembler, and a considerably - improved libc and RTLD. - - In terms of tool usage, we want to use the standard link editor always, - and either the GNU assembler or the native assembler. With OSS646 the - native assembler has grown up quite a bit. Some of the specs below - assume that /usr/gnu is the prefix for the GNU tools, because thats - where the SCO provided ones go. This is especially important for - include and library search path ordering. We want to look in /usr/gnu - first because frequently people are linking against -lintl, and they - MEAN to link with gettext. What they get is the SCO intl library. Its - a REAL pity that GNU gettext chose that name; perhaps in a future - version they can be persuaded to change it to -lgnuintl and have a - link so that -lintl will work for other systems. The same goes for - header files. We want /usr/gnu/include searched for before the system - header files. Hence the -isystem /usr/gnu/include in the CPP_SPEC. - We get /usr/gnu/lib first by virtue of the MD_STARTFILE_PREFIX below. -*/ - -#define MD_STARTFILE_PREFIX "/usr/gnu/lib/" -#define MD_STARTFILE_PREFIX_1 "/usr/ccs/lib/" - -#if USE_GAS -# define MD_EXEC_PREFIX "/usr/gnu/bin/" -#else -# define MD_EXEC_PREFIX "/usr/ccs/bin/elf/" -#endif - -/* Always use the system linker, please. */ -#ifndef DEFAULT_LINKER -# define DEFAULT_LINKER "/usr/ccs/bin/elf/ld" -#endif - -/* Set up assembler flags for PIC and ELF compilations */ -#undef ASM_SPEC - -#if USE_GAS - /* Leave ASM_SPEC undefined so we pick up the master copy from gcc.c */ -#else -#define ASM_SPEC \ - "%{Ym,*} %{Yd,*} %{Wa,*:%*} \ - -E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF %{Qn:} %{!Qy:-Qn}" -#endif - -/* - * Use crti.o for shared objects, crt1.o for normal executables. Make sure - * to recognize both -G and -shared as a valid way of introducing shared - * library generation. This is important for backwards compatibility. - */ - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{pg:%e-pg not supported on this platform} \ - %{p:%{pp:%e-p and -pp specified - pick one}} \ - %{!shared:\ - %{!symbolic: \ - %{!G: \ - %{pp:pcrt1elf.o%s}%{p:mcrt1.o%s}%{!p:%{!pp:crt1.o%s}}}}} \ - crti.o%s \ - %{ansi:values-Xc.o%s} \ - %{!ansi: \ - %{traditional:values-Xt.o%s} \ - %{!traditional: \ - %{Xa:values-Xa.o%s} \ - %{!Xa:%{Xc:values-Xc.o%s} \ - %{!Xc:%{Xk:values-Xk.o%s} \ - %{!Xk:%{Xt:values-Xt.o%s} \ - %{!Xt:values-Xa.o%s}}}}}} \ - crtbegin.o%s" - -#undef ENDFILE_SPEC -#define ENDFILE_SPEC \ - "crtend.o%s crtn.o%s" - -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__unix"); \ - builtin_define ("_SCO_DS"); \ - builtin_define ("_SCO_DS_LL"); \ - builtin_define ("_SCO_ELF"); \ - builtin_define ("_M_I386"); \ - builtin_define ("_M_XENIX"); \ - builtin_define ("_M_UNIX"); \ - builtin_assert ("system=svr3"); \ - if (flag_iso) \ - cpp_define (pfile, "_STRICT_ANSI"); \ - } \ - while (0) - -#undef CPP_SPEC -#define CPP_SPEC "\ - -isystem /usr/gnu/include \ - %{!Xods30:-D_STRICT_NAMES} \ - %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ - %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \ - %{!ansi: \ - %{posix:-isystem include/posix%s -isystem /usr/include/posix \ - -D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \ - %{!posix:%{Xpg4:-isystem include/xpg4%s -isystem /usr/include/xpg4 \ - -D_XOPEN_SOURCE=1} \ - %{!Xpg4:-D_M_I86 -D_M_I86SM -D_M_INTERNAT -D_M_SDATA -D_M_STEXT \ - -D_M_BITFIELDS -D_M_SYS5 -D_M_SYSV -D_M_SYSIII \ - -D_M_WORDSWAP -Dunix -DM_I386 -DM_UNIX -DM_XENIX \ - %{Xods30:-isystem include/ods_30_compat%s \ - -isystem /usr/include/ods_30_compat \ - -D_SCO_ODS_30 -DM_I86 -DM_I86SM -DM_SDATA -DM_STEXT \ - -DM_BITFIELDS -DM_SYS5 -DM_SYSV -DM_INTERNAT -DM_SYSIII \ - -DM_WORDSWAP}}}} \ - %{scointl:-DM_INTERNAT -D_M_INTERNAT} \ - %{Xa:-D_SCO_C_DIALECT=1} \ - %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \ - %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \ - %{!Xk:%{Xt:-D_SCO_C_DIALECT=2} \ - %{!Xt:-D_SCO_C_DIALECT=1}}}}" - -#undef LINK_SPEC -#define LINK_SPEC \ - "%{!shared:%{!symbolic:%{!G:-E%{Xa:a}%{!Xa:%{Xc:c}%{!Xc:%{Xk:k}%{!Xk:%{Xt:t}%{!Xt:a}}}},%{ansi:ansi}%{!ansi:%{posix:posix}%{!posix:%{Xpg4:xpg4}%{!Xpg4:%{Xpg4plus:XPG4PLUS}%{!Xpg4plus:%{Xods30:ods30}%{!Xods30:XPG4PLUS}}}}},ELF}}} \ - %{YP,*} %{YL,*} %{YU,*} \ - %{!YP,*:%{p:-YP,/usr/ccs/libp:/lib/libp:/usr/lib/libp:/usr/ccs/lib:/lib:/usr/lib} \ - %{!p:-YP,/usr/ccs/lib:/lib:/usr/lib}} \ - %{h*} %{static:-dn -Bstatic %{G:%e-G and -static are mutually exclusive}} \ - %{shared:%{!G:-G}} %{G:%{!shared:-G}} %{shared:%{G:-G}} \ - %{shared:-dy %{symbolic:-Bsymbolic -G} %{z*}} %{R*} %{Y*} \ - %{Qn:} %{!Qy:-Qn} -z alt_resolve" - -/* Library spec. If we are not building a shared library, provide the - standard libraries, as per the SCO compiler. */ - -#undef LIB_SPEC -#define LIB_SPEC \ - "%{shared:%{!G:pic/libgcc.a%s}} \ - %{G:%{!shared:pic/libgcc.a%s}} \ - %{shared:%{G:pic/libgcc.a%s}} \ - %{p:%{!pp:-lelfprof -lelf}} %{pp:%{!p:-lelfprof -lelf}} \ - %{!shared:%{!symbolic:%{!G:-lcrypt -lgen -lc}}}" - -#undef LIBGCC_SPEC -#define LIBGCC_SPEC \ - "%{!shared:%{!G:-lgcc}}" - -/* Handle special EH pointer encodings. Absolute, pc-relative, and - indirect are handled automatically. */ -#define ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX(FILE, ENCODING, SIZE, ADDR, DONE) \ - do { \ - if ((SIZE) == 4 && ((ENCODING) & 0x70) == DW_EH_PE_datarel) \ - { \ - fputs (ASM_LONG, FILE); \ - assemble_name (FILE, XSTR (ADDR, 0)); \ - fputs (((ENCODING) & DW_EH_PE_indirect ? "@GOT" : "@GOTOFF"), FILE); \ - goto DONE; \ - } \ - } while (0) - -/* Used by crtstuff.c to initialize the base of data-relative relocations. - These are GOT relative on x86, so return the pic register. */ -#ifdef __PIC__ -#define CRT_GET_RFIB_DATA(BASE) \ - { \ - register void *ebx_ __asm__("ebx"); \ - BASE = ebx_; \ - } -#else -#define CRT_GET_RFIB_DATA(BASE) \ - __asm__ ("call\t.LPR%=\n" \ - ".LPR%=:\n\t" \ - "pop{l}\t%0\n\t" \ - /* Due to a GAS bug, this cannot use EAX. That encodes \ - smaller than the traditional EBX, which results in the \ - offset being off by one. */ \ - "add{l}\t{$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \ - "|%0,_GLOBAL_OFFSET_TABLE_+(.-.LPR%=)}" \ - : "=d"(BASE)) -#endif - diff --git a/gcc/config/i386/sco5.opt b/gcc/config/i386/sco5.opt deleted file mode 100644 index 1fc5092b5a8..00000000000 --- a/gcc/config/i386/sco5.opt +++ /dev/null @@ -1,24 +0,0 @@ -; SCO Unix-specific options. - -; Copyright (C) 2005, 2007 Free Software Foundation, Inc. -; -; This file is part of GCC. -; -; GCC is free software; you can redistribute it and/or modify it under -; the terms of the GNU General Public License as published by the Free -; Software Foundation; either version 3, or (at your option) any later -; version. -; -; GCC is distributed in the hope that it will be useful, but WITHOUT ANY -; WARRANTY; without even the implied warranty of MERCHANTABILITY or -; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -; for more details. -; -; You should have received a copy of the GNU General Public License -; along with GCC; see the file COPYING3. If not see -; <http://www.gnu.org/licenses/>. - -;; Legacy option -melf -Target RejectNegative -Generate ELF output diff --git a/gcc/config/i386/sysv4-cpp.h b/gcc/config/i386/sysv4-cpp.h deleted file mode 100644 index d057e12b1f0..00000000000 --- a/gcc/config/i386/sysv4-cpp.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Target definitions for GCC for Intel 80386 running System V.4 - Copyright (C) 1991, 2001, 2002, 2007 Free Software Foundation, Inc. - - Written by Ron Guilmette (rfg@netcom.com). - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define_std ("unix"); \ - builtin_define ("__svr4__"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=svr4"); \ - } \ - while (0) - diff --git a/gcc/config/i386/sysv5.h b/gcc/config/i386/sysv5.h deleted file mode 100644 index 7e2ab04d55a..00000000000 --- a/gcc/config/i386/sysv5.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Definitions for Intel 386 running System V Release 5 (i.e. UnixWare 7) - Copyright (C) 1999, 2007 Free Software Foundation, Inc. - Contributed by Robert Lipe (robertlipe@usa.net) - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - - -/* Dwarf2 is supported by native debuggers */ - -#undef PREFERRED_DEBUGGING_TYPE -#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG - -/* Add -lcrt for Dwarf2 abbreviation table */ -#undef LIB_SPEC -#define LIB_SPEC "%{pthread:-lthread} %{pthreadT:-lthreadT} \ - %{!shared:%{!symbolic:-lc -lcrt}}" - -#undef CPP_SPEC -#define CPP_SPEC "%{pthread:-D_REENTRANT} %{pthreadT:-D_REENTRANT}" diff --git a/gcc/config/i386/t-beos b/gcc/config/i386/t-beos deleted file mode 100644 index b5c8ec20871..00000000000 --- a/gcc/config/i386/t-beos +++ /dev/null @@ -1,4 +0,0 @@ -# There are system headers elsewhere, but these are the ones that -# we are most likely to want to apply any fixes to. -SYSTEM_HEADER_DIR = /boot/develop/headers/posix -CROSS_SYSTEM_HEADER_DIR = $(tooldir)/sys-include/posix diff --git a/gcc/config/i386/t-sco5 b/gcc/config/i386/t-sco5 deleted file mode 100644 index c6155930e54..00000000000 --- a/gcc/config/i386/t-sco5 +++ /dev/null @@ -1,15 +0,0 @@ -# We multilib libgcc for -fPIC, to get real PIC code in it. -# NOTE: We must use -fPIC on crt{begi,end}.o else we get an RTLD error -# "cant set protections on segment of length blah at 0x8048000". -CRTSTUFF_T_CFLAGS = -fPIC -fno-omit-frame-pointer - -MULTILIB_OPTIONS = fPIC -MULTILIB_DIRNAMES = pic -MULTILIB_MATCHES = fPIC=fpic -MULTILIB_EXTRA_OPTS = - -LIBGCC=stmp-multilib -INSTALL_LIBGCC=install-multilib - -# See all the declarations. -FIXPROTO_DEFINES = -D_XOPEN_SOURCE -D_POSIX_C_SOURCE=2 diff --git a/gcc/config/i386/t-uwin b/gcc/config/i386/t-uwin deleted file mode 100644 index 8e598683cdc..00000000000 --- a/gcc/config/i386/t-uwin +++ /dev/null @@ -1,5 +0,0 @@ -# -# This is included *after* t-cygwin to override LIB1ASMSRC. -# -LIB1ASMSRC = i386/uwin.asm - diff --git a/gcc/config/i386/uwin.asm b/gcc/config/i386/uwin.asm deleted file mode 100644 index 8566be18a1d..00000000000 --- a/gcc/config/i386/uwin.asm +++ /dev/null @@ -1,32 +0,0 @@ -/* stuff needed for libgcc on win32. */ - -#ifdef L_chkstk - - .global __chkstk - .global __alloca -__chkstk: -__alloca: - pushl %ecx /* save temp */ - movl %esp,%ecx /* get sp */ - addl $0x8,%ecx /* and point to return addr */ - -probe: cmpl $0x1000,%eax /* > 4k ?*/ - jb done - - subl $0x1000,%ecx /* yes, move pointer down 4k*/ - orl $0x0,(%ecx) /* probe there */ - subl $0x1000,%eax /* decrement count */ - jmp probe /* and do it again */ - -done: subl %eax,%ecx - orl $0x0,(%ecx) /* less that 4k, just peek here */ - - movl %esp,%eax - movl %ecx,%esp /* decrement stack */ - - movl (%eax),%ecx /* recover saved temp */ - movl 4(%eax),%eax /* get return address */ - jmp *%eax - - -#endif diff --git a/gcc/config/i386/uwin.h b/gcc/config/i386/uwin.h deleted file mode 100644 index 8884b08b7d0..00000000000 --- a/gcc/config/i386/uwin.h +++ /dev/null @@ -1,85 +0,0 @@ -/* Operating system specific defines to be used when targeting GCC for - hosting on U/WIN (Windows32), using GNU tools and the Windows32 API - Library, as distinct from winnt.h, which is used to build GCC for use - with a windows style library and tool set and uses the Microsoft tools. - Copyright (C) 1999, 2002, 2003, 2004, 2007 Free Software Foundation, Inc. - Contributed by Mumit Khan <khan@xraylith.wisc.edu>. - -This file is part of GCC. - -GCC is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 3, or (at your option) -any later version. - -GCC is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with GCC; see the file COPYING3. If not see -<http://www.gnu.org/licenses/>. */ - -/* Most of this is the same as for Cygwin32, except for changing some - specs. */ - -#define STANDARD_INCLUDE_COMPONENT "UWIN" -#define SYSTEM_INCLUDE_DIR "/usr/gnu/include" -#undef MD_STARTFILE_PREFIX -#define MD_STARTFILE_PREFIX "/usr/gnu/lib/" - -#undef MAYBE_UWIN_CPP_BUILTINS -#define MAYBE_UWIN_CPP_BUILTINS() \ - do \ - { \ - builtin_define_std ("WINNT"); \ - builtin_define ("_WIN32"); \ - builtin_define ("__WIN32__"); \ - builtin_define ("_UWIN"); \ - builtin_define ("__UWIN__"); \ - builtin_define ("__MSVCRT__"); \ - builtin_define ("_STD_INCLUDE_DIR=mingw32"); \ - } \ - while (0) - -#undef CPP_SPEC -#define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \ - -include /usr/include/astwin32.h \ - -idirafter /usr/gnu/include/mingw32" - -/* For Windows applications, include more libraries, but always include - kernel32. */ -#undef LIB_SPEC -#define LIB_SPEC \ - "%{pg:-lgmon} %{mwindows:-luser32 -lgdi32 -lcomdlg32} -lkernel32 -ladvapi32" - -/* Include in the mingw32 libraries with libgcc */ -#undef LIBGCC_SPEC -#define LIBGCC_SPEC "-lgnuwin -lposix -lgcc -last -lmoldname -lmsvcrt" - -/* Specify a different entry point when linking a DLL */ -#undef LINK_SPEC -#define LINK_SPEC \ - "%{mwindows:--subsystem windows} %{mdll:--dll -e _DllMainCRTStartup@12} \ - %{!mdll:-u _main}" - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC "%{mdll:dllcrt2%O%s} %{!mdll:crt2%O%s} %{pg:gcrt2%O%s}" - -/* These are PE BFD bug workarounds. Should go away eventually. */ - -/* Write the extra assembler code needed to declare a function - properly. If we are generating SDB debugging information, this - will happen automatically, so we only need to handle other cases. */ -#undef ASM_DECLARE_FUNCTION_NAME -#define ASM_DECLARE_FUNCTION_NAME(FILE, NAME, DECL) \ - do \ - { \ - i386_pe_maybe_record_exported_symbol (DECL, NAME, 0); \ - } \ - while (0) - -#undef ASM_OUTPUT_EXTERNAL -#undef ASM_OUTPUT_EXTERNAL_LIBCALL - |