diff mbox

Remove NetWare support

Message ID yddoc0vmph0.fsf@manam.CeBiTec.Uni-Bielefeld.DE
State New
Headers show

Commit Message

Rainer Orth July 15, 2011, 5:19 p.m. UTC
Paolo Bonzini <bonzini@gnu.org> writes:

> On 07/14/2011 08:40 PM, Rainer Orth wrote:
>> I've got a preliminary NetWare removal patch ready (yet untested), but
>> have a couple of questions:
>>
>> * Given that there's a considerable amount of NetWare support still in
>>    src, toplevel support has to stay.  On the other hand, the reference
>>    in config/elf.m4 is only used for the LTO plugin and can go, I
>>    believe.
>>
>> * The i386 port has some code that seems to be NetWare-specific, namely
>>    KEEP_AGGREGATE_RETURN_POINTER, ix86_keep_aggregate_return_pointer and
>>    the callee_pop_aggregate_return attribute.  I'm uncertain if all this
>>    can go now.
>>
>> * There are references to config/i386/netware.h in gcc/po/*.po.  Do I
>>    need to do anything about this when netware.h is removed?
>
> Since Netware is an x86-only port, I'll leave approval to x86 maintainers.

Ok.  Here's the final patch.  In the meantime, I've found that the
callee_pop_aggregate_return attribute is used for Windows targets, so
I'm only removing the netware reference in extend.texi.

After this patch, the only netware references in-tree are from toplevel
configure.ac (still needed for the netware support in src), config.sub
(from upstream), and gcc/po/*.po for config/i386/netware.h.

Bootstrapped without regressions on i386-pc-solaris2.10 and
x86_64-unknown-linux-gnu.

Ok for mainline?

	Rainer

Comments

Richard Henderson July 15, 2011, 5:59 p.m. UTC | #1
On 07/15/2011 10:19 AM, Rainer Orth wrote:
> After this patch, the only netware references in-tree are from toplevel
> configure.ac (still needed for the netware support in src), config.sub
> (from upstream), and gcc/po/*.po for config/i386/netware.h.
> 
> Bootstrapped without regressions on i386-pc-solaris2.10 and
> x86_64-unknown-linux-gnu.
> 
> Ok for mainline?

Ok by me.


r~
Benjamin Kosnik July 21, 2011, 2:43 a.m. UTC | #2
> diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
> --- a/libstdc++-v3/crossconfig.m4
> +++ b/libstdc++-v3/crossconfig.m4
> @@ -173,14 +173,6 @@ case "${host}" in
>        AC_DEFINE(HAVE_ISNANL)
>      fi
>      ;;
> -  *-netware)
> -    SECTION_FLAGS='-ffunction-sections -fdata-sections'
> -    AC_SUBST(SECTION_FLAGS)
> -    GLIBCXX_CHECK_LINKER_FEATURES
> -    AC_DEFINE(HAVE_HYPOT)
> -    AC_DEFINE(HAVE_ISINF)
> -    AC_DEFINE(HAVE_ISNAN)
> -    ;;
>    *-qnx6.1* | *-qnx6.2*)
>      SECTION_FLAGS='-ffunction-sections -fdata-sections'
>      AC_SUBST(SECTION_FLAGS) 

OK.

-benjamin
diff mbox

Patch

diff --git a/config/elf.m4 b/config/elf.m4
--- a/config/elf.m4
+++ b/config/elf.m4
@@ -1,4 +1,4 @@ 
-dnl Copyright (C) 2010 Free Software Foundation, Inc.
+dnl Copyright (C) 2010, 2011 Free Software Foundation, Inc.
 dnl This file is free software, distributed under the terms of the GNU
 dnl General Public License.  As a special exception to the GNU General
 dnl Public License, this file may be distributed as part of a program
@@ -14,7 +14,7 @@  AC_REQUIRE([AC_CANONICAL_TARGET])
 target_elf=no
 case $target in
   *-darwin* | *-aix* | *-cygwin* | *-mingw* | *-aout* | *-*coff* | \
-  *-msdosdjgpp* | *-netware* | *-vms* | *-wince* | *-*-pe* | \
+  *-msdosdjgpp* | *-vms* | *-wince* | *-*-pe* | \
   alpha*-dec-osf* | *-interix* | hppa[[12]]*-*-hpux*)
     target_elf=no
     ;;
diff --git a/contrib/config-list.mk b/contrib/config-list.mk
--- a/contrib/config-list.mk
+++ b/contrib/config-list.mk
@@ -27,7 +27,7 @@  LIST = alpha-linux-gnu alpha-freebsd6 al
   i486-freebsd4 i686-freebsd6 i686-kfreebsd-gnu \
   i686-netbsdelf9 i686-knetbsd-gnu i686-openbsd i686-openbsd3.0 \
   i686-elf i686-kopensolaris-gnu i686-symbolics-gnu i686-pc-msdosdjgpp \
-  i686-lynxos i586-netwareOPT-with-ld=SCRIPTSnwld i686-nto-qnx \
+  i686-lynxos i686-nto-qnx \
   i686-rtems i686-solaris2.10 i686-wrs-vxworks \
   i686-wrs-vxworksae \
   i686-cygwinOPT-enable-threads=yes i686-mingw32crt ia64-elf \
@@ -72,7 +72,7 @@  LOGFILES = $(patsubst %,log/%-make.out,$
 all: $(LOGFILES)
 config: $(LIST)
 
-.PHONY: make-log-dir make-script-dir all config
+.PHONY: make-log-dir all config
 
 empty=
 
@@ -81,14 +81,7 @@  empty=
 make-log-dir: ../gcc/MAINTAINERS
 	mkdir log
 
-# The 'ix86-netware --with-ld=nwld' configuration needs a nwld executable to
-# configure.  See PR47104.
-make-script-dir:
-	mkdir scripts
-	echo ld $* > scripts/nwld
-	chmod u+x scripts/nwld
-
-$(LIST): make-log-dir make-script-dir
+$(LIST): make-log-dir
 	-mkdir $@
 	(cd $@ && \
 	../../gcc/configure \
diff --git a/gcc/config.gcc b/gcc/config.gcc
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1364,25 +1364,6 @@  i[34567]86-*-lynxos*)
 	gnu_ld=yes
 	gas=yes
 	;;
-i[3456x]86-*-netware*)
-	tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h tm-dwarf2.h i386/netware.h"
- 	tmake_file="${tmake_file} i386/t-netware"
-	extra_objs=netware.o
-	extra_options="${extra_options} i386/netware.opt"
-	case /${with_ld} in
-	*/nwld)
-		extra_objs="$extra_objs nwld.o"
-		tm_file="${tm_file} i386/nwld.h"
-	 	tmake_file="${tmake_file} i386/t-nwld t-slibgcc-dummy"
-		;;
-	esac
-	case x${enable_threads} in
-	x | xyes | xposix) thread_file='posix';;
-	xnks) thread_file='nks';;
-	xno) ;;
-	*) echo 'Unknown thread configuration for NetWare' >&2; exit 1;;
-	esac
-	;;
 i[34567]86-*-nto-qnx*)
 	tm_file="${tm_file} i386/att.h dbxelf.h tm-dwarf2.h elfos.h i386/unix.h i386/nto.h"
 	extra_options="${extra_options} i386/nto.opt"
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -31431,8 +31431,7 @@  ix86_md_asm_clobbers (tree outputs ATTRI
   return clobbers;
 }
 
