summaryrefslogtreecommitdiff
path: root/patches/gcc/2.95.3
diff options
context:
space:
mode:
Diffstat (limited to 'patches/gcc/2.95.3')
-rw-r--r--patches/gcc/2.95.3/100-arm-linux.patch647
-rw-r--r--patches/gcc/2.95.3/110-backport-config.gcc-1.4.patch35
-rw-r--r--patches/gcc/2.95.3/120-backport-config.gcc-1.92.patch39
-rw-r--r--patches/gcc/2.95.3/130-config.sub.patch1257
-rw-r--r--patches/gcc/2.95.3/140-deque-leak-fix.patch31
-rw-r--r--patches/gcc/2.95.3/150-cygwin-020611.patch33
-rw-r--r--patches/gcc/2.95.3/160-trap-posix.patch44
-rw-r--r--patches/gcc/2.95.3/170-pr3106.patch28
-rw-r--r--patches/gcc/2.95.3/180-threads_snafu.patch28
9 files changed, 0 insertions, 2142 deletions
diff --git a/patches/gcc/2.95.3/100-arm-linux.patch b/patches/gcc/2.95.3/100-arm-linux.patch
deleted file mode 100644
index 00974f6..0000000
--- a/patches/gcc/2.95.3/100-arm-linux.patch
+++ /dev/null
@@ -1,647 +0,0 @@
---------- snip -------
-Downloaded from ftp://ftp.linux.org.uk/pub/armlinux/toolchain/src-2.95.3/gcc-2.95.3.diff.bz2
-Not sure what it fixes, but this appears to be The Patch used with gcc-2.95.3 on arm.
---------- snip -------
-
-diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.c gcc-2.95.3/gcc/config/arm/arm.c
---- gcc-2.95.3-orig/gcc/config/arm/arm.c Thu Jan 25 15:03:24 2001
-+++ gcc-2.95.3/gcc/config/arm/arm.c Fri Jul 20 19:39:11 2001
-@@ -1529,27 +1529,34 @@
- return gen_rtx_PLUS (Pmode, base, offset);
- }
- else if (GET_CODE (orig) == LABEL_REF)
-- current_function_uses_pic_offset_table = 1;
--
-- return orig;
--}
-+ {
-+ current_function_uses_pic_offset_table = 1;
-
--static rtx pic_rtx;
-+ if (NEED_PLT_GOT)
-+ {
-+ rtx pic_ref, address = gen_reg_rtx (Pmode);
-+
-+ emit_insn (gen_pic_load_addr (address, orig));
-+ pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
-+ address);
-+ emit_move_insn (address, pic_ref);
-+ return address;
-+ }
-+ }
-
--int
--is_pic(x)
-- rtx x;
--{
-- if (x == pic_rtx)
-- return 1;
-- return 0;
-+ return orig;
- }
-
-+/* Generate code to load the PIC register. PROLOGUE is true if
-+ called from arm_expand_prologue (in which case we want the
-+ generated insns at the start of the function); false if called
-+ by an exception receiver that needs the PIC register reloaded
-+ (in which case the insns are just dumped at the current location). */
- void
--arm_finalize_pic ()
-+arm_finalize_pic (int prologue)
- {
- #ifndef AOF_ASSEMBLER
-- rtx l1, pic_tmp, pic_tmp2, seq;
-+ rtx l1, pic_tmp, pic_tmp2, seq, pic_rtx;
- rtx global_offset_table;
-
- if (current_function_uses_pic_offset_table == 0)
-@@ -1578,7 +1585,10 @@
-
- seq = gen_sequence ();
- end_sequence ();
-- emit_insn_after (seq, get_insns ());
-+ if (prologue)
-+ emit_insn_after (seq, get_insns ());
-+ else
-+ emit_insn (seq);
-
- /* Need to emit this whether or not we obey regdecls,
- since setjmp/longjmp can cause life info to screw up. */
-@@ -5327,7 +5337,13 @@
- if (frame_pointer_needed)
- live_regs += 4;
-
-- if (live_regs)
-+ if (live_regs == 1 && regs_ever_live[LR_REGNUM]
-+ && ! lr_save_eliminated && ! really_return)
-+ {
-+ output_asm_insn (reverse ? "ldr%?%D0\t%|lr, [%|sp}, #4"
-+ : "ldr%?%d0\t%|lr, [%|sp], #4", &operand);
-+ }
-+ else if (live_regs)
- {
- if (lr_save_eliminated || ! regs_ever_live[14])
- live_regs++;
-@@ -5446,7 +5462,7 @@
- rtx x;
-
- length = strlen (name);
-- alignlength = (length + 1) + 3 & ~3;
-+ alignlength = ((length + 1) + 3) & ~3;
-
- ASM_OUTPUT_ASCII (stream, name, length + 1);
- ASM_OUTPUT_ALIGN (stream, 2);
-@@ -5838,6 +5854,9 @@
- int store_arg_regs = 0;
- int volatile_func = (optimize > 0
- && TREE_THIS_VOLATILE (current_function_decl));
-+ rtx ip_rtx;
-+ int fp_offset = 0;
-+ rtx insn;
-
- /* Naked functions don't have prologues. */
- if (arm_naked_function_p (current_function_decl))
-@@ -5859,11 +5878,59 @@
- live_regs_mask |= 0x4000;
- }
-
-+ ip_rtx = gen_rtx_REG (SImode, IP_REGNUM);
-+
- if (frame_pointer_needed)
- {
-+ if (current_function_needs_context)
-+ {
-+ /* The Static chain register is the same as the IP register
-+ used as a scratch register during stack frame creation.
-+ To get around this need to find somewhere to store IP
-+ whilst the frame is being created. We try the following
-+ places in order:
-+
-+ 1. An unused argument register.
-+ 2. A slot on the stack above the frame. (This only
-+ works if the function is not a varargs function).
-+
-+ If neither of these places is available, we abort (for now). */
-+ if (regs_ever_live[3] == 0)
-+ {
-+ insn = gen_rtx_REG (SImode, 3);
-+ insn = gen_rtx_SET (SImode, insn, ip_rtx);
-+ insn = emit_insn (insn);
-+ RTX_FRAME_RELATED_P (insn) = 1;
-+ }
-+ else if (current_function_pretend_args_size == 0)
-+ {
-+ insn = gen_rtx_PRE_DEC (SImode, stack_pointer_rtx);
-+ insn = gen_rtx_MEM (SImode, insn);
-+ insn = gen_rtx_SET (VOIDmode, insn, ip_rtx);
-+ insn = emit_insn (insn);
-+ RTX_FRAME_RELATED_P (insn) = 1;
-+ fp_offset = 4;
-+ }
-+ else
-+ /* FIXME - the way to handle this situation is to allow
-+ the pretend args to be dumped onto the stack, then
-+ reuse r3 to save IP. This would involve moving the
-+ copying os SP into IP until after the pretend args
-+ have been dumped, but this is not too hard. */
-+ error ("Unable to find a temporary location for static chanin register");
-+ }
-+
- live_regs_mask |= 0xD800;
-- emit_insn (gen_movsi (gen_rtx_REG (SImode, 12),
-- stack_pointer_rtx));
-+ if (fp_offset)
-+ {
-+ insn = gen_rtx_PLUS (SImode, stack_pointer_rtx, GEN_INT (fp_offset));
-+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
-+ }
-+ else
-+ insn = gen_movsi (ip_rtx, stack_pointer_rtx);
-+
-+ insn = emit_insn (insn);
-+ RTX_FRAME_RELATED_P (insn) = 1;
- }
-
- if (current_function_pretend_args_size)
-@@ -5927,9 +5994,31 @@
- }
-
- if (frame_pointer_needed)
-- emit_insn (gen_addsi3 (hard_frame_pointer_rtx, gen_rtx_REG (SImode, 12),
-- (GEN_INT
-- (-(4 + current_function_pretend_args_size)))));
-+ {
-+ insn = GEN_INT (-(4 + current_function_pretend_args_size + fp_offset));
-+ insn = emit_insn (gen_addsi3 (hard_frame_pointer_rtx, ip_rtx, insn));
-+ RTX_FRAME_RELATED_P (insn) = 1;
-+
-+ if (current_function_needs_context)
-+ {
-+ /* Recover the static chain register. */
-+ if (regs_ever_live [3] == 0)
-+ {
-+ insn = gen_rtx_REG (SImode, 3);
-+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
-+ insn = emit_insn (insn);
-+ RTX_FRAME_RELATED_P (insn) = 1;
-+ }
-+ else /* if (current_function_pretend_args_size == 0) */
-+ {
-+ insn = gen_rtx_PLUS (SImode, hard_frame_pointer_rtx, GEN_INT (4));
-+ insn = gen_rtx_MEM (SImode, insn);
-+ insn = gen_rtx_SET (SImode, ip_rtx, insn);
-+ insn = emit_insn (insn);
-+ RTX_FRAME_RELATED_P (insn) = 1;
-+ }
-+ }
-+ }
-
- if (amount != const0_rtx)
- {
-diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.h gcc-2.95.3/gcc/config/arm/arm.h
---- gcc-2.95.3-orig/gcc/config/arm/arm.h Thu Jan 25 15:03:26 2001
-+++ gcc-2.95.3/gcc/config/arm/arm.h Fri Jul 20 19:39:11 2001
-@@ -601,14 +601,20 @@
- (TREE_CODE (EXP) == STRING_CST \
- && (ALIGN) < BITS_PER_WORD ? BITS_PER_WORD : (ALIGN))
-
-+#ifndef STRUCTURE_SIZE_BOUNDARY
- /* Every structures size must be a multiple of 32 bits. */
- /* This is for compatibility with ARMCC. ARM SDT Reference Manual
- (ARM DUI 0020D) page 2-20 says "Structures are aligned on word
- boundaries". */
--#ifndef STRUCTURE_SIZE_BOUNDARY
--#define STRUCTURE_SIZE_BOUNDARY 32
-+/* Setting this to 32 produces more efficient code, but the value set in previous
-+ versions of this toolchain was 8, which produces more compact structures. The
-+ command line option -mstructure_size_boundary=<n> can be used to change this
-+ value. */
-+#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
- #endif
-
-+extern int arm_structure_size_boundary;
-+
- /* Used when parsing command line option -mstructure_size_boundary. */
- extern const char * structure_size_string;
-
-@@ -768,6 +774,9 @@
- /* Specify the registers used for certain standard purposes.
- The values of these macros are register numbers. */
-
-+/* Register which holds return address from a subroutine call. */
-+#define LR_REGNUM 14
-+
- /* Define this if the program counter is overloaded on a register. */
- #define PC_REGNUM 15
-
-@@ -777,6 +786,9 @@
- /* Base register for access to local variables of the function. */
- #define FRAME_POINTER_REGNUM 25
-
-+/* Scratch register - used in all kinds of places, eg trampolines. */
-+#define IP_REGNUM 12
-+
- /* Define this to be where the real frame pointer is if it is not possible to
- work out the offset between the frame pointer and the automatic variables
- until after register allocation has taken place. FRAME_POINTER_REGNUM
-@@ -798,7 +810,7 @@
- /* The native (Norcroft) Pascal compiler for the ARM passes the static chain
- as an invisible last argument (possible since varargs don't exist in
- Pascal), so the following is not true. */
--#define STATIC_CHAIN_REGNUM 8
-+#define STATIC_CHAIN_REGNUM 12
-
- /* Register in which address to store a structure value
- is passed to a function. */
-@@ -1248,7 +1260,12 @@
- { \
- int volatile_func = arm_volatile_func (); \
- if ((FROM) == ARG_POINTER_REGNUM && (TO) == HARD_FRAME_POINTER_REGNUM)\
-- (OFFSET) = 0; \
-+ { \
-+ if (! current_function_needs_context || ! frame_pointer_needed) \
-+ (OFFSET) = 0; \
-+ else \
-+ (OFFSET) = 4; \
-+ } \
- else if ((FROM) == FRAME_POINTER_REGNUM \
- && (TO) == STACK_POINTER_REGNUM) \
- (OFFSET) = (current_function_outgoing_args_size \
-@@ -1379,8 +1396,10 @@
-
- On the ARM, allow any integer (invalid ones are removed later by insn
- patterns), nice doubles and symbol_refs which refer to the function's
-- constant pool XXX. */
--#define LEGITIMATE_CONSTANT_P(X) (! label_mentioned_p (X))
-+ constant pool XXX.
-+
-+ When generating PIC code, allow anything. */
-+#define LEGITIMATE_CONSTANT_P(X) (flag_pic || ! label_mentioned_p (X))
-
- /* Symbols in the text segment can be accessed without indirecting via the
- constant pool; it may take an extra binary operation, but this is still
-@@ -1496,9 +1515,8 @@
- && INTVAL (op) <= 31) \
- goto LABEL; \
- } \
-- /* NASTY: Since this limits the addressing of unsigned byte loads */ \
- range = ((MODE) == HImode || (MODE) == QImode) \
-- ? (arm_arch4 ? 256 : 4095) : 4096; \
-+ ? (((MODE) == HImode && arm_arch4) ? 256 : 4095) : 4096; \
- if (code == CONST_INT && INTVAL (INDEX) < range \
- && INTVAL (INDEX) > -range) \
- goto LABEL; \
-@@ -1812,14 +1830,15 @@
- data addresses in memory. */
- #define PIC_OFFSET_TABLE_REGNUM arm_pic_register
-
--#define FINALIZE_PIC arm_finalize_pic ()
-+#define FINALIZE_PIC arm_finalize_pic (1)
-
--/* We can't directly access anything that contains a symbol,
-+/* We can't directly access anything that contains a symbol or label,
- nor can we indirect via the constant pool. */
- #define LEGITIMATE_PIC_OPERAND_P(X) \
-- (! symbol_mentioned_p (X) \
-+ (! symbol_mentioned_p (X) && ! label_mentioned_p (X) \
- && (! CONSTANT_POOL_ADDRESS_P (X) \
-- || ! symbol_mentioned_p (get_pool_constant (X))))
-+ || (! symbol_mentioned_p (get_pool_constant (X))) \
-+ && (! label_mentioned_p (get_pool_constant (X)))))
-
- /* We need to know when we are making a constant pool; this determines
- whether data needs to be in the GOT or can be referenced via a GOT
-@@ -2046,17 +2065,9 @@
- else output_addr_const(STREAM, X); \
- }
-
--/* Handles PIC addr specially */
- #define OUTPUT_INT_ADDR_CONST(STREAM,X) \
- { \
-- if (flag_pic && GET_CODE(X) == CONST && is_pic(X)) \
-- { \
-- output_addr_const(STREAM, XEXP (XEXP (XEXP (X, 0), 0), 0)); \
-- fputs(" - (", STREAM); \
-- output_addr_const(STREAM, XEXP (XEXP (XEXP (X, 0), 1), 0)); \
-- fputs(")", STREAM); \
-- } \
-- else output_addr_const(STREAM, X); \
-+ output_addr_const(STREAM, X); \
- \
- /* Mark symbols as position independent. We only do this in the \
- .text segment, not in the .data segment. */ \
-@@ -2170,8 +2181,7 @@
- int arm_return_in_memory PROTO ((Tree));
- int legitimate_pic_operand_p PROTO ((Rtx));
- Rtx legitimize_pic_address PROTO ((Rtx, Mmode, Rtx));
--int is_pic PROTO ((Rtx));
--void arm_finalize_pic PROTO ((void));
-+void arm_finalize_pic PROTO ((int));
- int arm_rtx_costs RTX_CODE_PROTO ((Rtx, Rcode));
- int arm_adjust_cost PROTO ((Rtx, Rtx, Rtx, int));
- int const_double_rtx_ok_for_fpu PROTO ((Rtx));
-diff -urN gcc-2.95.3-orig/gcc/config/arm/arm.md gcc-2.95.3/gcc/config/arm/arm.md
---- gcc-2.95.3-orig/gcc/config/arm/arm.md Thu Jan 25 15:03:27 2001
-+++ gcc-2.95.3/gcc/config/arm/arm.md Fri Jul 20 19:39:11 2001
-@@ -2629,7 +2629,8 @@
- : preserve_subexpressions_p ()));
- DONE;
- }
-- if (CONSTANT_P (operands[1]) && flag_pic)
-+ if ((CONSTANT_P (operands[1]) || symbol_mentioned_p (operands[1])
-+ || label_mentioned_p (operands[1])) && flag_pic)
- operands[1] = legitimize_pic_address (operands[1], SImode,
- ((reload_in_progress
- || reload_completed)
-@@ -2721,6 +2722,15 @@
- return \"add%?\\t%0, %|pc, %0\";
- ")
-
-+(define_expand "builtin_setjmp_receiver"
-+ [(label_ref (match_operand 0 "" ""))]
-+ "flag_pic"
-+ "
-+{
-+ arm_finalize_pic (0);
-+ DONE;
-+}")
-+
- ;; If copying one reg to another we can set the condition codes according to
- ;; its value. Such a move is common after a return from subroutine and the
- ;; result is being tested against zero.
-@@ -6184,15 +6194,20 @@
- abort ();
- return \"\";
- }
-- strcpy (pattern, \"stmfd\\t%m0!, {%1\");
-- for (i = 1; i < XVECLEN (operands[2], 0); i++)
-+ if (XVECLEN (operands[2], 0) > 1)
- {
-- strcat (pattern, \", %|\");
-- strcat (pattern, reg_names[REGNO (XEXP (XVECEXP (operands[2], 0, i),
-+ strcpy (pattern, \"stmfd\\t%m0!, {%1\");
-+ for (i = 1; i < XVECLEN (operands[2], 0); i++)
-+ {
-+ strcat (pattern, \", %|\");
-+ strcat (pattern, reg_names[REGNO (XEXP (XVECEXP (operands[2], 0, i),
- 0))]);
-+ }
-+ strcat (pattern, \"}\");
-+ output_asm_insn (pattern, operands);
- }
-- strcat (pattern, \"}\");
-- output_asm_insn (pattern, operands);
-+ else
-+ output_asm_insn (\"str\\t%1, [%m0, #-4]!\", operands);
- return \"\";
- }"
- [(set_attr "type" "store4")])
-diff -urN gcc-2.95.3-orig/gcc/config/arm/elf.h gcc-2.95.3/gcc/config/arm/elf.h
---- gcc-2.95.3-orig/gcc/config/arm/elf.h Mon May 31 10:21:53 1999
-+++ gcc-2.95.3/gcc/config/arm/elf.h Fri Jul 20 19:39:11 2001
-@@ -167,15 +167,6 @@
- #define MULTILIB_DEFAULTS { "mlittle-endian", "msoft-float", "mapcs-32", "mno-thumb-interwork" }
- #endif
-
--/* Setting this to 32 produces more efficient code, but the value set in previous
-- versions of this toolchain was 8, which produces more compact structures. The
-- command line option -mstructure_size_boundary=<n> can be used to change this
-- value. */
--#undef STRUCTURE_SIZE_BOUNDARY
--#define STRUCTURE_SIZE_BOUNDARY arm_structure_size_boundary
--
--extern int arm_structure_size_boundary;
--
- /* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
- is a valid machine specific attribute for DECL.
- The attributes in ATTRIBUTES have previously been assigned to DECL. */
-diff -urN gcc-2.95.3-orig/gcc/config/arm/linux-gas.h gcc-2.95.3/gcc/config/arm/linux-gas.h
---- gcc-2.95.3-orig/gcc/config/arm/linux-gas.h Mon Feb 22 17:47:57 1999
-+++ gcc-2.95.3/gcc/config/arm/linux-gas.h Fri Jul 20 19:39:11 2001
-@@ -1,6 +1,6 @@
- /* Definitions of target machine for GNU compiler.
- ARM Linux-based GNU systems version.
-- Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
-+ Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
- Contributed by Russell King <rmk92@ecs.soton.ac.uk>.
-
- This file is part of GNU CC.
-@@ -79,5 +79,7 @@
- register unsigned long _beg __asm ("a1") = (unsigned long) (BEG); \
- register unsigned long _end __asm ("a2") = (unsigned long) (END); \
- register unsigned long _flg __asm ("a3") = 0; \
-- __asm __volatile ("swi 0x9f0002"); \
-+ __asm __volatile ("swi 0x9f0002 @ sys_cacheflush" \
-+ : "=r" (_beg) \
-+ : "0" (_beg), "r" (_end), "r" (_flg)); \
- }
-diff -urN gcc-2.95.3-orig/gcc/config/arm/t-linux gcc-2.95.3/gcc/config/arm/t-linux
---- gcc-2.95.3-orig/gcc/config/arm/t-linux Fri Mar 26 16:30:20 1999
-+++ gcc-2.95.3/gcc/config/arm/t-linux Fri Jul 20 20:46:19 2001
-@@ -1,6 +1,6 @@
- # Just for these, we omit the frame pointer since it makes such a big
- # difference. It is then pointless adding debugging.
--TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
-+TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC
- LIBGCC2_DEBUG_CFLAGS = -g0
-
- # Don't build enquire
-diff -urN gcc-2.95.3-orig/gcc/final.c gcc-2.95.3/gcc/final.c
---- gcc-2.95.3-orig/gcc/final.c Mon Mar 12 13:07:59 2001
-+++ gcc-2.95.3/gcc/final.c Fri Jul 20 19:39:11 2001
-@@ -3652,8 +3652,9 @@
-
- output_addr_const (file, XEXP (x, 0));
- fprintf (file, "-");
-- if (GET_CODE (XEXP (x, 1)) == CONST_INT
-- && INTVAL (XEXP (x, 1)) < 0)
-+ if ((GET_CODE (XEXP (x, 1)) == CONST_INT
-+ && INTVAL (XEXP (x, 1)) < 0)
-+ || GET_CODE (XEXP (x, 1)) != CONST_INT)
- {
- fprintf (file, ASM_OPEN_PAREN);
- output_addr_const (file, XEXP (x, 1));
-diff -urN gcc-2.95.3-orig/gcc/function.c gcc-2.95.3/gcc/function.c
---- gcc-2.95.3-orig/gcc/function.c Thu Jan 25 15:03:15 2001
-+++ gcc-2.95.3/gcc/function.c Fri Jul 20 19:39:10 2001
-@@ -3053,6 +3053,105 @@
- extracted by usage MEM with narrower mode. */
- static rtx purge_addressof_replacements;
-
-+/* Return 1 if X and Y are identical-looking rtx's.
-+ This is the Lisp function EQUAL for rtx arguments. */
-+
-+int
-+rtx_equal_for_addressof_p (x, y)
-+ rtx x, y;
-+{
-+ register int i;
-+ register int j;
-+ register enum rtx_code code;
-+ register char *fmt;
-+
-+ if (x == y)
-+ return 1;
-+ if (x == 0 || y == 0)
-+ return 0;
-+
-+ code = GET_CODE (x);
-+ /* Rtx's of different codes cannot be equal. */
-+ if (code != GET_CODE (y))
-+ return 0;
-+
-+ /* (MULT:SI x y) and (MULT:HI x y) are NOT equivalent.
-+ (REG:SI x) and (REG:HI x) are NOT equivalent.
-+ But (MEM:SI x) and (MEM:HI x) are equivalent for our purposes. */
-+
-+ if (code != MEM && (GET_MODE (x) != GET_MODE (y)))
-+ return 0;
-+
-+ /* REG, LABEL_REF, and SYMBOL_REF can be compared nonrecursively. */
-+
-+ if (code == REG)
-+ return REGNO (x) == REGNO (y);
-+ else if (code == LABEL_REF)
-+ return XEXP (x, 0) == XEXP (y, 0);
-+ else if (code == SYMBOL_REF)
-+ return XSTR (x, 0) == XSTR (y, 0);
-+ else if (code == SCRATCH || code == CONST_DOUBLE)
-+ return 0;
-+
-+ /* Compare the elements. If any pair of corresponding elements
-+ fail to match, return 0 for the whole things. */
-+
-+ fmt = GET_RTX_FORMAT (code);
-+ for (i = GET_RTX_LENGTH (code) - 1; i >= 0; i--)
-+ {
-+ switch (fmt[i])
-+ {
-+ case 'w':
-+ if (XWINT (x, i) != XWINT (y, i))
-+ return 0;
-+ break;
-+
-+ case 'n':
-+ case 'i':
-+ if (XINT (x, i) != XINT (y, i))
-+ return 0;
-+ break;
-+
-+ case 'V':
-+ case 'E':
-+ /* Two vectors must have the same length. */
-+ if (XVECLEN (x, i) != XVECLEN (y, i))
-+ return 0;
-+
-+ /* And the corresponding elements must match. */
-+ for (j = 0; j < XVECLEN (x, i); j++)
-+ if (rtx_equal_p (XVECEXP (x, i, j), XVECEXP (y, i, j)) == 0)
-+ return 0;
-+ break;
-+
-+ case 'e':
-+ if (rtx_equal_p (XEXP (x, i), XEXP (y, i)) == 0)
-+ return 0;
-+ break;
-+
-+ case 'S':
-+ case 's':
-+ if (strcmp (XSTR (x, i), XSTR (y, i)))
-+ return 0;
-+ break;
-+
-+ case 'u':
-+ /* These are just backpointers, so they don't matter. */
-+ break;
-+
-+ case '0':
-+ break;
-+
-+ /* It is believed that rtx's at this level will never
-+ contain anything but integers and other rtx's,
-+ except for within LABEL_REFs and SYMBOL_REFs. */
-+ default:
-+ abort ();
-+ }
-+ }
-+ return 1;
-+}
-+
- /* Helper function for purge_addressof. See if the rtx expression at *LOC
- in INSN needs to be changed. If FORCE, always put any ADDRESSOFs into
- the stack. */
-@@ -3133,7 +3232,7 @@
- for (tem = purge_bitfield_addressof_replacements;
- tem != NULL_RTX;
- tem = XEXP (XEXP (tem, 1), 1))
-- if (rtx_equal_p (x, XEXP (tem, 0)))
-+ if (rtx_equal_for_addressof_p (x, XEXP (tem, 0)))
- {
- *loc = XEXP (XEXP (tem, 1), 0);
- return;
-@@ -3143,7 +3242,7 @@
- for (tem = purge_addressof_replacements;
- tem != NULL_RTX;
- tem = XEXP (XEXP (tem, 1), 1))
-- if (rtx_equal_p (XEXP (x, 0), XEXP (tem, 0)))
-+ if (rtx_equal_for_addressof_p (XEXP (x, 0), XEXP (tem, 0)))
- {
- rtx z = XEXP (XEXP (tem, 1), 0);
-
-diff -urN gcc-2.95.3-orig/gcc/jump.c gcc-2.95.3/gcc/jump.c
---- gcc-2.95.3-orig/gcc/jump.c Thu Oct 21 08:24:03 1999
-+++ gcc-2.95.3/gcc/jump.c Fri Jul 20 19:39:10 2001
-@@ -115,7 +115,7 @@
- static rtx delete_unreferenced_labels PROTO((rtx));
- static void delete_noop_moves PROTO((rtx));
- static int calculate_can_reach_end PROTO((rtx, int, int));
--static int duplicate_loop_exit_test PROTO((rtx));
-+static int duplicate_loop_exit_test PROTO((rtx, int));
- static void find_cross_jump PROTO((rtx, rtx, int, rtx *, rtx *));
- static void do_cross_jump PROTO((rtx, rtx, rtx));
- static int jump_back_p PROTO((rtx, rtx));
-@@ -338,7 +338,7 @@
- && simplejump_p (temp1))
- {
- temp = PREV_INSN (insn);
-- if (duplicate_loop_exit_test (insn))
-+ if (duplicate_loop_exit_test (insn, after_regscan))
- {
- changed = 1;
- next = NEXT_INSN (temp);
-@@ -2548,8 +2548,9 @@
- values of regno_first_uid and regno_last_uid. */
-
- static int
--duplicate_loop_exit_test (loop_start)
-+duplicate_loop_exit_test (loop_start, after_regscan)
- rtx loop_start;
-+ int after_regscan;
- {
- rtx insn, set, reg, p, link;
- rtx copy = 0, first_copy = 0;
-@@ -2662,6 +2663,9 @@
- reg_map[REGNO (reg)] = gen_reg_rtx (GET_MODE (reg));
- }
- }
-+
-+ if (after_regscan)
-+ reg_scan_update (exitcode, lastexit, max_reg);
-
- /* Now copy each insn. */
- for (insn = exitcode; insn != lastexit; insn = NEXT_INSN (insn))
-diff -urN gcc-2.95.3-orig/gcc/varasm.c gcc-2.95.3/gcc/varasm.c
---- gcc-2.95.3-orig/gcc/varasm.c Mon Feb 19 15:02:02 2001
-+++ gcc-2.95.3/gcc/varasm.c Fri Jul 20 19:39:11 2001
-@@ -3286,7 +3286,10 @@
- value->un.addr.offset = - INTVAL (XEXP (x, 1));
- }
- else
-- abort ();
-+ {
-+ value->un.addr.base = x;
-+ value->un.addr.offset = 0;
-+ }
- break;
-
- default:
diff --git a/patches/gcc/2.95.3/110-backport-config.gcc-1.4.patch b/patches/gcc/2.95.3/110-backport-config.gcc-1.4.patch
deleted file mode 100644
index 141de0c..0000000
--- a/patches/gcc/2.95.3/110-backport-config.gcc-1.4.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-# Taken from http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?r1=1.3&r2=1.4
-# Should fix error
-# Configuration powerpc-host_apple-darwin7.3.0 not supported
-# when configuring gcc-2.95 on Mac OS X for i686 target
-# Also create xm-darwin.h, seems to be required, else we get the error
-# In file included from .../gcc-2.95.3/gcc/gencheck.c:21:
-# hconfig.h:11:30: rs6000/xm-darwin.h: No such file or directory
-# make[1]: *** [gencheck.o] Error 1
-
-
---- gcc-2.95.3/gcc/configure.old 2004-03-24 12:17:44.000000000 -0800
-+++ gcc-2.95.3/gcc/configure 2004-03-24 17:14:38.000000000 -0800
-@@ -5079,6 +5079,10 @@
- tmake_file=rs6000/t-beos
- xmake_file=rs6000/x-beos
- ;;
-+ powerpc-*-darwin*)
-+ xm_file="rs6000/xm-rs6000.h rs6000/xm-darwin.h"
-+ xmake_file=rs6000/x-darwin
-+ ;;
- powerpc-*-sysv* | powerpc-*-elf*)
- tm_file=rs6000/sysv4.h
- xm_file="xm-siglist.h rs6000/xm-sysv4.h"
---- /dev/null 2003-01-30 02:24:37.000000000 -0800
-+++ gcc-3.0.4/gcc/config/rs6000/xm-darwin.h 2000-11-20 19:02:09.000000000 -0800
-@@ -0,0 +1,9 @@
-+/* Undo the USG definition in xm-rs6000.h, Darwin is a BSD flavor. */
-+
-+#undef USG
-+
-+/* Override the usual setting, since Apple's GCC has lame bugs and
-+ can't handle the initializers. Someday the bugs will be fixed and
-+ we can get rid of this silliness. */
-+
-+#define HAVE_DESIGNATED_INITIALIZERS 0
diff --git a/patches/gcc/2.95.3/120-backport-config.gcc-1.92.patch b/patches/gcc/2.95.3/120-backport-config.gcc-1.92.patch
deleted file mode 100644
index fc55681..0000000
--- a/patches/gcc/2.95.3/120-backport-config.gcc-1.92.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-# Taken from http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config.gcc.diff?r1=1.91&r2=1.92
-# Should fix error
-# Configuration x86_64-host_unknown-linux-gnu not supported
-# when configuring gcc-2.95 on x86_64 build for i686 target
-# It's a bit silly, since tm_file refers to files that don't exist,
-# but as long as x86_64 is just the build machine, that doesn't matter.
-
---- gcc-2.95.3/gcc/configure.old 2004-03-24 12:17:44.000000000 -0800
-+++ gcc-2.95.3/gcc/configure 2004-03-24 12:19:30.000000000 -0800
-@@ -2929,6 +2929,9 @@
- i[34567]86-*-*)
- cpu_type=i386
- ;;
-+ x86_64-*-*)
-+ cpu_type=i386
-+ ;;
- hppa*-*-*)
- cpu_type=pa
- ;;
-@@ -3643,6 +3646,19 @@
- thread_file='posix'
- fi
- ;;
-+ x86_64-*-linux*)
-+ xmake_file=x-linux
-+ tm_file="i386/biarch64.h i386/i386.h i386/att.h linux.h i386/x86-64.h \
-+ i386/linux64.h"
-+ tmake_file="t-slibgcc-elf-ver t-linux i386/t-crtstuff"
-+ extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
-+ gnu_ld=yes
-+ float_format=i386
-+ if test x$enable_threads = xyes; then
-+ thread_file='posix'
-+ fi
-+ ;;
-+
- i[34567]86-*-gnu*)
- float_format=i386
- ;;
diff --git a/patches/gcc/2.95.3/130-config.sub.patch b/patches/gcc/2.95.3/130-config.sub.patch
deleted file mode 100644
index c8189b5..0000000
--- a/patches/gcc/2.95.3/130-config.sub.patch
+++ /dev/null
@@ -1,1257 +0,0 @@
-# Backport from gcc-3.3.3
-# Fixes errors like
-# Invalid configuration `x86_64-host_unknown-linux-gnu': machine `x86_64-host_unknown' not recognized
-# Unrecognized host system name x86_64-host_unknown-linux-gnu.
-# when configuring on chip types or operating systems like x86_64 or Darwin
-# which are newer than gcc-2.95
-
---- gcc-2.95.3/config.sub.old 1999-08-04 01:09:26.000000000 -0700
-+++ gcc-2.95.3/config.sub 2004-03-24 11:28:24.000000000 -0800
-@@ -1,6 +1,10 @@
- #! /bin/sh
--# Configuration validation subroutine script, version 1.1.
--# Copyright (C) 1991, 92-97, 1998, 1999 Free Software Foundation, Inc.
-+# Configuration validation subroutine script.
-+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-+# 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
-+
-+timestamp='2003-01-28'
-+
- # This file is (in principle) common to ALL GNU software.
- # The presence of a machine in this file suggests that SOME GNU software
- # can handle that machine. It does not imply ALL GNU software can.
-@@ -25,6 +29,9 @@
- # configuration script generated by Autoconf, you may include it under
- # the same distribution terms that you use for the rest of that program.
-
-+# Please send patches to <config-patches@gnu.org>. Submit a context
-+# diff and a properly formatted ChangeLog entry.
-+#
- # Configuration subroutine to validate and canonicalize a configuration type.
- # Supply the specified configuration type as an argument.
- # If it is invalid, we print an error message on stderr and exit with code 1.
-@@ -45,30 +52,73 @@
- # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
- # It is wrong to echo any other type of specification.
-
--if [ x$1 = x ]
--then
-- echo Configuration name missing. 1>&2
-- echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-- echo "or $0 ALIAS" 1>&2
-- echo where ALIAS is a recognized configuration type. 1>&2
-- exit 1
--fi
-+me=`echo "$0" | sed -e 's,.*/,,'`
-
--# First pass through any local machine types.
--case $1 in
-- *local*)
-- echo $1
-- exit 0
-- ;;
-- *)
-- ;;
-+usage="\
-+Usage: $0 [OPTION] CPU-MFR-OPSYS
-+ $0 [OPTION] ALIAS
-+
-+Canonicalize a configuration name.
-+
-+Operation modes:
-+ -h, --help print this help, then exit
-+ -t, --time-stamp print date of last modification, then exit
-+ -v, --version print version number, then exit
-+
-+Report bugs and patches to <config-patches@gnu.org>."
-+
-+version="\
-+GNU config.sub ($timestamp)
-+
-+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
-+Free Software Foundation, Inc.
-+
-+This is free software; see the source for copying conditions. There is NO
-+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
-+
-+help="
-+Try \`$me --help' for more information."
-+
-+# Parse command line
-+while test $# -gt 0 ; do
-+ case $1 in
-+ --time-stamp | --time* | -t )
-+ echo "$timestamp" ; exit 0 ;;
-+ --version | -v )
-+ echo "$version" ; exit 0 ;;
-+ --help | --h* | -h )
-+ echo "$usage"; exit 0 ;;
-+ -- ) # Stop option processing
-+ shift; break ;;
-+ - ) # Use stdin as input.
-+ break ;;
-+ -* )
-+ echo "$me: invalid option $1$help"
-+ exit 1 ;;
-+
-+ *local*)
-+ # First pass through any local machine types.
-+ echo $1
-+ exit 0;;
-+
-+ * )
-+ break ;;
-+ esac
-+done
-+
-+case $# in
-+ 0) echo "$me: missing argument$help" >&2
-+ exit 1;;
-+ 1) ;;
-+ *) echo "$me: too many arguments$help" >&2
-+ exit 1;;
- esac
-
- # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
- # Here we must recognize all the valid KERNEL-OS combinations.
- maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
- case $maybe_os in
-- linux-gnu*)
-+ nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
- os=-$maybe_os
- basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
- ;;
-@@ -94,20 +144,28 @@
- -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
- -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
- -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-- -apple)
-+ -apple | -axis)
- os=
- basic_machine=$1
- ;;
-- -sim | -cisco | -oki | -wec | -winbond ) # EGCS LOCAL
-+ -sim | -cisco | -oki | -wec | -winbond)
- os=
- basic_machine=$1
- ;;
-- -scout) # EGCS LOCAL
-+ -scout)
- ;;
-- -wrs) # EGCS LOCAL
-+ -wrs)
- os=-vxworks
- basic_machine=$1
- ;;
-+ -chorusos*)
-+ os=-chorusos
-+ basic_machine=$1
-+ ;;
-+ -chorusrdb)
-+ os=-chorusrdb
-+ basic_machine=$1
-+ ;;
- -hiux*)
- os=-hiuxwe2
- ;;
-@@ -156,49 +214,72 @@
- -psos*)
- os=-psos
- ;;
-+ -mint | -mint[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
-+ ;;
- esac
-
- # Decode aliases for certain CPU-COMPANY combinations.
- case $basic_machine in
- # Recognize the basic CPU types without company name.
- # Some are omitted here because they have special meanings below.
-- tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \
-- | arme[lb] | pyramid | mn10200 | mn10300 \
-- | tron | a29k | 580 | i960 | h8300 \
-- | hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
-- | alpha | alphaev5 | alphaev56 | alphapca56 | alphaev6 \
-- | we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
-- | 1750a | dsp16xx | pdp11 \
-- | mips64 | mipsel | mips64el | mips64orion | mips64orionel \
-- | mipstx39 | mipstx39el \
-- | sparc | sparclet | sparclite | sparc64 | sparcv9 | v850 | c4x)
-- basic_machine=$basic_machine-unknown
-- ;;
-- m88110 | m680[012346]0 | m683?2 | m68360 | m5200 | z8k | v70 \
-- | h8500 | w65) # EGCS LOCAL
-- ;;
-- thumb)
-- basic_machine=$basic_machine-unknown
-- ;;
-- mips64vr4300 | mips64vr4300el) # EGCS LOCAL jsmith/vr4300
-+ 1750a | 580 \
-+ | a29k \
-+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
-+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
-+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
-+ | clipper \
-+ | d10v | d30v | dlx | dsp16xx \
-+ | fr30 | frv \
-+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
-+ | i370 | i860 | i960 | ia64 \
-+ | ip2k \
-+ | m32r | m68000 | m68k | m88k | mcore \
-+ | mips | mipsbe | mipseb | mipsel | mipsle \
-+ | mips16 \
-+ | mips64 | mips64el \
-+ | mips64vr | mips64vrel \
-+ | mips64orion | mips64orionel \
-+ | mips64vr4100 | mips64vr4100el \
-+ | mips64vr4300 | mips64vr4300el \
-+ | mips64vr5000 | mips64vr5000el \
-+ | mipsisa32 | mipsisa32el \
-+ | mipsisa32r2 | mipsisa32r2el \
-+ | mipsisa64 | mipsisa64el \
-+ | mipsisa64sb1 | mipsisa64sb1el \
-+ | mipsisa64sr71k | mipsisa64sr71kel \
-+ | mipstx39 | mipstx39el \
-+ | mn10200 | mn10300 \
-+ | msp430 \
-+ | ns16k | ns32k \
-+ | openrisc | or32 \
-+ | pdp10 | pdp11 | pj | pjl \
-+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
-+ | pyramid \
-+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
-+ | sh64 | sh64le \
-+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \
-+ | strongarm \
-+ | tahoe | thumb | tic80 | tron \
-+ | v850 | v850e \
-+ | we32k \
-+ | x86 | xscale | xstormy16 | xtensa \
-+ | z8k)
- basic_machine=$basic_machine-unknown
- ;;
-- mips64vr4100 | mips64vr4100el) # EGCS LOCAL jsmith/vr4100
-- basic_machine=$basic_machine-unknown
-- ;;
-- mips64vr5000 | mips64vr5000el) # EGCS LOCAL ian/vr5000
-- basic_machine=$basic_machine-unknown
-- ;;
-- mips16)
-+ m6811 | m68hc11 | m6812 | m68hc12)
-+ # Motorola 68HC11/12.
- basic_machine=$basic_machine-unknown
-+ os=-none
- ;;
-- d10v)
-- basic_machine=$basic_machine-unknown
-+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
- ;;
-+
- # We use `pc' rather than `unknown'
- # because (1) that's what they normally are, and
- # (2) the word "unknown" tends to confuse beginning users.
-- i[34567]86)
-+ i*86 | x86_64)
- basic_machine=$basic_machine-pc
- ;;
- # Object if more than one company name word.
-@@ -207,44 +288,62 @@
- exit 1
- ;;
- # Recognize the basic CPU types with company name.
-- vax-* | tahoe-* | i[34567]86-* | i860-* | m32r-* | m68k-* | m68000-* \
-- | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \
-- | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \
-- | power-* | none-* | 580-* | cray2-* | h8300-* | i960-* \
-- | xmp-* | ymp-* \
-- | hppa-* | hppa1.0-* | hppa1.1-* \
-- | hppa2.0-* | hppa2.0w-* | hppa2.0n-* \
-- | alpha-* | alphaev5-* | alphaev56-* | alphapca56-* \
-- | alphaev6-* | we32k-* | cydra-* | ns16k-* | pn-* | np1-* \
-- | xps100-* | clipper-* | orion-* \
-- | sparclite-* | pdp11-* | sh-* | powerpc-* | powerpcle-* \
-- | sparc64-* | sparcv9-* | sparc86x-* | mips64-* | mipsel-* \
-- | mips64el-* | mips64orion-* | mips64orionel-* \
-- | mipstx39-* | mipstx39el-* \
-- | f301-* | arm*-*)
-- ;;
-- m88110-* | m680[01234]0-* | m683?2-* | m68360-* | z8k-* | h8500-* | d10v-*) # EGCS LOCAL
-- ;;
-- thumb-*) # EGCS LOCAL angela/thumb
-- ;;
-- v850-*) # EGCS LOCAL
-- ;;
-- d30v-*) # EGCS LOCAL
-- ;;
-- mips64vr4300-* | mips64vr4300el-*) # EGCS LOCAL jsmith/vr4300
-- ;;
-- mips64vr4100-* | mips64vr4100el-*) # EGCS LOCAL jsmith/vr4100
-- ;;
-- mips16-*) # EGCS LOCAL krk/mips16
-- ;;
-- tic30-*) # EGCS LOCAL ian/tic30
-- ;;
-- c30-*) # EGCS LOCAL ian/tic30
-- basic_machine=tic30-unknown
-+ 580-* \
-+ | a29k-* \
-+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
-+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
-+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
-+ | avr-* \
-+ | bs2000-* \
-+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* \
-+ | clipper-* | cydra-* \
-+ | d10v-* | d30v-* | dlx-* \
-+ | elxsi-* \
-+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
-+ | h8300-* | h8500-* \
-+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
-+ | i*86-* | i860-* | i960-* | ia64-* \
-+ | ip2k-* \
-+ | m32r-* \
-+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
-+ | m88110-* | m88k-* | mcore-* \
-+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
-+ | mips16-* \
-+ | mips64-* | mips64el-* \
-+ | mips64vr-* | mips64vrel-* \
-+ | mips64orion-* | mips64orionel-* \
-+ | mips64vr4100-* | mips64vr4100el-* \
-+ | mips64vr4300-* | mips64vr4300el-* \
-+ | mips64vr5000-* | mips64vr5000el-* \
-+ | mipsisa32-* | mipsisa32el-* \
-+ | mipsisa32r2-* | mipsisa32r2el-* \
-+ | mipsisa64-* | mipsisa64el-* \
-+ | mipsisa64sb1-* | mipsisa64sb1el-* \
-+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
-+ | mipstx39-* | mipstx39el-* \
-+ | msp430-* \
-+ | none-* | np1-* | nv1-* | ns16k-* | ns32k-* \
-+ | orion-* \
-+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
-+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
-+ | pyramid-* \
-+ | romp-* | rs6000-* \
-+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
-+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
-+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
-+ | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
-+ | tahoe-* | thumb-* | tic30-* | tic4x-* | tic54x-* | tic80-* | tron-* \
-+ | v850-* | v850e-* | vax-* \
-+ | we32k-* \
-+ | x86-* | x86_64-* | xps100-* | xscale-* | xstormy16-* \
-+ | xtensa-* \
-+ | ymp-* \
-+ | z8k-*)
- ;;
- # Recognize the various machine names and aliases which stand
- # for a CPU type and a company and sometimes even an OS.
-- 386bsd) # EGCS LOCAL
-+ 386bsd)
- basic_machine=i386-unknown
- os=-bsd
- ;;
-@@ -254,11 +353,11 @@
- 3b*)
- basic_machine=we32k-att
- ;;
-- a29khif) # EGCS LOCAL
-+ a29khif)
- basic_machine=a29k-amd
- os=-udi
- ;;
-- adobe68k) # EGCS LOCAL
-+ adobe68k)
- basic_machine=m68010-adobe
- os=-scout
- ;;
-@@ -277,21 +376,21 @@
- os=-sysv
- ;;
- amiga | amiga-*)
-- basic_machine=m68k-cbm
-+ basic_machine=m68k-unknown
- ;;
- amigaos | amigados)
-- basic_machine=m68k-cbm
-+ basic_machine=m68k-unknown
- os=-amigaos
- ;;
- amigaunix | amix)
-- basic_machine=m68k-cbm
-+ basic_machine=m68k-unknown
- os=-sysv4
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv
- ;;
-- apollo68bsd) # EGCS LOCAL
-+ apollo68bsd)
- basic_machine=m68k-apollo
- os=-bsd
- ;;
-@@ -303,6 +402,10 @@
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
-+ c90)
-+ basic_machine=c90-cray
-+ os=-unicos
-+ ;;
- convex-c1)
- basic_machine=c1-convex
- os=-bsd
-@@ -323,27 +426,30 @@
- basic_machine=c38-convex
- os=-bsd
- ;;
-- cray | ymp)
-- basic_machine=ymp-cray
-- os=-unicos
-- ;;
-- cray2)
-- basic_machine=cray2-cray
-- os=-unicos
-- ;;
-- [ctj]90-cray)
-- basic_machine=c90-cray
-+ cray | j90)
-+ basic_machine=j90-cray
- os=-unicos
- ;;
- crds | unos)
- basic_machine=m68k-crds
- ;;
-+ cris | cris-* | etrax*)
-+ basic_machine=cris-axis
-+ ;;
- da30 | da30-*)
- basic_machine=m68k-da30
- ;;
- decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
- basic_machine=mips-dec
- ;;
-+ decsystem10* | dec10*)
-+ basic_machine=pdp10-dec
-+ os=-tops10
-+ ;;
-+ decsystem20* | dec20*)
-+ basic_machine=pdp10-dec
-+ os=-tops20
-+ ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
-@@ -371,7 +477,7 @@
- encore | umax | mmax)
- basic_machine=ns32k-encore
- ;;
-- es1800 | OSE68k | ose68k | ose | OSE) # EGCS LOCAL
-+ es1800 | OSE68k | ose68k | ose | OSE)
- basic_machine=m68k-ericsson
- os=-ose
- ;;
-@@ -385,6 +491,10 @@
- basic_machine=tron-gmicro
- os=-sysv
- ;;
-+ go32)
-+ basic_machine=i386-pc
-+ os=-go32
-+ ;;
- h3050r* | hiux*)
- basic_machine=hppa1.1-hitachi
- os=-hiuxwe2
-@@ -393,11 +503,11 @@
- basic_machine=h8300-hitachi
- os=-hms
- ;;
-- h8300xray) # EGCS LOCAL
-+ h8300xray)
- basic_machine=h8300-hitachi
- os=-xray
- ;;
-- h8500hms) # EGCS LOCAL
-+ h8500hms)
- basic_machine=h8500-hitachi
- os=-hms
- ;;
-@@ -416,22 +526,6 @@
- basic_machine=m68k-hp
- os=-hpux
- ;;
-- w89k-*) # EGCS LOCAL
-- basic_machine=hppa1.1-winbond
-- os=-proelf
-- ;;
-- op50n-*) # EGCS LOCAL
-- basic_machine=hppa1.1-oki
-- os=-proelf
-- ;;
-- op60c-*) # EGCS LOCAL
-- basic_machine=hppa1.1-oki
-- os=-proelf
-- ;;
-- hppro) # EGCS LOCAL
-- basic_machine=hppa1.1-hp
-- os=-proelf
-- ;;
- hp3k9[0-9][0-9] | hp9[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
-@@ -441,22 +535,21 @@
- hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- ;;
-- hp9k6[0-9][0-9] | hp6[0-9][0-9] )
-+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
- basic_machine=hppa1.0-hp
- ;;
-- hp9k7[0-79][0-9] | hp7[0-79][0-9] )
-+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
- basic_machine=hppa1.1-hp
- ;;
-- hp9k78[0-9] | hp78[0-9] )
-+ hp9k78[0-9] | hp78[0-9])
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
-- hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | \
-- hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893 )
-+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
- # FIXME: really hppa2.0-hp
- basic_machine=hppa1.1-hp
- ;;
-- hp9k8[0-9][13679] | hp8[0-9][13679] )
-+ hp9k8[0-9][13679] | hp8[0-9][13679])
- basic_machine=hppa1.1-hp
- ;;
- hp9k8[0-9][0-9] | hp8[0-9][0-9])
-@@ -465,47 +558,42 @@
- hppa-next)
- os=-nextstep3
- ;;
-- hppaosf) # EGCS LOCAL
-+ hppaosf)
- basic_machine=hppa1.1-hp
- os=-osf
- ;;
-+ hppro)
-+ basic_machine=hppa1.1-hp
-+ os=-proelf
-+ ;;
- i370-ibm* | ibm*)
- basic_machine=i370-ibm
-- os=-mvs
- ;;
- # I'm not sure what "Sysv32" means. Should this be sysv3.2?
-- i[34567]86v32)
-+ i*86v32)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv32
- ;;
-- i[34567]86v4*)
-+ i*86v4*)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv4
- ;;
-- i[34567]86v)
-+ i*86v)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-sysv
- ;;
-- i[34567]86sol2)
-+ i*86sol2)
- basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
- os=-solaris2
- ;;
-- i386mach) # EGCS LOCAL
-+ i386mach)
- basic_machine=i386-mach
- os=-mach
- ;;
-- i386-vsta | vsta) # EGCS LOCAL
-+ i386-vsta | vsta)
- basic_machine=i386-unknown
- os=-vsta
- ;;
-- i386-go32 | go32) # EGCS LOCAL
-- basic_machine=i386-unknown
-- os=-go32
-- ;;
-- i386-mingw32 | mingw32)
-- basic_machine=i386-unknown
-- os=-mingw32
-- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- case $os in
-@@ -531,16 +619,16 @@
- basic_machine=ns32k-utek
- os=-sysv
- ;;
-+ mingw32)
-+ basic_machine=i386-pc
-+ os=-mingw32
-+ ;;
- miniframe)
- basic_machine=m68000-convergent
- ;;
-- mipsel*-linux*)
-- basic_machine=mipsel-unknown
-- os=-linux-gnu
-- ;;
-- mips*-linux*)
-- basic_machine=mips-unknown
-- os=-linux-gnu
-+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
-+ basic_machine=m68k-atari
-+ os=-mint
- ;;
- mips3*-*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-@@ -548,24 +636,36 @@
- mips3*)
- basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
- ;;
-- monitor) # EGCS LOCAL
-+ mmix*)
-+ basic_machine=mmix-knuth
-+ os=-mmixware
-+ ;;
-+ monitor)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
-- msdos) # EGCS LOCAL
-- basic_machine=i386-unknown
-+ morphos)
-+ basic_machine=powerpc-unknown
-+ os=-morphos
-+ ;;
-+ msdos)
-+ basic_machine=i386-pc
- os=-msdos
- ;;
-+ mvs)
-+ basic_machine=i370-ibm
-+ os=-mvs
-+ ;;
- ncr3000)
- basic_machine=i486-ncr
- os=-sysv4
- ;;
- netbsd386)
-- basic_machine=i386-unknown # EGCS LOCAL
-+ basic_machine=i386-unknown
- os=-netbsd
- ;;
- netwinder)
-- basic_machine=armv4l-corel
-+ basic_machine=armv4l-rebel
- os=-linux
- ;;
- news | news700 | news800 | news900)
-@@ -580,7 +680,7 @@
- basic_machine=mips-sony
- os=-newsos
- ;;
-- necv70) # EGCS LOCAL
-+ necv70)
- basic_machine=v70-nec
- os=-sysv
- ;;
-@@ -609,18 +709,37 @@
- basic_machine=i960-intel
- os=-nindy
- ;;
-- mon960) # EGCS LOCAL
-+ mon960)
- basic_machine=i960-intel
- os=-mon960
- ;;
-+ nonstopux)
-+ basic_machine=mips-compaq
-+ os=-nonstopux
-+ ;;
- np1)
- basic_machine=np1-gould
- ;;
-- OSE68000 | ose68000) # EGCS LOCAL
-+ nv1)
-+ basic_machine=nv1-cray
-+ os=-unicosmp
-+ ;;
-+ nsr-tandem)
-+ basic_machine=nsr-tandem
-+ ;;
-+ op50n-* | op60c-*)
-+ basic_machine=hppa1.1-oki
-+ os=-proelf
-+ ;;
-+ or32 | or32-*)
-+ basic_machine=or32-unknown
-+ os=-coff
-+ ;;
-+ OSE68000 | ose68000)
- basic_machine=m68000-ericsson
- os=-ose
- ;;
-- os68k) # EGCS LOCAL
-+ os68k)
- basic_machine=m68k-none
- os=-os68k
- ;;
-@@ -638,46 +757,60 @@
- pbb)
- basic_machine=m68k-tti
- ;;
-- pc532 | pc532-*)
-+ pc532 | pc532-*)
- basic_machine=ns32k-pc532
- ;;
-- pentium | p5 | k5 | k6 | nexen)
-+ pentium | p5 | k5 | k6 | nexgen | viac3)
- basic_machine=i586-pc
- ;;
-- pentiumpro | p6 | 6x86)
-+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
- basic_machine=i686-pc
- ;;
- pentiumii | pentium2)
-- basic_machine=i786-pc
-+ basic_machine=i686-pc
- ;;
-- pentium-* | p5-* | k5-* | k6-* | nexen-*)
-+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
- basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-- pentiumpro-* | p6-* | 6x86-*)
-+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
- basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pentiumii-* | pentium2-*)
-- basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- pn)
- basic_machine=pn-gould
- ;;
-- power) basic_machine=rs6000-ibm
-+ power) basic_machine=power-ibm
- ;;
- ppc) basic_machine=powerpc-unknown
-- ;;
-+ ;;
- ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
- ppcle | powerpclittle | ppc-le | powerpc-little)
- basic_machine=powerpcle-unknown
-- ;;
-+ ;;
- ppcle-* | powerpclittle-*)
- basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
-+ ppc64) basic_machine=powerpc64-unknown
-+ ;;
-+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
-+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
-+ basic_machine=powerpc64le-unknown
-+ ;;
-+ ppc64le-* | powerpc64little-*)
-+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
-+ ;;
- ps2)
- basic_machine=i386-ibm
- ;;
-- rom68k) # EGCS LOCAL
-+ pw32)
-+ basic_machine=i586-unknown
-+ os=-pw32
-+ ;;
-+ rom68k)
- basic_machine=m68k-rom68k
- os=-coff
- ;;
-@@ -687,10 +820,22 @@
- rtpc | rtpc-*)
- basic_machine=romp-ibm
- ;;
-- sa29200) # EGCS LOCAL
-+ s390 | s390-*)
-+ basic_machine=s390-ibm
-+ ;;
-+ s390x | s390x-*)
-+ basic_machine=s390x-ibm
-+ ;;
-+ sa29200)
- basic_machine=a29k-amd
- os=-udi
- ;;
-+ sb1)
-+ basic_machine=mipsisa64sb1-unknown
-+ ;;
-+ sb1el)
-+ basic_machine=mipsisa64sb1el-unknown
-+ ;;
- sequent)
- basic_machine=i386-sequent
- ;;
-@@ -698,7 +843,7 @@
- basic_machine=sh-hitachi
- os=-hms
- ;;
-- sparclite-wrs) # EGCS LOCAL
-+ sparclite-wrs | simso-wrs)
- basic_machine=sparclite-wrs
- os=-vxworks
- ;;
-@@ -709,10 +854,10 @@
- spur)
- basic_machine=spur-unknown
- ;;
-- st2000) # EGCS LOCAL
-+ st2000)
- basic_machine=m68k-tandem
- ;;
-- stratus) # EGCS LOCAL
-+ stratus)
- basic_machine=i860-stratus
- os=-sysv4
- ;;
-@@ -756,16 +901,40 @@
- sun386 | sun386i | roadrunner)
- basic_machine=i386-sun
- ;;
-+ sv1)
-+ basic_machine=sv1-cray
-+ os=-unicos
-+ ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
-+ t3e)
-+ basic_machine=alphaev5-cray
-+ os=-unicos
-+ ;;
-+ t90)
-+ basic_machine=t90-cray
-+ os=-unicos
-+ ;;
-+ tic4x | c4x*)
-+ basic_machine=tic4x-unknown
-+ os=-coff
-+ ;;
-+ tic54x | c54x*)
-+ basic_machine=tic54x-unknown
-+ os=-coff
-+ ;;
- tx39)
- basic_machine=mipstx39-unknown
- ;;
- tx39el)
- basic_machine=mipstx39el-unknown
- ;;
-+ toad1)
-+ basic_machine=pdp10-xkl
-+ os=-tops20
-+ ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- ;;
-@@ -777,7 +946,7 @@
- basic_machine=a29k-nyu
- os=-sym1
- ;;
-- v810 | necv810) # EGCS LOCAL
-+ v810 | necv810)
- basic_machine=v810-nec
- os=-none
- ;;
-@@ -790,8 +959,8 @@
- os=-vms
- ;;
- vpp*|vx|vx-*)
-- basic_machine=f301-fujitsu
-- ;;
-+ basic_machine=f301-fujitsu
-+ ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
-@@ -804,18 +973,22 @@
- basic_machine=a29k-wrs
- os=-vxworks
- ;;
-- w65*) # EGCS LOCAL
-- basic_machine=w65-wdc
-- os=-none
-+ w65*)
-+ basic_machine=w65-wdc
-+ os=-none
- ;;
-- xmp)
-- basic_machine=xmp-cray
-- os=-unicos
-+ w89k-*)
-+ basic_machine=hppa1.1-winbond
-+ os=-proelf
- ;;
-- xps | xps100)
-+ xps | xps100)
- basic_machine=xps100-honeywell
- ;;
-- z8k-*-coff) # EGCS LOCAL
-+ ymp)
-+ basic_machine=ymp-cray
-+ os=-unicos
-+ ;;
-+ z8k-*-coff)
- basic_machine=z8k-unknown
- os=-sim
- ;;
-@@ -826,22 +999,15 @@
-
- # Here we handle the default manufacturer of certain CPU types. It is in
- # some cases the only manufacturer, in others, it is the most popular.
-- w89k) # EGCS LOCAL
-+ w89k)
- basic_machine=hppa1.1-winbond
- ;;
-- op50n) # EGCS LOCAL
-+ op50n)
- basic_machine=hppa1.1-oki
- ;;
-- op60c) # EGCS LOCAL
-+ op60c)
- basic_machine=hppa1.1-oki
- ;;
-- mips)
-- if [ x$os = x-linux-gnu ]; then
-- basic_machine=mips-unknown
-- else
-- basic_machine=mips-mips
-- fi
-- ;;
- romp)
- basic_machine=romp-ibm
- ;;
-@@ -851,16 +1017,26 @@
- vax)
- basic_machine=vax-dec
- ;;
-+ pdp10)
-+ # there are many clones, so DEC is not a safe bet
-+ basic_machine=pdp10-unknown
-+ ;;
- pdp11)
- basic_machine=pdp11-dec
- ;;
- we32k)
- basic_machine=we32k-att
- ;;
-- sparc | sparcv9)
-+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
-+ basic_machine=sh-unknown
-+ ;;
-+ sh64)
-+ basic_machine=sh64-unknown
-+ ;;
-+ sparc | sparcv9 | sparcv9b)
- basic_machine=sparc-sun
- ;;
-- cydra)
-+ cydra)
- basic_machine=cydra-cydrome
- ;;
- orion)
-@@ -869,16 +1045,15 @@
- orion105)
- basic_machine=clipper-highlevel
- ;;
-- mac | mpw | mac-mpw) # EGCS LOCAL
-+ mac | mpw | mac-mpw)
- basic_machine=m68k-apple
- ;;
-- pmac | pmac-mpw) # EGCS LOCAL
-+ pmac | pmac-mpw)
- basic_machine=powerpc-apple
- ;;
-- c4x*)
-- basic_machine=c4x-none
-- os=-coff
-- ;;
-+ *-unknown)
-+ # Make sure to match an already-canonicalized machine name.
-+ ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
- exit 1
-@@ -935,20 +1110,38 @@
- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
- | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
- | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-+ | -chorusos* | -chorusrdb* \
- | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
-- | -interix* | -uwin* )
-+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
-+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
-+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
-+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
-+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
-+ | -powermax* | -dnix* | -microbsd*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
-- # EGCS LOCAL
-+ -qnx*)
-+ case $basic_machine in
-+ x86-* | i*86-*)
-+ ;;
-+ *)
-+ os=-nto$os
-+ ;;
-+ esac
-+ ;;
-+ -nto-qnx*)
-+ ;;
-+ -nto*)
-+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
-+ ;;
- -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
-- | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-- | -macos* | -mpw* | -magic* | -mon960* | -lnews* )
-+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
-+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
- ;;
- -mac*)
- os=`echo $os | sed -e 's|mac|macos|'`
- ;;
-- # END EGCS LOCAL
- -linux*)
- os=`echo $os | sed -e 's|linux|linux-gnu|'`
- ;;
-@@ -958,6 +1151,12 @@
- -sunos6*)
- os=`echo $os | sed -e 's|sunos6|solaris3|'`
- ;;
-+ -opened*)
-+ os=-openedition
-+ ;;
-+ -wince*)
-+ os=-wince
-+ ;;
- -osfrose*)
- os=-osfrose
- ;;
-@@ -973,14 +1172,23 @@
- -acis*)
- os=-aos
- ;;
-- -386bsd) # EGCS LOCAL
-+ -atheos*)
-+ os=-atheos
-+ ;;
-+ -386bsd)
- os=-bsd
- ;;
- -ctix* | -uts*)
- os=-sysv
- ;;
-+ -nova*)
-+ os=-rtmk-nova
-+ ;;
- -ns2 )
-- os=-nextstep2
-+ os=-nextstep2
-+ ;;
-+ -nsk*)
-+ os=-nsk
- ;;
- # Preserve the version number of sinix5.
- -sinix5.*)
-@@ -1007,15 +1215,21 @@
- # This must come after -sysvr4.
- -sysv*)
- ;;
-- -ose*) # EGCS LOCAL
-+ -ose*)
- os=-ose
- ;;
-- -es1800*) # EGCS LOCAL
-+ -es1800*)
- os=-ose
- ;;
- -xenix)
- os=-xenix
- ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ os=-mint
-+ ;;
-+ -aros*)
-+ os=-aros
-+ ;;
- -none)
- ;;
- *)
-@@ -1041,13 +1255,17 @@
- *-acorn)
- os=-riscix1.2
- ;;
-- arm*-corel)
-+ arm*-rebel)
- os=-linux
- ;;
- arm*-semi)
- os=-aout
- ;;
-- pdp11-*)
-+ # This must come before the *-dec entry.
-+ pdp10-*)
-+ os=-tops20
-+ ;;
-+ pdp11-*)
- os=-none
- ;;
- *-dec | vax-*)
-@@ -1065,15 +1283,18 @@
- # default.
- # os=-sunos4
- ;;
-- m68*-cisco) # EGCS LOCAL
-+ m68*-cisco)
- os=-aout
- ;;
-- mips*-cisco) # EGCS LOCAL
-+ mips*-cisco)
- os=-elf
- ;;
-- mips*-*) # EGCS LOCAL
-- os=-elf
-- ;;
-+ mips*-*)
-+ os=-elf
-+ ;;
-+ or32-*)
-+ os=-coff
-+ ;;
- *-tti) # must be before sparc entry or we get the wrong os.
- os=-sysv3
- ;;
-@@ -1086,13 +1307,13 @@
- *-ibm)
- os=-aix
- ;;
-- *-wec) # EGCS LOCAL
-+ *-wec)
- os=-proelf
- ;;
-- *-winbond) # EGCS LOCAL
-+ *-winbond)
- os=-proelf
- ;;
-- *-oki) # EGCS LOCAL
-+ *-oki)
- os=-proelf
- ;;
- *-hp)
-@@ -1137,36 +1358,39 @@
- *-next)
- os=-nextstep3
- ;;
-- *-gould)
-+ *-gould)
- os=-sysv
- ;;
-- *-highlevel)
-+ *-highlevel)
- os=-bsd
- ;;
- *-encore)
- os=-bsd
- ;;
-- *-sgi)
-+ *-sgi)
- os=-irix
- ;;
-- *-siemens)
-+ *-siemens)
- os=-sysv4
- ;;
- *-masscomp)
- os=-rtu
- ;;
-- f301-fujitsu)
-+ f30[01]-fujitsu | f700-fujitsu)
- os=-uxpv
- ;;
-- *-rom68k) # EGCS LOCAL
-+ *-rom68k)
- os=-coff
- ;;
-- *-*bug) # EGCS LOCAL
-+ *-*bug)
- os=-coff
- ;;
-- *-apple) # EGCS LOCAL
-+ *-apple)
- os=-macos
- ;;
-+ *-atari*)
-+ os=-mint
-+ ;;
- *)
- os=-none
- ;;
-@@ -1212,27 +1436,41 @@
- -genix*)
- vendor=ns
- ;;
-- -mvs*)
-+ -mvs* | -opened*)
- vendor=ibm
- ;;
- -ptx*)
- vendor=sequent
- ;;
-- -vxsim* | -vxworks*)
-+ -vxsim* | -vxworks* | -windiss*)
- vendor=wrs
- ;;
- -aux*)
- vendor=apple
- ;;
-- -hms*) # EGCS LOCAL
-+ -hms*)
- vendor=hitachi
- ;;
-- -mpw* | -macos*) # EGCS LOCAL
-+ -mpw* | -macos*)
- vendor=apple
- ;;
-+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
-+ vendor=atari
-+ ;;
-+ -vos*)
-+ vendor=stratus
-+ ;;
- esac
- basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
- ;;
- esac
-
- echo $basic_machine$os
-+exit 0
-+
-+# Local variables:
-+# eval: (add-hook 'write-file-hooks 'time-stamp)
-+# time-stamp-start: "timestamp='"
-+# time-stamp-format: "%:y-%02m-%02d"
-+# time-stamp-end: "'"
-+# End:
diff --git a/patches/gcc/2.95.3/140-deque-leak-fix.patch b/patches/gcc/2.95.3/140-deque-leak-fix.patch
deleted file mode 100644
index 44d2a01..0000000
--- a/patches/gcc/2.95.3/140-deque-leak-fix.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-[See also http://gcc.gnu.org/ml/libstdc++/2001-11/msg00133.html ]
-
-Date: Fri, 16 Nov 2001 16:06:22 -0500
-From: Phil Edwards <pedwards at disaster dot jaj dot com>
-To: gcc-patches at gcc dot gnu dot org
-Subject: [libstdc++ trunk & 3.0] Fix deque memory leak
-Message-ID: <20011116160622.A23094@disaster.jaj.com>
-
-
-As discussed on the libstdc++ mailing list. Tested on i686/linux.
-
-
-
-2001-11-16 Paolo Carlini <pcarlini@unitus.it>
-
- * include/bits/stl_deque.h (deque::erase()): Fix memory leak.
-
-
-[rediffed against 2.95.3 -- dank]
-
---- gcc-2.95.3/libstdc++/stl/stl_deque.h.old 2001-01-01 09:48:22.000000000 -0800
-+++ gcc-2.95.3/libstdc++/stl/stl_deque.h 2006-02-18 15:24:17.000000000 -0800
-@@ -1052,7 +1052,7 @@
- copy_backward(_M_start, __first, __last);
- iterator __new_start = _M_start + __n;
- destroy(_M_start, __new_start);
-- _M_destroy_nodes(__new_start._M_node, _M_start._M_node);
-+ _M_destroy_nodes(_M_start._M_node, __new_start._M_node); /* fixed per http://gcc.gnu.org/ml/libstdc++/2001-11/msg00139.html */
- _M_start = __new_start;
- }
- else {
diff --git a/patches/gcc/2.95.3/150-cygwin-020611.patch b/patches/gcc/2.95.3/150-cygwin-020611.patch
deleted file mode 100644
index fb2b8da..0000000
--- a/patches/gcc/2.95.3/150-cygwin-020611.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-[ Building gcc-2.95.3 on cygwin yields a compiler that sticks a .exe
- on the end of every executable, even if they're linux executable.
- This is highly annoying, and causes glibc build failures that look like this:
- mv: `.../bin/makedb.new' and `.../bin/makedb' are the same file
- make[2]: *** [.../bin/makedb] Error 1
- make[2]: Leaving directory `.../gcc-2.95.3-glibc-2.1.3/glibc-2.1.3/db2'
-
- The mainline solves this with http://gcc.gnu.org/ml/gcc-cvs/2001-04/msg00440.html,
- but that doesn't apply cleanly to gcc-2.95.3.
-
- So, I'm using
- http://www.uclinux.org/pub/uClinux/uclinux-elf-tools/tools-20030314/gcc-2.95.3-cygwin-020611.patch
- This is the only patch in crosstool that *isn't* suitable for the mainline.
- I can live with this patch simply because crosstool does not build
- compilers that target cygwin or VAX/VMS.
- If that ever changes, I might need to try applying the real patch.
-]
-
-
-
-#
-# This patch can be found at http://www.uclinux.org/pub/uClinux/m68k-elf-tools/
-#
---- gcc-2.95.3/gcc/config/i386/xm-cygwin.h 1999-04-22 16:40:56.000000000 +0200
-+++ gcc-2.95.3-cygwin/gcc/config/i386/xm-cygwin.h 2002-06-11 08:23:18.000000000 +0200
-@@ -19,7 +19,6 @@
- the Free Software Foundation, 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
-
--#define EXECUTABLE_SUFFIX ".exe"
- #define NO_SYS_SIGLIST 1
-
- /* We support both "/" and "\" since everybody tests both but we
diff --git a/patches/gcc/2.95.3/160-trap-posix.patch b/patches/gcc/2.95.3/160-trap-posix.patch
deleted file mode 100644
index 1d18055..0000000
--- a/patches/gcc/2.95.3/160-trap-posix.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# Submitted-By: Marc Kleine-Budde <mkl@pengutronix.de>, 2005-04-20
-#
-# Error:
-#
-# creating libintl.h
-# Configuring etc...
-# loading cache ../config.cache
-# checking for a BSD compatible install... (cached) /usr/bin/install -c
-# creating ./config.status
-# creating Makefile
-# trap: usage: trap [-lp] [[arg] signal_spec ...]
-#
-# Description:
-#
-# non-posix conform usage of trap causes bash >= 3.0 to fail
-# e.g.: http://sourceware.org/ml/crossgcc/2004-12/msg00132.html
-#
-# Status:
-#
-# fixed in gcc >= 3.3.5
-# backport of gcc-3.3.5 fix
-#
-diff -ruN gcc-2.95.3-orig/configure gcc-2.95.3/configure
---- gcc-2.95.3-orig/configure 1999-04-02 16:17:40.000000000 +0200
-+++ gcc-2.95.3/configure 2005-04-20 18:25:45.030488235 +0200
-@@ -687,7 +687,7 @@
- if test -f skip-this-dir; then
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
-- trap 0
-+ trap '' 0
- rm -f Makefile* ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
- # Execute the final clean-up actions
- ${config_shell} skip-this-dir
-@@ -1599,7 +1599,7 @@
- # Perform the same cleanup as the trap handler, minus the "exit 1" of course,
- # and reset the trap handler.
- rm -f ${tmpfile}.com ${tmpfile}.tgt ${tmpfile}.hst ${tmpfile}.pos
--trap 0
-+trap '' 0
-
- exit 0
-
diff --git a/patches/gcc/2.95.3/170-pr3106.patch b/patches/gcc/2.95.3/170-pr3106.patch
deleted file mode 100644
index 0e077ea..0000000
--- a/patches/gcc/2.95.3/170-pr3106.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-See http://gcc.gnu.org/PR3106
-Backported from gcc-3.0.x
-
-Fixes error
- .../binutils-2.11.2/libiberty/strerror.c:468: error: conflicting types for `sys_nerr'
- /usr/include/stdio.h:258: error: previous declaration of `sys_nerr'
- make[1]: *** [strerror.o] Error 1
- make: *** [all-libiberty] Error 2
-on Mac OS X.
-
---- gcc-2.95.3/libiberty/strerror.c.old 2004-03-24 16:23:19.000000000 -0800
-+++ gcc-2.95.3/libiberty/strerror.c 2004-03-24 16:23:48.000000000 -0800
-@@ -13,6 +13,7 @@
- incompatible with our later declaration, perhaps by using const
- attributes. So we hide the declaration in errno.h (if any) using a
- macro. */
-+#define sys_nerr sys_nerr__
- #define sys_errlist sys_errlist__
- #endif
-
-@@ -20,6 +21,7 @@
- #include <errno.h>
-
- #ifdef HAVE_SYS_ERRLIST
-+#undef sys_nerr
- #undef sys_errlist
- #endif
-
diff --git a/patches/gcc/2.95.3/180-threads_snafu.patch b/patches/gcc/2.95.3/180-threads_snafu.patch
deleted file mode 100644
index 2c5297e..0000000
--- a/patches/gcc/2.95.3/180-threads_snafu.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-This fixes the error
-
-In file included from gthr-default.h:1,
- from /build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/gthr.h:98,
- from /build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/libgcc2.c:3034:
-/build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/gcc-2.95.3/gcc/gthr-posix.h:37: pthread.h: No such file or directory
-make[3]: *** [libgcc2.a] Error 1
-make[3]: Leaving directory `/build/arm-unknown-linux-gnu/gcc-2.95.3-glibc-2.2.2/build-gcc-core/gcc'
-
-in what I think is a nicer way than the patch used by the arm team,
-i.e. "perl -pi -e 's/^(TARGET_LIBGCC2_CFLAGS.*)/$1 -Dinhibit_libc -D__gthr_posix_h/' gcc/config/arm/t-linux"
-which seems a bit of a kludge.
-
---- gcc-2.95.3/gcc/configure.old Fri Mar 16 06:13:48 2001
-+++ gcc-2.95.3/gcc/configure Sun Jun 8 13:02:20 2003
-@@ -853,9 +853,9 @@
- # Check whether --enable-threads or --disable-threads was given.
- if test "${enable_threads+set}" = set; then
- enableval="$enable_threads"
-- if test x$enable_threads = xno; then
-- enable_threads=''
--fi
-+ #if test x$enable_threads = xno; then
-+ #enable_threads=''
-+ #fi
- else
- enable_threads=''
- fi