aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2011-07-18 11:04:18 +0000
committerRainer Orth <ro@gcc.gnu.org>2011-07-18 11:04:18 +0000
commite44dbbe18b497d775d0b7efab7fcd08486f1a1fa (patch)
tree8e1e15f83a5ed0a31b0530d2200e240be5794e92 /gcc
parentc27e3f60a67506df855e792f0703409fbd593611 (diff)
downloadgcc-e44dbbe18b497d775d0b7efab7fcd08486f1a1fa.zip
gcc-e44dbbe18b497d775d0b7efab7fcd08486f1a1fa.tar.gz
gcc-e44dbbe18b497d775d0b7efab7fcd08486f1a1fa.tar.bz2
re PR debug/23205 ([C++/unit-at-a-time] stabs debug info omitted for global const variables)
toplevel: * configure: Regenerate. config: * elf.m4 (target_elf): Remove *-netware*. contrib: * config-list.mk (i586-netware): Remove. (.PHONY): Remove make-script-dir dependency. (make-script-dir): Remove. ($(LIST)): Remove make-script-dir dependency. gcc: * config.gcc (i[3456x]86-*-netware*): Remove. * gthr-nks.h: Remove. * configure.ac (enable_threads): Remove nks. * configure: Regenerate. * config/i386/i386.c (ix86_encode_section_info): Remove netware reference. * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove <netware.h> reference. * config/i386/netware-libgcc.c, gcc/config/i386/netware-libgcc.def, gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c, gcc/config/i386/netware.h, gcc/config/i386/netware.opt, gcc/config/i386/nwld.c, gcc/config/i386/nwld.h, gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove * doc/extend.texi (Function Attributes, callee_pop_aggregate_return): Remove i?86-netware reference. * doc/install.texi (Configuration, --enable-threads): Remove nks. gcc/testsuite: * g++.dg/ext/bitfield2.C: Remove i?86-*-netware support. * g++.dg/ext/bitfield3.C: Likewise. * g++.dg/ext/bitfield4.C: Likewise. * g++.dg/ext/bitfield5.C: Likewise. * g++.dg/other/PR23205.C: Remove *-*-netware* support. * g++.dg/other/pr23205-2.C: Likewise. * gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if. * gcc.c-torture/compile/20001109-2.c: Likewise. * gcc.dg/20040813-1.c: Remove *-*-netware* support. * gcc.dg/bitfld-15.c: Remove i?86-*-netware support. * gcc.dg/bitfld-16.c: Likewise. * gcc.dg/bitfld-17.c: Likewise. * gcc.dg/bitfld-18.c: Likewise. * gcc.dg/builtins-config.h: Remove Netware support. * gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number. * gcc.dg/cdce2.c: Likewise. * gcc.dg/cpp/assert4.c: Remove netware support. * gcc.dg/debug/pr35154.c: Remove *-*-netware* support. * gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support. * lib/target-supports.exp (check_visibility_available): Remove NetWare support. (check_profiling_available): Likewise. libgcc: * config.host (i[3456x]86-*-netware*): Remove. * config/i386/netware-crt0.c, config/i386/t-nwld, config/i386/t-slibgcc-nwld: Remove. libstdc++-v3: * crossconfig.m4 (*-netware): Remove. * configure: Regenerate. From-SVN: r176391
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog24
-rw-r--r--gcc/config.gcc19
-rw-r--r--gcc/config/i386/i386.c3
-rw-r--r--gcc/config/i386/i386.h1
-rw-r--r--gcc/config/i386/netware-libgcc.c58
-rw-r--r--gcc/config/i386/netware-libgcc.def2
-rw-r--r--gcc/config/i386/netware-libgcc.exp83
-rw-r--r--gcc/config/i386/netware.c237
-rw-r--r--gcc/config/i386/netware.h175
-rw-r--r--gcc/config/i386/netware.opt33
-rw-r--r--gcc/config/i386/nwld.c73
-rw-r--r--gcc/config/i386/nwld.h69
-rw-r--r--gcc/config/i386/t-netware10
-rw-r--r--gcc/config/i386/t-nwld22
-rwxr-xr-xgcc/configure2
-rw-r--r--gcc/configure.ac2
-rw-r--r--gcc/doc/extend.texi7
-rw-r--r--gcc/doc/install.texi2
-rw-r--r--gcc/gthr-nks.h397
-rw-r--r--gcc/testsuite/ChangeLog26
-rw-r--r--gcc/testsuite/g++.dg/ext/bitfield2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/bitfield3.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/bitfield4.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/bitfield5.C2
-rw-r--r--gcc/testsuite/g++.dg/other/PR23205.C2
-rw-r--r--gcc/testsuite/g++.dg/other/pr23205-2.C2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20001109-1.c2
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/20001109-2.c2
-rw-r--r--gcc/testsuite/gcc.dg/20040813-1.c2
-rw-r--r--gcc/testsuite/gcc.dg/bitfld-15.c1
-rw-r--r--gcc/testsuite/gcc.dg/bitfld-16.c1
-rw-r--r--gcc/testsuite/gcc.dg/bitfld-17.c1
-rw-r--r--gcc/testsuite/gcc.dg/bitfld-18.c1
-rw-r--r--gcc/testsuite/gcc.dg/builtins-config.h2
-rw-r--r--gcc/testsuite/gcc.dg/cdce1.c3
-rw-r--r--gcc/testsuite/gcc.dg/cdce2.c3
-rw-r--r--gcc/testsuite/gcc.dg/cpp/assert4.c8
-rw-r--r--gcc/testsuite/gcc.dg/debug/pr35154.c2
-rw-r--r--gcc/testsuite/gfortran.dg/debug/pr35154-stabs.f2
-rw-r--r--gcc/testsuite/lib/target-supports.exp6
40 files changed, 66 insertions, 1227 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c7a7c89..6026f4a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,27 @@
+2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * config.gcc (i[3456x]86-*-netware*): Remove.
+
+ * gthr-nks.h: Remove.
+ * configure.ac (enable_threads): Remove nks.
+ * configure: Regenerate.
+
+ * config/i386/i386.c (ix86_encode_section_info): Remove netware
+ reference.
+ * config/i386/i386.h (KEEP_AGGREGATE_RETURN_POINTER): Remove
+ <netware.h> reference.
+
+ * config/i386/netware-libgcc.c,
+ gcc/config/i386/netware-libgcc.def,
+ gcc/config/i386/netware-libgcc.exp, gcc/config/i386/netware.c,
+ gcc/config/i386/netware.h, gcc/config/i386/netware.opt,
+ gcc/config/i386/nwld.c, gcc/config/i386/nwld.h,
+ gcc/config/i386/t-netware, gcc/config/i386/t-nwld: Remove
+
+ * doc/extend.texi (Function Attributes,
+ callee_pop_aggregate_return): Remove i?86-netware reference.
+ * doc/install.texi (Configuration, --enable-threads): Remove nks.
+
2011-07-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/49746
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 0ca4f78..109a267 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1368,25 +1368,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
index f643efcd..3187f85 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -31431,8 +31431,7 @@ ix86_md_asm_clobbers (tree outputs ATTRIBUTE_UNUSED,
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
index f532bad..4c7df9d 100644
--- 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
index 0925d87..0000000
--- a/gcc/config/i386/netware-libgcc.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Startup code for libgcc_s.nlm, necessary because we can't allow
- libgcc_s to use libc's malloc & Co., which associate allocations
- with the NLM owning the current (application) thread.
- Contributed by Jan Beulich (jbeulich@novell.com)
- Copyright (C) 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/>. */
-
-#include <netware.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <windows.h>
-
-static rtag_t allocRTag;
-
-BOOL
-DllMain (HINSTANCE libraryId __attribute__ ((__unused__)),
- DWORD reason, void *hModule)
-{
- switch (reason)
- {
- case DLL_NLM_STARTUP:
- allocRTag = AllocateResourceTag (hModule,
- "libgcc memory", AllocSignature);
- return allocRTag != NULL;
- case DLL_NLM_SHUTDOWN:
- /* This does not recover resources associated with the tag...
- ReturnResourceTag (allocRTag, 0); */
- break;
- }
- return 1;
-}
-
-void *
-malloc (size_t size)
-{
- return AllocSleepOK (size, allocRTag, NULL);
-}
-
-void
-free (void *ptr)
-{
- Free (ptr);
-}
diff --git a/gcc/config/i386/netware-libgcc.def b/gcc/config/i386/netware-libgcc.def
deleted file mode 100644
index a545631..0000000
--- a/gcc/config/i386/netware-libgcc.def
+++ /dev/null
@@ -1,2 +0,0 @@
-description "gcc runtime and intrinsics support"
-copyright "Copyright (C) 1989-2005 Free Software Foundation, Inc."
diff --git a/gcc/config/i386/netware-libgcc.exp b/gcc/config/i386/netware-libgcc.exp
deleted file mode 100644
index 309cf75..0000000
--- a/gcc/config/i386/netware-libgcc.exp
+++ /dev/null
@@ -1,83 +0,0 @@
-# libgcc_s.nlm exports
- (libgcc2),
- __absvdi2,
- __absvsi2,
- __addvdi3,
- __addvsi3,
-# __ashldi3,
-# __ashrdi3,
- __bswapdi2,
- __bswapsi2,
- __clzdi2,
- __clzsi2,
- __ctzdi2,
- __ctzsi2,
- __deregister_frame,
- __deregister_frame_info,
- __deregister_frame_info_bases,
- __divdc3,
-# __divdi3,
- __divsc3,
-# __divtc3,
- __divxc3,
- __emutls_get_address,
- __emutls_register_common,
- __ffsdi2,
- __ffssi2,
- __fixunsdfdi,
- __fixunssfdi,
-# __fixunstfdi,
- __fixunsxfdi,
- __floatundisf,
- __floatundidf,
-# __floatunditf,
- __floatundixf,
- __gcc_bcmp,
- __gcc_personality_v0,
-# __lshrdi3,
-# __moddi3,
- __muldc3,
-# __muldi3,
- __mulsc3,
-# __multc3,
- __mulvdi3,
- __mulvsi3,
- __mulxc3,
- __negvdi2,
- __negvsi2,
- __paritydi2,
- __paritysi2,
- __popcountdi2,
- __popcountsi2,
- __powidf2
- __powisf2
-# __powitf2
- __powixf2
- __register_frame,
- __register_frame_info,
- __register_frame_info_bases,
- __register_frame_info_table,
- __register_frame_info_table_bases,
- __register_frame_table,
- __subvdi3,
- __subvsi3,
-# __umoddi3,
-# __udivdi3,
- _Unwind_Backtrace,
- _Unwind_DeleteException,
- _Unwind_FindEnclosingFunction,
- _Unwind_Find_FDE,
- _Unwind_ForcedUnwind,
- _Unwind_GetCFA,
- _Unwind_GetDataRelBase,
- _Unwind_GetGR,
- _Unwind_GetIP,
- _Unwind_GetIPInfo,
- _Unwind_GetLanguageSpecificData,
- _Unwind_GetRegionStart,
- _Unwind_GetTextRelBase,
- _Unwind_RaiseException,
- _Unwind_Resume,
- _Unwind_Resume_or_Rethrow,
- _Unwind_SetGR,
- _Unwind_SetIP
diff --git a/gcc/config/i386/netware.c b/gcc/config/i386/netware.c
deleted file mode 100644
index 5a0f9d5..0000000
--- a/gcc/config/i386/netware.c
+++ /dev/null
@@ -1,237 +0,0 @@
-/* Subroutines for insn-output.c for NetWare.
- Contributed by Jan Beulich (jbeulich@novell.com)
- Copyright (C) 2004, 2005, 2007, 2008, 2009, 2010
- 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/>. */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "flags.h"
-#include "tm_p.h"
-#include "diagnostic-core.h"
-#include "langhooks.h"
-#include "ggc.h"
-
-/* Return string which is the function name, identified by ID, modified
- with PREFIX and a suffix consisting of an atsign (@) followed by the
- number of bytes of arguments. If ID is NULL use the DECL_NAME as base.
- Return NULL if no change required. */
-
-static tree
-gen_stdcall_or_fastcall_decoration (tree decl, tree id, char prefix)
-{
- unsigned HOST_WIDE_INT total = 0;
- const char *old_str = IDENTIFIER_POINTER (id != NULL_TREE ? id : DECL_NAME (decl));
- char *new_str;
- tree type = TREE_TYPE (decl);
-
- if (prototype_p (type))
- {
- tree arg;
- function_args_iterator args_iter;
-
- /* This attribute is ignored for variadic functions. */
- if (stdarg_p (type))
- return NULL_TREE;
-
- /* Quit if we hit an incomplete type. Error is reported
- by convert_arguments in c-typeck.c or cp/typeck.c. */
- FOREACH_FUNCTION_ARGS(type, arg, args_iter)
- {
- HOST_WIDE_INT parm_size;
- unsigned HOST_WIDE_INT parm_boundary_bytes;
-
- if (! COMPLETE_TYPE_P (arg))
- break;
-
- parm_size = int_size_in_bytes (arg);
- if (parm_size < 0)
- break;
-
- parm_boundary_bytes = PARM_BOUNDARY / BITS_PER_UNIT;
-
- /* Must round up to include padding. This is done the same
- way as in store_one_arg. */
- total += (parm_size + parm_boundary_bytes - 1)
- / parm_boundary_bytes * parm_boundary_bytes;
- }
- }
-
- new_str = XALLOCAVEC (char, 1 + strlen (old_str) + 1 + 10 + 1);
- sprintf (new_str, "%c%s@" HOST_WIDE_INT_PRINT_UNSIGNED,
- prefix, old_str, total);
-
- return get_identifier (new_str);
-}
-
-/* Return string which is the function name, identified by ID, modified
- with an _n@ prefix (where n represents the number of arguments passed in
- registers). If ID is NULL use the DECL_NAME as base.
- Return NULL if no change required. */
-
-static tree
-gen_regparm_prefix (tree decl, tree id, unsigned int nregs)
-{
- unsigned HOST_WIDE_INT total = 0;
- const char *old_str = IDENTIFIER_POINTER (id != NULL_TREE ? id : DECL_NAME (decl));
- char *new_str;
- tree type = TREE_TYPE (decl);
-
- if (prototype_p (type))
- {
- tree arg;
- function_args_iterator args_iter;
-
- /* This attribute is ignored for variadic functions. */
- if (stdarg_p (type))
- return NULL_TREE;
-
- /* Quit if we hit an incomplete type. Error is reported
- by convert_arguments in c-typeck.c or cp/typeck.c. */
- FOREACH_FUNCTION_ARGS(type, arg, args_iter)
- {
- HOST_WIDE_INT parm_size;
- unsigned HOST_WIDE_INT parm_boundary_bytes;
-
- if (! COMPLETE_TYPE_P (arg))
- break;
-
- parm_size = int_size_in_bytes (arg);
- if (parm_size < 0)
- break;
-
- parm_boundary_bytes = PARM_BOUNDARY / BITS_PER_UNIT;
-
- /* Must round up to include padding. This is done the same
- way as in store_one_arg. */
- total += (parm_size + parm_boundary_bytes - 1)
- / parm_boundary_bytes * parm_boundary_bytes;
- }
- }
-
- if (nregs > total / UNITS_PER_WORD)
- nregs = total / UNITS_PER_WORD;
- gcc_assert (nregs <= 9);
- new_str = XALLOCAVEC (char, 3 + strlen (old_str) + 1);
- sprintf (new_str, "_%u@%s", nregs, old_str);
-
- return get_identifier (new_str);
-}
-
-/* Maybe decorate and get a new identifier for the DECL of a stdcall or
- fastcall function. The original identifier is supplied in ID. */
-
-static tree
-i386_nlm_maybe_mangle_decl_assembler_name (tree decl, tree id)
-{
- tree type_attributes = TYPE_ATTRIBUTES (TREE_TYPE (decl));
- tree new_id;
- unsigned int ccvt = ix86_get_callcvt (TREE_TYPE (decl));
-
- if ((ccvt & IX86_CALLCVT_STDCALL) != 0)
- {
- if (TARGET_RTD)
- /* If we are using -mrtd emit undecorated symbol and let linker
- do the proper resolving. */
- return NULL_TREE;
- new_id = gen_stdcall_or_fastcall_decoration (decl, id, '_');
- }
- else if ((ccvt & IX86_CALLCVT_FASTCALL) != 0)
- new_id = gen_stdcall_or_fastcall_decoration (decl, id, FASTCALL_PREFIX);
- else if ((ccvt & IX86_CALLCVT_REGPARM) != 0
- && (new_id = lookup_attribute ("regparm", type_attributes)))
- new_id = gen_regparm_prefix (decl, id,
- TREE_INT_CST_LOW (TREE_VALUE (TREE_VALUE (new_id))));
- else
- new_id = NULL_TREE;
-
- return new_id;
-}
-
-/* This is used as a target hook to modify the DECL_ASSEMBLER_NAME
- in the language-independent default hook
- langhooks.c:lhd_set_decl_assembler_name ()
- and in cp/mangle.c:mangle_decl (). */
-tree
-i386_nlm_mangle_decl_assembler_name (tree decl, tree id)
-{
- tree new_id = TREE_CODE (decl) == FUNCTION_DECL
- ? i386_nlm_maybe_mangle_decl_assembler_name (decl, id)
- : NULL_TREE;
-
- return (new_id ? new_id : id);
-}
-
-void
-i386_nlm_encode_section_info (tree decl, rtx rtl, int first)
-{
- default_encode_section_info (decl, rtl, first);
-
- if (TREE_CODE (decl) == FUNCTION_DECL
- /* Do not change the identifier if a verbatim asmspec
- or if stdcall suffix already added. */
- && *IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)) != '*'
- && !strchr (IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (decl)), '@')
- /* FIXME: Imported stdcall names are not modified by the Ada frontend.
- Check and decorate the RTL name now. */
- && strcmp (lang_hooks.name, "GNU Ada") == 0)
- {
- rtx symbol = XEXP (rtl, 0);
- tree new_id;
- tree old_id = DECL_ASSEMBLER_NAME (decl);
-
- gcc_assert (GET_CODE (symbol) == SYMBOL_REF);
-
- if ((new_id = i386_nlm_maybe_mangle_decl_assembler_name (decl, old_id)))
- XSTR (symbol, 0) = IDENTIFIER_POINTER (new_id);
- }
-}
-
-/* Strip the stdcall/fastcall/regparm pre-/suffix. */
-
-const char *
-i386_nlm_strip_name_encoding (const char *str)
-{
- const char *name = default_strip_name_encoding (str);
-
- if (*str != '*' && (*name == '_' || *name == '@'))
- {
- const char *p = strchr (name + 1, '@');
-
- if (p)
- {
- ++name;
- if (ISDIGIT (p[1]))
- name = ggc_alloc_string (name, p - name);
- else
- {
- gcc_assert (ISDIGIT (*name));
- name++;
- gcc_assert (name == p);
- }
- }
- }
- return name;
-}
diff --git a/gcc/config/i386/netware.h b/gcc/config/i386/netware.h
deleted file mode 100644
index f377fb5..0000000
--- a/gcc/config/i386/netware.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/* Core target definitions for GCC for Intel 80x86 running Netware.
- and using dwarf for the debugging format.
- Copyright (C) 1993, 1994, 2004, 2007, 2008, 2009, 2010, 2011
- Free Software Foundation, Inc.
-
- Written by David V. Henkel-Wallace (gumby@cygnus.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 CPP_SPEC
-#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
-
-#undef ASM_SPEC
-#define ASM_SPEC ""
-
-#undef LIB_SPEC
-#define LIB_SPEC ""
-
-/* Kinda useless, but what the hell */
-#undef LINK_SPEC
-#define LINK_SPEC "%{h*} %{v:-V}"
-
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC ""
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC ""
-
-#undef RELATIVE_PREFIX_NOT_LINKDIR
-#undef LIBGCC_SPEC
-
-#define TARGET_OS_CPP_BUILTINS() \
- do \
- { \
- builtin_define_std ("IAPX386"); \
- builtin_define ("_M_IX86=300"); \
- builtin_define ("__netware__"); \
- builtin_assert ("system=netware"); \
- builtin_define ("__ELF__"); \
- builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
- builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
- builtin_define ("__fastcall=__attribute__((__fastcall__))"); \
- if (!flag_iso) \
- { \
- builtin_define ("_cdecl=__attribute__((__cdecl__))"); \
- builtin_define ("_stdcall=__attribute__((__stdcall__))"); \
- builtin_define ("_fastcall=__attribute__((__fastcall__))"); \
- } \
- } \
- while (0)
-
-#undef TARGET_CPU_DEFAULT
-#define TARGET_CPU_DEFAULT TARGET_CPU_DEFAULT_pentium4
-
-/* By default, target has a 80387, uses IEEE compatible arithmetic,
- returns float values in the 387, and uses MSVC bit field layout. */
-#undef TARGET_SUBTARGET_DEFAULT
-#define TARGET_SUBTARGET_DEFAULT (MASK_80387 | MASK_IEEE_FP | \
- MASK_FLOAT_RETURNS | MASK_ALIGN_DOUBLE | MASK_MS_BITFIELD_LAYOUT)
-
-/* Don't allow flag_pic to propagate since invalid relocations will
- result otherwise. */
-#define SUBTARGET_OVERRIDE_OPTIONS \
-do { \
- if (flag_pic) \
- { \
- error ("-fPIC and -fpic are not supported for this target"); \
- flag_pic = 0; \
- } \
-} while (0)
-
-#undef MATH_LIBRARY
-#define MATH_LIBRARY ""
-
-/* Align doubles and long-longs in structures on qword boundaries. */
-#undef BIGGEST_FIELD_ALIGNMENT
-#define BIGGEST_FIELD_ALIGNMENT 64
-
-#undef DEFAULT_PCC_STRUCT_RETURN
-#define DEFAULT_PCC_STRUCT_RETURN 0
-
-/* Implicit arguments pointing to aggregate return values are to be
- removed by the caller. */
-#undef KEEP_AGGREGATE_RETURN_POINTER
-#define KEEP_AGGREGATE_RETURN_POINTER 1
-
-#undef ASM_COMMENT_START
-#define ASM_COMMENT_START "#"
-
-#undef DBX_REGISTER_NUMBER
-#define DBX_REGISTER_NUMBER(n) (svr4_dbx_register_map[n])
-
-/* Default structure packing is 1-byte. */
-#define TARGET_DEFAULT_PACK_STRUCT 1
-
-#undef SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef WCHAR_TYPE
-#define WCHAR_TYPE "short unsigned int"
-
-#undef WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE 16
-
-#undef WINT_TYPE
-#define WINT_TYPE "int"
-
-/* 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)
-
-/* 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)
-
-/* there is no TLS support in NLMs/on NetWare */
-#undef HAVE_AS_TLS
-
-#define HAS_INIT_SECTION
-#undef INIT_SECTION_ASM_OP
-
-#define CTOR_LISTS_DEFINED_EXTERNALLY
-
-#undef READONLY_DATA_SECTION_ASM_OP
-#define READONLY_DATA_SECTION_ASM_OP ".section\t.rodata"
-
-/* Define this macro if references to a symbol must be treated
- differently depending on something about the variable or
- function named by the symbol (such as what section it is in).
-
- On i386 running NetWare, modify the assembler name with an underscore (_)
- or atsign (@) prefix and a suffix consisting of an atsign (@) followed by
- a string of digits that represents the number of bytes of arguments passed
- to the function, if it has the attribute STDCALL. Alternatively, if it has
- the REGPARM attribute, prefix it with an underscore (_), a digit
- representing the number of registers used, and an atsign (@). */
-void i386_nlm_encode_section_info (tree, rtx, int);
-extern tree i386_nlm_mangle_decl_assembler_name (tree, tree);
-const char *i386_nlm_strip_name_encoding (const char *);
-#define SUBTARGET_ENCODE_SECTION_INFO i386_nlm_encode_section_info
-#define TARGET_MANGLE_DECL_ASSEMBLER_NAME i386_nlm_mangle_decl_assembler_name
-#undef TARGET_STRIP_NAME_ENCODING
-#define TARGET_STRIP_NAME_ENCODING i386_nlm_strip_name_encoding
-
-#define TARGET_POSIX_IO
diff --git a/gcc/config/i386/netware.opt b/gcc/config/i386/netware.opt
deleted file mode 100644
index e1d903a..0000000
--- a/gcc/config/i386/netware.opt
+++ /dev/null
@@ -1,33 +0,0 @@
-; Netware options.
-
-; Copyright (C) 2011
-; 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/>.
-
-; See the GCC internals manual (options.texi) for a description of
-; this file's format.
-
-; Please try to keep this file in ASCII collating order.
-
-posix
-Driver
-
-pthread
-Driver
-
-; This comment is to ensure we retain the blank line above.
diff --git a/gcc/config/i386/nwld.c b/gcc/config/i386/nwld.c
deleted file mode 100644
index 05d1a92..0000000
--- a/gcc/config/i386/nwld.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Subroutines for insn-output.c for NetWare.
- Contributed by Jan Beulich (jbeulich@novell.com)
- Copyright (C) 2004, 2007, 2010 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/>. */
-
-#include "config.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "rtl.h"
-#include "regs.h"
-#include "hard-reg-set.h"
-#include "output.h"
-#include "tree.h"
-#include "flags.h"
-#include "tm_p.h"
-#include "diagnostic-core.h"
-
-void
-nwld_named_section_asm_out_constructor (rtx symbol, int priority)
-{
-#if !SUPPORTS_INIT_PRIORITY
- const char section[] = ".ctors"TARGET_SUB_SECTION_SEPARATOR;
-#else
- char section[20];
-
- sprintf (section,
- ".ctors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
- /* Invert the numbering so the linker puts us in the proper
- order; constructors are run from right to left, and the
- linker sorts in increasing order. */
- MAX_INIT_PRIORITY - priority);
-#endif
-
- switch_to_section (get_section (section, 0, NULL));
- assemble_align (POINTER_SIZE);
- assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
-}
-
-void
-nwld_named_section_asm_out_destructor (rtx symbol, int priority)
-{
-#if !SUPPORTS_INIT_PRIORITY
- const char section[] = ".dtors"TARGET_SUB_SECTION_SEPARATOR;
-#else
- char section[20];
-
- sprintf (section, ".dtors"TARGET_SUB_SECTION_SEPARATOR"%.5u",
- /* Invert the numbering so the linker puts us in the proper
- order; destructors are run from left to right, and the
- linker sorts in increasing order. */
- MAX_INIT_PRIORITY - priority);
-#endif
-
- switch_to_section (get_section (section, 0, NULL));
- assemble_align (POINTER_SIZE);
- assemble_integer (symbol, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE, 1);
-}
diff --git a/gcc/config/i386/nwld.h b/gcc/config/i386/nwld.h
deleted file mode 100644
index 6d8e54f..0000000
--- a/gcc/config/i386/nwld.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* nwld.h -- defines to be used when targeting GCC for some generic NetWare
- system while using the Novell linker.
- Copyright (C) 2004, 2007, 2010, 2011 Free Software Foundation, Inc.
-
- Written by Jan Beulich (jbeulich@novell.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 LIB_SPEC
-#define LIB_SPEC "-lc --def-file libc.def%s"
-
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC "-lgcc %{!static-libgcc:--def-file libgcc.def%s}"
-
-#undef LINKER_NAME
-#define LINKER_NAME "nwld"
-
-#undef LINK_SPEC
-#define LINK_SPEC "--format:NLM --extensions:GNU" \
- " %{static:%{!nostdlib:%{!nodefaultlibs:%estatic linking is not supported\n}}}"
-
-#undef LINK_GCC_C_SEQUENCE_SPEC
-#define LINK_GCC_C_SEQUENCE_SPEC "%L %G"
-
-/* In order to permit the linker to derive the output filename from the first
- input file, put the common startup code as the last object. */
-#undef STARTFILE_SPEC
-#define STARTFILE_SPEC ""
-
-#undef ENDFILE_SPEC
-#define ENDFILE_SPEC "crt0%O%s ../imports/%{!posix:libc}%{posix:posix}pre.gcc%O%s" \
- " --def-file %{!posix:libc}%{posix:posix}pre.def%s"
-
-#define DRIVER_SELF_SPECS "%{!static-libgcc:-shared-libgcc}"
-
-#define TARGET_SUB_SECTION_SEPARATOR "$"
-
-void nwld_named_section_asm_out_constructor (rtx, int);
-void nwld_named_section_asm_out_destructor (rtx, int);
-
-#define TARGET_ASM_CONSTRUCTOR nwld_named_section_asm_out_constructor
-#define TARGET_ASM_DESTRUCTOR nwld_named_section_asm_out_destructor
-
-#define SUBSUBTARGET_OVERRIDE_OPTIONS \
-do { \
- /* XXX This can be enabled once gas output meets nwld's needs. */ \
- /* if (!flag_unwind_tables && !flag_exceptions) */ \
- flag_dwarf2_cfi_asm = 0; \
-} while (0)
-
-#undef EH_FRAME_SECTION_NAME
-#define EH_FRAME_SECTION_NAME ".eh_frame"TARGET_SUB_SECTION_SEPARATOR
-
-/* nwld does not currently support stabs debug info */
-#undef DBX_DEBUGGING_INFO
diff --git a/gcc/config/i386/t-netware b/gcc/config/i386/t-netware
deleted file mode 100644
index 405c98f..0000000
--- a/gcc/config/i386/t-netware
+++ /dev/null
@@ -1,10 +0,0 @@
-TARGET_LIBGCC2_CFLAGS = -mpreferred-stack-boundary=2 -fomit-frame-pointer
-
-netware.o: $(srcdir)/config/i386/netware.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_P_H)
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(srcdir)/config/i386/netware.c
-
-# We don't need some of GCC's own include files.
-USER_H = $(srcdir)/ginclude/stdarg.h \
- $(srcdir)/ginclude/varargs.h \
- $(EXTRA_HEADERS) $(LANG_EXTRA_HEADERS)
diff --git a/gcc/config/i386/t-nwld b/gcc/config/i386/t-nwld
deleted file mode 100644
index ecd1a3b..0000000
--- a/gcc/config/i386/t-nwld
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011
-# 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/>.
-
-nwld.o: $(srcdir)/config/i386/nwld.c $(RTL_H) $(TREE_H) $(CONFIG_H) $(TM_P_H)
- $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- $(srcdir)/config/i386/nwld.c
diff --git a/gcc/configure b/gcc/configure
index 0d6b710..0295fc6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -10899,7 +10899,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/configure.ac b/gcc/configure.ac
index c2163bf..54b6c9d 100644
--- 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
index 7cbd68e..dcbf29f 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -2836,11 +2836,8 @@ On 32-bit i?86-*-* targets, you can control by those attribute for
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
index 811bf3d..9918c4f 100644
--- 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
index 311c690..0000000
--- a/gcc/gthr-nks.h
+++ /dev/null
@@ -1,397 +0,0 @@
-/* Threads compatibility routines for libgcc2 and libobjc. */
-/* Compile this one with gcc. */
-/* Copyright (C) 2002, 2003, 2004, 2008, 2009 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.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
-<http://www.gnu.org/licenses/>. */
-
-#ifndef GCC_GTHR_NKS_H
-#define GCC_GTHR_NKS_H
-
-/* NKS threads specific definitions.
- Easy, since the interface is mostly one-to-one mapping. */
-
-#define __GTHREADS 1
-
-#define NKS_NO_INLINE_FUNCS
-#include <nksapi.h>
-#include <string.h>
-
-typedef NXKey_t __gthread_key_t;
-typedef NXMutex_t *__gthread_mutex_t;
-typedef NXMutex_t *__gthread_recursive_mutex_t;
-
-#define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function
-#define __GTHREAD_RECURSIVE_MUTEX_INIT_FUNCTION __gthread_recursive_mutex_init_function
-
-static inline int
-__gthread_active_p (void)
-{
- return 1;
-}
-
-#ifdef _LIBOBJC
-
-/* This is the config.h file in libobjc/ */
-#include <config.h>
-
-#ifdef HAVE_SCHED_H
-# include <sched.h>
-#endif
-
-/* Key structure for maintaining thread specific storage */
-static NXKey_t _objc_thread_storage;
-
-/* Backend initialization functions */
-
-/* Initialize the threads subsystem. */
-static inline int
-__gthread_objc_init_thread_system (void)
-{
- /* Initialize the thread storage key. */
- if (NXKeyCreate (NULL, NULL, &_objc_thread_storage) == 0)
- return 0;
- return -1;
-}
-
-/* Close the threads subsystem. */
-static inline int
-__gthread_objc_close_thread_system (void)
-{
- if (NXKeyDelete (_objc_thread_storage) == 0)
- return 0;
- return -1;
-}
-
-/* Backend thread functions */
-
-/* Create a new thread of execution. */
-static inline objc_thread_t
-__gthread_objc_thread_detach (void (*func)(void *), void *arg)
-{
- objc_thread_t thread_id;
- NXContext_t context;
- NXThreadId_t new_thread_handle;
- int err;
-
- if ((context = NXContextAlloc (func, arg, NX_PRIO_MED, 0, 0, 0, &err)) == NULL)
- thread_id = NULL;
- else if (NXThreadCreate (context, NX_THR_DETACHED, &new_thread_handle) == 0)
- thread_id = (objc_thread_t) new_thread_handle;
- else {
- NXContextFree (context);
- thread_id = NULL;
- }
-
- return thread_id;
-}
-
-/* Set the current thread's priority. */
-static inline int
-__gthread_objc_thread_set_priority (int priority)
-{
- if (NXThreadSetPriority (NXThreadGetId (), priority) == 0)
- return 0;
- return -1;
-}
-
-/* Return the current thread's priority. */
-static inline int
-__gthread_objc_thread_get_priority (void)
-{
- int priority;
-
- if (NXThreadGetPriority (NXThreadGetId (), &priority) == 0)
- return priority;
- return -1;
-}
-
-/* Yield our process time to another thread. */
-static inline void
-__gthread_objc_thread_yield (void)
-{
- NXThreadYield ();
-}
-
-/* Terminate the current thread. */
-static inline int
-__gthread_objc_thread_exit (void)
-{
- /* exit the thread */
- NXThreadExit (&__objc_thread_exit_status);
-
- /* Failed if we reached here */
- return -1;
-}
-
-/* Returns an integer value which uniquely describes a thread. */
-static inline objc_thread_t
-__gthread_objc_thread_id (void)
-{
- (objc_thread_t) NXThreadGetId ();
-}
-
-/* Sets the thread's local storage pointer. */
-static inline int
-__gthread_objc_thread_set_data (void *value)
-{
- return NXKeySetValue (_objc_thread_storage, value);
-}
-
-/* Returns the thread's local storage pointer. */
-static inline void *
-__gthread_objc_thread_get_data (void)
-{
- void *value;
-
- if (NXKeyGetValue (_objc_thread_storage, &value) == 0)
- return value;
- return NULL;
-}
-
-/* Backend mutex functions */
-
-/* Allocate a mutex. */
-static inline int
-__gthread_objc_mutex_allocate (objc_mutex_t mutex)
-{
- static const NX_LOCK_INFO_ALLOC (info, "GNU ObjC", 0);
-
- if ((mutex->backend = NXMutexAlloc (0, 0, &info)) == NULL)
- return 0;
- return -1;
-}
-
-/* Deallocate a mutex. */
-static inline int
-__gthread_objc_mutex_deallocate (objc_mutex_t mutex)
-{
- while (NXMutexIsOwned ((NXMutex_t *)mutex->backend))
- NXUnlock ((NXMutex_t *)mutex->backend);
- if (NXMutexFree ((NXMutex_t *)mutex->backend) != 0)
- return -1;
- mutex->backend = NULL;
- return 0;
-}
-
-/* Grab a lock on a mutex. */
-static inline int
-__gthread_objc_mutex_lock (objc_mutex_t mutex)
-{
- return NXLock ((NXMutex_t *)mutex->backend);
-}
-
-/* Try to grab a lock on a mutex. */
-static inline int
-__gthread_objc_mutex_trylock (objc_mutex_t mutex)
-{
- if (!NXTryLock ((NXMutex_t *)mutex->backend))
- return -1;
- return 0;
-}
-
-/* Unlock the mutex */
-static inline int
-__gthread_objc_mutex_unlock (objc_mutex_t mutex)
-{
- return NXUnlock ((NXMutex_t *)mutex->backend);
-}
-
-/* Backend condition mutex functions */
-
-/* Allocate a condition. */
-static inline int
-__gthread_objc_condition_allocate (objc_condition_t condition)
-{
- condition->backend = NXCondAlloc (NULL);
- if (condition->backend == NULL)
- return -1;
-
- return 0;
-}
-
-/* Deallocate a condition. */
-static inline int
-__gthread_objc_condition_deallocate (objc_condition_t condition)
-{
- if (NXCondFree ((NXCond_t *)condition->backend) != 0)
- return -1;
- condition->backend = NULL;
- return 0;
-}
-
-/* Wait on the condition */
-static inline int
-__gthread_objc_condition_wait (objc_condition_t condition, objc_mutex_t mutex)
-{
- return NXCondWait ((NXCond_t *)condition->backend, (NXMutex_t *)mutex->backend);
-}
-
-/* Wake up all threads waiting on this condition. */
-static inline int
-__gthread_objc_condition_broadcast (objc_condition_t condition)
-{
- return NXCondBroadcast ((NXCond_t *)condition->backend);
-}
-
-/* Wake up one thread waiting on this condition. */
-static inline int
-__gthread_objc_condition_signal (objc_condition_t condition)
-{
- return NXCondSignal ((NXCond_t *)condition->backend);
-}
-
-#else /* _LIBOBJC */
-
-#if defined(__cplusplus)
-# include <bits/atomicity.h>
-/* The remaining conditions here are temporary until there is
- an application accessible atomic operations API set... */
-#elif defined(_M_IA64) || defined(__ia64__)
-# include <../libstdc++-v3/config/cpu/ia64/bits/atomicity.h>
-#elif defined(_M_IX86) || defined(__i486__)
-# include <../libstdc++-v3/config/cpu/i486/bits/atomicity.h>
-#elif defined(_M_AMD64) || defined(__x86_64__)
-# include <../libstdc++-v3/config/cpu/x86-64/bits/atomicity.h>
-#endif
-
-typedef volatile long __gthread_once_t;
-
-#define __GTHREAD_ONCE_INIT 0
-
-static inline int
-__gthread_once (__gthread_once_t *__once, void (*__func) (void))
-{
- if (__compare_and_swap (__once, 0, 1))
- {
- __func ();
- *__once |= 2;
- }
- else
- {
- while (!(*__once & 2))
- NXThreadYield ();
- }
- return 0;
-}
-
-static inline int
-__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
-{
- return NXKeyCreate (__dtor, NULL, __key);
-}
-
-static inline int
-__gthread_key_dtor (__gthread_key_t __key, void *__ptr)
-{
- /* Just reset the key value to zero. */
- if (__ptr)
- return NXKeySetValue (__key, NULL);
- return 0;
-}
-
-static inline int
-__gthread_key_delete (__gthread_key_t __key)
-{
- return NXKeyDelete (__key);
-}
-
-static inline void *
-__gthread_getspecific (__gthread_key_t __key)
-{
- void *__value;
-
- if (NXKeyGetValue (__key, &__value) == 0)
- return __value;
- return NULL;
-}
-
-static inline int
-__gthread_setspecific (__gthread_key_t __key, const void *__ptr)
-{
- return NXKeySetValue (__key, (void *)__ptr);
-}
-
-static inline void
-__gthread_mutex_init_function (__gthread_mutex_t *__mutex)
-{
- static const NX_LOCK_INFO_ALLOC (__info, "GTHREADS", 0);
-
- *__mutex = NXMutexAlloc (0, 0, &__info);
-}
-
-static inline int
-__gthread_mutex_destroy (__gthread_mutex_t * UNUSED(__mutex))
-{
- return 0;
-}
-
-static inline int
-__gthread_mutex_lock (__gthread_mutex_t *__mutex)
-{
- return NXLock (*__mutex);
-}
-
-static inline int
-__gthread_mutex_trylock (__gthread_mutex_t *__mutex)
-{
- if (NXTryLock (*__mutex))
- return 0;
- return -1;
-}
-
-static inline int
-__gthread_mutex_unlock (__gthread_mutex_t *__mutex)
-{
- return NXUnlock (*__mutex);
-}
-
-static inline void
-__gthread_recursive_mutex_init_function (__gthread_recursive_mutex_t *__mutex)
-{
- static const NX_LOCK_INFO_ALLOC (__info, "GTHREADS", 0);
-
- *__mutex = NXMutexAlloc (NX_MUTEX_RECURSIVE, 0, &__info);
-}
-
-static inline int
-__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
-{
- return NXLock (*__mutex);
-}
-
-static inline int
-__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
-{
- if (NXTryLock (*__mutex))
- return 0;
- return -1;
-}
-
-static inline int
-__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
-{
- return NXUnlock (*__mutex);
-}
-
-#endif /* _LIBOBJC */
-
-#endif /* not GCC_GTHR_NKS_H */
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fbb09d9..65125bd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,29 @@
+2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * g++.dg/ext/bitfield2.C: Remove i?86-*-netware support.
+ * g++.dg/ext/bitfield3.C: Likewise.
+ * g++.dg/ext/bitfield4.C: Likewise.
+ * g++.dg/ext/bitfield5.C: Likewise.
+ * g++.dg/other/PR23205.C: Remove *-*-netware* support.
+ * g++.dg/other/pr23205-2.C: Likewise.
+ * gcc.c-torture/compile/20001109-1.c: Remove dg-xfail-if.
+ * gcc.c-torture/compile/20001109-2.c: Likewise.
+ * gcc.dg/20040813-1.c: Remove *-*-netware* support.
+ * gcc.dg/bitfld-15.c: Remove i?86-*-netware support.
+ * gcc.dg/bitfld-16.c: Likewise.
+ * gcc.dg/bitfld-17.c: Likewise.
+ * gcc.dg/bitfld-18.c: Likewise.
+ * gcc.dg/builtins-config.h: Remove Netware support.
+ * gcc.dg/cdce1.c: Remove *-*-netware* support. Update line number.
+ * gcc.dg/cdce2.c: Likewise.
+ * gcc.dg/cpp/assert4.c: Remove netware support.
+ * gcc.dg/debug/pr35154.c: Remove *-*-netware* support.
+ * gfortran.dg/debug/pr35154-stabs.f: Remove *-*-netware* support.
+
+ * lib/target-supports.exp (check_visibility_available): Remove
+ NetWare support.
+ (check_profiling_available): Likewise.
+
2011-07-18 Ira Rosen <ira.rosen@linaro.org>
* gcc.dg/vect/pr49038.c: Run only on targets that support mmap.
diff --git a/gcc/testsuite/g++.dg/ext/bitfield2.C b/gcc/testsuite/g++.dg/ext/bitfield2.C
index c288cec..09e0352 100644
--- 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
index f9fb78c..75d290f 100644
--- 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
index 8562686..d707376 100644
--- 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
index 1d862d7..7486695 100644
--- 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
index 2735354..338079f 100644
--- 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
index 608108a..a4333b3 100644
--- 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
index 6e513c9..cce8047 100644
--- 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
index 1448215..a23e56b 100644
--- 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
index fa01a53..bf87f417 100644
--- 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
index 03f43f2..32878d7 100644
--- 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
index 5ed30f7..75d290f 100644
--- 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
index 9512f5f..6dc6989 100644
--- 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
index 067d9ae..7486695 100644
--- 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
index 49ec0dc..fc1ade6 100644
--- 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
index 58a3ddf..3bd35ec 100644
--- 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
index eebebaa..a461ce7 100644
--- 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
index ff53946..a05ef13 100644
--- 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
index 8706c5c..fa658be 100644
--- 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
index a597633..4b518fe 100644
--- 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
index 2131185..2148f80 100644
--- 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 "
@@ -571,7 +566,6 @@ proc check_profiling_available { test_what } {
|| [istarget tic6x-*-elf]
|| [istarget xstormy16-*]
|| [istarget xtensa*-*-elf]
- || [istarget *-*-netware*]
|| [istarget *-*-rtems*]
|| [istarget *-*-vxworks*] } {
set profiling_available_saved 0