-/* Implements target vector targetm.asm.encode_section_info.  This
-   is not used by netware.  */
+/* Implements target vector targetm.asm.encode_section_info.  */
 
 static void ATTRIBUTE_UNUSED
 ix86_encode_section_info (tree decl, rtx rtl, int first)
diff --git a/gcc/config/i386/i386.h b/gcc/config/i386/i386.h
--- a/gcc/config/i386/i386.h
+++ b/gcc/config/i386/i386.h
@@ -1131,7 +1131,6 @@  enum target_cpu_default
 /* This is overridden by <cygwin.h>.  */
 #define MS_AGGREGATE_RETURN 0
 
-/* This is overridden by <netware.h>.  */
 #define KEEP_AGGREGATE_RETURN_POINTER 0
 
 /* Define the classes of registers for register constraints in the
diff --git a/gcc/config/i386/netware-libgcc.c b/gcc/config/i386/netware-libgcc.c
deleted file mode 100644
diff --git a/gcc/config/i386/netware-libgcc.def b/gcc/config/i386/netware-libgcc.def
deleted file mode 100644
diff --git a/gcc/config/i386/netware-libgcc.exp b/gcc/config/i386/netware-libgcc.exp
deleted file mode 100644
diff --git a/gcc/config/i386/netware.c b/gcc/config/i386/netware.c
deleted file mode 100644
diff --git a/gcc/config/i386/netware.h b/gcc/config/i386/netware.h
deleted file mode 100644
diff --git a/gcc/config/i386/netware.opt b/gcc/config/i386/netware.opt
deleted file mode 100644
diff --git a/gcc/config/i386/nwld.c b/gcc/config/i386/nwld.c
deleted file mode 100644
diff --git a/gcc/config/i386/nwld.h b/gcc/config/i386/nwld.h
deleted file mode 100644
diff --git a/gcc/config/i386/t-netware b/gcc/config/i386/t-netware
deleted file mode 100644
diff --git a/gcc/config/i386/t-nwld b/gcc/config/i386/t-nwld
deleted file mode 100644
diff --git a/gcc/configure.ac b/gcc/configure.ac
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1340,7 +1340,7 @@  case ${enable_threads} in
     # default
     target_thread_file='single'
     ;;
-  aix | dce | lynx | mipssde | nks | posix | posix95 | rtems | \
+  aix | dce | lynx | mipssde | posix | posix95 | rtems | \
   single | tpf | vxworks | win32)
     target_thread_file=${enable_threads}
     ;;
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -2836,11 +2836,8 @@  On 32-bit i?86-*-* targets, you can cont
 aggregate return in memory, if the caller is responsible to pop the hidden
 pointer together with the rest of the arguments - @var{number} equal to
 zero -, or if the callee is responsible to pop hidden pointer - @var{number}
-equal to one.
-
-For i?86-netware, the caller pops the stack for the hidden arguments pointing
-to aggregate return value.  This differs from the default i386 ABI which assumes
-that the callee pops the stack for hidden pointer.
+equal to one.  The default i386 ABI assumes that the callee pops the
+stack for hidden pointer.
 
 @item ms_hook_prologue
 @cindex @code{ms_hook_prologue} attribute
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1141,8 +1141,6 @@  DCE thread support.
 LynxOS thread support.
 @item mipssde
 MIPS SDE thread support.
-@item nks
-Novell Kernel Services thread support.
 @item no
 This is an alias for @samp{single}.
 @item posix
diff --git a/gcc/gthr-nks.h b/gcc/gthr-nks.h
deleted file mode 100644
diff --git a/gcc/testsuite/g++.dg/ext/bitfield2.C b/gcc/testsuite/g++.dg/ext/bitfield2.C
--- a/gcc/testsuite/g++.dg/ext/bitfield2.C
+++ b/gcc/testsuite/g++.dg/ext/bitfield2.C
@@ -1,7 +1,7 @@ 
 /* { dg-do compile } */
 /* Remove pedantic.  Allow the GCC extension to use char for bitfields.  */
 /* { dg-options "" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-netware i?86-*-mingw* x86_64-*-mingw* } } } */
