From patchwork Mon Jun 20 05:47:40 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tbsaunde+gcc@tbsaunde.org X-Patchwork-Id: 637866 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3rY3Tv4r2Vz9t0X for ; Mon, 20 Jun 2016 18:11:31 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=aL/7ZDsB; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:in-reply-to:references; q=dns; s= default; b=SN4mzd+HZBp1lxZMAaypcJeY1hOB7F/xvTTZ4q4Q4ESIO3kmLrNik qJbRw98NNcT6slEt0/VskSulfEtr+u9dGzBCTi5qNBSWiPGmZFZmM1wVgm8N5hLb SRzJbO3iueKSy/fQ3BwzbhzCJqkNFg2HdgLvQDH5s5XUXK+XzRaREw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id:in-reply-to:references; s=default; bh=p5rL3c3oLyliyJncRog8kEIAZwQ=; b=aL/7ZDsBt3lYzy4YdFEZ75Zbw1uO nM+GAAiG+O7ljmViwy73SfQclPrizqeuyNvuflTPOKwEo4D1ZSBFeDn3ajZyRnnM qc1TYk1Y5qBa5IOYXZ2emhyewWvwjqNdxU+lHz0HypSJWAC8VyL44nsomHIG//Kd ph4obbRVJXZuSFE= Received: (qmail 50878 invoked by alias); 20 Jun 2016 08:10:34 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 50519 invoked by uid 89); 20 Jun 2016 08:10:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.2 required=5.0 tests=AWL, BAYES_50, KAM_STOCKGEN, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy=ron, x86_64**, 86**, 86-*-* X-HELO: paperclip.tbsaunde.org Received: from tbsaunde.org (HELO paperclip.tbsaunde.org) (66.228.47.254) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 20 Jun 2016 08:10:14 +0000 Received: from iceball.wgc.local (CPEc0eae4676ce1-CM0026f32674bd.cpe.net.cable.rogers.com [99.230.58.22]) by paperclip.tbsaunde.org (Postfix) with ESMTPSA id 0F735C15C for ; Mon, 20 Jun 2016 08:10:13 +0000 (UTC) From: tbsaunde+gcc@tbsaunde.org To: gcc-patches@gcc.gnu.org Subject: [PATCH 1/7] remove support for the interix target Date: Mon, 20 Jun 2016 01:47:40 -0400 Message-Id: <1466401666-8365-2-git-send-email-tbsaunde+gcc@tbsaunde.org> In-Reply-To: <1466401666-8365-1-git-send-email-tbsaunde+gcc@tbsaunde.org> References: <1466401666-8365-1-git-send-email-tbsaunde+gcc@tbsaunde.org> X-IsSubscribed: yes From: Trevor Saunders contrib/ChangeLog: 2016-06-20 Trevor Saunders * config-list.mk: Remove interix target. libgcc/ChangeLog: 2016-06-20 Trevor Saunders * config.host: Remove interix support. * config/i386/t-interix: Remove. config/ChangeLog: 2016-06-20 Trevor Saunders * elf.m4: Remove interix support. * picflag.m4: Likewise. fixincludes/ChangeLog: 2016-06-20 Trevor Saunders * mkfixinc.sh: Remove interix support. gcc/ChangeLog: 2016-06-20 Trevor Saunders * config.gcc: Remove interix support. * config/i386/i386-interix.h: Remove. * config/i386/interix.opt: Remove. * config/i386/t-interix: Remove. * configure: Regenerate. * configure.ac: Remove interix support. * doc/install.texi: Remove interix documentation. gcc/testsuite/ChangeLog: 2016-06-20 Trevor Saunders * gcc.dg/attr-ms_struct-1.c: Stop testing interix. * gcc.dg/attr-ms_struct-2.c: Likewise. * gcc.dg/attr-ms_struct-packed1.c: Likewise. * gcc.dg/bf-ms-attrib.c: Likewise. * gcc.dg/bf-ms-layout-2.c: Likewise. * gcc.dg/bf-ms-layout-3.c: Likewise. * gcc.dg/bf-ms-layout.c: Likewise. * gcc.dg/bf-no-ms-layout.c: Likewise. * gcc.target/i386/bitfield1.c: Likewise. * gcc.target/i386/bitfield2.c: Likewise. * gcc.target/i386/bitfield3.c: Likewise. --- config/elf.m4 | 2 +- config/picflag.m4 | 4 - contrib/config-list.mk | 3 +- fixincludes/mkfixinc.sh | 1 - gcc/config.gcc | 16 +- gcc/config/i386/i386-interix.h | 345 -------------------------- gcc/config/i386/interix.opt | 34 --- gcc/config/i386/t-interix | 30 --- gcc/configure | 2 +- gcc/configure.ac | 2 +- gcc/doc/install.texi | 14 -- gcc/testsuite/gcc.dg/attr-ms_struct-1.c | 2 +- gcc/testsuite/gcc.dg/attr-ms_struct-2.c | 2 +- gcc/testsuite/gcc.dg/attr-ms_struct-packed1.c | 2 +- gcc/testsuite/gcc.dg/bf-ms-attrib.c | 2 +- gcc/testsuite/gcc.dg/bf-ms-layout-2.c | 2 +- gcc/testsuite/gcc.dg/bf-ms-layout-3.c | 2 +- gcc/testsuite/gcc.dg/bf-ms-layout.c | 2 +- gcc/testsuite/gcc.dg/bf-no-ms-layout.c | 2 +- gcc/testsuite/gcc.target/i386/bitfield1.c | 2 +- gcc/testsuite/gcc.target/i386/bitfield2.c | 2 +- gcc/testsuite/gcc.target/i386/bitfield3.c | 1 - libgcc/config.host | 3 - libgcc/config/i386/t-interix | 3 - 24 files changed, 15 insertions(+), 465 deletions(-) delete mode 100644 gcc/config/i386/i386-interix.h delete mode 100644 gcc/config/i386/interix.opt delete mode 100644 gcc/config/i386/t-interix delete mode 100644 libgcc/config/i386/t-interix diff --git a/config/elf.m4 b/config/elf.m4 index 1772a44..5f5cd88 100644 --- a/config/elf.m4 +++ b/config/elf.m4 @@ -17,7 +17,7 @@ target_elf=no case $target in *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \ *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \ - alpha*-dec-osf* | *-interix* | hppa[[12]]*-*-hpux* | \ + alpha*-dec-osf* | hppa[[12]]*-*-hpux* | \ nvptx-*-none) target_elf=no ;; diff --git a/config/picflag.m4 b/config/picflag.m4 index e0fa343..614421d 100644 --- a/config/picflag.m4 +++ b/config/picflag.m4 @@ -27,10 +27,6 @@ case "${$2}" in ;; i[[34567]]86-*-mingw* | x86_64-*-mingw*) ;; - i[[34567]]86-*-interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; i[[34567]]86-*-nto-qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. diff --git a/contrib/config-list.mk b/contrib/config-list.mk index be41d3c..832403a 100644 --- a/contrib/config-list.mk +++ b/contrib/config-list.mk @@ -99,8 +99,7 @@ LIST = aarch64-elf aarch64-linux-gnu aarch64-rtems \ x86_64-knetbsd-gnuOPT-enable-obsolete x86_64-w64-mingw32 \ x86_64-mingw32OPT-enable-sjlj-exceptions=yes x86_64-rtems \ xstormy16-elf xtensa-elf \ - xtensa-linux \ - i686-interix3OPT-enable-obsolete + xtensa-linux LOGFILES = $(patsubst %,log/%-make.out,$(LIST)) all: $(LOGFILES) diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh index 0d96c8c..0f96486 100755 --- a/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh @@ -14,7 +14,6 @@ case $machine in i?86-*-cygwin* | \ i?86-*-mingw32* | \ x86_64-*-mingw32* | \ - i?86-*-interix* | \ powerpc-*-eabisim* | \ powerpc-*-eabi* | \ powerpc-*-rtems* | \ diff --git a/gcc/config.gcc b/gcc/config.gcc index e47535b..34da23e 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -236,8 +236,7 @@ md_file= # Obsolete configurations. case ${target} in - *-interix* \ - | *-knetbsd-* \ + *-knetbsd-* \ | *-openbsd2* \ | *-openbsd3* \ | avr-*rtems* \ @@ -1778,19 +1777,6 @@ i[34567]86-*-mingw* | x86_64-*-mingw*) ;; esac ;; -i[34567]86-*-interix[3-9]*) - tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/i386-interix.h" - tmake_file="${tmake_file} i386/t-interix" - extra_options="${extra_options} rpath.opt i386/interix.opt" - extra_objs="winnt.o winnt-stubs.o" - target_gtfiles="\$(srcdir)/config/i386/winnt.c" - if test x$enable_threads = xyes ; then - thread_file='posix' - fi - if test x$stabs = xyes ; then - tm_file="${tm_file} dbxcoff.h" - fi - ;; ia64*-*-elf*) tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h ia64/sysv4.h ia64/elf.h" tmake_file="ia64/t-ia64" diff --git a/gcc/config/i386/i386-interix.h b/gcc/config/i386/i386-interix.h deleted file mode 100644 index ad18fc7..0000000 --- a/gcc/config/i386/i386-interix.h +++ /dev/null @@ -1,345 +0,0 @@ -/* Target definitions for GCC for Intel 80386 running Interix - Parts Copyright (C) 1991-2016 Free Software Foundation, Inc. - - Parts: - by Douglas B. Rupp (drupp@cs.washington.edu). - by Ron Guilmette (rfg@netcom.com). - by Donn Terry (donn@softway.com). - 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 -. */ - -/* Note: Interix doesn't support user-written DLLs (use conventional - shared libs (.so) instead). Thus a lot of the stuff that might apply - about dllimport/dllexport and the like does not apply here. */ - -#include - -/* Names to predefine in the preprocessor for this target machine. */ - -#define DBX_DEBUGGING_INFO 1 -#define SDB_DEBUGGING_INFO 1 -#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG - -/* Our strategy for finding global constructors is a bit different, although - not a lot. */ -#define DO_GLOBAL_CTORS_BODY \ -do { \ - int i; \ - unsigned long nptrs; \ - func_ptr *p; \ - asm( \ - " .section .ctor_head, \"rw\"\n" \ - "1:\n" \ - " .text \n" \ - ASM_LOAD_ADDR(1b,%0) \ - : "=r" (p) : : "cc"); \ - for (nptrs = 0; p[nptrs] != 0; nptrs++); \ - for (i = nptrs-1; i >= 0; i--) \ - p[i] (); \ -} while (0) - -#define DO_GLOBAL_DTORS_BODY \ -do { \ - func_ptr *p; \ - asm( \ - " .section .dtor_head, \"rw\"\n" \ - "1:\n" \ - " .text \n" \ - ASM_LOAD_ADDR(1b,%0) \ - : "=r" (p) : : "cc"); \ - while (*p) \ - { \ - p++; \ - (*(p-1)) (); \ - } \ -} while (0) - -/* We don't use the "usual" push-an-address solution. */ -#undef TARGET_ASM_CONSTRUCTOR - -#undef SUBTARGET_SWITCHES -#define SUBTARGET_SWITCHES \ -{ "ms-bitfields", MASK_MS_BITFIELD_LAYOUT, N_("Use native (MS) bitfield layout") }, \ -{ "no-ms-bitfields", -MASK_MS_BITFIELD_LAYOUT, N_("Use gcc default bitfield layout") }, - -#undef LIB_SPEC -#define LIB_SPEC "\ - %{!shared:%{!dynamic:-lc -lpsxdll \ - }} \ - %{!G:%{!dynamic:-lc -lpsxdll \ - }} \ - %{dynamic:-lc -lpsxdll \ - } \ - %{v}" - -#undef LINK_SPEC -#define LINK_SPEC "%{!shared:-stack 0x4000000,0x10000} \ - %{g} \ - %{dynamic:-Bdynamic} \ - %{static:-Bstatic} \ - %{shared:--shared -Bdynamic} \ - %{G:--shared -Bdynamic} \ - %{symbolic:--shared -Bsymbolic -Bdynamic} \ - %{rpath*:--rpath %*} \ - " - -#undef STARTFILE_SPEC -#define STARTFILE_SPEC \ - "%{!shared:%{pg:gcrt0%O%s}%{!pg:%{p:mcrt0%O%s}%{!p:crt0%O%s}}} %{shared:crti%O%s}" - -#define TARGET_DECLSPEC 1 - -/* cpp handles __STDC__ */ -#define TARGET_OS_CPP_BUILTINS() \ - do \ - { \ - builtin_define ("__INTERIX"); \ - builtin_define ("_M_IX86=300"); \ - builtin_define ("_X86_=1"); \ - builtin_define ("__stdcall=__attribute__((__stdcall__))"); \ - builtin_define ("__cdecl=__attribute__((__cdecl__))"); \ - builtin_define ("__declspec(x)=__attribute__((x))"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=interix"); \ - if (preprocessing_asm_p ()) \ - builtin_define_std ("LANGUAGE_ASSEMBLY"); \ - else \ - { \ - builtin_define_std ("LANGUAGE_C"); \ - if (c_dialect_cxx ()) \ - builtin_define_std ("LANGUAGE_C_PLUS_PLUS"); \ - if (c_dialect_objc ()) \ - builtin_define_std ("LANGUAGE_OBJECTIVE_C"); \ - } \ - } \ - while (0) - -#undef CPP_SPEC -#define CPP_SPEC "%{posix:-D_POSIX_SOURCE}" - -#define SIZE_TYPE "unsigned int" -#define PTRDIFF_TYPE "int" -#define WCHAR_TYPE "short unsigned int" -#define WCHAR_TYPE_SIZE 16 - -/* Turn off long double being 96 bits. */ -#undef LONG_DOUBLE_TYPE_SIZE -#define LONG_DOUBLE_TYPE_SIZE 64 - -#define IX86_NO_LIBGCC_TFMODE - -#undef TARGET_LIBC_HAS_FUNCTION -#define TARGET_LIBC_HAS_FUNCTION no_c99_libc_has_function - -/* The following are needed for us to be able to use winnt.c, but are not - otherwise meaningful to Interix. (The functions that use these are - never called because we don't do DLLs.) */ -#define TARGET_NOP_FUN_DLLIMPORT 1 -#define drectve_section() /* nothing */ - - -#define READONLY_DATA_SECTION_ASM_OP "\t.section\t.rdata,\"r\"" - -/* Define this macro if references to a symbol must be treated - differently depending on something about the variale or - function named by the symbol (such as what section it is in). */ - -#undef TARGET_ENCODE_SECTION_INFO -#define TARGET_ENCODE_SECTION_INFO i386_pe_encode_section_info -#undef TARGET_STRIP_NAME_ENCODING -#define TARGET_STRIP_NAME_ENCODING i386_pe_strip_name_encoding_full - -/* Emit code to check the stack when allocating more that 4000 - bytes in one go. */ - -#define CHECK_STACK_LIMIT 4000 - -/* By default, target has a 80387, uses IEEE compatible arithmetic, - and returns float values in the 387 and needs stack probes - We also align doubles to 64-bits forMSVC default compatibility - Ditto for bitfields. */ -#undef TARGET_SUBTARGET_DEFAULT -#define TARGET_SUBTARGET_DEFAULT \ - (MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_STACK_PROBE | \ - MASK_ALIGN_DOUBLE | MASK_MS_BITFIELD_LAYOUT) - -/* The MS compilers take alignment as a number of bytes, so we do as well */ -#undef ASM_OUTPUT_ALIGN -#define ASM_OUTPUT_ALIGN(FILE,LOG) \ - if ((LOG)!=0) fprintf ((FILE), "\t.balign %d\n", 1<<(LOG)) - - -/* Define this macro if in some cases global symbols from one translation - unit may not be bound to undefined symbols in another translation unit - without user intervention. For instance, under Microsoft Windows - symbols must be explicitly imported from shared libraries (DLLs). */ -/* - * Old gcc(3.3) did not have 1 here - */ -#define MULTIPLE_SYMBOL_SPACES 1 - -extern void i386_pe_unique_section (tree, int); -#define TARGET_ASM_UNIQUE_SECTION i386_pe_unique_section - -/* Switch into a generic section. */ -#define TARGET_ASM_NAMED_SECTION default_pe_asm_named_section - -/* Select attributes for named sections. */ -#define TARGET_SECTION_TYPE_FLAGS i386_pe_section_type_flags - -/* 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 \ - { \ - if (write_symbols != SDB_DEBUG) \ - i386_pe_declare_function_type (FILE, NAME, TREE_PUBLIC (DECL)); \ - ASM_OUTPUT_LABEL (FILE, NAME); \ - } \ - while (0) - -/* Add an external function to the list of functions to be declared at - the end of the file. */ -#define ASM_OUTPUT_EXTERNAL(FILE, DECL, NAME) \ - do \ - { \ - if (TREE_CODE (DECL) == FUNCTION_DECL) \ - i386_pe_record_external_function (DECL, NAME); \ - } \ - while (0) - -/* Declare the type properly for any external libcall. */ -#define ASM_OUTPUT_EXTERNAL_LIBCALL(FILE, FUN) \ - i386_pe_declare_function_type (FILE, XSTR (FUN, 0), 1) - -/* This says out to put a global symbol in the BSS section. */ -#undef ASM_OUTPUT_ALIGNED_BSS -#define ASM_OUTPUT_ALIGNED_BSS(FILE, DECL, NAME, SIZE, ALIGN) \ - asm_output_aligned_bss ((FILE), (DECL), (NAME), (SIZE), (ALIGN)) - -/* Don't assume anything about the header files. */ -#define NO_IMPLICIT_EXTERN_C - -/* External function declarations. */ -extern void i386_pe_record_external_function (tree, const char *); -extern void i386_pe_declare_function_type (FILE *, const char *, int); -extern void i386_pe_record_exported_symbol (const char *, int); -extern void i386_pe_asm_file_end (FILE *); - -/* For Win32 ABI compatibility */ -#undef DEFAULT_PCC_STRUCT_RETURN -#define DEFAULT_PCC_STRUCT_RETURN 0 - -/* A bitfield declared as `int' forces `int' alignment for the struct. */ -#undef PCC_BITFIELD_TYPE_MATTERS -#define PCC_BITFIELD_TYPE_MATTERS 1 - -/* Enable alias attribute support. */ -#ifndef SET_ASM_OP -#define SET_ASM_OP "\t.set\t" -#endif - -/* Note that there appears to be two different ways to support const - sections at the moment. You can either #define the symbol - READONLY_DATA_SECTION (giving it some code which switches to the - readonly data section) or else you can #define the symbols - EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, and - SELECT_RTX_SECTION. We do both here just to be on the safe side. */ - -#define USE_CONST_SECTION 1 - -/* The linker will take care of this, and having them causes problems with - ld -r (specifically -rU). */ -#define CTOR_LISTS_DEFINED_EXTERNALLY 1 - -/* Output a definition (implements alias) */ -#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ -do \ -{ \ - fputs (SET_ASM_OP, (FILE)); \ - assemble_name (FILE, LABEL1); \ - fputc (',', (FILE)); \ - assemble_name (FILE, LABEL2); \ - fputc ('\n', (FILE)); \ - } \ -while (0) - -#define HOST_PTR_AS_INT unsigned long - -/* The following two flags are usually "off" for i386, because some non-gnu - tools (for the i386) don't handle them. However, we don't have that - problem, so.... */ - -/* Forward references to tags are allowed. */ -#define SDB_ALLOW_FORWARD_REFERENCES -/* Unknown tags are also allowed. */ -#define SDB_ALLOW_UNKNOWN_REFERENCES -/* DWARF2 Unwinding doesn't work with exception handling yet. */ -#define DWARF2_UNWIND_INFO 0 -/* MSVC returns structs of up to 8 bytes via registers. */ - -#undef SUBTARGET_RETURN_IN_MEMORY -#define SUBTARGET_RETURN_IN_MEMORY(TYPE, FNTYPE) \ - (TYPE_MODE (TYPE) == BLKmode || \ - (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes(TYPE) > 8 )) - -#define ASM_LOAD_ADDR(loc, reg) " leal " #loc "," #reg "\n" - -/* The integer half of this list needs to be constant. However, there's - a lot of disagreement about what the floating point adjustments should - be. We pick one that works with gdb. (The underlying problem is - what to do about the segment registers. Since we have access to them - from /proc, we'll allow them to be accessed in gdb, even tho the - gcc compiler can't generate them. (There's some evidence that - MSVC does, but possibly only for certain special "canned" sequences.) */ - -#undef DBX_REGISTER_NUMBER -#define DBX_REGISTER_NUMBER(n) \ -(TARGET_64BIT ? dbx64_register_map[n] \ - : (n) == 0 ? (int) 0 \ - : (n) == 1 ? (int) 2 \ - : (n) == 2 ? (int) 1 \ - : (n) == 3 ? (int) 3 \ - : (n) == 4 ? (int) 6 \ - : (n) == 5 ? (int) 7 \ - : (n) == 6 ? (int) 5 \ - : (n) == 7 ? (int) 4 \ - : stack_regno_p (n) ? (int) (n)+8 \ - : (int) (-1)) - -#define EH_FRAME_THROUGH_COLLECT2 -#define EH_TABLES_CAN_BE_READ_ONLY 0 - -/* the following are OSF linker (not gld) specific... we don't want them */ -#undef HAS_INIT_SECTION -#undef LD_INIT_SWITCH -#undef LD_FINI_SWITCH - -/* The following are needed for us to be able to use winnt.c, but are not - otherwise meaningful to Interix. (The functions that use these are - never called because we don't do DLLs.) */ -#define TARGET_NOP_FUN_DLLIMPORT 1 -#define I386_PE_STRIP_ENCODING(SYM_NAME) \ - ((SYM_NAME) + ((SYM_NAME)[0] == '@' \ - ? ((SYM_NAME)[3] == '*' ? 4 : 3) : 0) \ - + ((SYM_NAME)[0] == '*' ? 1 : 0)) - -#define drectve_section() /* nothing */ - diff --git a/gcc/config/i386/interix.opt b/gcc/config/i386/interix.opt deleted file mode 100644 index bd65432..0000000 --- a/gcc/config/i386/interix.opt +++ /dev/null @@ -1,34 +0,0 @@ -; Interix-specific options. - -; Copyright (C) 2005-2016 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 -; . - -dynamic -Driver - -G -Driver - -posix -Driver - -mpe-aligned-commons -Target Var(use_pe_aligned_common) Init(HAVE_GAS_ALIGNED_COMM) -Use the GNU extension to the PE format for aligned common data. - -; This comment is to ensure we retain the blank line above. diff --git a/gcc/config/i386/t-interix b/gcc/config/i386/t-interix deleted file mode 100644 index 39edbe5..0000000 --- a/gcc/config/i386/t-interix +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (C) 2011-2016 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 -# . - -winnt.o: $(srcdir)/config/i386/winnt.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \ - $(TM_P_H) $(HASH_TABLE_H) $(GGC_H) - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(srcdir)/config/i386/winnt.c - -winnt-stubs.o: $(srcdir)/config/i386/winnt-stubs.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ - $(TM_H) $(RTL_H) $(REGS_H) hard-reg-set.h output.h $(TREE_H) flags.h \ - $(TM_P_H) toplev.h $(HASHTAB_H) $(GGC_H) - $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ - $(srcdir)/config/i386/winnt-stubs.c - diff --git a/gcc/configure b/gcc/configure index bce9ea0..5648eca 100755 --- a/gcc/configure +++ b/gcc/configure @@ -25226,7 +25226,7 @@ _ACEOF esac case $target_os in - cygwin* | pe | mingw32* | interix*) + cygwin* | pe | mingw32*) # Recent binutils allows the three-operand form of ".comm" on PE. This # definition is used unconditionally to initialise the default state of # the target option variable that governs usage of the feature. diff --git a/gcc/configure.ac b/gcc/configure.ac index 6607e76..af40895 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3977,7 +3977,7 @@ changequote([,])dnl Cygwin DLL exports wrappers to support libstdc++ function replacement.]) esac case $target_os in - cygwin* | pe | mingw32* | interix*) + cygwin* | pe | mingw32*) # Recent binutils allows the three-operand form of ".comm" on PE. This # definition is used unconditionally to initialise the default state of # the target option variable that governs usage of the feature. diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index e4c7535..a74b3d6 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -3418,8 +3418,6 @@ information have to. @item @uref{#x-x-cygwin,,*-*-cygwin} @item -@uref{#x-x-interix,,*-*-interix} -@item @uref{#x-x-mingw32,,*-*-mingw32} @item @uref{#os2,,OS/2} @@ -4841,8 +4839,6 @@ and which C libraries are used. @itemize @item Cygwin @uref{#x-x-cygwin,,*-*-cygwin}: Cygwin provides a user-space Linux API emulation layer in the Win32 subsystem. -@item Interix @uref{#x-x-interix,,*-*-interix}: The Interix subsystem -provides native support for POSIX. @item MinGW @uref{#x-x-mingw32,,*-*-mingw32}: MinGW is a native GCC port for the Win32 subsystem that provides a subset of POSIX. @item MKS i386-pc-mks: NuTCracker from MKS. See @@ -4893,16 +4889,6 @@ or version 2.20 or above if building your own. @html
@end html -@anchor{x-x-interix} -@heading *-*-interix -The Interix target is used by OpenNT, Interix, Services For UNIX (SFU), -and Subsystem for UNIX-based Applications (SUA). Applications compiled -with this target run in the Interix subsystem, which is separate from -the Win32 subsystem. This target was last known to work in GCC 3.3. - -@html -
-@end html @anchor{x-x-mingw32} @heading *-*-mingw32 GCC will build with and support only MinGW runtime 3.12 and later. diff --git a/gcc/testsuite/gcc.dg/attr-ms_struct-1.c b/gcc/testsuite/gcc.dg/attr-ms_struct-1.c index 4cbff01..0b1d040 100644 --- a/gcc/testsuite/gcc.dg/attr-ms_struct-1.c +++ b/gcc/testsuite/gcc.dg/attr-ms_struct-1.c @@ -1,5 +1,5 @@ /* Test for MS structure sizes. */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-std=gnu99" } */ diff --git a/gcc/testsuite/gcc.dg/attr-ms_struct-2.c b/gcc/testsuite/gcc.dg/attr-ms_struct-2.c index 5880452..f2534b5 100644 --- a/gcc/testsuite/gcc.dg/attr-ms_struct-2.c +++ b/gcc/testsuite/gcc.dg/attr-ms_struct-2.c @@ -1,5 +1,5 @@ /* Test for MS structure sizes. */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ /* { dg-require-effective-target ilp32 } */ /* { dg-options "-std=gnu99" } */ diff --git a/gcc/testsuite/gcc.dg/attr-ms_struct-packed1.c b/gcc/testsuite/gcc.dg/attr-ms_struct-packed1.c index d885c6f..25388d2 100644 --- a/gcc/testsuite/gcc.dg/attr-ms_struct-packed1.c +++ b/gcc/testsuite/gcc.dg/attr-ms_struct-packed1.c @@ -1,5 +1,5 @@ /* Test for MS structure with packed attribute. */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin* } } +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin* } } /* { dg-options "-std=gnu99" } */ extern void abort (); diff --git a/gcc/testsuite/gcc.dg/bf-ms-attrib.c b/gcc/testsuite/gcc.dg/bf-ms-attrib.c index d62da2a..2da4f03 100644 --- a/gcc/testsuite/gcc.dg/bf-ms-attrib.c +++ b/gcc/testsuite/gcc.dg/bf-ms-attrib.c @@ -3,7 +3,7 @@ posted to GCC-patches http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00577.html */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* } } */ /* We don't want the default "pedantic-errors" in this case, since we're testing nonstandard stuff to begin with. */ diff --git a/gcc/testsuite/gcc.dg/bf-ms-layout-2.c b/gcc/testsuite/gcc.dg/bf-ms-layout-2.c index 408ddbe..53a55e6 100644 --- a/gcc/testsuite/gcc.dg/bf-ms-layout-2.c +++ b/gcc/testsuite/gcc.dg/bf-ms-layout-2.c @@ -5,7 +5,7 @@ posted to GCC-patches http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00577.html */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ /* { dg-options "-D_TEST_MS_LAYOUT" } */ /* This test uses the attribute instead of the command line option. */ diff --git a/gcc/testsuite/gcc.dg/bf-ms-layout-3.c b/gcc/testsuite/gcc.dg/bf-ms-layout-3.c index a4e9ab3..668a036 100644 --- a/gcc/testsuite/gcc.dg/bf-ms-layout-3.c +++ b/gcc/testsuite/gcc.dg/bf-ms-layout-3.c @@ -1,5 +1,5 @@ /* Test for MS bitfield layout */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-* x86_64-*-* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-* x86_64-*-* } } */ extern void abort(); diff --git a/gcc/testsuite/gcc.dg/bf-ms-layout.c b/gcc/testsuite/gcc.dg/bf-ms-layout.c index 109a01b..54909d8 100644 --- a/gcc/testsuite/gcc.dg/bf-ms-layout.c +++ b/gcc/testsuite/gcc.dg/bf-ms-layout.c @@ -5,7 +5,7 @@ posted to GCC-patches http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00577.html */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin* } } */ /* { dg-options "-mms-bitfields -D_TEST_MS_LAYOUT" } */ #include diff --git a/gcc/testsuite/gcc.dg/bf-no-ms-layout.c b/gcc/testsuite/gcc.dg/bf-no-ms-layout.c index 7e55321..80f7f98 100644 --- a/gcc/testsuite/gcc.dg/bf-no-ms-layout.c +++ b/gcc/testsuite/gcc.dg/bf-no-ms-layout.c @@ -5,7 +5,7 @@ posted to GCC-patches http://gcc.gnu.org/ml/gcc-patches/2000-08/msg00577.html */ -/* { dg-do run { target *-*-interix* *-*-mingw* *-*-cygwin* i?86-*-darwin } } */ +/* { dg-do run { target *-*-mingw* *-*-cygwin* i?86-*-darwin } } */ /* { dg-options "-mno-ms-bitfields" } */ #include diff --git a/gcc/testsuite/gcc.target/i386/bitfield1.c b/gcc/testsuite/gcc.target/i386/bitfield1.c index 00b7bfd..e4e06cb 100644 --- a/gcc/testsuite/gcc.target/i386/bitfield1.c +++ b/gcc/testsuite/gcc.target/i386/bitfield1.c @@ -2,7 +2,7 @@ // { dg-do run } // { dg-require-effective-target ia32 } // { dg-options "-O2" } -// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} } +// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-cygwin* i?86-*-mingw*} } extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/bitfield2.c b/gcc/testsuite/gcc.target/i386/bitfield2.c index e400598..db9d284 100644 --- a/gcc/testsuite/gcc.target/i386/bitfield2.c +++ b/gcc/testsuite/gcc.target/i386/bitfield2.c @@ -2,7 +2,7 @@ // { dg-do run } // { dg-require-effective-target ia32 } // { dg-options "-O2" } -// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw* } } +// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-cygwin* i?86-*-mingw* } } extern void abort (void); extern void exit (int); diff --git a/gcc/testsuite/gcc.target/i386/bitfield3.c b/gcc/testsuite/gcc.target/i386/bitfield3.c index 1a16159..3bee7cd 100644 --- a/gcc/testsuite/gcc.target/i386/bitfield3.c +++ b/gcc/testsuite/gcc.target/i386/bitfield3.c @@ -1,7 +1,6 @@ // Test for bitfield alignment in structs on IA-32 // { dg-do run } // { dg-options "-O2" } -// { dg-additional-options "-mno-align-double -mno-ms-bitfields" { target *-*-interix* } } // { dg-additional-options "-mno-ms-bitfields" { target *-*-mingw* } } extern void abort (void); diff --git a/libgcc/config.host b/libgcc/config.host index 7899216..2f55fbd 100644 --- a/libgcc/config.host +++ b/libgcc/config.host @@ -752,9 +752,6 @@ x86_64-*-mingw*) extra_parts="$extra_parts vtv_start.o vtv_end.o vtv_start_preinit.o vtv_end_preinit.o" fi ;; -i[34567]86-*-interix[3-9]*) - tmake_file="$tmake_file i386/t-interix i386/t-chkstk" - ;; ia64*-*-elf*) extra_parts="$extra_parts crtbeginS.o crtendS.o crtfastmath.o" tmake_file="ia64/t-ia64 ia64/t-ia64-elf ia64/t-eh-ia64 t-crtfm" diff --git a/libgcc/config/i386/t-interix b/libgcc/config/i386/t-interix deleted file mode 100644 index 8889e7c..0000000 --- a/libgcc/config/i386/t-interix +++ /dev/null @@ -1,3 +0,0 @@ -# We need to override LIBGCC2_DEBUG_CFLAGS so libgcc2 will be -# built without debugging information -LIBGCC2_DEBUG_CFLAGS =