+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t /* { dg-message "note: offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */
 {
diff --git a/gcc/testsuite/g++.dg/ext/bitfield3.C b/gcc/testsuite/g++.dg/ext/bitfield3.C
--- a/gcc/testsuite/g++.dg/ext/bitfield3.C
+++ b/gcc/testsuite/g++.dg/ext/bitfield3.C
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wno-packed-bitfield-compat" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-netware i?86-*-mingw* x86_64-*-mingw* } } } */
+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
 {
diff --git a/gcc/testsuite/g++.dg/ext/bitfield4.C b/gcc/testsuite/g++.dg/ext/bitfield4.C
--- a/gcc/testsuite/g++.dg/ext/bitfield4.C
+++ b/gcc/testsuite/g++.dg/ext/bitfield4.C
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-netware i?86-*-mingw* x86_64-*-mingw* } } } */
+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t /* { dg-message "note: offset of packed bit-field 't::b' has changed in GCC 4.4" "" { target pcc_bitfield_type_matters } } */
 {
diff --git a/gcc/testsuite/g++.dg/ext/bitfield5.C b/gcc/testsuite/g++.dg/ext/bitfield5.C
--- a/gcc/testsuite/g++.dg/ext/bitfield5.C
+++ b/gcc/testsuite/g++.dg/ext/bitfield5.C
@@ -1,6 +1,6 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wno-packed-bitfield-compat" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-netware i?86-*-mingw* x86_64-*-mingw* } } } */
+/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
 {
diff --git a/gcc/testsuite/g++.dg/other/PR23205.C b/gcc/testsuite/g++.dg/other/PR23205.C
--- a/gcc/testsuite/g++.dg/other/PR23205.C
+++ b/gcc/testsuite/g++.dg/other/PR23205.C
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* *-*-netware* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks } { "*" } { "" } } */
 /* { dg-options "-gstabs+ -fno-eliminate-unused-debug-types" } */
 
 const int foobar = 4;
diff --git a/gcc/testsuite/g++.dg/other/pr23205-2.C b/gcc/testsuite/g++.dg/other/pr23205-2.C
--- a/gcc/testsuite/g++.dg/other/pr23205-2.C
+++ b/gcc/testsuite/g++.dg/other/pr23205-2.C
@@ -1,5 +1,5 @@ 
 /* { dg-do compile } */
-/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* *-*-netware* alpha*-*-* hppa*64*-*-* ia64-*-* } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* } { "*" } { "" } } */
 /* { dg-options "-gstabs+ -fno-eliminate-unused-debug-types -ftoplevel-reorder" } */
 
 const int foobar = 4;
diff --git a/gcc/testsuite/gcc.c-torture/compile/20001109-1.c b/gcc/testsuite/gcc.c-torture/compile/20001109-1.c
--- a/gcc/testsuite/gcc.c-torture/compile/20001109-1.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20001109-1.c
@@ -1,5 +1,3 @@ 
-/* This does not work on NetWare, which has a default of 1-byte alignment.  */
-/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */
 typedef struct _foo foo;
 extern foo bar;
 struct _foo {
diff --git a/gcc/testsuite/gcc.c-torture/compile/20001109-2.c b/gcc/testsuite/gcc.c-torture/compile/20001109-2.c
--- a/gcc/testsuite/gcc.c-torture/compile/20001109-2.c
+++ b/gcc/testsuite/gcc.c-torture/compile/20001109-2.c
@@ -1,5 +1,3 @@ 
-/* This does not work on NetWare, which has a default of 1-byte alignment.  */
-/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */
 extern struct foo bar;
 struct foo {
   int a;
diff --git a/gcc/testsuite/gcc.dg/20040813-1.c b/gcc/testsuite/gcc.dg/20040813-1.c
--- a/gcc/testsuite/gcc.dg/20040813-1.c
+++ b/gcc/testsuite/gcc.dg/20040813-1.c
@@ -2,7 +2,7 @@ 
 /* Contributed by Devang Patel  <dpatel@apple.com>  */
 
 /* { dg-do compile } */
-/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* *-*-netware* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { mmix-*-* *-*-aix* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } } */
 /* { dg-options "-gstabs" } */
 
 int
diff --git a/gcc/testsuite/gcc.dg/bitfld-15.c b/gcc/testsuite/gcc.dg/bitfld-15.c
--- a/gcc/testsuite/gcc.dg/bitfld-15.c
+++ b/gcc/testsuite/gcc.dg/bitfld-15.c
@@ -1,7 +1,6 @@ 
 /* { dg-do compile } */
 /* Remove pedantic.  Allow the GCC extension to use char for bitfields.  */
 /* { dg-options "" } */
-/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
 /* { dg-options "-mno-ms-bitfields -Wno-packed-bitfield-compat" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
diff --git a/gcc/testsuite/gcc.dg/bitfld-16.c b/gcc/testsuite/gcc.dg/bitfld-16.c
--- a/gcc/testsuite/gcc.dg/bitfld-16.c
+++ b/gcc/testsuite/gcc.dg/bitfld-16.c
@@ -1,6 +1,5 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wno-packed-bitfield-compat" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
 /* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
diff --git a/gcc/testsuite/gcc.dg/bitfld-17.c b/gcc/testsuite/gcc.dg/bitfld-17.c
--- a/gcc/testsuite/gcc.dg/bitfld-17.c
+++ b/gcc/testsuite/gcc.dg/bitfld-17.c
@@ -1,6 +1,5 @@ 
 /* { dg-do compile } */
 /* { dg-options "" } */
-/* { dg-options "-mno-ms-bitfields" { target i?86-*-netware } } */
 /* { dg-options "-mno-ms-bitfields -Wno-packed-bitfield-compat" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
diff --git a/gcc/testsuite/gcc.dg/bitfld-18.c b/gcc/testsuite/gcc.dg/bitfld-18.c
--- a/gcc/testsuite/gcc.dg/bitfld-18.c
+++ b/gcc/testsuite/gcc.dg/bitfld-18.c
@@ -1,6 +1,5 @@ 
 /* { dg-do compile } */
 /* { dg-options "-Wno-packed-bitfield-compat" } */
-/* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target i?86-*-netware } } */
 /* { dg-options "-Wno-packed-bitfield-compat -mno-ms-bitfields" { target { i?86-*-mingw* x86_64-*-mingw* } } } */
 
 struct t
diff --git a/gcc/testsuite/gcc.dg/builtins-config.h b/gcc/testsuite/gcc.dg/builtins-config.h
--- a/gcc/testsuite/gcc.dg/builtins-config.h
+++ b/gcc/testsuite/gcc.dg/builtins-config.h
@@ -15,8 +15,6 @@ 
 /* AVR doesn't have the entire C99 runtime.  */
 #elif defined(__FreeBSD__) && (__FreeBSD__ < 9)
 /* FreeBSD up to version 8 lacks support for cexp and friends.  */
-#elif defined(__netware__)
-/* NetWare doesn't have the entire C99 runtime.  */
 #elif defined(__vxworks)
 /* VxWorks doesn't have a full C99 time.  (cabs is missing, for example.)  */
 #elif defined(_WIN32) && !defined(__CYGWIN__)
diff --git a/gcc/testsuite/gcc.dg/cdce1.c b/gcc/testsuite/gcc.dg/cdce1.c
--- a/gcc/testsuite/gcc.dg/cdce1.c
+++ b/gcc/testsuite/gcc.dg/cdce1.c
@@ -1,7 +1,6 @@ 
 /* { dg-do  run  } */
 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details  -lm" } */
-/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details" { target *-*-netware* } } */
-/* { dg-final { scan-tree-dump  "cdce1.c:17: note: function call is shrink-wrapped into error conditions\."  "cdce" } } */
+/* { dg-final { scan-tree-dump  "cdce1.c:16: note: function call is shrink-wrapped into error conditions\."  "cdce" } } */
 /* { dg-final { cleanup-tree-dump "cdce" } } */
 /* { dg-require-effective-target large_double } */
 
diff --git a/gcc/testsuite/gcc.dg/cdce2.c b/gcc/testsuite/gcc.dg/cdce2.c
--- a/gcc/testsuite/gcc.dg/cdce2.c
+++ b/gcc/testsuite/gcc.dg/cdce2.c
@@ -1,8 +1,7 @@ 
 /* { dg-do  run  } */
 /* { dg-skip-if "doubles are floats" { "avr-*-*" } { "*" } { "" } } */
 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details  -lm" } */
-/* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details" { target *-*-netware* } } */
-/* { dg-final { scan-tree-dump  "cdce2.c:17: note: function call is shrink-wrapped into error conditions\." "cdce" } }*/
+/* { dg-final { scan-tree-dump  "cdce2.c:16: note: function call is shrink-wrapped into error conditions\." "cdce" } }*/
 /* { dg-final { cleanup-tree-dump "cdce" } } */
  
 #include <stdlib.h>
diff --git a/gcc/testsuite/gcc.dg/cpp/assert4.c b/gcc/testsuite/gcc.dg/cpp/assert4.c
--- a/gcc/testsuite/gcc.dg/cpp/assert4.c
+++ b/gcc/testsuite/gcc.dg/cpp/assert4.c
@@ -128,14 +128,6 @@ 
 # error
 #endif
 
-#if defined __netware__
-# if !#system(netware)
-#  error
-# endif
-#elif #system(netware)
-# error
-#endif
-
 
 /* Check for #cpu and #machine assertions.  */
 
diff --git a/gcc/testsuite/gcc.dg/debug/pr35154.c b/gcc/testsuite/gcc.dg/debug/pr35154.c
--- a/gcc/testsuite/gcc.dg/debug/pr35154.c
+++ b/gcc/testsuite/gcc.dg/debug/pr35154.c
@@ -23,7 +23,7 @@  main()
    optb.f2 = 'D';
    i_outer = 'e';
 /* { dg-do compile } */
-/* { dg-skip-if "No stabs" { mmix-*-* *-*-netware* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } } */
+/* { dg-skip-if "No stabs" { mmix-*-* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } } */
 /* { dg-skip-if "stabs only" { *-*-* } { "*" } { "-gstabs" } } */
    return 0;
 }
diff --git a/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f b/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f
--- a/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f
+++ b/gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f
@@ -1,6 +1,6 @@ 
 C     Test program for common block debugging.  G. Helffrich 11 July 2004.
 C { dg-do compile }
-C { dg-skip-if "No stabs" { mmix-*-* *-*-netware* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } }
+C { dg-skip-if "No stabs" { mmix-*-* alpha*-*-* hppa*64*-*-* ia64-*-* *-*-vxworks* } { "*" } { "" } }
 C { dg-skip-if "No stabs" {*-*-* } { "*" } { "-gstabs" } }
       common i,j
       common /label/l,m
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -290,11 +290,6 @@  proc check_weak_override_available { } {
 # The argument is the kind of visibility, default/protected/hidden/internal.
 
 proc check_visibility_available { what_kind } {
-    # On NetWare, support makes no sense.
-    if { [istarget *-*-netware*] } {
-        return 0
-    }
-
     if [string match "" $what_kind] { set what_kind "hidden" }
 
     return [check_no_compiler_messages visibility_available_$what_kind object "
@@ -570,7 +565,6 @@  proc check_profiling_available { test_wh
 	     || [istarget rx-*-*]	
 	     || [istarget xstormy16-*]
 	     || [istarget xtensa*-*-elf]
-	     || [istarget *-*-netware*]
 	     || [istarget *-*-rtems*]
 	     || [istarget *-*-vxworks*] } {
 	    set profiling_available_saved 0
diff --git a/libgcc/config.host b/libgcc/config.host
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -372,14 +372,6 @@  i[34567]86-pc-msdosdjgpp*)
 	;;
 i[34567]86-*-lynxos*)
 	;;
-i[3456x]86-*-netware*)
-	case /${with_ld} in
-	*/nwld)
-	 	tmake_file="${tmake_file} i386/t-nwld i386/t-slibgcc-nwld"
-		extra_parts="${extra_parts} crt0.o libgcc.def libc.def libcpre.def posixpre.def"
-		;;
-	esac
-	;;
 i[34567]86-*-nto-qnx*)
 	;;
 i[34567]86-*-rtems*)
diff --git a/libgcc/config/i386/netware-crt0.c b/libgcc/config/i386/netware-crt0.c
deleted file mode 100644
--- a/libgcc/config/i386/netware-crt0.c
diff --git a/libgcc/config/i386/t-nwld b/libgcc/config/i386/t-nwld
deleted file mode 100644
diff --git a/libgcc/config/i386/t-slibgcc-nwld b/libgcc/config/i386/t-slibgcc-nwld
deleted file mode 100644
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -173,14 +173,6 @@  case "${host}" in
       AC_DEFINE(HAVE_ISNANL)
     fi
     ;;
-  *-netware)
-    SECTION_FLAGS='-ffunction-sections -fdata-sections'
-    AC_SUBST(SECTION_FLAGS)
-    GLIBCXX_CHECK_LINKER_FEATURES
-    AC_DEFINE(HAVE_HYPOT)
-    AC_DEFINE(HAVE_ISINF)
-    AC_DEFINE(HAVE_ISNAN)
-    ;;
   *-qnx6.1* | *-qnx6.2*)
     SECTION_FLAGS='-ffunction-sections -fdata-sections'
     AC_SUBST(SECTION_FLAGS)