]> git.pld-linux.org Git - packages/gcc.git/commitdiff
This commit was manufactured by cvs2git to create branch 'GCC323'.
authorcvs2git <feedback@pld-linux.org>
Sun, 4 May 2003 18:18:40 +0000 (18:18 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Sprout from master 2003-04-25 22:36:12 UTC Jakub Bogusz <qboosh@pld-linux.org> '- updated to 3.2.3'
Cherrypick from master 2003-05-04 18:18:40 UTC kloczek <kloczek@pld-linux.org> '- release 2: patches reorder.':
    gcc.spec -> 1.154
Delete:
    c++filt.1
    gcc-O2-bug.patch
    gcc-alpha-complex-float.patch
    gcc-bootstrap.patch
    gcc-builtin-apply.patch
    gcc-cpp-dos-newlines.patch
    gcc-cpp-macro-doc.patch
    gcc-crtendS.patch
    gcc-default-arch.patch
    gcc-disableshared.patch
    gcc-gcj-vs-iconv.patch
    gcc-gpc.patch
    gcc-libobjc.patch
    gcc-libstdc++-bastring.patch
    gcc-libstdc++-out-of-mem.patch
    gcc-libstdc++-wstring.patch
    gcc-libstdc++.patch
    gcc-m68k-pic.patch
    gcc-manpage.patch
    gcc-march-i686-fix.patch
    gcc-pld-linux.patch
    gcc-pointer-arith.patch
    gcc-ppc-ada-hack.patch
    gcc-ppc-descriptions.patch
    gcc-ppc-ice.patch
    gcc-sparc32-rfi.patch
    gcc32-c++-pretty_function.patch
    gcc32-doc-gcov.patch
    gcc32-libstdc++-glibc.patch
    gcc32-locale_in_ctype_members.patch
    gcc32-locale_in_ctype_members_header.patch
    gcc32-locale_in_monetary_members.patch
    gcov.1

34 files changed:
c++filt.1 [deleted file]
gcc-O2-bug.patch [deleted file]
gcc-alpha-complex-float.patch [deleted file]
gcc-bootstrap.patch [deleted file]
gcc-builtin-apply.patch [deleted file]
gcc-cpp-dos-newlines.patch [deleted file]
gcc-cpp-macro-doc.patch [deleted file]
gcc-crtendS.patch [deleted file]
gcc-default-arch.patch [deleted file]
gcc-disableshared.patch [deleted file]
gcc-gcj-vs-iconv.patch [deleted file]
gcc-gpc.patch [deleted file]
gcc-libobjc.patch [deleted file]
gcc-libstdc++-bastring.patch [deleted file]
gcc-libstdc++-out-of-mem.patch [deleted file]
gcc-libstdc++-wstring.patch [deleted file]
gcc-libstdc++.patch [deleted file]
gcc-m68k-pic.patch [deleted file]
gcc-manpage.patch [deleted file]
gcc-march-i686-fix.patch [deleted file]
gcc-pld-linux.patch [deleted file]
gcc-pointer-arith.patch [deleted file]
gcc-ppc-ada-hack.patch [deleted file]
gcc-ppc-descriptions.patch [deleted file]
gcc-ppc-ice.patch [deleted file]
gcc-sparc32-rfi.patch [deleted file]
gcc.spec
gcc32-c++-pretty_function.patch [deleted file]
gcc32-doc-gcov.patch [deleted file]
gcc32-libstdc++-glibc.patch [deleted file]
gcc32-locale_in_ctype_members.patch [deleted file]
gcc32-locale_in_ctype_members_header.patch [deleted file]
gcc32-locale_in_monetary_members.patch [deleted file]
gcov.1 [deleted file]

diff --git a/c++filt.1 b/c++filt.1
deleted file mode 100644 (file)
index c9742bd..0000000
--- a/c++filt.1
+++ /dev/null
@@ -1,263 +0,0 @@
-.\" Automatically generated by Pod::Man version 1.15
-.\" Tue Sep 18 12:11:39 2001
-.\"
-.\" Standard preamble:
-.\" ======================================================================
-.de Sh \" Subsection heading
-.br
-.if t .Sp
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp \" Vertical space (when we can't use .PP)
-.if t .sp .5v
-.if n .sp
-..
-.de Ip \" List item
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-.de Vb \" Begin verbatim text
-.ft CW
-.nf
-.ne \\$1
-..
-.de Ve \" End verbatim text
-.ft R
-
-.fi
-..
-.\" Set up some character translations and predefined strings.  \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote.  | will give a
-.\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used
-.\" to do unbreakable dashes and therefore won't be available.  \*(C` and
-.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
-.tr \(*W-|\(bv\*(Tr
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
-.ie n \{\
-.    ds -- \(*W-
-.    ds PI pi
-.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
-.    ds L" ""
-.    ds R" ""
-.    ds C` ""
-.    ds C' ""
-'br\}
-.el\{\
-.    ds -- \|\(em\|
-.    ds PI \(*p
-.    ds L" ``
-.    ds R" ''
-'br\}
-.\"
-.\" If the F register is turned on, we'll generate index entries on stderr
-.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
-.\" index entries marked with X<> in POD.  Of course, you'll have to process
-.\" the output yourself in some meaningful fashion.
-.if \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
-..
-.    nr % 0
-.    rr F
-.\}
-.\"
-.\" For nroff, turn off justification.  Always turn off hyphenation; it
-.\" makes way too many mistakes in technical documents.
-.hy 0
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear.  Run.  Save yourself.  No user-serviceable parts.
-.bd B 3
-.    \" fudge factors for nroff and troff
-.if n \{\
-.    ds #H 0
-.    ds #V .8m
-.    ds #F .3m
-.    ds #[ \f1
-.    ds #] \fP
-.\}
-.if t \{\
-.    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-.    ds #V .6m
-.    ds #F 0
-.    ds #[ \&
-.    ds #] \&
-.\}
-.    \" simple accents for nroff and troff
-.if n \{\
-.    ds ' \&
-.    ds ` \&
-.    ds ^ \&
-.    ds , \&
-.    ds ~ ~
-.    ds /
-.\}
-.if t \{\
-.    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-.    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-.    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-.    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-.    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-.    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-.    \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-.    \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-.    \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-.    ds : e
-.    ds 8 ss
-.    ds o a
-.    ds d- d\h'-1'\(ga
-.    ds D- D\h'-1'\(hy
-.    ds th \o'bp'
-.    ds Th \o'LP'
-.    ds ae ae
-.    ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
-.\" ======================================================================
-.\"
-.IX Title "C++FILT 1"
-.TH C++FILT 1 "binutils-2.11.90.0.27" "2001-09-18" "GNU"
-.UC
-.SH "NAME"
-c++filt \- Demangle \*(C+ and Java symbols.
-.SH "SYNOPSIS"
-.IX Header "SYNOPSIS"
-c++filt [\fB\-_\fR|\fB\*(--strip-underscores\fR]
-        [\fB\-j\fR|\fB\*(--java\fR]
-        [\fB\-n\fR|\fB\*(--no-strip-underscores\fR]
-        [\fB\-s\fR \fIformat\fR|\fB\*(--format=\fR\fIformat\fR]
-        [\fB\*(--help\fR]  [\fB\*(--version\fR]  [\fIsymbol\fR...]
-.SH "DESCRIPTION"
-.IX Header "DESCRIPTION"
-The \*(C+ and Java languages provides function overloading, which means
-that you can write many functions with the same name (providing each
-takes parameters of different types).  All \*(C+ and Java function names
-are encoded into a low-level assembly label (this process is known as
-\&\fImangling\fR). The \fBc++filt\fR
-[1]
-program does the inverse mapping: it decodes (\fIdemangles\fR) low-level
-names into user-level names so that the linker can keep these overloaded
-functions from clashing.
-.PP
-Every alphanumeric word (consisting of letters, digits, underscores,
-dollars, or periods) seen in the input is a potential label.  If the
-label decodes into a \*(C+ name, the \*(C+ name replaces the low-level
-name in the output.
-.PP
-You can use \fBc++filt\fR to decipher individual symbols:
-.PP
-.Vb 1
-\&        c++filt I<symbol>
-.Ve
-If no \fIsymbol\fR arguments are given, \fBc++filt\fR reads symbol
-names from the standard input and writes the demangled names to the
-standard output.  All results are printed on the standard output.
-.SH "OPTIONS"
-.IX Header "OPTIONS"
-.Ip "\fB\-_\fR" 4
-.IX Item "-_"
-.PD 0
-.Ip "\fB\*(--strip-underscores\fR" 4
-.IX Item "strip-underscores"
-.PD
-On some systems, both the C and \*(C+ compilers put an underscore in front
-of every name.  For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level
-name \f(CW\*(C`_foo\*(C'\fR.  This option removes the initial underscore.  Whether
-\&\fBc++filt\fR removes the underscore by default is target dependent.
-.Ip "\fB\-j\fR" 4
-.IX Item "-j"
-.PD 0
-.Ip "\fB\*(--java\fR" 4
-.IX Item "java"
-.PD
-Prints demangled names using Java syntax.  The default is to use \*(C+
-syntax.
-.Ip "\fB\-n\fR" 4
-.IX Item "-n"
-.PD 0
-.Ip "\fB\*(--no-strip-underscores\fR" 4
-.IX Item "no-strip-underscores"
-.PD
-Do not remove the initial underscore.
-.Ip "\fB\-s\fR \fIformat\fR" 4
-.IX Item "-s format"
-.PD 0
-.Ip "\fB\*(--format=\fR\fIformat\fR" 4
-.IX Item "format=format"
-.PD
-\&\s-1GNU\s0 \fBnm\fR can decode three different methods of mangling, used by
-different \*(C+ compilers.  The argument to this option selects which
-method it uses:
-.RS 4
-.if n .Ip "\f(CW""""gnu""""\fR" 4
-.el .Ip "\f(CWgnu\fR" 4
-.IX Item "gnu"
-the one used by the \s-1GNU\s0 compiler (the default method)
-.if n .Ip "\f(CW""""lucid""""\fR" 4
-.el .Ip "\f(CWlucid\fR" 4
-.IX Item "lucid"
-the one used by the Lucid compiler
-.if n .Ip "\f(CW""""arm""""\fR" 4
-.el .Ip "\f(CWarm\fR" 4
-.IX Item "arm"
-the one specified by the \*(C+ Annotated Reference Manual
-.if n .Ip "\f(CW""""hp""""\fR" 4
-.el .Ip "\f(CWhp\fR" 4
-.IX Item "hp"
-the one used by the \s-1HP\s0 compiler
-.if n .Ip "\f(CW""""edg""""\fR" 4
-.el .Ip "\f(CWedg\fR" 4
-.IX Item "edg"
-the one used by the \s-1EDG\s0 compiler
-.if n .Ip "\f(CW""""gnu\-new\-abi""""\fR" 4
-.el .Ip "\f(CWgnu\-new\-abi\fR" 4
-.IX Item "gnu-new-abi"
-the one used by the \s-1GNU\s0 compiler with the new \s-1ABI\s0.
-.RE
-.RS 4
-.RE
-.Ip "\fB\*(--help\fR" 4
-.IX Item "help"
-Print a summary of the options to \fBc++filt\fR and exit.
-.Ip "\fB\*(--version\fR" 4
-.IX Item "version"
-Print the version number of \fBc++filt\fR and exit.
-.SH "FOOTNOTES"
-.IX Header "FOOTNOTES"
-.Ip "1." 4
-\&\s-1MS-DOS\s0 does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on
-\&\s-1MS-DOS\s0 this program is named \fBc++filt\fR.
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-the Info entries for \fIbinutils\fR.
-.SH "COPYRIGHT"
-.IX Header "COPYRIGHT"
-Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
-.PP
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
-or any later version published by the Free Software Foundation;
-with no Invariant Sections, with no Front-Cover Texts, and with no
-Back-Cover Texts.  A copy of the license is included in the
-section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
diff --git a/gcc-O2-bug.patch b/gcc-O2-bug.patch
deleted file mode 100644 (file)
index b5490c1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-diff -urN gcc-2.95.2.org/gcc/reload1.c gcc-2.95.2/gcc/reload1.c
---- gcc-2.95.2.org/gcc/reload1.c       Sat Nov 25 01:48:15 2000
-+++ gcc-2.95.2/gcc/reload1.c   Sat Nov 25 01:52:07 2000
-@@ -423,6 +423,7 @@
- static int reload_reg_reaches_end_p   PROTO((int, int, enum reload_type));
- static int allocate_reload_reg                PROTO((struct insn_chain *, int, int,
-                                              int));
-+static int conflicts_with_override    PROTO((rtx));
- static void choose_reload_regs                PROTO((struct insn_chain *));
- static void merge_assigned_reloads    PROTO((rtx));
- static void emit_reload_insns         PROTO((struct insn_chain *));
-@@ -5594,6 +5595,21 @@
-   return 1;
- }
-+
-+/* Determine whether the reload reg X overlaps any rtx'es used for
-+   overriding inheritance.  Return nonzero if so.  */
-+
-+static int
-+conflicts_with_override (x)
-+     rtx x;
-+{
-+  int i;
-+  for (i = 0; i < n_reloads; i++)
-+    if (reload_override_in[i]
-+       && reg_overlap_mentioned_p (x, reload_override_in[i]))
-+      return 1;
-+  return 0;
-+}
\f
- /* Assign hard reg targets for the pseudo-registers we must reload
-    into hard regs for this insn.
-@@ -6791,6 +6807,7 @@
-                  && dead_or_set_p (insn, old)
-                  /* This is unsafe if some other reload
-                     uses the same reg first.  */
-+                 && ! conflicts_with_override (reloadreg)
-                  && reload_reg_free_for_value_p (REGNO (reloadreg),
-                                                  reload_opnum[j],
-                                                  reload_when_needed[j], 
-
diff --git a/gcc-alpha-complex-float.patch b/gcc-alpha-complex-float.patch
deleted file mode 100644 (file)
index 78b29ad..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-#! /bin/sh -e
-
-# All lines beginning with `# DP:' are a description of the patch.
-# DP: Fix for complex math on alpha
-
-if [ $# -eq 3 -a "$2" = '-d' ]; then
-    pdir="-d $3"
-elif [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $pdir -f --no-backup-if-mismatch -p1 < $0;;
-    -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p1 < $0;;
-    *)
-       echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-       exit 1
-esac
-exit 0
-
-(from Joel Klecker's original message):
-
- I've tested this patch with building glibc and it enables it to compile, I
- haven't been able to test the resulting binaries yet, however. I assume
- this will fix the g77 problems too.
-
-        * flow.c (insn_dead_p): Don't kill part of a complex number.
-        * emit-rtl.c (gen_lowpart_common): Handle narrow complex reg values.
-          (gen_highpart): Likewise.
-        * calls.c (expand_call): Narrow complex variable uses two regs.
-        * alpha/alpha.h (ALPHA_ARG_SIZE): Likewise.
-          (HARD_REGNO_NREGS): Likewise.
-
-diff -ur gcc-2.95.2/gcc/calls.c gcc-2.95.2.patched/gcc/calls.c
---- gcc-2.95.2/gcc/calls.c     Fri May  7 21:58:39 1999
-+++ gcc-2.95.2.patched/gcc/calls.c     Sat Feb 19 14:26:21 2000
-@@ -1499,6 +1499,11 @@
-                              validize_mem (args[i].value), nregs,
-                              args[i].mode);
-+        /* Indicate two regs used to hold a short complex arg.  */
-+        if (GET_MODE_CLASS (args[i].mode) == MODE_COMPLEX_FLOAT
-+            && GET_MODE_SIZE (args[i].mode) <= UNITS_PER_WORD)
-+          nregs = 2;
-+
-         /* Handle calls that pass values in multiple non-contiguous
-            locations.  The Irix 6 ABI has examples of this.  */
-         if (GET_CODE (reg) == PARALLEL)
-diff -ur gcc-2.95.2/gcc/config/alpha/alpha.h gcc-2.95.2.patched/gcc/config/alpha/alpha.h
---- gcc-2.95.2/gcc/config/alpha/alpha.h        Fri Jun 25 01:09:12 1999
-+++ gcc-2.95.2.patched/gcc/config/alpha/alpha.h        Sat Feb 19 14:28:45 2000
-@@ -622,7 +622,10 @@
-    but can be less for certain modes in special long registers.  */
- #define HARD_REGNO_NREGS(REGNO, MODE)   \
--  ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD)
-+ ((GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT                        \
-+   && GET_MODE_SIZE (MODE) <= UNITS_PER_WORD)                 \
-+  ? 2                                                         \
-+  : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
- /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
-    On Alpha, the integer registers can hold any mode.  The floating-point
-@@ -1070,12 +1073,16 @@
- #define INIT_CUMULATIVE_ARGS(CUM,FNTYPE,LIBNAME,INDIRECT)  (CUM) = 0
- /* Define intermediate macro to compute the size (in registers) of an argument
--   for the Alpha.  */
-+   for the Alpha.
-+   A short complex arg takes two registers.  */
- #define ALPHA_ARG_SIZE(MODE, TYPE, NAMED)                             \
--((MODE) != BLKmode                                                    \
-- ? (GET_MODE_SIZE (MODE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD     \
-- : (int_size_in_bytes (TYPE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD)
-+ ((GET_MODE_CLASS (MODE) == MODE_COMPLEX_FLOAT                                \
-+   && GET_MODE_SIZE (MODE) <= UNITS_PER_WORD)                         \
-+  ? 2                                                                         \
-+  : ((MODE) != BLKmode                                                        \
-+     ? (GET_MODE_SIZE (MODE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD         \
-+     : (int_size_in_bytes (TYPE) + (UNITS_PER_WORD - 1)) / UNITS_PER_WORD))
- /* Update the data in CUM to advance over an argument
-    of mode MODE and data type TYPE.
-diff -ur gcc-2.95.2/gcc/emit-rtl.c gcc-2.95.2.patched/gcc/emit-rtl.c
---- gcc-2.95.2/gcc/emit-rtl.c  Wed Aug 11 03:28:52 1999
-+++ gcc-2.95.2.patched/gcc/emit-rtl.c  Sat Feb 19 14:31:19 2000
-@@ -749,6 +749,15 @@
-         && ! HARD_REGNO_MODE_OK (REGNO (x) + word, mode)
-         && HARD_REGNO_MODE_OK (REGNO (x), GET_MODE (x)))
-       return 0;
-+      else if (GET_MODE_CLASS (GET_MODE (x)) == MODE_COMPLEX_FLOAT
-+             && GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD
-+             && REGNO (x) < FIRST_PSEUDO_REGISTER)
-+      {
-+        if (REG_FUNCTION_VALUE_P (x))
-+          return gen_rtx (SUBREG, mode, x, 0);
-+        else
-+          return gen_rtx (REG, mode, REGNO (x));
-+      }
-       else if (REGNO (x) < FIRST_PSEUDO_REGISTER
-              /* integrate.c can't handle parts of a return value register. */
-              && (! REG_FUNCTION_VALUE_P (x)
-@@ -972,11 +981,6 @@
- {
-   if (GET_CODE (x) == CONCAT && GET_MODE (XEXP (x, 0)) == mode)
-     return XEXP (x, 0);
--  else if (WORDS_BIG_ENDIAN
--         && GET_MODE_BITSIZE (mode) < BITS_PER_WORD
--         && REG_P (x)
--         && REGNO (x) < FIRST_PSEUDO_REGISTER)
--    fatal ("Unable to access real part of complex value in a hard register on this target");
-   else if (WORDS_BIG_ENDIAN)
-     return gen_highpart (mode, x);
-   else
-@@ -995,11 +999,6 @@
-     return XEXP (x, 1);
-   else if (WORDS_BIG_ENDIAN)
-     return gen_lowpart (mode, x);
--  else if (!WORDS_BIG_ENDIAN
--         && GET_MODE_BITSIZE (mode) < BITS_PER_WORD
--         && REG_P (x)
--         && REGNO (x) < FIRST_PSEUDO_REGISTER)
--    fatal ("Unable to access imaginary part of complex value in a hard register on this target");
-   else
-     return gen_highpart (mode, x);
- }
-@@ -1134,6 +1133,16 @@
-       word = ((GET_MODE_SIZE (GET_MODE (x))
-                - MAX (GET_MODE_SIZE (mode), UNITS_PER_WORD))
-               / UNITS_PER_WORD);
-+
-+      if (GET_MODE_CLASS (GET_MODE (x)) == MODE_COMPLEX_FLOAT
-+        && GET_MODE_SIZE (GET_MODE (x)) <= UNITS_PER_WORD
-+        && REGNO (x) < FIRST_PSEUDO_REGISTER)
-+      {
-+        if (REG_FUNCTION_VALUE_P (x))
-+          return gen_rtx (SUBREG, mode, x, 1);
-+        else
-+          return gen_rtx (REG, mode, REGNO (x) + 1);
-+      }
-       if (REGNO (x) < FIRST_PSEUDO_REGISTER
-         /* integrate.c can't handle parts of a return value register.  */
-diff -ur gcc-2.95.2/gcc/flow.c gcc-2.95.2.patched/gcc/flow.c
---- gcc-2.95.2/gcc/flow.c      Wed Aug  4 03:09:48 1999
-+++ gcc-2.95.2.patched/gcc/flow.c      Sat Feb 19 14:34:02 2000
-@@ -2995,6 +2995,10 @@
-             while (--n > 0)
-               if (REGNO_REG_SET_P (needed, regno+n))
-                 return 0;
-+
-+            /* Don't allow part of a complex number to be deleted.  */
-+            if (GET_MODE_CLASS (GET_MODE (r)) == MODE_COMPLEX_FLOAT)
-+              return 0;
-           }
-         return 1;
-
-
diff --git a/gcc-bootstrap.patch b/gcc-bootstrap.patch
deleted file mode 100644 (file)
index 94c8c20..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-# DP: Make bootstrap: restartable at any point
-# DP: From: Donn Terry <donn@interix.com>
-
-Make bootstrap: restartable at any point.
-
-This is in response to a discussion on this topic.  This is "take 2"          |
-which should work with parallel builds, though I haven't tested that.         |
-
-When doing a make bootstrap, it's hard to know (at least when
-not throughly versed in the process details) how to restart
-after making a fix.  In general, retyping "make bootstrap"
-will do the wrong thing (particularly if the host and target
-compilers object files are incompatible!)
-
-This change keeps track of the stages completed.  The old 
-bootstrap2[234] (and *-lean) targets are rewritten, but work the
-same.
-
-I've tested this by doing a make bootstrap (on CVS sources as of              |
-last night) and by typing 'make bootstrap' after it's done,                   |
-in which case it thinks a moment and does nothing. (Which is exactly
-the right answer.)
-
-I've also done a complete regression, with no surprises.                      |
-
-I tested whether stopping/restarting at a few arbitrary points along the
-way works with older sources, but haven't tested it real recently,
-except to do a ^C halfway through a testbuild at one point.                   |
-Again, if it works at all, it should work as well as it ever did.
-I specficially did test it during the period where make bootstrap
-wasn't succeeding for me, and it helped a LOT in being able to pick up
-where I left off.  
-
-An interesting side-effect: make bootstrap-lean after a make bootstrap        |
-JUST cleans out stage1, with no unwanted consequences.                        |
-
-
-Fri May 28 15:27:02 1999  Donn Terry (donn@interix.com)
-       * Makefile.in: restructure bootstrap stages to allow 
-       clean restart after failure.
-
-diff -urP egcs.source.old/gcc/Makefile.in egcs.source/gcc/Makefile.in
---- egcs.source.old/gcc/Makefile.in    Sun May 23 13:39:21 1999
-+++ egcs.source/gcc/Makefile.in        Thu May 27 16:59:42 1999
-@@ -2360,6 +2360,8 @@ clean: mostlyclean intl.clean lang.clean
-         rm -rf `echo $(MULTILIB_OPTIONS) | sed -e 's/\// /g'`; \
-       fi ; fi
-       -rm -fr stage1 stage2 stage3 stage4
-+      -rm -f boot_stage_a boot_stage_b boot_stage_c boot_stage_d
-+      -rm -f boot_stage_e boot_stage_f
- # Delete all files that users would normally create
- # while building and installing GCC.
-@@ -2924,33 +2926,83 @@ diff:
-         $(LANG_DIFF_EXCLUDES) \
-         gcc-$(oldversion) gcc-$(version) &gt; gcc-$(oldversion)-$(version).diff
--bootstrap bootstrap-lean: force
-+
- # Only build the C compiler for stage1, because that is the only one that
- # we can guarantee will build with the native compiler, and also it is the
- # only thing useful for building stage2.
--      $(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)"
--      $(MAKE) stage1
-+boot_stage_a:
-+      +$(MAKE) CC="$(CC)" libdir=$(libdir) LANGUAGES="$(BOOT_LANGUAGES)"
-+      touch boot_stage_a
-+      echo ---------------------- stage a complete ---------------------
-+
-+boot_stage_b:
-+      +$(MAKE) stage1
-+      touch boot_stage_b
-+      echo ---------------------- stage b complete ---------------------
-+
- # This used to define ALLOCA as empty, but that would lead to bad results
- # for a subsequent `make install' since that would not have ALLOCA empty.
- # To prevent `make install' from compiling alloca.o and then relinking cc1
- # because alloca.o is newer, we permit these recursive makes to compile
- # alloca.o.  Then cc1 is newer, so it won't have to be relinked.
--      $(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
--      $(MAKE) stage2
--      -if test $@ = bootstrap-lean; then rm -rf stage1; else true; fi
--      $(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
-+boot_stage_c:
-+      +$(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
-+      touch boot_stage_c
-+      echo ---------------------- stage c complete ---------------------
--bootstrap2 bootstrap2-lean: force
--      $(MAKE) CC="stage1/xgcc$(exeext) -Bstage1/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage1/ LANGUAGES="$(LANGUAGES)"
--      $(MAKE) stage2
--      -if test $@ = bootstrap2-lean; then rm -rf stage1; else true; fi
--      $(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
-+boot_stage_d:
-+      +$(MAKE) stage2
-+      touch boot_stage_d
-+      echo ---------------------- stage d complete ---------------------
--bootstrap3 bootstrap3-lean: force
--      $(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
-+boot_stage_e:
-+      +$(MAKE) CC="stage2/xgcc$(exeext) -Bstage2/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage2/ LANGUAGES="$(LANGUAGES)"
-+      touch boot_stage_e
-+      echo ---------------------- stage e complete ---------------------
-+
-+# Only bootstrap4 uses stage f.
-+boot_stage_f:
-+      +$(MAKE) CC="stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage3/ LANGUAGES="$(LANGUAGES)"
-+      touch boot_stage_f
-+      echo ---------------------- stage f complete ---------------------
-+
-+boot_clean_stage1:
-+      rm -rf stage1
-+
-+# This next little bit is the way it is for parallel builds.  It's simply
-+# a chain of stages which DO have to be done sequentially.
-+
-+bootstrap_a:              boot_stage_a
-+bootstrap_b:  bootstrap_a boot_stage_b
-+bootstrap_c:  bootstrap_b boot_stage_c
-+bootstrap_d:  bootstrap_c boot_stage_d
-+bootstrap_e:  bootstrap_d boot_stage_e
-+bootstrap: force bootstrap_e
-+
-+bootstrap-lean_a:                   boot_stage_a
-+bootstrap-lean_b:  bootstrap-lean_a boot_stage_b
-+bootstrap-lean_c:  bootstrap-lean_b boot_stage_c
-+bootstrap-lean_d:  bootstrap-lean_c boot_stage_d
-+bootstrap-lean_e:  bootstrap-lean_d boot_clean_stage1
-+bootstrap-lean_f:  bootstrap-lean_e boot_stage_e
-+bootstrap-lean: force bootstrap-lean_f
-+
-+bootstrap2_c:               boot_stage_c
-+bootstrap2_d:  bootstrap2_c boot_stage_d
-+bootstrap2_e:  bootstrap2_d boot_stage_e
-+bootstrap2: force bootstrap2_e
-+
-+bootstrap2-lean_c:                    boot_stage_c
-+bootstrap2-lean_d:  bootstrap2-lean_c boot_stage_d
-+bootstrap2-lean_e:  bootstrap2-lean_d boot_clean_stage1
-+bootstrap2-lean_f:  bootstrap2-lean_e boot_stage_e
-+bootstrap2-lean: force bootstrap2-lean_f
-+
-+bootstrap3 bootstrap3-lean: force boot_stage_e
-+
-+# Only bootstrap4 uses stage f.
-+bootstrap4 bootstrap4-lean: force boot_stage_f
--bootstrap4 bootstrap4-lean: force
--      $(MAKE) CC="stage3/xgcc$(exeext) -Bstage3/ -B$(build_tooldir)/bin/" CFLAGS="$(WARN_CFLAGS) $(BOOT_CFLAGS)" LDFLAGS="$(BOOT_LDFLAGS)" libdir=$(libdir) STAGE_PREFIX=stage3/ LANGUAGES="$(LANGUAGES)"
- # Compare the object files in the current directory with those in the
- # stage2 directory.
diff --git a/gcc-builtin-apply.patch b/gcc-builtin-apply.patch
deleted file mode 100644 (file)
index b452e50..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# DP: On Sparc, message forwarding in the GNUstep framework
-# DP: (gstep-base) relies on this patch. I didn't experience any side
-# DP: effects of this "workaround" on a sparc Solaris platform. However
-# DP: this workaround affects the all compilers of the egcs package.
-
-From: Richard Henderson <rth@dot.cygnus.com>
-To: Matthias.Klose@cs.tu-berlin.de, scottc@net-community.com
-Subject: Re: patch for expand_builtin_apply for sparc architecture
-Date: Mon, 16 Feb 1998 05:11:32 -0800
-
-In article <199802160833.JAA11275.cygnus.egcs.bugs@gargleblaster.cs.tu-berlin.de>,
-Matthias Klose <Matthias.Klose@cs.tu-berlin.de> wrote:
->The following patch fixes the generation of an 'unimp 4095'
->instruction for the expansion of __builtin_apply on the sparc
->architecture; fix by Scott Christley (<scottc@net-community.com>), but
->doesn't seem to be submitted to the the egcs list.
-
-You'll have to submit a test case and an explanation of why you think
-this is correct.  The Sparc32 ABI calls for an unimp instruction to
-be emitted following calls to functions that return structures.  The
-0-4095 immediate is commentary, but that's all the room in that field
-so we cannot simply remove the mask.
-
-My guess is that it is yet another example of why __builtin_apply
-is inadequate for the needs of all but completely stack-based calling
-conventions and should not be used.
-
-
-r~
-
-diff -c gcc/config/sparc/sparc.md~ gcc/config/sparc/sparc.md
-*** gcc/config/sparc/sparc.md~ Mon Nov 16 12:31:32 1998
---- gcc/config/sparc/sparc.md  Mon Nov 16 12:35:56 1998
-***************
-*** 7294,7299 ****
---- 7294,7300 ----
-        Why cannot we have delay slots filled if it were a CALL?  */
-  
-        if (! TARGET_ARCH64 && INTVAL (operands[3]) != 0)
-+ #if 0
-       emit_jump_insn
-         (gen_rtx_PARALLEL (VOIDmode,
-                   gen_rtvec (3,
-***************
-*** 7302,7307 ****
---- 7303,7318 ----
-                              GEN_INT (INTVAL (operands[3]) & 0xfff),
-                              gen_rtx_CLOBBER (VOIDmode,
-                                       gen_rtx_REG (Pmode, 15)))));
-+ #else
-+      emit_jump_insn
-+        (gen_rtx_PARALLEL (VOIDmode,
-+                  gen_rtvec (3,
-+                             gen_rtx_SET (VOIDmode, pc_rtx,
-+                                      XEXP (operands[0], 0)),
-+                             operands[3],
-+                             gen_rtx_CLOBBER (VOIDmode,
-+                                      gen_rtx_REG (Pmode, 15)))));
-+ #endif
-        else
-       emit_jump_insn
-         (gen_rtx_PARALLEL (VOIDmode,
diff --git a/gcc-cpp-dos-newlines.patch b/gcc-cpp-dos-newlines.patch
deleted file mode 100644 (file)
index d05d6b8..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-# DP: Handle DOS newlines after backslashes.
-# DP: Patch from http://www.cygnus.com/ml/egcs/1999-Jan/0784.html
-
---- gcc/cccp.c.orig    Thu Jun 24 15:11:40 1999
-+++ gcc/cccp.c Mon Aug  9 12:21:55 1999
-@@ -1023,7 +1023,8 @@
-    retrying if necessary.  If MAX_READ_LEN is defined, read at most
-    that bytes at a time.  Return a negative value if an error occurs,
-    otherwise return the actual number of bytes read,
--   which must be LEN unless end-of-file was reached.  */
-+   which may be < LEN if CRs have been skipped, though we try not to do
-+   that.  */
- static int
- safe_read (desc, ptr, len)
-@@ -1032,6 +1033,7 @@
-      int len;
- {
-   int left, rcount, nchars;
-+  char *rptr;
-   left = len;
-   while (left > 0) {
-@@ -1051,8 +1053,20 @@
-       }
-     if (nchars == 0)
-       break;
--    ptr += nchars;
-+
-+    /* CRLF pairs, found with Unix when processing DOS files,
-+       throw off backslash-newline removal.
-+       Therefore, CRs are thrown away here. */
-     left -= nchars;
-+    rptr = ptr;
-+    while(nchars--)
-+      {
-+      if(*rptr == '\r' && *(rptr+1) == '\n')
-+        left++;
-+      else
-+        *ptr++ = *rptr;
-+      rptr++;
-+      }
-   }
-   return len - left;
- }
-@@ -2085,8 +2099,8 @@
-     for (;;) {
-       cnt = safe_read (f, (char *) fp->buf + size, bsize - size);
-       if (cnt < 0) goto perror;       /* error! */
-+      if (cnt == 0) break; /* End of file */
-       size += cnt;
--      if (size != bsize) break;       /* End of file */
-       bsize *= 2;
-       fp->buf = (U_CHAR *) xrealloc (fp->buf, bsize + 2);
-     }
-@@ -5024,6 +5038,8 @@
-         map_list_ptr->map_list_map = ptr;
-         while ((ch = getc (f)) != '\n')
-+          if (ch == '\r')
-+              continue;
-           if (ch == EOF)
-             break;
-       }
-@@ -5256,9 +5272,9 @@
-       i = safe_read (f, (char *) fp->buf + st_size, bsize - st_size);
-       if (i < 0)
-       goto nope;      /* error! */
--      st_size += i;
--      if (st_size != bsize)
-+      if (i == 0)
-       break;  /* End of file */
-+      st_size += i;
-       bsize *= 2;
-       fp->buf = (U_CHAR *) xrealloc (fp->buf, bsize + 2);
-     }
diff --git a/gcc-cpp-macro-doc.patch b/gcc-cpp-macro-doc.patch
deleted file mode 100644 (file)
index 54b336f..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# DP: cpp.texi: add a node documenting macro varargs.
-
-Sat Aug  7 14:56:50 1999  Matthias Klose  <doko@cs.tu-berlin.de>
-
-       * cpp.texi: cpp.texi: add a node documenting macro varargs (copied
-       from extend.texi.
-
---- gcc/cpp.texi~      Wed May 19 13:22:57 1999
-+++ gcc/cpp.texi       Sat Aug  7 14:53:42 1999
-@@ -542,6 +542,7 @@
- * Simple Macros::    Macros that always expand the same way.
- * Argument Macros::  Macros that accept arguments that are substituted
-                        into the macro expansion.
-+* Macro Varargs::    Macros with variable number of arguments.
- * Predefined::       Predefined macros that are always available.
- * Stringification::  Macro arguments converted into string constants.
- * Concatenation::    Building tokens from parts taken from macro arguments.
-@@ -645,7 +646,7 @@
- that the result of its expansion is checked for more macro names.
- @xref{Cascaded Macros}.
--@node Argument Macros, Predefined, Simple Macros, Macros
-+@node Argument Macros, Macro Varargs, Simple Macros, Macros
- @subsection Macros with Arguments
- @cindex macros with argument
- @cindex arguments in macro definitions
-@@ -799,7 +800,68 @@
- the left parenthesis; it's the @emph{definition} where it matters whether
- there is a space.
--@node Predefined, Stringification, Argument Macros, Macros
-+@node Macro Varargs, Predefined, Argument Macros, Macros
-+@subsection Macros with Variable Numbers of Arguments
-+@cindex variable number of arguments
-+@cindex macro with variable arguments
-+@cindex rest argument (in macro)
-+
-+In GNU C, a macro can accept a variable number of arguments, much as a
-+function can.  The syntax for defining the macro looks much like that
-+used for a function.  Here is an example:
-+
-+@example
-+#define eprintf(format, args...)  \
-+ fprintf (stderr, format , ## args)
-+@end example
-+
-+Here @code{args} is a @dfn{rest argument}: it takes in zero or more
-+arguments, as many as the call contains.  All of them plus the commas
-+between them form the value of @code{args}, which is substituted into
-+the macro body where @code{args} is used.  Thus, we have this expansion:
-+
-+@example
-+eprintf ("%s:%d: ", input_file_name, line_number)
-+@expansion{}
-+fprintf (stderr, "%s:%d: " , input_file_name, line_number)
-+@end example
-+
-+@noindent
-+Note that the comma after the string constant comes from the definition
-+of @code{eprintf}, whereas the last comma comes from the value of
-+@code{args}.
-+
-+The reason for using @samp{##} is to handle the case when @code{args}
-+matches no arguments at all.  In this case, @code{args} has an empty
-+value.  In this case, the second comma in the definition becomes an
-+embarrassment: if it got through to the expansion of the macro, we would
-+get something like this:
-+
-+@example
-+fprintf (stderr, "success!\n" , )
-+@end example
-+
-+@noindent
-+which is invalid C syntax.  @samp{##} gets rid of the comma, so we get
-+the following instead:
-+
-+@example
-+fprintf (stderr, "success!\n")
-+@end example
-+
-+This is a special feature of the GNU C preprocessor: @samp{##} before a
-+rest argument that is empty discards the preceding sequence of
-+non-whitespace characters from the macro definition.  (If another macro
-+argument precedes, none of it is discarded.)
-+
-+It might be better to discard the last preprocessor token instead of the
-+last preceding sequence of non-whitespace characters; in fact, we may
-+someday change this feature to do so.  We advise you to write the macro
-+definition so that the preceding sequence of non-whitespace characters
-+is just a single token, so that the meaning will not change if we change
-+the definition of this feature.
-+
-+@node Predefined, Stringification, Macro Varargs, Macros
- @subsection Predefined Macros
- @cindex predefined macros
diff --git a/gcc-crtendS.patch b/gcc-crtendS.patch
deleted file mode 100644 (file)
index 7874c32..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-diff -urN gcc-2.95.3.org/gcc/config/i386/linux.h gcc-2.95.3/gcc/config/i386/linux.h
---- gcc-2.95.3.org/gcc/config/i386/linux.h     Mon Mar 19 19:35:22 2001
-+++ gcc-2.95.3/gcc/config/i386/linux.h Mon Mar 19 19:36:46 2001
-@@ -234,3 +234,21 @@
-     }                                                                 \
-   } while (0)
- #endif
-+
-+#if defined(__PIC__) && defined (USE_GNULIBC_1)
-+/* This is a kludge. The i386 GNU/Linux dynamic linker needs ___brk_addr,
-+   __environ and atexit (). We have to make sure they are in the .dynsym
-+   section. We accomplish it by making a dummy call here. This
-+   code is never reached.  */
-+
-+#define CRT_END_INIT_DUMMY             \
-+  do                                   \
-+    {                                  \
-+      extern void *___brk_addr;                \
-+      extern char **__environ;         \
-+                                       \
-+      ___brk_addr = __environ;         \
-+      atexit (0);                      \
-+    }                                  \
-+  while (0)
-+#endif
-diff -urN gcc-2.95.3.org/gcc/crtstuff.c gcc-2.95.3/gcc/crtstuff.c
---- gcc-2.95.3.org/gcc/crtstuff.c      Mon Mar 19 19:35:22 2001
-+++ gcc-2.95.3/gcc/crtstuff.c  Mon Mar 19 19:37:56 2001
-@@ -379,20 +379,8 @@
-   FORCE_INIT_SECTION_ALIGN;
- #endif
-   asm (TEXT_SECTION_ASM_OP);
--
--/* This is a kludge. The i386 GNU/Linux dynamic linker needs ___brk_addr,
--   __environ and atexit (). We have to make sure they are in the .dynsym
--   section. We accomplish it by making a dummy call here. This
--   code is never reached.  */
-- 
--#if defined(__linux__) && defined(__PIC__) && defined(__i386__)
--  {
--    extern void *___brk_addr;
--    extern char **__environ;
--
--    ___brk_addr = __environ;
--    atexit ();
--  }
-+#ifdef CRT_END_INIT_DUMMY
-+  CRT_END_INIT_DUMMY;
- #endif
- }
diff --git a/gcc-default-arch.patch b/gcc-default-arch.patch
deleted file mode 100644 (file)
index 0f23b8a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# DP: set the default architecture to i386; even if gcc is configured
-# DP: with i386-linux, it builds with Pentium instructions, tuned for i386.
-
-From: Joel Klecker <jk@espy.org>
-To: Matthias Klose <doko@cs.tu-berlin.de>
-Subject: Re: gcc: forwarded message from Markus F.X.J. Oberhumer
-Date: Wed, 11 Aug 1999 08:48:54 -0700
-
-Found it, and fixed it.
-
---- gcc/config/i386/i386.c~    Sat Aug 14 19:35:24 1999
-+++ gcc/config/i386/i386.c     Sat Aug 14 19:37:00 1999
-@@ -291,7 +291,7 @@
-   if (ix86_arch_string == 0)
-     {
--      ix86_arch_string = PROCESSOR_PENTIUM_STRING;
-+      ix86_arch_string = PROCESSOR_DEFAULT_STRING;
-       if (ix86_cpu_string == 0)
-       ix86_cpu_string = PROCESSOR_DEFAULT_STRING;
-     }
-@@ -308,7 +308,7 @@
-   if (i == ptt_size)
-     {
-       error ("bad value (%s) for -march= switch", ix86_arch_string);
--      ix86_arch_string = PROCESSOR_PENTIUM_STRING;
-+      ix86_arch_string = PROCESSOR_DEFAULT_STRING;
-       ix86_arch = PROCESSOR_DEFAULT;
-     }
diff --git a/gcc-disableshared.patch b/gcc-disableshared.patch
deleted file mode 100644 (file)
index d5d6006..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -urN gcc-20010319.org/gcc/configure.in gcc-20010319/gcc/configure.in
---- gcc-20010319.org/gcc/configure.in  Thu Mar 22 20:30:21 2001
-+++ gcc-20010319/gcc/configure.in      Thu Mar 22 20:32:01 2001
-@@ -329,6 +329,7 @@
-     ;;
-   esac
- ], [enable_shared=yes])
-+enable_shared=no
- AC_SUBST(enable_shared)
- # Determine the host, build, and target systems
diff --git a/gcc-gcj-vs-iconv.patch b/gcc-gcj-vs-iconv.patch
deleted file mode 100644 (file)
index 5ec32a1..0000000
+++ /dev/null
@@ -1,733 +0,0 @@
-#! /bin/sh -e
-
-if [ $# -eq 3 -a "$2" = '-d' ]; then
-    pdir="-d $3"
-elif [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $pdir -f --no-backup-if-mismatch -p0 -l < $0;;
-    -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 -l < $0;;
-    *)
-       echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-       exit 1
-esac
-exit 0
-
-Patch: gcj -vs- iconv
-
-To: Gcc Patch List <gcc-patches at gcc dot gnu dot org> 
-Subject: Patch: gcj -vs- iconv
-From: Tom Tromey <tromey at cygnus dot com>
-Date: 06 Mar 2000 14:39:01 -0700
-Reply-To: tromey at cygnus dot com
-
-# DP: This patch changes gcj to use iconv(), when available, to read Java
-# DP: source files.  It adds a new `--encoding' option that lets the user
-# DP: choose what encoding to use.  For systems without iconv(), gcj still
-# DP: assumes that the input is UTF-8, but it no longer ignores encoding
-# DP: errors.
-# DP: 
-# DP: This patch does have one minor problem, which is that if --encoding is
-# DP: not specified we default to UTF-8 instead of the encoding the user has
-# DP: chosen (as part of his locale).  I don't know how to find that
-# DP: information.  Anyway, that is an addition which shouldn't affect
-# DP: whether or not this patch goes in, since this patch doesn't make the
-# DP: situation any worse than it is right now.
-
-Alex, I'm not sure I really understand how the parser context stack
-works, so it is possible that some of my changes there are wrong.
-Could you look at it?  Is this ok to check in?
-# DP: 
-# DP: This fixes PR gcj/33; I can now compile a Latin-1 encoded file on my
-# DP: PPC Linux box with `gcj --encoding=Latin1 ...'.
-
-2000-03-06  Tom Tromey  <tromey@cygnus.com>
-
-       Fix for PR gcj/33:
-       * jv-scan.c (help): Document --encoding.
-       (options): Added `encoding' entry.
-       (OPT_ENCODING): New define.
-       (main): Handle --encoding.
-       * lang-options.h: Document --classpath, --CLASSPATH, --main, and
-       --encoding.
-       * jcf-parse.c (parse_source_file): Correctly call java_init_lex.
-       Added `finput' argument.
-       * java-tree.h (current_encoding): Declare.
-       * parse.y (java_parser_context_restore_global): Don't restore
-       `finput'.
-       (java_parser_context_save_global): Don't set `finput' field.
-       (java_pop_parser_context): Don't restore `finput'.  Free old lexer
-       if required.
-       * lang.c (current_encoding): New global.
-       (lang_decode_option): Recognize `-fencoding='.
-       (finish_parse): Don't close finput.
-       * parse.h (struct parser_ctxt): Removed `finput' and
-       `unget_utf8_value' fields.  Added `lexer' field.
-       (java_init_lex): Fixed declaration.
-       * lex.c (java_new_lexer): New function.
-       (java_destroy_lexer): Likewise.
-       (java_read_char): Added `lex' argument.  Handle iconv case.
-       (java_read_unicode): Added `lex' argument.  Count backslashes in
-       lexer structure.
-       (java_init_lex): Added `finput' and `encoding' arguments.  Set
-       `lexer' field in ctxp.
-       (BAD_UTF8_VALUE): Removed.
-       * lex.h: Include <iconv.h> if HAVE_ICONV defined.
-       (java_lexer): New structure.
-       (UNGETC): Removed.
-       (GETC): Removed.
-       (DEFAULT_ENCODING): New define.
-       (java_destroy_lexer): Declare.
-
-Tom
-
---- gcc/java/java-tree.h.orig  Sat Apr  8 23:03:03 2000
-+++ gcc/java/java-tree.h       Sat Apr  8 23:03:56 2000
-@@ -141,6 +141,9 @@
- extern int flag_not_overriding;
- extern int flag_static_local_jdk1_1;
-+/* Encoding used for source files.  */
-+extern char *current_encoding;
-+
- /* The Java .class file that provides main_class;  the main input file. */
- extern struct JCF *current_jcf;
---- gcc/java/jcf-parse.c.orig  Sat Apr  8 23:03:03 2000
-+++ gcc/java/jcf-parse.c       Sat Apr  8 23:05:39 2000
-@@ -84,7 +84,7 @@
- static tree give_name_to_class PROTO ((JCF *jcf, int index));
- static void parse_zip_file_entries PROTO ((void));
- static void process_zip_dir PROTO ((void));
--static void parse_source_file PROTO ((tree));
-+static void parse_source_file PARAMS ((tree, FILE *));
- static void jcf_parse_source PROTO ((void));
- static int jcf_figure_file_type PROTO ((JCF *));
- static int find_in_current_zip PROTO ((char *, struct JCF **));
-@@ -570,6 +570,7 @@
- jcf_parse_source ()
- {
-   tree file;
-+  FILE *finput;
-   java_parser_context_save_global ();
-   java_push_parser_context ();
-@@ -580,7 +581,7 @@
-       if (!(finput = fopen (input_filename, "r")))
-       fatal ("input file `%s' just disappeared - jcf_parse_source",
-              input_filename);
--      parse_source_file (file);
-+      parse_source_file (file, finput);
-       if (fclose (finput))
-       fatal ("can't close input file `%s' stream - jcf_parse_source",
-              input_filename);
-@@ -741,8 +742,9 @@
- /* Parse a source file, as pointed by the current value of INPUT_FILENAME. */
- static void
--parse_source_file (file)
-+parse_source_file (file, finput)
-      tree file;
-+     FILE *finput;
- {
-   int save_error_count = java_error_count;
-   /* Mark the file as parsed */
-@@ -750,7 +752,9 @@
-   lang_init_source (1);                   /* Error msgs have no method prototypes */
--  java_init_lex ();               /* Initialize the parser */
-+  /* Initialize the parser */
-+  java_init_lex (finput,
-+               current_encoding ? current_encoding : DEFAULT_ENCODING);
-   java_parse_abort_on_error ();
-   java_parse ();                  /* Parse and build partial tree nodes. */
-@@ -778,6 +782,7 @@
-   int several_files = 0;
-   char *list = strdup (input_filename), *next;
-   tree node, current_file_list = NULL_TREE;
-+  FILE *finput;
-   do 
-     {
-@@ -888,7 +893,7 @@
-       case JCF_SOURCE:
-         java_push_parser_context ();
-         java_parser_context_save_global ();
--        parse_source_file (name);
-+        parse_source_file (name, finput);
-         java_parser_context_restore_global ();
-         java_pop_parser_context (1);
-         break;
---- gcc/java/jv-scan.c.orig    Sat Apr  8 23:03:03 2000
-+++ gcc/java/jv-scan.c Sat Apr  8 23:11:41 2000
-@@ -53,6 +53,7 @@
- {
-   int i = 1;
-   char *output_file = NULL;
-+  char *encoding = NULL;
-   long ft;
-   exec_name = argv[0];
-@@ -73,6 +74,14 @@
-             argv [i] = NULL;
-           }
-+        /* file encoding */
-+        else if (!strcmp (argv [i], "--encoding") && i+1 < argc)
-+          {
-+            argv [i] = NULL;
-+            encoding = argv [++i];
-+            argv [i] = NULL;
-+          }
-+
-         /* Print the name of the class that contains main */
-         else if (!strcmp (argv [i], "--print-main"))
-           flag_find_main = 1;
-@@ -116,7 +125,7 @@
-       input_filename = argv [i];
-       if ( (finput = fopen (argv [i], "r")) )
-         {
--          java_init_lex ();
-+          java_init_lex (finput, encoding ? encoding : DEFAULT_ENCODING);
-           yyparse ();
-           if (ftell (out) != ft)
-             fputc ('\n', out);
---- gcc/java/lang-options.h.orig       Sat Apr  8 23:03:03 2000
-+++ gcc/java/lang-options.h    Sat Apr  8 23:03:56 2000
-@@ -39,8 +39,10 @@
-   { "-M", "Print dependencies to stdout" },
-   { "-MM", "Print dependencies to stdout" },
- #endif /* ! USE_CPPLIB */
--  { "-fclasspath", "Set class path and suppress system path" },
--  { "-fCLASSPATH", "Set class path" },
-+  { "--classpath", "Set class path and suppress system path" },
-+  { "--CLASSPATH", "Set class path" },
-+  { "--main", "Choose class whose main method should be used" },
-+  { "--encoding", "Choose input encoding (default is UTF-8)" },
-   { "-I", "Add directory to class path" },
-   { "-foutput-class-dir", "Directory where class files should be written" },
-   { "-Wredundant-modifiers", 
---- gcc/java/lang.c.orig       Sat Apr  8 23:03:03 2000
-+++ gcc/java/lang.c    Sat Apr  8 23:03:56 2000
-@@ -105,6 +105,9 @@
- /* When non zero, warns that final local are treated as non final.  */
- int flag_static_local_jdk1_1 = 0;
-+/* The encoding of the source file.  */
-+char *current_encoding = NULL;
-+
- /* From gcc/flags.h, and indicates if exceptions are turned on or not.  */
- extern int flag_new_exceptions;
-@@ -172,6 +175,13 @@
-       return 1;
-     }
- #undef ARG
-+#define ARG "-fencoding="
-+  if (strncmp (p, ARG, sizeof (ARG) - 1) == 0)
-+    {
-+      current_encoding = p + sizeof (ARG) - 1;
-+      return 1;
-+    }
-+#undef ARG
-   if (p[0] == '-' && p[1] == 'f')
-     {
-@@ -252,7 +262,9 @@
-   return 0;
- }
-+/* Global open file.  */
- FILE *finput;
-+
- char *
- init_parse (filename)
-      char *filename;
-@@ -313,7 +326,6 @@
- void
- finish_parse ()
- {
--  fclose (finput);
-   jcf_dependency_write ();
- }
---- gcc/java/lex.c.orig        Sat Apr  8 23:03:03 2000
-+++ gcc/java/lex.c     Sat Apr  8 23:14:41 2000
-@@ -24,15 +24,15 @@
- The Free Software Foundation is independent of Sun Microsystems, Inc.  */
- /* It defines java_lex (yylex) that reads a Java ASCII source file
--possibly containing Unicode escape sequence or utf8 encoded characters
--and returns a token for everything found but comments, white spaces
--and line terminators. When necessary, it also fills the java_lval
--(yylval) union. It's implemented to be called by a re-entrant parser
--generated by Bison.
--
--The lexical analysis conforms to the Java grammar described in "The
--Java(TM) Language Specification. J. Gosling, B. Joy, G. Steele.
--Addison Wesley 1996" (http://java.sun.com/docs/books/jls/html/3.doc.html)  */
-+   possibly containing Unicode escape sequence or utf8 encoded
-+   characters and returns a token for everything found but comments,
-+   white spaces and line terminators. When necessary, it also fills
-+   the java_lval (yylval) union. It's implemented to be called by a
-+   re-entrant parser generated by Bison.
-+
-+   The lexical analysis conforms to the Java grammar described in "The
-+   Java(TM) Language Specification. J. Gosling, B. Joy, G. Steele.
-+   Addison Wesley 1996" (http://java.sun.com/docs/books/jls/html/3.doc.html) */
- #include "keyword.h"
-@@ -55,15 +55,18 @@
- static int java_parse_doc_section PROTO ((unicode_t));
- static void java_parse_end_comment PROTO ((unicode_t));
- static unicode_t java_get_unicode PROTO (());
--static unicode_t java_read_unicode PROTO ((int, int *));
--static void java_store_unicode PROTO ((struct java_line *, unicode_t, int));
--static unicode_t java_read_char PROTO (());
-+static unicode_t java_read_unicode PARAMS ((java_lexer *, int, int *));
-+static void java_store_unicode PARAMS ((struct java_line *, unicode_t, int));
-+static unicode_t java_read_char PARAMS ((java_lexer *));
- static void java_allocate_new_line PROTO (());
- static void java_unget_unicode PROTO (());
- static unicode_t java_sneak_unicode PROTO (());
-+java_lexer *java_new_lexer PARAMS ((FILE *, const char *));
- void
--java_init_lex ()
-+java_init_lex (finput, encoding)
-+     FILE *finput;
-+     const char *encoding;
- {
- #ifndef JC1_LITE
-   int java_lang_imported = 0;
-@@ -108,9 +111,9 @@
-   ctxp->lineno = lineno = 0;
-   ctxp->p_line = NULL;
-   ctxp->c_line = NULL;
--  ctxp->unget_utf8_value = 0;
-   ctxp->minus_seen = 0;
-   ctxp->java_error_flag = 0;
-+  ctxp->lexer = java_new_lexer (finput, encoding);
- }
- static char *
-@@ -188,22 +191,142 @@
-   ctxp->c_line->white_space_only = 1;
- }
--#define BAD_UTF8_VALUE 0xFFFE
-+/* Create a new lexer object.  */
-+java_lexer *
-+java_new_lexer (finput, encoding)
-+     FILE *finput;
-+     const char *encoding;
-+{
-+  java_lexer *lex = (java_lexer *) xmalloc (sizeof (java_lexer));
-+  int enc_error = 0;
-+
-+  lex->finput = finput;
-+  lex->bs_count = 0;
-+  lex->unget_value = 0;
-+
-+#ifdef HAVE_ICONV
-+  lex->handle = iconv_open ("UCS-2", encoding);
-+  if (lex->handle == (iconv_t) -1)
-+    {
-+      /* FIXME: we should give a nice error based on errno here.  */
-+      enc_error = 1;
-+    }
-+  lex->first = -1;
-+  lex->last = -1;
-+#else /* HAVE_ICONV */
-+  if (strcmp (encoding, DEFAULT_ENCODING))
-+    enc_error = 1;
-+#endif /* HAVE_ICONV */
-+
-+  if (enc_error)
-+    fatal ("unknown encoding: `%s'", encoding);
-+
-+  return lex;
-+}
-+
-+void
-+java_destroy_lexer (lex)
-+     java_lexer *lex;
-+{
-+  fclose (lex->finput);
-+#ifdef HAVE_ICONV
-+  iconv_close (lex->handle);
-+#endif
-+  free (lex);
-+}
- static unicode_t
--java_read_char ()
-+java_read_char (lex)
-+     java_lexer *lex;
- {
--  int c;
--  int c1, c2;
-+  if (lex->unget_value)
-+    {
-+      unicode_t r = lex->unget_value;
-+      lex->unget_value = 0;
-+      return r;
-+    }
-+
-+#ifdef HAVE_ICONV
-+  {
-+    char out[2];
-+    size_t ir, inbytesleft, in_save, out_count;
-+    char *inp, *outp;
--  if (ctxp->unget_utf8_value)
-+    while (1)
-     {
--      int to_return = ctxp->unget_utf8_value;
--      ctxp->unget_utf8_value = 0;
--      return (to_return);
-+      /* See if we need to read more data.  If FIRST == 0 then the
-+         previous conversion attempt ended in the middle of a
-+         character at the end of the buffer.  Otherwise we only have
-+         to read if the buffer is empty.  */
-+      if (lex->first == 0 || lex->first >= lex->last)
-+        {
-+          int r;
-+
-+          if (lex->first >= lex->last)
-+            {
-+              lex->first = 0;
-+              lex->last = 0;
-+            }
-+          if (feof (lex->finput))
-+            return UEOF;
-+          r = fread (&lex->buffer[lex->last], 1,
-+                     sizeof (lex->buffer) - lex->last,
-+                     lex->finput);
-+          lex->last += r;
-     }
--  c = GETC ();
-+      inbytesleft = lex->last - lex->first;
-+
-+      if (inbytesleft == 0)
-+        {
-+          /* We've tried to read and there is nothing left.  */
-+          return UEOF;
-+        }
-+
-+      in_save = inbytesleft;
-+      out_count = 2;
-+      inp = &lex->buffer[lex->first];
-+      outp = out;
-+      ir = iconv (lex->handle, (const char **) &inp, &inbytesleft,
-+                  &outp, &out_count);
-+      lex->first += in_save - inbytesleft;
-+
-+      if (out_count == 0)
-+        {
-+          /* Success.  We assume that UCS-2 is big-endian.  This
-+             appears to be an ok assumption.  */
-+          unicode_t result;
-+          result = (((unsigned char) out[0]) << 8) | (unsigned char) out[1];
-+          return result;
-+        }
-+
-+      if (ir == (size_t) -1)
-+        {
-+          if (errno == EINVAL)
-+            {
-+              /* This is ok.  This means that the end of our buffer
-+                 is in the middle of a character sequence.  We just
-+                 move the valid part of the buffer to the beginning
-+                 to force a read.  */
-+              /* We use bcopy() because it should work for
-+                 overlapping strings.  Use memmove() instead... */
-+              bcopy (&lex->buffer[lex->first], &lex->buffer[0],
-+                     lex->last - lex->first);
-+              lex->last -= lex->first;
-+              lex->first = 0;
-+            }
-+          else
-+            {
-+              /* A more serious error.  */
-+              java_lex_error ("unrecognized character in input stream", 0);
-+            }
-+        }
-+      }
-+  }
-+#else /* HAVE_ICONV */
-+  {
-+    int c, c1, c2;
-+    c = getc (lex->finput);
-   if (c < 128)
-     return (unicode_t)c;
-@@ -213,17 +336,17 @@
-     {
-       if ((c & 0xe0) == 0xc0)
-         {
--          c1 = GETC ();
-+          c1 = getc (lex->finput);
-         if ((c1 & 0xc0) == 0x80)
-           return (unicode_t)(((c &0x1f) << 6) + (c1 & 0x3f));
-         c = c1;
-       }
-       else if ((c & 0xf0) == 0xe0)
-         {
--          c1 = GETC ();
-+          c1 = getc (lex->finput);
-         if ((c1 & 0xc0) == 0x80)
-           {
--            c2 = GETC ();
-+              c2 = getc (lex->finput);
-             if ((c2 & 0xc0) == 0x80)
-               return (unicode_t)(((c & 0xf) << 12) + 
-                                  (( c1 & 0x3f) << 6) + (c2 & 0x3f));
-@@ -233,14 +356,15 @@
-         else
-           c = c1;
-       }
--      /* We looked for a UTF8 multi-byte sequence (since we saw an initial
--       byte with the high bit set), but found invalid bytes instead.
--       If the most recent byte was Ascii (and not EOF), we should
--       unget it, in case it was a comment terminator or other delimitor. */
--      if ((c & 0x80) == 0)
--      UNGETC (c);
--      return BAD_UTF8_VALUE;
-+
-+      /* We simply don't support invalid characters.  */
-+      java_lex_error ("malformed UTF-8 character", 0);
-+      }
-     }
-+#endif /* HAVE_ICONV */
-+
-+  /* We only get here on error.  */
-+  return UEOF;
- }
- static void
-@@ -261,56 +385,54 @@
- }
- static unicode_t
--java_read_unicode (term_context, unicode_escape_p)
-+java_read_unicode (lex, term_context, unicode_escape_p)
-+     java_lexer *lex;
-     int term_context;
-     int *unicode_escape_p;
- {
-   unicode_t c;
--  long i, base;
--  c = java_read_char ();
-+  c = java_read_char (lex);
-   *unicode_escape_p = 0;
-   if (c != '\\')
--    return ((term_context ? c : 
--           java_lineterminator (c) ? '\n' : (unicode_t)c));
--
--  /* Count the number of preceeding '\' */
--  for (base = ftell (finput), i = base-2; c == '\\';)
-     { 
--      fseek (finput, i--, SEEK_SET);
--      c = java_read_char ();  /* Will fail if reading utf8 stream. FIXME */
-+      lex->bs_count = 0;
-+      return (term_context ? c : (java_lineterminator (c)
-+                                ? '\n'
-+                                : (unicode_t) c));
-     }
--  fseek (finput, base, SEEK_SET);
--  if ((base-i-3)%2 == 0)      /* If odd number of \ seen */
-+
-+  ++lex->bs_count;
-+  if ((lex->bs_count) % 2 == 1)
-     {
--      c = java_read_char ();
-+      /* Odd number of \ seen.  */
-+      c = java_read_char (lex);
-       if (c == 'u')
-         {
--        unsigned short unicode = 0;
-+        unicode_t unicode = 0;
-         int shift = 12;
-         /* Next should be 4 hex digits, otherwise it's an error.
-            The hex value is converted into the unicode, pushed into
-            the Unicode stream.  */
-         for (shift = 12; shift >= 0; shift -= 4)
-           {
--            if ((c = java_read_char ()) == UEOF)
-+            if ((c = java_read_char (lex)) == UEOF)
-               return UEOF;
-             if (c >= '0' && c <= '9')
-               unicode |= (unicode_t)((c-'0') << shift);
-             else if ((c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))
-               unicode |= (unicode_t)((10+(c | 0x20)-'a') << shift);
-             else
--                java_lex_error 
--                  ("Non hex digit in Unicode escape sequence", 0);
-+              java_lex_error ("Non hex digit in Unicode escape sequence", 0);
-           }
-         *unicode_escape_p = 1;
--        return (term_context ? unicode :
--                (java_lineterminator (c) ? '\n' : unicode));
-+        return (term_context
-+                ? unicode : (java_lineterminator (c) ? '\n' : unicode));
-       }
--      ctxp->unget_utf8_value = c;
-+      lex->unget_value = c;
-     }
--  return (unicode_t)'\\';
-+  return (unicode_t) '\\';
- }
- static unicode_t
-@@ -325,7 +447,7 @@
-       for (;;)
-         {
-           int unicode_escape_p;
--          c = java_read_unicode (0, &unicode_escape_p);
-+          c = java_read_unicode (ctxp->lexer, 0, &unicode_escape_p);
-           java_store_unicode (ctxp->c_line, c, unicode_escape_p);
-           if (ctxp->c_line->white_space_only 
-               && !JAVA_WHITE_SPACE_P (c) && c!='\n')
-@@ -346,7 +468,7 @@
-   int unicode_escape_p;
-   if (c == '\n')              /* CR */
-     {
--      if ((c = java_read_unicode (1, &unicode_escape_p)) != '\r')
-+      if ((c = java_read_unicode (ctxp->lexer, 1, &unicode_escape_p)) != '\r')
-       {
-         ctxp->c_line->ahead [0] = c;
-         ctxp->c_line->unicode_escape_ahead_p = unicode_escape_p;
-@@ -355,7 +477,7 @@
-     }
-   else if (c == '\r')         /* LF */
-     {
--      if ((c = java_read_unicode (1, &unicode_escape_p)) != '\n')
-+      if ((c = java_read_unicode (ctxp->lexer, 1, &unicode_escape_p)) != '\n')
-       {
-         ctxp->c_line->ahead [0] = c;
-         ctxp->c_line->unicode_escape_ahead_p = unicode_escape_p;
---- gcc/java/lex.h.orig        Sat Apr  8 23:03:03 2000
-+++ gcc/java/lex.h     Sat Apr  8 23:03:56 2000
-@@ -35,6 +35,13 @@
- /* A Unicode character, as read from the input file  */
- typedef unsigned short unicode_t;
-+#ifdef HAVE_ICONV
-+#include <iconv.h>
-+#endif /* HAVE_ICONV */
-+
-+/* Default encoding to use if no encoding is specified.  */
-+#define DEFAULT_ENCODING "UTF-8"
-+
- /* Debug macro to print-out what we match  */
- #ifdef JAVA_LEX_DEBUG
- #ifdef JAVA_LEX_DEBUG_CHAR
-@@ -96,12 +103,38 @@
-   int col;
- } java_lc;
-+typedef struct java_lexer
-+{
-+  /* The file from which we're reading.  */
-+  FILE *finput;
-+
-+  /* Number of consecutive backslashes we've read.  */
-+  int bs_count;
-+
-+  /* If nonzero, a value that was pushed back.  */
-+  unicode_t unget_value;
-+
-+#ifdef HAVE_ICONV
-+  /* The handle for the iconv converter we're using.  */
-+  iconv_t handle;
-+
-+  /* Bytes we've read from the file but have not sent to iconv.  */
-+  char buffer[1024];
-+
-+  /* Index of first valid character in buffer, -1 if no valid
-+     characters.  */
-+  int first;
-+
-+  /* Index of last valid character in buffer, plus one.  -1 if no
-+     valid characters in buffer.  */
-+  int last;
-+#endif /* HAVE_ICONV */
-+} java_lexer;
--#define JAVA_LINE_MAX 80
-+/* Destroy a lexer object.  */
-+extern void java_destroy_lexer PARAMS ((java_lexer *));
--/* Macro to read and unread bytes */
--#define UNGETC(c) ungetc(c, finput)
--#define GETC()    getc(finput)
-+#define JAVA_LINE_MAX 80
- /* Build a location compound integer */
- #define BUILD_LOCATION() ((ctxp->elc.line << 12) | (ctxp->elc.col & 0xfff))
---- gcc/java/parse.h.orig      Sat Apr  8 23:03:03 2000
-+++ gcc/java/parse.h   Sat Apr  8 23:15:36 2000
-@@ -586,12 +586,11 @@
- struct parser_ctxt {
-   char *filename;                 /* Current filename */
--  FILE *finput;                           /* Current file input stream */
-   struct parser_ctxt *next;
-+  java_lexer *lexer;               /* Current lexer state */
-   struct java_line *p_line, *c_line; /* Previous and current line */
-   java_lc elc;                             /* Error's line column info */
--  unicode_t unget_utf8_value;        /* An unget utf8 value */
-   int ccb_indent;                  /* Keep track of {} indent, lexer */
-   int first_ccb_indent1;           /* First { at ident level 1 */
-   int last_ccb_indent1;                    /* Last } at ident level 1 */
-@@ -668,7 +667,7 @@
- /* Always in use, no matter what you compile */
- void java_push_parser_context PROTO ((void));
- void java_pop_parser_context PROTO ((int));
--void java_init_lex PROTO ((void));
-+void java_init_lex PARAMS ((FILE *, const char *));
- extern void java_parser_context_save_global PROTO ((void));
- extern void java_parser_context_restore_global PROTO ((void));
- int yyparse PROTO ((void));
---- gcc/java/parse.y.orig      Sat Apr  8 23:03:03 2000
-+++ gcc/java/parse.y   Sat Apr  8 23:03:56 2000
-@@ -2347,7 +2347,6 @@
-       java_push_parser_context ();
-       extra_ctxp_pushed_p = 1;
-     }
--  ctxp->finput = finput;
-   ctxp->lineno = lineno;
-   ctxp->current_class = current_class;
-   ctxp->filename = input_filename;
-@@ -2357,7 +2356,6 @@
- void
- java_parser_context_restore_global ()
- {
--  finput = ctxp->finput;
-   lineno = ctxp->lineno;
-   current_class = ctxp->current_class;
-   input_filename = ctxp->filename;
-@@ -2386,9 +2384,12 @@
-       next->incomplete_class = ctxp->incomplete_class;
-       next->gclass_list = ctxp->gclass_list;
-       lineno = ctxp->lineno;
--      finput = ctxp->finput;
-       current_class = ctxp->current_class;
-     }
-+
-+  /* If the old and new lexers differ, then free the old one.  */
-+  if (ctxp->lexer && next && ctxp->lexer != next->lexer)
-+    java_destroy_lexer (ctxp->lexer);
-   /* Set the single import class file flag to 0 for the current list
-      of imported things */
diff --git a/gcc-gpc.patch b/gcc-gpc.patch
deleted file mode 100644 (file)
index 5a1e904..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-Changes for GCC version 2.95.1 for GNU Pascal 2.1
-
-Before applying these diffs, go to the directory gcc-2.95.1
-and use the command
-
-    patch -p1
-
-feeding it the following diffs as input.
-
-*** gcc-2.95.1/gcc/expr.c.orig Thu Jul  1 00:59:55 1999
---- gcc-2.95.1/gcc/expr.c      Sun Oct 24 14:01:38 1999
-*************** store_constructor (exp, target, cleared)
-*** 4430,4435 ****
---- 4430,4444 ----
-  
-        domain_min = convert (sizetype, TYPE_MIN_VALUE (domain));
-        domain_max = convert (sizetype, TYPE_MAX_VALUE (domain));
-+ 
-+ #ifdef GPC
-+       /* Align the set.  */
-+       if (set_alignment)
-+         domain_min = size_binop (MINUS_EXPR, domain_min,
-+                                  size_binop (TRUNC_MOD_EXPR, domain_min,
-+                                              size_int (set_alignment)));
-+ #endif /* GPC */
-+ 
-        bitlength = size_binop (PLUS_EXPR,
-                             size_binop (MINUS_EXPR, domain_max, domain_min),
-                             size_one_node);
-*************** store_constructor (exp, target, cleared)
-*** 4444,4450 ****
---- 4453,4461 ----
-        if (GET_MODE (target) != BLKmode || nbits <= 2 * BITS_PER_WORD
-         || (nbytes <= 32 && TREE_CHAIN (elt) != NULL_TREE))
-       {
-+ #ifndef GPC
-         int set_word_size = TYPE_ALIGN (TREE_TYPE (exp));
-+ #endif /* not GPC */
-         enum machine_mode mode = mode_for_size (set_word_size, MODE_INT, 1);
-         char *bit_buffer = (char *) alloca (nbits);
-         HOST_WIDE_INT word = 0;
-*************** store_constructor (exp, target, cleared)
-*** 4456,4462 ****
---- 4467,4477 ----
-           {
-             if (bit_buffer[ibit])
-               {
-+ #ifdef GPC
-+                if (set_words_big_endian)
-+ #else /* not GPC */
-                 if (BYTES_BIG_ENDIAN)
-+ #endif /* not GPC */
-                   word |= (1 << (set_word_size - 1 - bit_pos));
-                 else
-                   word |= 1 << bit_pos;
-*************** store_constructor (exp, target, cleared)
-*** 4570,4575 ****
---- 4585,4596 ----
-         else
-  #endif
-           {
-+ #ifdef GPC
-+               /* The language-specific run time library must provide
-+                  a suitable `__setbits()' function whose action coincides
-+                  with the values of `set_word_size', `set_alignment', and
-+                  `set_words_big_endian'.  */
-+ #endif /* GPC */
-             emit_library_call (gen_rtx_SYMBOL_REF (Pmode, "__setbits"),
-                                0, VOIDmode, 4, XEXP (targetx, 0), Pmode,
-                                bitlength_rtx, TYPE_MODE (sizetype),
-*** gcc-2.95.1/gcc/stor-layout.c.orig  Thu Mar 11 14:56:20 1999
---- gcc-2.95.1/gcc/stor-layout.c       Wed Oct 27 16:39:10 1999
-*************** int maximum_field_alignment;
-*** 53,58 ****
---- 53,69 ----
-     May be overridden by front-ends.  */
-  int set_alignment = 0;
-  
-+ #ifdef GPC
-+ /* The word size of a bitstring or (power-)set value, in bits.
-+    Must be non-zero.
-+    May be overridden by front-ends.  */
-+ int set_word_size = BITS_PER_UNIT;
-+ 
-+ /* If non-zero, bits in (power-)sets start with the highest bit.
-+    May be overridden by front-ends.  */
-+ int set_words_big_endian /*= BYTES_BIG_ENDIAN*/;  /* @@@ Needn't be a constant!  */
-+ #endif /* GPC */
-+ 
-  static tree layout_record    PROTO((tree));
-  static void layout_union     PROTO((tree));
-  \f
-*************** static tree pending_sizes;
-*** 65,70 ****
---- 76,88 ----
-  
-  int immediate_size_expand;
-  
-+ #ifdef GPC
-+ /* Nonzero means that the size of a type may vary
-+    within one function context.  */
-+ 
-+ int size_volatile = 0;
-+ #endif /* GPC */
-+ 
-  tree
-  get_pending_sizes ()
-  {
-*************** variable_size (size)
-*** 102,108 ****
---- 120,131 ----
-        || global_bindings_p () < 0 || contains_placeholder_p (size))
-      return size;
-  
-+ #ifdef GPC
-+   if (! size_volatile)
-+     size = save_expr (size);
-+ #else /* not GPC */
-    size = save_expr (size);
-+ #endif
-  
-    if (global_bindings_p ())
-      {
-*************** variable_size (size)
-*** 119,125 ****
---- 142,152 ----
-         Also, we would like to pass const0_rtx here, but don't have it.  */
-      expand_expr (size, expand_expr (integer_zero_node, NULL_PTR, VOIDmode, 0),
-                VOIDmode, 0);
-+ #ifdef GPC
-+   else if (! size_volatile)
-+ #else /* not GPC */
-    else
-+ #endif
-      pending_sizes = tree_cons (NULL_TREE, size, pending_sizes);
-  
-    return size;
-*************** layout_type (type)
-*** 1040,1045 ****
---- 1067,1086 ----
-       abort();
-        else
-       {
-+ #ifdef GPC
-+        int alignment = set_alignment ? set_alignment : set_word_size;
-+           int lower_bound = TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (type)));
-+           int upper_bound = TREE_INT_CST_LOW (TYPE_MAX_VALUE (TYPE_DOMAIN (type)));
-+        int size_in_bits, rounded_size;
-+           if (set_alignment)
-+             size_in_bits = upper_bound - (lower_bound / alignment) * alignment + 1;
-+           else
-+          size_in_bits
-+               = (TREE_INT_CST_LOW (TYPE_MAX_VALUE (TYPE_DOMAIN (type)))
-+               - TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) + 1);
-+        rounded_size
-+          = ((size_in_bits + alignment - 1) / alignment) * alignment;
-+ #else /* not GPC */
-  #ifndef SET_WORD_SIZE
-  #define SET_WORD_SIZE BITS_PER_WORD
-  #endif
-*************** layout_type (type)
-*** 1049,1054 ****
---- 1090,1096 ----
-              - TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (type))) + 1);
-         int rounded_size
-           = ((size_in_bits + alignment - 1) / alignment) * alignment;
-+ #endif /* not GPC */
-         if (rounded_size > alignment)
-           TYPE_MODE (type) = BLKmode;
-         else
-*** gcc-2.95.1/gcc/tree.c.orig Wed Sep 29 19:41:05 1999
---- gcc-2.95.1/gcc/tree.c      Tue Oct 19 00:04:25 1999
-*************** get_set_constructor_bits (init, buffer, 
-*** 4986,4991 ****
---- 4986,4998 ----
-    HOST_WIDE_INT domain_min
-      = TREE_INT_CST_LOW (TYPE_MIN_VALUE (TYPE_DOMAIN (TREE_TYPE (init))));
-    tree non_const_bits = NULL_TREE;
-+ 
-+ #ifdef GPC
-+   /* Align the set.  */
-+   if (set_alignment)
-+     domain_min -= domain_min % set_alignment;
-+ #endif /* GPC */
-+ 
-    for (i = 0; i < bit_size; i++)
-      buffer[i] = 0;
-  
-*************** get_set_constructor_bytes (init, buffer,
-*** 5038,5045 ****
---- 5045,5056 ----
-       int wd_size;
-  {
-    int i;
-+ #ifdef GPC
-+   int bit_size = wd_size * BITS_PER_UNIT;
-+ #else /* not GPC */
-    int set_word_size = BITS_PER_UNIT;
-    int bit_size = wd_size * set_word_size;
-+ #endif /* not GPC */
-    int bit_pos = 0;
-    unsigned char *bytep = buffer;
-    char *bit_buffer = (char *) alloca(bit_size);
-*************** get_set_constructor_bytes (init, buffer,
-*** 5050,5055 ****
---- 5061,5084 ----
-  
-    for (i = 0; i < bit_size; i++)
-      {
-+ #ifdef GPC
-+       if (bit_buffer[i])
-+      {
-+           int k = bit_pos / BITS_PER_UNIT;
-+           if (WORDS_BIG_ENDIAN)
-+             k = set_word_size / BITS_PER_UNIT - 1 - k;
-+        if (set_words_big_endian)
-+          bytep[k] |= (1 << (BITS_PER_UNIT - 1 - bit_pos % BITS_PER_UNIT));
-+        else
-+          bytep[k] |= 1 << (bit_pos % BITS_PER_UNIT);
-+      }
-+       bit_pos++;
-+       if (bit_pos >= set_word_size)
-+      {
-+           bit_pos = 0;
-+           bytep += set_word_size / BITS_PER_UNIT;
-+         }
-+ #else /* not GPC */
-        if (bit_buffer[i])
-       {
-         if (BYTES_BIG_ENDIAN)
-*************** get_set_constructor_bytes (init, buffer,
-*** 5060,5065 ****
---- 5089,5095 ----
-        bit_pos++;
-        if (bit_pos >= set_word_size)
-       bit_pos = 0, bytep++;
-+ #endif /* not GPC */
-      }
-    return non_const_bits;
-  }
-*** gcc-2.95.1/gcc/tree.h.orig Mon Oct 18 12:19:46 1999
---- gcc-2.95.1/gcc/tree.h      Mon Oct 18 12:36:04 1999
-*************** extern int maximum_field_alignment;
-*** 1630,1635 ****
---- 1630,1643 ----
-  /* If non-zero, the alignment of a bitstring or (power-)set value, in bits. */
-  extern int set_alignment;
-  
-+ #ifdef GPC
-+ /* The word size of a bitstring or (power-)set value, in bits.  */
-+ extern int set_word_size;
-+ 
-+ /* If non-zero, bits in (power-)sets start with the highest bit.  */
-+ extern int set_words_big_endian;
-+ #endif /* GPC */
-+ 
-  /* Concatenate two lists (chains of TREE_LIST nodes) X and Y
-     by making the last node in X point to Y.
-     Returns X, except if X is 0 returns Y.  */
-*** gcc-2.95.1/gcc/tree.def.orig       Mon May 17 09:21:12 1999
---- gcc-2.95.1/gcc/tree.def    Tue Oct 26 04:16:43 1999
-*************** DEFTREECODE (WITH_CLEANUP_EXPR, "with_cl
-*** 490,528 ****
-  DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", 'e', 1)
-  
-  /* The following two codes are used in languages that have types where
-!    the position and/or sizes of fields vary from object to object of the
-!    same type, i.e., where some other field in the object contains a value
-!    that is used in the computation of another field's offset or size.
-! 
-!    For example, a record type with a discriminant in Ada is such a type.
-!    This mechanism is also used to create "fat pointers" for unconstrained
-!    array types in Ada; the fat pointer is a structure one of whose fields is
-!    a pointer to the actual array type and the other field is a pointer to a
-!    template, which is a structure containing the bounds of the array.  The
-!    bounds in the type pointed to by the first field in the fat pointer refer
-!    to the values in the template.
-! 
-!    These "self-references" are doing using a PLACEHOLDER_EXPR.  This is a
-!    node that will later be replaced with the object being referenced.  Its type
-!    is that of the object and selects which object to use from a chain of
-!    references (see below).
-! 
-!    When we wish to evaluate a size or offset, we check it is contains a
-!    placeholder.  If it does, we construct a WITH_RECORD_EXPR that contains
-!    both the expression we wish to evaluate and an expression within which the
-!    object may be found.  The latter expression is the object itself in
-!    the simple case of an Ada record with discriminant, but it can be the
-!    array in the case of an unconstrained array.
-! 
-!    In the latter case, we need the fat pointer, because the bounds of the
-!    array can only be accessed from it.  However, we rely here on the fact that
-!    the expression for the array contains the dereference of the fat pointer
-!    that obtained the array pointer.
-  
-     Accordingly, when looking for the object to substitute in place of
-     a PLACEHOLDER_EXPR, we look down the first operand of the expression
-!    passed as the second operand to WITH_RECORD_EXPR until we find something
-!    of the desired type or reach a constant.  */
-  
-  /* Denotes a record to later be supplied with a WITH_RECORD_EXPR when
-     evaluating this expression.  The type of this expression is used to
---- 490,547 ----
-  DEFTREECODE (CLEANUP_POINT_EXPR, "cleanup_point_expr", 'e', 1)
-  
-  /* The following two codes are used in languages that have types where
-!    some field in an object of the type contains a value that is used in
-!    the computation of another field's offset or size and/or the size of
-!    the type.  The positions and/or sizes of fields can vary from object
-!    to object of the same type or even for one and the same object within
-!    its scope.
-! 
-!    Record types with discriminants in Ada or schema types in Pascal are
-!    examples of such types.  This mechanism is also used to create "fat
-!    pointers" for unconstrained array types in Ada; the fat pointer is a
-!    structure one of whose fields is a pointer to the actual array type
-!    and the other field is a pointer to a template, which is a structure
-!    containing the bounds of the array.  The bounds in the type pointed
-!    to by the first field in the fat pointer refer to the values in the
-!    template.
-! 
-!    When you wish to construct such a type you need "self-references"
-!    that allow you to reference the object having this type from the
-!    TYPE node, i.e. without having a variable instantiating this type.
-! 
-!    Such a "self-references" is done using a PLACEHOLDER_EXPR.  This is
-!    a node that will later be replaced with the object being referenced.
-!    Its type is that of the object and selects which object to use from
-!    a chain of references (see below).  No other slots are used in the
-!    PLACEHOLDER_EXPR.
-! 
-!    For example, if your type FOO is a RECORD_TYPE with a field BAR,
-!    and you need the value of <variable>.BAR to calculate TYPE_SIZE
-!    (FOO), just substitute <variable> above with a PLACEHOLDER_EXPR
-!    whose TREE_TYPE is FOO.  Then construct your COMPONENT_REF with
-!    the PLACEHOLDER_EXPR as the first operand (which has the correct
-!    type).  Later, when the size is needed in the program, the back-end
-!    will find this PLACEHOLDER_EXPR and generate code to calculate the
-!    actual size at run-time.  In the following, we describe how this
-!    calculation is done.
-! 
-!    When we wish to evaluate a size or offset, we check whether it
-!    contains a PLACEHOLDER_EXPR.  If it does, we construct a
-!    WITH_RECORD_EXPR that contains both the expression we wish to
-!    evaluate and an expression within which the object may be found.
-!    The latter expression is the object itself in the simple case of an
-!    Ada record with discriminant, but it can be the array in the case of
-!    an unconstrained array.
-! 
-!    In the latter case, we need the fat pointer, because the bounds of
-!    the array can only be accessed from it.  However, we rely here on the
-!    fact that the expression for the array contains the dereference of
-!    the fat pointer that obtained the array pointer.
-  
-     Accordingly, when looking for the object to substitute in place of
-     a PLACEHOLDER_EXPR, we look down the first operand of the expression
-!    passed as the second operand to WITH_RECORD_EXPR until we find
-!    something of the desired type or reach a constant.  */
-  
-  /* Denotes a record to later be supplied with a WITH_RECORD_EXPR when
-     evaluating this expression.  The type of this expression is used to
diff --git a/gcc-libobjc.patch b/gcc-libobjc.patch
deleted file mode 100644 (file)
index d32ac86..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-#! /bin/sh -e
-
-# DP: Find header file for Boehm garbage collector.
-
-if [ $# -eq 3 -a "$2" = '-d' ]; then
-    pdir="-d $3"
-elif [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
-    -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
-    *)
-       echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-       exit 1
-esac
-exit 0
-
-*** libobjc/Makefile.in~       Tue Nov 10 15:25:36 1998
---- libobjc/Makefile.in        Tue Nov 10 13:16:08 1998
-***************
-*** 65,71 ****
-    -I$(srcdir)/$(MULTISRCTOP)../gcc/config -I$(MULTIBUILDTOP)../../gcc \
-    -I$(srcdir)/$(MULTISRCTOP)../include
-  
-! OBJC_GCFLAGS=-DOBJC_WITH_GC=1
-  OBJC_THREAD_FILE=thr-@OBJC_THREAD_FILE@
-  
-  .SUFFIXES:
---- 65,71 ----
-    -I$(srcdir)/$(MULTISRCTOP)../gcc/config -I$(MULTIBUILDTOP)../../gcc \
-    -I$(srcdir)/$(MULTISRCTOP)../include
-  
-! OBJC_GCFLAGS=-I/usr/include/gc -DOBJC_WITH_GC=1
-  OBJC_THREAD_FILE=thr-@OBJC_THREAD_FILE@
-  
-  .SUFFIXES:
diff --git a/gcc-libstdc++-bastring.patch b/gcc-libstdc++-bastring.patch
deleted file mode 100644 (file)
index 6aae8da..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-From: Richard Kettlewell <rjk@sfere.greenend.org.uk>
-To: submit@bugs.debian.org
-Subject: Bug#46550: basic_string<wchar_t> can't be instantiated
-Date: Sun, 3 Oct 1999 22:49:50 +0100
-
-Package: libstdc++2.9-dev
-Version: 2.91.60-5
-
-Hi,
-
-This ought to work, but it doesn't:
-
-------------------------------------------------------------------------
-lyonesse$ cat t.cc
-*/
-
-#include <string>
-
-template basic_string<wchar_t>;
-
-/*
-lyonesse$ c++ -c t.cc
-/usr/include/g++-2/std/bastring.h: In method `const __wchar_t * basic_string<__wchar_t,string_char_traits<__wchar_t>,__default_alloc_template<true,0> >::c_str<__wchar_t, string_char_traits<__wchar_t>, alloc>() const':
-t.cc:3:   instantiated from here
-/usr/include/g++-2/std/bastring.h:301: return to `const __wchar_t *' from `char *'
-lyonesse$ 
-------------------------------------------------------------------------
-
-# DP: Here is a patch to /usr/include/g++-2/std/bastring.h which makes it
-# DP: work for me (though note that I have not tested the c_str() method as
-# DP: such):
-
-------------------------------------------------------------------------
---- libstdc++/std/bastring.h.orig      Sun Oct  3 22:32:06 1999
-+++ libstdc++/std/bastring.h   Sun Oct  3 22:36:17 1999
-@@ -332,7 +332,8 @@
- public:
-   const charT* c_str () const
--    { if (length () == 0) return ""; terminate (); return data (); }
-+    { const charT* null_str = ""; 
-+      if (length () == 0) return null_str; terminate (); return data (); }
-   void resize (size_type n, charT c);
-   void resize (size_type n)
-     { resize (n, eos ()); }
diff --git a/gcc-libstdc++-out-of-mem.patch b/gcc-libstdc++-out-of-mem.patch
deleted file mode 100644 (file)
index a3d6b71..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# DP: Throw exception instead of aborting when out of memory
-
-From: inaky@peloncho.fis.ucm.es
-To: submit@bugs.debian.org
-Subject: Bug#42622: libstdc++2.10-dev: stl_alloc.h: malloc_alloc out of memory handling abort()s instead of using exceptions
-Date: Sat, 7 Aug 1999 04:31:58 +0200
-
-Package: libstdc++2.10-dev
-Version: 1:2.95-2
-Severity: important
-
-        Hi
-
-        While coding some proof-of-concepts I've come around using a
-vector<> of a big lot of elements. Wanted to push the limits and try
-to recover possible failures. No way. The program was aborting on the
-library's own. 
-
-        That should not do. You want exceptions to be able to dictate
-how the program should behave on error situations. The thing is at
-stl_alloc.h, instead of throwing an exception on OOM, it was printing
-the message "out of memory" to stderr and aborting. It is also
-prepared for doing it via exceptions, so I think it should be the
-default way.
-
-        I think that behaviour should be made extensible to the whole
-libstdc++ library, as as far as I know, exception support in GCC is
-mature enough as to handle it [and I hope so :)]. That's the only way
-to fully control a program's flow. Libraries should not dictate what
-to do on error [I'm sure I'm not telling you anything new].
-
-        The changes to make stl_alloc work ok with exceptions are:
-
---- libstdc++/stl/stl_alloc.h~ Fri May  7 12:13:28 1999
-+++ libstdc++/stl/stl_alloc.h  Sat Aug  7 04:16:22 1999
-@@ -38,7 +38,7 @@
- // The allocation primitives are intended to allocate individual objects,
- // not larger arenas as with the original STL allocators.
--#if 0
-+#ifdef __STL_USE_EXCEPTIONS
- #   include <new>
- #   define __THROW_BAD_ALLOC throw bad_alloc()
- #elif !defined(__THROW_BAD_ALLOC)
-
-        Thanks, anyway, for such nice packages for GCC & Co.
-
-        Your happy Debian user,
-
--- System Information
-Debian Release: potato
-Kernel Version: Linux jovian 2.2.7 #1 mar ago 3 02:24:40 CEST 1999 i586 unknown
-
-Versions of the packages libstdc++2.10-dev depends on:
-ii  g++             2.95-2         The GNU C++ compiler.
-ii  libc6-dev       2.1.2-0pre4    GNU C Library: Development libraries and hea
-ii  libstdc++2.10   2.95-2         The GNU stdc++ library
diff --git a/gcc-libstdc++-wstring.patch b/gcc-libstdc++-wstring.patch
deleted file mode 100644 (file)
index 6210f88..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# DP: enable definition of wstring type, if __ENABLE_WSTRING is defined.
-
---- libstdc++/string~  Sat Feb 20 13:21:49 1999
-+++ libstdc++/string   Sun Dec  5 16:35:27 1999
-@@ -7,7 +7,9 @@
- extern "C++" {
- typedef basic_string <char> string;
--// typedef basic_string <wchar_t> wstring;
-+#ifdef __ENABLE_WSTRING
-+typedef basic_string <wchar_t> wstring;
-+#endif
- } // extern "C++"
- #endif
diff --git a/gcc-libstdc++.patch b/gcc-libstdc++.patch
deleted file mode 100644 (file)
index 473a2e7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -ur gcc-2.95.1.orig/libstdc++/config/linux.ml gcc-2.95.1/libstdc++/config/linux.ml
---- gcc-2.95.1.orig/libstdc++/config/linux.ml  Sun Aug 30 23:18:46 1998
-+++ gcc-2.95.1/libstdc++/config/linux.ml       Thu Aug 19 20:13:06 1999
-@@ -1,10 +1,5 @@
- # Elf with shared libm, so we can link it into the shared libstdc++.
--ARLIB   = libstdc++-$(LIBSTDCXX_INTERFACE)$(LIBC_INTERFACE)$(CXX_INTERFACE)-$(VERSION).a
--MARLINK = libstdc++$(LIBC_INTERFACE)$(CXX_INTERFACE).a.$(LIBSTDCXX_INTERFACE)
--SHLIB   = libstdc++-$(LIBSTDCXX_INTERFACE)$(LIBC_INTERFACE)$(CXX_INTERFACE)-$(VERSION).so
--MSHLINK = libstdc++$(LIBC_INTERFACE)$(CXX_INTERFACE).so.$(LIBSTDCXX_INTERFACE)
--
- LIBS    = $(ARLIB) marlink $(ARLINK) $(SHLIB) mshlink $(SHLINK)
- SHFLAGS = -Wl,-soname,$(MSHLINK)
- SHDEPS  = -lm
-diff -ur gcc-2.95.1.orig/libstdc++/configure.in gcc-2.95.1/libstdc++/configure.in
---- gcc-2.95.1.orig/libstdc++/configure.in     Tue Jun  8 01:28:10 1999
-+++ gcc-2.95.1/libstdc++/configure.in  Thu Aug 19 20:15:53 1999
-@@ -193,7 +193,7 @@
-   if test x${enable_version_specific_runtime_libs} = xyes; then
-     gxx_include_dir='${libsubdir}/include/g++'
-   else
--    gxx_include_dir='${prefix}/include/g++'-${libstdcxx_interface}
-+    gxx_include_dir='${prefix}/include/g++'
-   fi
- fi
---- gcc-2.95.1/libstdc++/Makefile.in~  Thu Aug  5 10:00:40 1999
-+++ gcc-2.95.1/libstdc++/Makefile.in   Fri Aug 20 15:22:06 1999
-@@ -30,8 +30,8 @@
-        memory numeric pthread_alloc queue rope set slist stack utility \
-        vector fstream iomanip iostream strstream iosfwd bitset valarray
--ARLIB   = libstdc++.a.$(VERSION)
--ARLINK  = libstdc++.a
-+ARLIB   = libstdc++.a
-+ARLINK  = libstdc++.a.$(VERSION)
- MARLINK = libstdc++.a.`echo $(VERSION) | sed 's/\([0-9]*[.][0-9]*\).*/\1/'`
- SHLIB   = libstdc++.so.$(VERSION)
- SHARLIB = libstdc++-sh.a
diff --git a/gcc-m68k-pic.patch b/gcc-m68k-pic.patch
deleted file mode 100644 (file)
index 6ff7224..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# DP: Two patches by Andreas Schwab to fix -fpic and loop optimization.
-# DP: Another patch by Andreas Schwab to fix %a5 restauration in some cases.
-
-------------------------------------------------------------------------------
---- gcc/config/m68k/m68k.c~    Mon Aug  2 06:51:08 1999
-+++ gcc/config/m68k/m68k.c     Fri Oct 22 11:47:09 1999
-@@ -356,7 +356,7 @@
-       mask &= ~ (1 << (15 - FRAME_POINTER_REGNUM));
-       num_saved_regs--;
-     }
--  if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
-+  if (flag_pic && current_function_uses_pic_offset_table)
-     {
-       mask |= 1 << (15 - PIC_OFFSET_TABLE_REGNUM);
-       num_saved_regs++;
-@@ -493,7 +493,10 @@
-   for (regno = 0 ; regno < FIRST_PSEUDO_REGISTER ; regno++)
-     if (regs_ever_live[regno] && ! call_used_regs[regno])
-       return 0;
--  
-+
-+  if (flag_pic && current_function_uses_pic_offset_table)
-+    return 0;
-+
-   return 1;
- }
-@@ -568,7 +571,7 @@
-         nregs++;
-       mask |= 1 << regno;
-       }
--  if (flag_pic && regs_ever_live[PIC_OFFSET_TABLE_REGNUM])
-+  if (flag_pic && current_function_uses_pic_offset_table)
-     {
-       nregs++;
-       mask |= 1 << PIC_OFFSET_TABLE_REGNUM;
-@@ -1334,8 +1337,6 @@
-                            gen_rtx_PLUS (Pmode,
-                                          pic_offset_table_rtx, orig));
-       current_function_uses_pic_offset_table = 1;
--      if (reload_in_progress)
--      regs_ever_live[PIC_OFFSET_TABLE_REGNUM] = 1;
-       RTX_UNCHANGING_P (pic_ref) = 1;
-       emit_move_insn (reg, pic_ref);
-       return reg;
---- gcc/loop.c~        Fri Jun 25 06:38:11 1999
-+++ gcc/loop.c Fri Oct 22 11:45:16 1999
-@@ -4046,11 +4046,11 @@
-                in-between when biv_toal_increment returns nonzero both times
-                but we test it here in case some day some real cfg analysis
-                gets used to set always_computable.  */
--            && ((loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
--                 && no_labels_between_p (bl2->biv->insn, bl->biv->insn))
--                || (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
--                                          bl2->biv->insn)
--                    && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
-+            && (loop_insn_first_p (bl2->biv->insn, bl->biv->insn)
-+                ? no_labels_between_p (bl2->biv->insn, bl->biv->insn)
-+                : (! reg_used_between_p (bl->biv->src_reg, bl->biv->insn,
-+                                         bl2->biv->insn)
-+                   && no_jumps_between_p (bl->biv->insn, bl2->biv->insn)))
-             && validate_change (bl->biv->insn,
-                                 &SET_SRC (single_set (bl->biv->insn)),
-                                 copy_rtx (src), 0))
diff --git a/gcc-manpage.patch b/gcc-manpage.patch
deleted file mode 100644 (file)
index 9aaee1b..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# DP: Document exit codes.
-
-Wed Oct 20 22:55:23 1999  Matthias Klose  <doko@debian.org>
-
-       * gcc.1: Document exit codes.
-
---- gcc/gcc.1.orig     Thu Oct 21 12:52:54 1999
-+++ gcc/gcc.1  Thu Oct 21 12:53:15 1999
-@@ -4141,6 +4141,11 @@
- if available, else
- .B /tmp\c
- \&).
-+.SH "EXIT STATUS"
-+Normally the exit status is 0, if compilation or link edit are successful,
-+and nonzero else. The option
-+.B -Werror
-+treats each warning as an error.
- .SH "SEE ALSO"
- cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
- .br
diff --git a/gcc-march-i686-fix.patch b/gcc-march-i686-fix.patch
deleted file mode 100644 (file)
index 4aeeef0..0000000
+++ /dev/null
@@ -1,110 +0,0 @@
-2002-08-17  H.J. Lu <hjl@gnu.org>
-
-       * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
-       * expr.c (PUSH_ARGS_REVERSED): Likewise.
-
-2002-07-26  H.J. Lu <hjl@gnu.org>
-
-       * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
-
---- gcc/calls.c.var    Thu Apr  4 15:28:47 2002
-+++ gcc/calls.c        Sat Aug 17 22:45:46 2002
-@@ -46,9 +46,11 @@ Software Foundation, 59 Temple Place - S
- #ifdef PUSH_ROUNDING
-+#ifndef PUSH_ARGS_REVERSED
- #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
- #define PUSH_ARGS_REVERSED  PUSH_ARGS
- #endif
-+#endif
- #endif
---- gcc/config/i386/i386.h.var Sun Jul 14 23:54:36 2002
-+++ gcc/config/i386/i386.h     Sat Aug 17 19:03:21 2002
-@@ -1581,6 +1581,10 @@ enum reg_class
- #define PUSH_ARGS (TARGET_PUSH_ARGS && !ACCUMULATE_OUTGOING_ARGS)
-+/* We want the stack and args grow in opposite directions, even if
-+   PUSH_ARGS is 0.  */
-+#define PUSH_ARGS_REVERSED 1
-+
- /* Offset of first parameter from the argument pointer register value.  */
- #define FIRST_PARM_OFFSET(FNDECL) 0
---- gcc/expr.c.var     Mon May  6 22:43:11 2002
-+++ gcc/expr.c Sat Aug 17 22:52:27 2002
-@@ -54,9 +54,11 @@ Software Foundation, 59 Temple Place - S
- #ifdef PUSH_ROUNDING
-+#ifndef PUSH_ARGS_REVERSED
- #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
- #define PUSH_ARGS_REVERSED    /* If it's last to first.  */
- #endif
-+#endif
- #endif
-2002-08-18  H.J. Lu <hjl@gnu.org>
-
-       * calls.c (store_one_arg): Remove ATTRIBUTE_UNUSED on
-       variable_size. Mark any slots used for the argument as in-use
-       only if we can't pass all arguments to a library call in
-       registers.
-
---- gcc/calls.c.copy   Sun Aug 18 07:35:11 2002
-+++ gcc/calls.c        Sun Aug 18 08:27:29 2002
-@@ -4270,7 +4270,7 @@ store_one_arg (arg, argblock, flags, var
-      struct arg_data *arg;
-      rtx argblock;
-      int flags;
--     int variable_size ATTRIBUTE_UNUSED;
-+     int variable_size;
-      int reg_parm_stack_space;
- {
-   tree pval = arg->tree_value;
-@@ -4345,14 +4345,22 @@ store_one_arg (arg, argblock, flags, var
-                 emit_move_insn (arg->save_area, stack_area);
-               }
-           }
-+
-+        /* Now that we have saved any slots that will be overwritten
-+           by this store, mark all slots this store will use.  We
-+           must do this before we actually expand the argument since
-+           the expansion itself may trigger library calls which might
-+           need to use the same stack slot. We only do it if we can't
-+           pass all arguments to a library call in registers.  */
-+        if (arg->partial)
-+          {
-+            for (i = lower_bound; i < upper_bound; i++)
-+              stack_usage_map[i] = 1;
-+
-+            /* Set it so that we don't do it again.  */
-+            variable_size = 1;
-+          }
-       }
--      /* Now that we have saved any slots that will be overwritten by this
--       store, mark all slots this store will use.  We must do this before
--       we actually expand the argument since the expansion itself may
--       trigger library calls which might need to use the same stack slot.  */
--      if (argblock && ! variable_size && arg->stack)
--      for (i = lower_bound; i < upper_bound; i++)
--        stack_usage_map[i] = 1;
-     }
-   /* If this isn't going to be placed on both the stack and in registers,
-@@ -4579,6 +4587,11 @@ store_one_arg (arg, argblock, flags, var
-       arg->value = arg->stack_slot;
-     }
-+  if (ACCUMULATE_OUTGOING_ARGS && !(flags & ECF_SIBCALL)
-+      && argblock && ! variable_size && arg->stack)
-+    for (i = lower_bound; i < upper_bound; i++)
-+      stack_usage_map[i] = 1;
-+
-   /* Once we have pushed something, pops can't safely
-      be deferred during the rest of the arguments.  */
-   NO_DEFER_POP;
diff --git a/gcc-pld-linux.patch b/gcc-pld-linux.patch
deleted file mode 100644 (file)
index cf777eb..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-diff -urN gcc-2.95.3.test1.org/gcc/Makefile.in gcc-2.95.3.test1/gcc/Makefile.in
---- gcc-2.95.3.test1.org/gcc/Makefile.in       Wed Jan  3 20:34:29 2001
-+++ gcc-2.95.3.test1/gcc/Makefile.in   Wed Jan  3 20:37:33 2001
-@@ -368,6 +368,9 @@
- # libgcc1-test target (must also be overridable for a target)
- LIBGCC1_TEST = libgcc1-test
-+# The libgcc symbol versioning map.
-+LIBGCC_MAP=
-+
- # List of extra executables that should be compiled for this target machine
- # that are used for compiling from source code to object code.
- # The rules for compiling them should be in the t-* file for the machine.
-@@ -838,14 +841,14 @@
- # Note that we can compile enquire using the cross-compiler just built,
- # although we can't run it on this machine.
- all.cross: native gcc-cross specs stmp-headers $(STMP_FIXPROTO) $(LIBGCC) \
--      $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
-+      $(LIBGCC_MAP) $(LIBGCC1_TEST) $(EXTRA_PARTS) lang.all.cross doc
- # This is what to compile if making gcc with a cross-compiler.
- all.build: native xgcc$(exeext) cpp$(exeext) $(EXTRA_PARTS) lang.all.build
- # This is what must be made before installing GCC and converting libraries.
- start.encap: native xgcc$(exeext) cpp$(exeext) specs $(LIBGCC1) \
-       xlimits.h lang.start.encap
- # These can't be made until after GCC can run.
--rest.encap: stmp-headers $(STMP_FIXPROTO) $(LIBGCC) $(EXTRA_PARTS) lang.rest.encap
-+rest.encap: stmp-headers $(STMP_FIXPROTO) $(LIBGCC) $(LIBGCC_MAP) $(EXTRA_PARTS) lang.rest.encap
- # This is what is made with the host's compiler
- # whether making a cross compiler or not.
- native: config.status auto-host.h intl.all $(LANGUAGES) \
-@@ -860,7 +863,7 @@
- # On the target machine, finish building a cross compiler.
- # This does the things that can't be done on the host machine.
--rest.cross: $(LIBGCC) specs
-+rest.cross: $(LIBGCC) $(LIBGCC_MAP) specs
- # Verify that it works to compile and link libgcc1-test.
- # If it does, then there are sufficient replacements for libgcc1.a.
-@@ -2353,7 +2356,7 @@
- # Using unprotoize.c is not quite right in the first place, 
- # but what better way is there?
-       -rm -f libgcc.a libgcc1.a libgcc1-asm.a libgcc2.a libgcc2.ready
--      -rm -f libgcc1.null
-+      -rm -f libgcc1.null libgcc.map
-       -rm -f *.dvi
-       -rm -f */*.dvi
-       -if [ -f md.pre-cpp ]; then \
-@@ -2526,6 +2529,12 @@
-         $(INSTALL_DATA) specs $(libsubdir)/specs; \
-         chmod a-x $(libsubdir)/specs; \
-       fi
-+# Install libgcc.map if it exists.
-+      -if [ -n "$(LIBGCC_MAP)" -a -f libgcc.map ] ; then \
-+        rm -f $(libsubdir)/libgcc.map; \
-+        $(INSTALL_DATA) libgcc.map $(libsubdir)/libgcc.map; \
-+        chmod a-x $(libsubdir)/libgcc.map; \
-+      fi
- # Install protoize if it was compiled.
-       -if [ -f protoize$(exeext) ]; \
-       then \
-@@ -3032,7 +3041,10 @@
-        do \
-          if [ -d stage1/$$dir ] ; then true ; else mkdir stage1/$$dir ; fi ; \
-        done
--      -mv $(STAGESTUFF) stage1
-+      -for i in $(STAGESTUFF) ; \
-+       do \
-+         mv $$i stage1 ; \
-+       done
-       -mv intl/*$(objext) stage1/intl
- # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
- # dir will work properly.
-@@ -3041,6 +3053,10 @@
-       -if [ -f collect-ld$(exeext) ] ; then $(LN_S) ../collect-ld$(exeext) stage1 ; else true ; fi
-       -rm -f stage1/libgcc.a
-       -cp libgcc.a stage1
-+      -if [ -n "$(LIBGCC_MAP)" -a -f libgcc.map ] ; then \
-+        rm -f stage1/libgcc.map; \
-+        cp libgcc.map stage1; \
-+      fi
-       -if $(RANLIB_TEST_FOR_TARGET) ; then \
-         $(RANLIB_FOR_TARGET) stage1/libgcc.a; \
-       else true; fi
-@@ -3056,7 +3072,10 @@
-        do \
-          if [ -d stage2/$$dir ] ; then true ; else mkdir stage2/$$dir ; fi ; \
-        done
--      -mv $(STAGESTUFF) stage2
-+      -for i in $(STAGESTUFF) ; \
-+       do \
-+         mv $$i stage2 ; \
-+       done
-       -mv intl/*$(objext) stage2/intl
- # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
- # dir will work properly.
-@@ -3065,6 +3084,10 @@
-       -if [ -f collect-ld ] ; then $(LN_S) ../collect-ld$(exeext) stage2 ; else true ; fi
-       -rm -f stage2/libgcc.a
-       -cp libgcc.a stage2
-+      -if [ -n "$(LIBGCC_MAP)" -a -f libgcc.map ] ; then \
-+        rm -f stage2/libgcc.map; \
-+        cp libgcc.map stage2; \
-+      fi
-       -if $(RANLIB_TEST_FOR_TARGET) ; then \
-         $(RANLIB_FOR_TARGET) stage2/libgcc.a; \
-       else true; fi
-@@ -3080,7 +3103,10 @@
-        do \
-          if [ -d stage3/$$dir ] ; then true ; else mkdir stage3/$$dir ; fi ; \
-        done
--      -mv $(STAGESTUFF) stage3
-+      -for i in $(STAGESTUFF) ; \
-+       do \
-+         mv $$i stage3 ; \
-+       done
-       -mv intl/*$(objext) stage3/intl
- # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
- # dir will work properly.
-@@ -3089,6 +3115,10 @@
-       -if [ -f collect-ld$(exeext) ] ; then $(LN_S) ../collect-ld$(exeext) stage3 ; else true ; fi
-       -rm -f stage3/libgcc.a
-       -cp libgcc.a stage3
-+      -if [ -n "$(LIBGCC_MAP)" -a -f libgcc.map ] ; then \
-+        rm -f stage3/libgcc.map; \
-+        cp libgcc.map stage3; \
-+      fi
-       -if $(RANLIB_TEST_FOR_TARGET) ; then \
-         $(RANLIB_FOR_TARGET) stage3/libgcc.a; \
-       else true; fi
-@@ -3104,7 +3134,10 @@
-        do \
-          if [ -d stage4/$$dir ] ; then true ; else mkdir stage4/$$dir ; fi ; \
-        done
--      -mv $(STAGESTUFF) stage4
-+      -for i in $(STAGESTUFF) ; \
-+       do \
-+         mv $$i stage4 ; \
-+       done
-       -mv intl/*$(objext) stage4/intl
- # Copy as/ld if they exist to stage dir, so that running xgcc from the stage
- # dir will work properly.
-@@ -3113,6 +3146,10 @@
-       -if [ -f collect-ld$(exeext) ] ; then $(LN_S) ../collect-ld$(exeext) stage4 ; else true ; fi
-       -rm -f stage4/libgcc.a
-       -cp libgcc.a stage4
-+      -if [ -n "$(LIBGCC_MAP)" -a -f libgcc.map ] ; then \
-+        rm -f stage4/libgcc.map; \
-+        cp libgcc.map stage4; \
-+      fi
-       -if $(RANLIB_TEST_FOR_TARGET) ; then \
-         $(RANLIB_FOR_TARGET) stage4/libgcc.a; \
-       else true; fi
-@@ -3196,3 +3233,9 @@
-       echo "#endif" >> t-float.h-cross
-       mv t-float.h-cross float.h-cross
-+# Rule to generate the libgcc symbol versioning map.
-+libgcc.map:
-+      echo "GCC.INTERNAL {" > $@
-+      echo "  local:" >> $@
-+      $(EXTRACT_LIBGCC) >> $@
-+      echo "};" >> $@
-diff -urN gcc-2.95.3.test1.org/gcc/config/i386/i386.md gcc-2.95.3.test1/gcc/config/i386/i386.md
---- gcc-2.95.3.test1.org/gcc/config/i386/i386.md       Wed Jan  3 20:34:36 2001
-+++ gcc-2.95.3.test1/gcc/config/i386/i386.md   Wed Jan  3 20:35:21 2001
-@@ -1345,7 +1345,8 @@
-   else if ((reload_in_progress | reload_completed) == 0
-          && GET_CODE (operands[0]) != MEM
-          && GET_CODE (operands[1]) == CONST_DOUBLE
--         && !standard_80387_constant_p (operands[1]))
-+           && ((flag_pic && flag_omit_frame_pointer)
-+               || ! standard_80387_constant_p (operands[1])))
-     {
-       operands[1] = validize_mem (force_const_mem (SFmode, operands[1]));
-     }
-@@ -1473,7 +1474,8 @@
-   else if ((reload_in_progress | reload_completed) == 0
-          && GET_CODE (operands[0]) != MEM
-          && GET_CODE (operands[1]) == CONST_DOUBLE
--         && !standard_80387_constant_p (operands[1]))
-+           && ((flag_pic && flag_omit_frame_pointer)
-+              || ! standard_80387_constant_p (operands[1])))
-     {
-       operands[1] = validize_mem (force_const_mem (DFmode, operands[1]));
-     }
-@@ -1601,7 +1603,8 @@
-   else if ((reload_in_progress | reload_completed) == 0
-          && GET_CODE (operands[0]) != MEM
-          && GET_CODE (operands[1]) == CONST_DOUBLE
--         && !standard_80387_constant_p (operands[1]))
-+           && ((flag_pic && flag_omit_frame_pointer)
-+               || ! standard_80387_constant_p (operands[1])))
-     {
-       operands[1] = validize_mem (force_const_mem (XFmode, operands[1]));
-     }
-diff -urN gcc-2.95.3.test1.org/gcc/config/linux.h gcc-2.95.3.test1/gcc/config/linux.h
---- gcc-2.95.3.test1.org/gcc/config/linux.h    Wed Jan  3 20:34:33 2001
-+++ gcc-2.95.3.test1/gcc/config/linux.h        Wed Jan  3 20:35:22 2001
-@@ -103,7 +103,7 @@
-      %{!profile:%{!ggdb:-lc} %{ggdb:-lg}}}"
- #else
- #define LIB_SPEC \
--  "%{shared: -lc} \
-+  "%{shared: -lc --version-script libgcc.map%s} \
-    %{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
-       %{profile:-lc_p} %{!profile: -lc}}"
- #endif
-diff -urN gcc-2.95.3.test1.org/gcc/config/t-linux gcc-2.95.3.test1/gcc/config/t-linux
---- gcc-2.95.3.test1.org/gcc/config/t-linux    Wed Jan  3 20:34:33 2001
-+++ gcc-2.95.3.test1/gcc/config/t-linux        Wed Jan  3 20:35:22 2001
-@@ -14,3 +14,17 @@
- LIBGCC1 = 
- CROSS_LIBGCC1 =
- LIBGCC1_TEST =
-+
-+# Make glocal functions in libgcc.a local to the shared library with
-+# symbol versioning.
-+LIBGCC_MAP=libgcc.map
-+# This list has to be maintained manually. It should cover the libgcc
-+# functions, which can be safely made local to a shared library, on
-+# all Linux platforms.
-+LIBGCC_MAP_LIST=__ashldi3 __ashrdi3 __builtin_saveregs __clear_cache \
-+  __cmpdi2 __divdi3 __dummy __eprintf __ffsdi2 __fixdfdi __fixsfdi \
-+  __fixunsdfdi __fixunsdfsi __fixunssfdi __fixunssfsi __fixunsxfdi \
-+  __fixunsxfsi __fixxfdi __floatdidf __floatdisf __floatdixf \
-+  __gcc_bcmp __lshrdi3 __moddi3 __muldi3 __negdi2 __pure_virtual \
-+  __ucmpdi2 __udiv_w_sdiv __udivdi3 __udivmoddi4 __umoddi3
-+EXTRACT_LIBGCC=for s in $(LIBGCC_MAP_LIST); do echo "    $$s;"; done
-diff -urN gcc-2.95.3.test1.org/gcc/f/Make-lang.in gcc-2.95.3.test1/gcc/f/Make-lang.in
---- gcc-2.95.3.test1.org/gcc/f/Make-lang.in    Wed Jan  3 20:34:42 2001
-+++ gcc-2.95.3.test1/gcc/f/Make-lang.in        Wed Jan  3 20:35:22 2001
-@@ -212,7 +212,7 @@
- f77.all.build: g77$(exeext)
- f77.all.cross: g77-cross$(exeext)
--f77.start.encap: g77$(exeext)
-+f77.start.encap: g77$(exeext)  $(srcdir)/f/intdoc.texi
- f77.rest.encap:
- f77.info: f/g77.info
-diff -urN gcc-2.95.3.test1.org/libf2c/Makefile.in gcc-2.95.3.test1/libf2c/Makefile.in
---- gcc-2.95.3.test1.org/libf2c/Makefile.in    Wed Jan  3 20:34:47 2001
-+++ gcc-2.95.3.test1/libf2c/Makefile.in        Wed Jan  3 20:35:22 2001
-@@ -61,18 +61,18 @@
- # Quote this way so that it can be used to set shell variables too.
- # Currently no use for PICFLAG, RUNTESTFLAGS -- check usage.
- FLAGS_TO_PASS= \
--      CC='$(CC)' \
--      CFLAGS='$(CFLAGS)' \
--      CPPFLAGS='$(CPPFLAGS)' \
--      AR='$(AR)' \
--      RANLIB='$(RANLIB)' \
--      PICFLAG='$(PICFLAG)' \
--      RUNTESTFLAGS='$(RUNTESTFLAGS)' \
--      prefix='$(prefix)' \
--      exec_prefix='$(exec_prefix)' \
--      libdir='$(libdir)' \
--      libsubdir='$(libsubdir)' \
--      tooldir='$(tooldir)'
-+      "CC=$(CC)" \
-+      "CFLAGS=$(CFLAGS)" \
-+      "CPPFLAGS=$(CPPFLAGS)" \
-+      "AR=$(AR)" \
-+      "RANLIB=$(RANLIB)" \
-+      "PICFLAG=$(PICFLAG)" \
-+      "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
-+      "prefix=$(prefix)" \
-+      "exec_prefix=$(exec_prefix)" \
-+      "libdir=$(libdir)" \
-+      "libsubdir=$(libsubdir)" \
-+      "tooldir=$(tooldir)"
- LIBG2C = libg2c.a
diff --git a/gcc-pointer-arith.patch b/gcc-pointer-arith.patch
deleted file mode 100644 (file)
index 4e049f7..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#! /bin/sh -e
-
-if [ $# -eq 3 -a "$2" = '-d' ]; then
-    pdir="-d $3"
-elif [ $# -ne 1 ]; then
-    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-    exit 1
-fi
-case "$1" in
-    -patch) patch $pdir -f --no-backup-if-mismatch -p0 < $0;;
-    -unpatch) patch $pdir -f --no-backup-if-mismatch -R -p0 < $0;;
-    *)
-       echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-       exit 1
-esac
-exit 0
-
-# append the patch here and adjust the -p? flag in the patch calls.
-
-From: Jim Kingdon <kingdon@redhat.com>
-To: rth@cygnus.com
-CC: gcc-patches@gcc.gnu.org
-Subject: Re: patch to make -Wpointer-arith work with glibc 2.1.2pre3
-Date: Tue, 21 Sep 1999 15:50:20 -0400
-
-Richard Henderson writes:
-
-> This could all be tidied a bit by creating a couple of macros near
-> the beginning of c-parse.in to do the encoding and decoding.  Also,
-> setting the type of `extension' means $<itype>1 can be written $1.
-
-Here you go (sorry for the delay, I plead hurricanes and other
-causes).
-
-Let me know if you still aren't happy :-).
-
-# DP: Wed Sep  1 09:12:02 1999  Jim Kingdon  <http://developer.redhat.com>
-# DP: 
-# DP:  * c-parse.in: save and restore warn_pointer_arith on __extension__
-# DP:  along with pedantic.
-# DP:  (SAVE_WARN_FLAGS, RESTORE_WARN_FLAGS): Added.
-# DP:  Set the type of extension to itype rather than $<itype>1 kludge.
-# DP:  * extend.texi (Alternate Keywords): Adjust documentation.
-
-Index: c-parse.in
-===================================================================
-RCS file: /cvs/egcs/egcs/gcc/c-parse.in,v
-retrieving revision 1.23
-diff -u -r1.23 c-parse.in
---- gcc/c-parse.in     1999/09/07 05:47:29     1.23
-+++ gcc/c-parse.in     1999/09/21 19:05:43
-@@ -185,6 +185,8 @@
- %type <ttype> parmlist_or_identifiers parmlist_or_identifiers_1
- %type <ttype> identifiers_or_typenames
-+%type <itype> extension
-+
- %type <itype> setspecs
- %type <ends_in_label> lineno_stmt_or_label lineno_stmt_or_labels stmt_or_label
-@@ -227,6 +229,15 @@
- /* 1 if we explained undeclared var errors.  */
- static int undeclared_variable_notice;
-+/* For __extension__, save/restore the warning flags which are
-+   controlled by __extension__.  */
-+#define SAVE_WARN_FLAGS() (pedantic | (warn_pointer_arith << 1))
-+#define RESTORE_WARN_FLAGS(val) \
-+  do {                                     \
-+    pedantic = val & 1;                    \
-+    warn_pointer_arith = (val >> 1) & 1;   \
-+  } while (0)
-+
- ifobjc
- /* Objective-C specific information */
-@@ -297,7 +308,7 @@
-                 else
-                   error ("argument of `asm' is not a constant string"); }
-       | extension extdef
--              { pedantic = $<itype>1; }
-+              { RESTORE_WARN_FLAGS ($1); }
-       ;
- datadef:
-@@ -438,7 +449,7 @@
-       /* __extension__ turns off -pedantic for following primary.  */
-       | extension cast_expr     %prec UNARY
-               { $$ = $2;
--                pedantic = $<itype>1; }
-+                RESTORE_WARN_FLAGS ($1); }
-       | unop cast_expr  %prec UNARY
-               { $$ = build_unary_op ($1, $2, 0);
-                 overflow_warning ($$); }
-@@ -1002,7 +1013,7 @@
-       | declmods ';'
-               { pedwarn ("empty declaration"); }
-       | extension decl
--              { pedantic = $<itype>1; }
-+              { RESTORE_WARN_FLAGS ($1); }
-       ;
- /* Declspecs which contain at least one type specifier or typedef name.
-@@ -1607,7 +1618,7 @@
-               { $$ = NULL_TREE; }
-       | extension component_decl
-               { $$ = $2;
--                pedantic = $<itype>1; }
-+                RESTORE_WARN_FLAGS ($1); }
-       ;
- components:
-@@ -2441,8 +2452,9 @@
- extension:
-       EXTENSION
--              { $<itype>$ = pedantic;
--                pedantic = 0; }
-+              { $$ = SAVE_WARN_FLAGS();
-+                pedantic = 0;
-+                warn_pointer_arith = 0; }
-       ;
\f
- ifobjc
diff --git a/gcc-ppc-ada-hack.patch b/gcc-ppc-ada-hack.patch
deleted file mode 100644 (file)
index c2675f2..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ur gcc-20020311/gcc/ada/targtyps.c gcc-20020311-/gcc/ada/targtyps.c
---- gcc-20020311/gcc/ada/targtyps.c    Tue Oct  2 16:57:55 2001
-+++ gcc-20020311-/gcc/ada/targtyps.c   Sat Mar 16 15:19:39 2002
-@@ -99,6 +99,8 @@
- #define WIDEST_HARDWARE_FP_SIZE LONG_DOUBLE_TYPE_SIZE
- #endif
-+static int rs6000_long_double_type_size = 64;
-+
- /* The following provide a functional interface for the front end Ada code
-    to determine the sizes that are used for various C types. */
-Only in gcc-20020311-/gcc/ada: targtyps.c~
diff --git a/gcc-ppc-descriptions.patch b/gcc-ppc-descriptions.patch
deleted file mode 100644 (file)
index bf8913c..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-# DP: Add descriptions to rs6000.h and sysv4.h to quench warnings.
-# DP:  by Franz Sirl
-
-Index: gcc/config/rs6000/rs6000.h
---- rs6000.h   1999/06/09 15:59:37     1.49.4.1
-+++ gcc/config/rs6000/rs6000.h 1999/06/12 18:55:36
-@@ -352,46 +352,81 @@ extern int target_flags;
- #endif
- #define TARGET_SWITCHES                                                       \
-- {{"power",           MASK_POWER  | MASK_MULTIPLE | MASK_STRING},     \
-+ {{"power",           MASK_POWER  | MASK_MULTIPLE | MASK_STRING,      \
-+                      "Use POWER instruction set"},                   \
-   {"power2",          (MASK_POWER | MASK_MULTIPLE | MASK_STRING       \
--                       | MASK_POWER2)},                               \
--  {"no-power2",               - MASK_POWER2},                                 \
-+                       | MASK_POWER2),                                \
-+                      "Use POWER2 instruction set"},                  \
-+  {"no-power2",               - MASK_POWER2,                                  \
-+                      "Do not use POWER2 instruction set"},           \
-   {"no-power",                - (MASK_POWER | MASK_POWER2 | MASK_MULTIPLE     \
--                         | MASK_STRING)},                             \
--  {"powerpc",         MASK_POWERPC},                                  \
-+                         | MASK_STRING),                              \
-+                      "Do not use POWER instruction set"},            \
-+  {"powerpc",         MASK_POWERPC,                                   \
-+                      "Use PowerPC instruction set"},                 \
-   {"no-powerpc",      - (MASK_POWERPC | MASK_PPC_GPOPT                \
--                         | MASK_PPC_GFXOPT | MASK_POWERPC64)},        \
--  {"powerpc-gpopt",   MASK_POWERPC | MASK_PPC_GPOPT},                 \
--  {"no-powerpc-gpopt",        - MASK_PPC_GPOPT},                              \
--  {"powerpc-gfxopt",  MASK_POWERPC | MASK_PPC_GFXOPT},                \
--  {"no-powerpc-gfxopt",       - MASK_PPC_GFXOPT},                             \
--  {"powerpc64",               MASK_POWERPC64},                                \
--  {"no-powerpc64",    - MASK_POWERPC64},                              \
--  {"new-mnemonics",   MASK_NEW_MNEMONICS},                            \
--  {"old-mnemonics",   -MASK_NEW_MNEMONICS},                           \
-+                         | MASK_PPC_GFXOPT | MASK_POWERPC64),         \
-+                      "Do not use PowerPC instruction set"},          \
-+  {"powerpc-gpopt",   MASK_POWERPC | MASK_PPC_GPOPT,                  \
-+                      "Use PowerPC General Purpose group optional instructions"},\
-+  {"no-powerpc-gpopt",        - MASK_PPC_GPOPT,                               \
-+                      "Don't use PowerPC General Purpose group optional instructions"},\
-+  {"powerpc-gfxopt",  MASK_POWERPC | MASK_PPC_GFXOPT,                 \
-+                      "Use PowerPC Graphics group optional instructions"},\
-+  {"no-powerpc-gfxopt",       - MASK_PPC_GFXOPT,                              \
-+                      "Don't use PowerPC Graphics group optional instructions"},\
-+  {"powerpc64",               MASK_POWERPC64,                                 \
-+                      "Use PowerPC-64 instruction set"},              \
-+  {"no-powerpc64",    - MASK_POWERPC64,                               \
-+                      "Don't use PowerPC-64 instruction set"},        \
-+  {"new-mnemonics",   MASK_NEW_MNEMONICS,                             \
-+                      "Use new mnemonics for PowerPC architecture"},  \
-+  {"old-mnemonics",   -MASK_NEW_MNEMONICS,                            \
-+                      "Use old mnemonics for PowerPC architecture"},  \
-   {"full-toc",                - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC       \
--                         | MASK_MINIMAL_TOC)},                        \
--  {"fp-in-toc",               - MASK_NO_FP_IN_TOC},                           \
--  {"no-fp-in-toc",    MASK_NO_FP_IN_TOC},                             \
--  {"sum-in-toc",      - MASK_NO_SUM_IN_TOC},                          \
--  {"no-sum-in-toc",   MASK_NO_SUM_IN_TOC},                            \
--  {"minimal-toc",     MASK_MINIMAL_TOC},                              \
--  {"minimal-toc",     - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC)},    \
--  {"no-minimal-toc",  - MASK_MINIMAL_TOC},                            \
--  {"hard-float",      - MASK_SOFT_FLOAT},                             \
--  {"soft-float",      MASK_SOFT_FLOAT},                               \
--  {"multiple",                MASK_MULTIPLE | MASK_MULTIPLE_SET},             \
--  {"no-multiple",     - MASK_MULTIPLE},                               \
--  {"no-multiple",     MASK_MULTIPLE_SET},                             \
--  {"string",          MASK_STRING | MASK_STRING_SET},                 \
--  {"no-string",               - MASK_STRING},                                 \
--  {"no-string",               MASK_STRING_SET},                               \
--  {"update",          - MASK_NO_UPDATE},                              \
--  {"no-update",               MASK_NO_UPDATE},                                \
--  {"fused-madd",      - MASK_NO_FUSED_MADD},                          \
--  {"no-fused-madd",   MASK_NO_FUSED_MADD},                            \
-+                         | MASK_MINIMAL_TOC),                         \
-+                      "no description yet"},                          \
-+  {"fp-in-toc",               - MASK_NO_FP_IN_TOC,                            \
-+                      "Place floating point constants in TOC"},       \
-+  {"no-fp-in-toc",    MASK_NO_FP_IN_TOC,                              \
-+                      "Don't place floating point constants in TOC"}, \
-+  {"sum-in-toc",      - MASK_NO_SUM_IN_TOC,                           \
-+                      "Place symbol+offset constants in TOC"},        \
-+  {"no-sum-in-toc",   MASK_NO_SUM_IN_TOC,                             \
-+                      "Don't place symbol+offset constants in TOC"},  \
-+  {"minimal-toc",     MASK_MINIMAL_TOC,                               \
-+                      "no description yet"},                          \
-+  {"minimal-toc",     - (MASK_NO_FP_IN_TOC | MASK_NO_SUM_IN_TOC),     \
-+                      "no description yet"},                          \
-+  {"no-minimal-toc",  - MASK_MINIMAL_TOC,                             \
-+                      "no description yet"},                          \
-+  {"hard-float",      - MASK_SOFT_FLOAT,                              \
-+                      "Use hardware fp"},                             \
-+  {"soft-float",      MASK_SOFT_FLOAT,                                \
-+                      "Do not use hardware fp"},                      \
-+  {"multiple",                MASK_MULTIPLE | MASK_MULTIPLE_SET,              \
-+                      "Generate load/store multiple instructions"},   \
-+  {"no-multiple",     - MASK_MULTIPLE,                                \
-+                      "Do not generate load/store multiple instructions"},\
-+  {"no-multiple",     MASK_MULTIPLE_SET,                              \
-+                      "Do not generate load/store multiple instructions"},\
-+  {"string",          MASK_STRING | MASK_STRING_SET,                  \
-+                      "Generate string instructions for block moves"},\
-+  {"no-string",               - MASK_STRING,                                  \
-+                      "Do not generate string instructions for block moves"},\
-+  {"no-string",               MASK_STRING_SET,                                \
-+                      "Do not generate string instructions for block moves"},\
-+  {"update",          - MASK_NO_UPDATE,                               \
-+                      "Generate load/store with update instructions"},\
-+  {"no-update",               MASK_NO_UPDATE,                                 \
-+                      "Do not generate load/store with update instructions"},\
-+  {"fused-madd",      - MASK_NO_FUSED_MADD,                           \
-+                      "Generate fused multiply/add instructions"},    \
-+  {"no-fused-madd",   MASK_NO_FUSED_MADD,                             \
-+                      "Don't generate fused multiply/add instructions"},\
-   SUBTARGET_SWITCHES                                                  \
--  {"",                        TARGET_DEFAULT}}
-+  {"",                        TARGET_DEFAULT,                                 \
-+                      ""}}
- #define TARGET_DEFAULT (MASK_POWER | MASK_MULTIPLE | MASK_STRING)
-@@ -449,13 +484,13 @@ extern enum processor_type rs6000_cpu;
- #define       SUBTARGET_OPTIONS
- #endif
--#define TARGET_OPTIONS                                \
--{                                             \
--   {"cpu=",  &rs6000_select[1].string},               \
--   {"tune=", &rs6000_select[2].string},               \
--   {"debug-", &rs6000_debug_name},            \
--   {"debug=", &rs6000_debug_name},            \
--   SUBTARGET_OPTIONS                          \
-+#define TARGET_OPTIONS                                                        \
-+{                                                                     \
-+   {"cpu=",  &rs6000_select[1].string, "Use features of and schedule code for given CPU" },\
-+   {"tune=", &rs6000_select[2].string, "Schedule code for given CPU" },       \
-+   {"debug-", &rs6000_debug_name, "Enable debug output" },            \
-+   {"debug=", &rs6000_debug_name, "Enable debug output" },            \
-+   SUBTARGET_OPTIONS                                                  \
- }
- /* rs6000_select[0] is reserved for the default cpu defined via --with-cpu */
-Index: gcc/config/rs6000/sysv4.h
---- sysv4.h    1999/05/28 02:46:56     1.19.4.1
-+++ gcc/config/rs6000/sysv4.h  1999/06/12 18:55:38
-@@ -66,39 +66,39 @@ extern enum rs6000_sdata_type rs6000_sda
-    the same as -mminimal-toc.  */
- #undef        SUBTARGET_SWITCHES
- #define SUBTARGET_SWITCHES                                            \
--  { "bit-align",      -MASK_NO_BITFIELD_TYPE },                       \
--  { "no-bit-align",    MASK_NO_BITFIELD_TYPE },                       \
--  { "strict-align",    MASK_STRICT_ALIGN },                           \
--  { "no-strict-align",        -MASK_STRICT_ALIGN },                           \
--  { "relocatable",     MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \
--  { "no-relocatable", -MASK_RELOCATABLE },                            \
--  { "relocatable-lib",         MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC }, \
--  { "no-relocatable-lib", -MASK_RELOCATABLE },                                \
--  { "little-endian",   MASK_LITTLE_ENDIAN },                          \
--  { "little",          MASK_LITTLE_ENDIAN },                          \
--  { "big-endian",     -MASK_LITTLE_ENDIAN },                          \
--  { "big",            -MASK_LITTLE_ENDIAN },                          \
--  { "no-toc",          0 },                                           \
--  { "toc",             MASK_MINIMAL_TOC },                            \
--  { "full-toc",                MASK_MINIMAL_TOC },                            \
--  { "prototype",       MASK_PROTOTYPE },                              \
--  { "no-prototype",   -MASK_PROTOTYPE },                              \
--  { "no-traceback",    0 },                                           \
--  { "eabi",            MASK_EABI },                                   \
--  { "no-eabi",                -MASK_EABI },                                   \
--  { "regnames",                 MASK_REGNAMES },                              \
--  { "no-regnames",     -MASK_REGNAMES },                              \
--  { "sdata",           0 },                                           \
--  { "no-sdata",                0 },                                           \
--  { "sim",             0 },                                           \
--  { "ads",             0 },                                           \
--  { "yellowknife",     0 },                                           \
--  { "mvme",            0 },                                           \
--  { "emb",             0 },                                           \
--  { "solaris-cclib",   0 },                                           \
--  { "shlib",           0 },                                           \
--  EXTRA_SUBTARGET_SWITCHES                                              \
--  { "newlib",          0 },
-+  { "bit-align",      -MASK_NO_BITFIELD_TYPE, "Align to the base type of the bitfield." },\
-+  { "no-bit-align",    MASK_NO_BITFIELD_TYPE, "Don't align to the base type of the bitfield." },\
-+  { "strict-align",    MASK_STRICT_ALIGN, "Don't assume that unaligned accesses are handled by the system" },\
-+  { "no-strict-align",        -MASK_STRICT_ALIGN, "Assume that unaligned accesses are handled by the system" },\
-+  { "relocatable",     MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC, "Produce code relocatable at runtime." },\
-+  { "no-relocatable", -MASK_RELOCATABLE, "Don't produce code relocatable at runtime." },\
-+  { "relocatable-lib",         MASK_RELOCATABLE | MASK_MINIMAL_TOC | MASK_NO_FP_IN_TOC, "Produce code relocatable at runtime." },\
-+  { "no-relocatable-lib", -MASK_RELOCATABLE, "Don't produce code relocatable at runtime." },\
-+  { "little-endian",   MASK_LITTLE_ENDIAN, "Produce little endian code." },   \
-+  { "little",          MASK_LITTLE_ENDIAN, "Produce little endian code." },   \
-+  { "big-endian",     -MASK_LITTLE_ENDIAN, "Produce big endian code." },      \
-+  { "big",            -MASK_LITTLE_ENDIAN, "Produce big endian code." },      \
-+  { "no-toc",          0, "no description yet" },                             \
-+  { "toc",             MASK_MINIMAL_TOC, "no description yet" },              \
-+  { "full-toc",                MASK_MINIMAL_TOC, "no description yet" },              \
-+  { "prototype",       MASK_PROTOTYPE, "no description yet" },                \
-+  { "no-prototype",   -MASK_PROTOTYPE, "no description yet" },                \
-+  { "no-traceback",    0, "no description yet" },                             \
-+  { "eabi",            MASK_EABI, "Use EABI." },                              \
-+  { "no-eabi",                -MASK_EABI, "Don't use EABI." },                        \
-+  { "regnames",                 MASK_REGNAMES, "Use alternate register names." },     \
-+  { "no-regnames",     -MASK_REGNAMES, "Don't use alternate register names." },\
-+  { "sdata",           0, "no description yet" },                             \
-+  { "no-sdata",                0, "no description yet" },                             \
-+  { "sim",             0, "Link with libsim.a, libc.a and sim-crt0.o." },     \
-+  { "ads",             0, "Link with libads.a, libc.a and crt0.o." },         \
-+  { "yellowknife",     0, "Link with libyk.a, libc.a and crt0.o." },          \
-+  { "mvme",            0, "Link with libmvme.a, libc.a and crt0.o." },        \
-+  { "emb",             0, "Set the PPC_EMB bit in the ELF flags header" },    \
-+  { "solaris-cclib",   0, "no description yet" },                             \
-+  { "shlib",           0, "no description yet" },                             \
-+  EXTRA_SUBTARGET_SWITCHES                                                    \
-+  { "newlib",          0, "no description yet" },
- /* This is meant to be redefined in the host dependent files */
- #define EXTRA_SUBTARGET_SWITCHES
-@@ -111,8 +111,8 @@ extern const char *rs6000_abi_name;
- extern const char *rs6000_sdata_name;
- #define SUBTARGET_OPTIONS                                             \
--  { "call-",  &rs6000_abi_name},                                      \
--  { "sdata=", &rs6000_sdata_name}
-+  { "call-",  &rs6000_abi_name, "Select ABI calling convention." },                   \
-+  { "sdata=", &rs6000_sdata_name, "Select method for sdata handling." }
- /* Max # of bytes for variables to automatically be put into the .sdata
-    or .sdata2 sections.  */
diff --git a/gcc-ppc-ice.patch b/gcc-ppc-ice.patch
deleted file mode 100644 (file)
index 206e902..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# DP: Add "Internal compiler error:" before some errors
-# DP:  by Franz Sirl
-
-Index: gcc/toplev.c
---- toplev.c   1999/05/20 10:40:05     1.185.4.1
-+++ gcc/toplev.c       1999/06/12 18:55:32
-@@ -1467,6 +1467,8 @@ fatal_insn VPROTO((const char *msgid, rt
- #endif
-   va_list ap;
-+  error ("Internal compiler error:");
-+
-   VA_START (ap, insn);
- #ifndef ANSI_PROTOTYPES
-@@ -1943,6 +1945,8 @@ fatal VPROTO((const char *msgid, ...))
-   const char *msgid;
- #endif
-   va_list ap;
-+
-+  error ("Internal compiler error:");
-   VA_START (ap, msgid);
diff --git a/gcc-sparc32-rfi.patch b/gcc-sparc32-rfi.patch
deleted file mode 100644 (file)
index 2d0118e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# DP: Makes it so sparc32 remains binary compatible with older releases
-
---- gcc/crtstuff.c.orig        Mon Apr 26 20:11:08 1999
-+++ gcc/crtstuff.c     Mon Apr 26 20:12:28 1999
-@@ -89,11 +89,12 @@
-    
- /* References to __register_frame_info and __deregister_frame_info should
-    be weak in this file if at all possible.  */
--extern void __register_frame_info (void *, struct object *)
--                                TARGET_ATTRIBUTE_WEAK;
-+extern void __register_frame_info (void *, struct object *);
--extern void *__deregister_frame_info (void *)
--                                   TARGET_ATTRIBUTE_WEAK;
-+extern void *__deregister_frame_info (void *);
-+/* DEBIAN/SPARC - Changed the references to the
-+ * previous for binary compatibility reasons
-+ */
- /* Provide default definitions for the pseudo-ops used to switch to the
-    .ctors and .dtors sections.
index 49fd5c2201446fda556f2b1db886b547e9d603b0..ac1e5f15fe75d9fe67e946cc6a22f4c05fd2b372 100644 (file)
--- a/gcc.spec
+++ b/gcc.spec
@@ -7,28 +7,27 @@
 %define                DASHED_SNAP     %{nil}
 %define                SNAP            %(echo %{DASHED_SNAP} | sed -e "s#-##g")
 %define                GCC_VERSION     3.2.3
-%define                KSI_VERSION     pre55
+%define                KSI_VERSION     1.0.1.1567
 
 Summary:       GNU C Compiler
 Summary(pl):   Kompilator C GNU
 Summary(pt_BR):        C Compilador GNU (GCC)
 Name:          gcc
 Version:       %{GCC_VERSION}
-Release:       0.2
+Release:       1
 Epoch:         5
 License:       GPL
 Group:         Development/Languages
 Source0:       ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{GCC_VERSION}/%{name}-%{GCC_VERSION}.tar.bz2
 Source1:       ftp://ftp.pld.org.pl/people/malekith/ksi/ksi-%{KSI_VERSION}.tar.gz
 Source2:       %{name}-non-english-man-pages.tar.bz2
-Patch0:                %{name}-slibdir.patch
+Patch0:                %{name}-info.patch
 Patch1:                %{name}-paths.patch
 Patch2:                %{name}-ada-no-addr2line.patch
 Patch3:                %{name}-ada-no-prefix.o.patch
 Patch4:                %{name}-nolocalefiles.patch
 Patch5:                %{name}-gcc-page.c.patch
-Patch6:                %{name}-info.patch
-Patch7:                %{name}-ada-link-new-libgnat.patch
+Patch6:                %{name}-ada-link-new-libgnat.patch
 # -- stolen patches from RH --
 Patch10:       gcc32-ada-link.patch
 Patch11:       gcc32-attr-visibility.patch
@@ -403,7 +402,7 @@ Summary(tr):        C++ ile program geli
 Group:         Development/Libraries
 Version:       %{GCC_VERSION}
 Requires:      libstdc++ = %{GCC_VERSION}
-Requires:      %{name}-c++
+Requires:      %{name}-c++ = %{GCC_VERSION}
 Obsoletes:     libg++-devel
 Obsoletes:     libstdc++3-devel
 
@@ -582,7 +581,7 @@ mv ksi-%{KSI_VERSION} gcc/ksi
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch7 -p1
+%patch6 -p1
 
 %patch10 -p1
 %patch11
@@ -621,8 +620,6 @@ mv ksi-%{KSI_VERSION} gcc/ksi
 %patch46
 %patch47
 
-%patch6 -p1
-
 perl -p -i -e 's/";/ (PLD Linux)";/' gcc/version.c
 
 %build
@@ -684,10 +681,7 @@ cd obj-%{_target_platform}
 PATH=$PATH:/sbin:%{_sbindir}
 
 %{__make} install \
-       prefix=$RPM_BUILD_ROOT%{_prefix} \
-       mandir=$RPM_BUILD_ROOT%{_mandir} \
-       infodir=$RPM_BUILD_ROOT%{_infodir} \
-       slibdir=$RPM_BUILD_ROOT/lib
+       DESTDIR=$RPM_BUILD_ROOT
 
 ln -sf gcc $RPM_BUILD_ROOT%{_bindir}/cc
 echo ".so gcc.1" > $RPM_BUILD_ROOT%{_mandir}/man1/cc.1
diff --git a/gcc32-c++-pretty_function.patch b/gcc32-c++-pretty_function.patch
deleted file mode 100644 (file)
index be1f5fc..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-2002-05-24  Jakub Jelinek  <jakub@redhat.com>
-
-       PR c++/6794
-       * decl.c (cp_make_fname_decl): If outside of function, emit
-       the variable immediately.
-       * call.c (build_call): Avoid crashing when noreturn function
-       is called outside of function context.
-
-       * g++.dg/ext/pretty1.C: New test.
-       * g++.dg/ext/pretty2.C: New test.
-
---- gcc/cp/decl.c.jj   Tue May 21 20:27:10 2002
-+++ gcc/cp/decl.c      Fri May 24 17:28:16 2002
-@@ -6772,7 +6772,10 @@ cp_make_fname_decl (id, type_dep)
-   TREE_USED (decl) = 1;
-   cp_finish_decl (decl, init, NULL_TREE, LOOKUP_ONLYCONVERTING);
--      
-+
-+  if (!current_function_decl)
-+    rest_of_decl_compilation (decl, 0, 1, 0);
-+
-   return decl;
- }
---- gcc/cp/call.c.jj   Mon Apr 15 14:48:51 2002
-+++ gcc/cp/call.c      Fri May 24 12:49:22 2002
-@@ -408,7 +408,7 @@ build_call (function, parms)
-   nothrow = ((decl && TREE_NOTHROW (decl))
-            || TYPE_NOTHROW_P (TREE_TYPE (TREE_TYPE (function))));
--  if (decl && TREE_THIS_VOLATILE (decl))
-+  if (decl && TREE_THIS_VOLATILE (decl) && current_function_decl)
-     current_function_returns_abnormally = 1;
-   if (decl && TREE_DEPRECATED (decl))
---- gcc/testsuite/g++.dg/ext/pretty1.C.jj      Fri May 24 18:09:27 2002
-+++ gcc/testsuite/g++.dg/ext/pretty1.C Fri May 24 18:13:10 2002
-@@ -0,0 +1,67 @@
-+// PR c++/6794
-+// Test whether __PRETTY_FUNCTION__ works in templates, functions and
-+// in initializers at global scope
-+// { dg-do compile }
-+// { dg-options "" }
-+
-+extern "C" void __assert_fail (const char *, const char *,
-+                             unsigned int, const char *)
-+  throw() __attribute__((noreturn));
-+extern "C" void abort (void);
-+extern "C" void exit (int);
-+
-+#define str(expr) #expr
-+#define assert(expr)                                          \
-+  ((expr) ? 0 : (__assert_fail (str(expr), __FILE__, __LINE__,        \
-+                              __PRETTY_FUNCTION__), 0))
-+
-+int __attribute__((noinline))
-+foo (void)
-+{
-+  return 1;
-+}
-+
-+template<class T> int
-+bar (T)
-+{
-+  return (assert (foo ()), 1);
-+}
-+
-+template<> int
-+bar<int> (int)
-+{
-+  return (assert (foo ()), 2);
-+}
-+
-+int a = (assert (foo ()), 1);
-+int b = (assert (foo ()), 2);
-+
-+int
-+main ()
-+{
-+  double c = 1.0;
-+  unsigned char *d = 0;
-+  int e = (assert (foo ()), 3);
-+
-+  bar (c);
-+  bar (d);
-+  bar (e);
-+}
-+
-+namespace N
-+{
-+  int f = (assert (foo ()), 4);
-+}
-+
-+void __attribute__((noinline))
-+__assert_fail (const char *cond, const char *file, unsigned int line,
-+             const char *pretty) throw ()
-+{
-+  abort ();
-+}
-+
-+// { dg-final { scan-assembler "int bar\\(T\\).*with T = int" } }
-+// { dg-final { scan-assembler "top level" } }
-+// { dg-final { scan-assembler "int main\\(\\)" } }
-+// { dg-final { scan-assembler "int bar\\(T\\).*with T = double" } }
-+// { dg-final { scan-assembler "int bar\\(T\\).*with T = unsigned char\*" } }
---- gcc/testsuite/g++.dg/ext/pretty2.C.jj      Fri May 24 18:09:27 2002
-+++ gcc/testsuite/g++.dg/ext/pretty2.C Fri May 24 18:13:42 2002
-@@ -0,0 +1,61 @@
-+// PR c++/6794
-+// Test whether __PRETTY_FUNCTION__ works in templates, functions and
-+// in initializers at global scope
-+// { dg-do run }
-+// { dg-options "" }
-+
-+extern "C" void __assert_fail (const char *, const char *,
-+                             unsigned int, const char *)
-+  throw() __attribute__((noreturn));
-+extern "C" void abort (void);
-+extern "C" void exit (int);
-+
-+#define str(expr) #expr
-+#define assert(expr)                                          \
-+  ((expr) ? 0 : (__assert_fail (str(expr), __FILE__, __LINE__,        \
-+                              __PRETTY_FUNCTION__), 0))
-+
-+int __attribute__((noinline))
-+foo (void)
-+{
-+  return 1;
-+}
-+
-+template<class T> int
-+bar (T)
-+{
-+  return (assert (foo ()), 1);
-+}
-+
-+template<> int
-+bar<int> (int)
-+{
-+  return (assert (foo ()), 2);
-+}
-+
-+int a = (assert (foo ()), 1);
-+int b = (assert (foo ()), 2);
-+
-+int
-+main ()
-+{
-+  double c = 1.0;
-+  unsigned char *d = 0;
-+  int e = (assert (foo ()), 3);
-+
-+  bar (c);
-+  bar (d);
-+  bar (e);
-+}
-+
-+namespace N
-+{
-+  int f = (assert (foo ()), 4);
-+}
-+
-+void __attribute__((noinline))
-+__assert_fail (const char *cond, const char *file, unsigned int line,
-+             const char *pretty) throw ()
-+{
-+  abort ();
-+}
diff --git a/gcc32-doc-gcov.patch b/gcc32-doc-gcov.patch
deleted file mode 100644 (file)
index d7abc9e..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
-
-       * doc/invoke.texi (-a): Remove documentation.
-       (-fprofile-arcs): Remove reference to -a, -ax options.
-       * doc/gcov.texi (Gcov Data Files): Data might be merged.
-
---- gcc/doc/gcov.texi.jj       2001-11-15 11:38:19.000000000 +0100
-+++ gcc/doc/gcov.texi  2002-08-22 11:48:48.000000000 +0200
-@@ -388,7 +388,7 @@ built with the GCC @option{-fprofile-arc
- separate @file{.da} file is created for each source file compiled with
- this option, and the name of the @file{.da} file is stored as an
- absolute pathname in the resulting object file.  This path name is
--derived from the source file name by substituting a @file{.da} suffix.
-+derived from the object file name by substituting a @file{.da} suffix.
- The format of the @file{.da} file is fairly simple.  The first 8-byte
- number is the number of counts in the file, followed by the counts
---- gcc/doc/invoke.texi.jj     2002-08-08 17:55:08.000000000 +0200
-+++ gcc/doc/invoke.texi        2002-08-22 11:46:49.000000000 +0200
-@@ -2831,20 +2831,6 @@ analysis program @code{gprof}.  You must
- the source files you want data about, and you must also use it when
- linking.
--@cindex @code{tcov}
--@item -a
--@opindex a
--Generate extra code to write profile information for basic blocks, which will
--record the number of times each basic block is executed, the basic block start
--address, and the function name containing the basic block.  If @option{-g} is
--used, the line number and filename of the start of the basic block will also be
--recorded.  If not overridden by the machine description, the default action is
--to append to the text file @file{bb.out}.
--
--This data could be analyzed by a program like @code{tcov}.  Note,
--however, that the format of the data is not what @code{tcov} expects.
--Eventually GNU @code{gprof} should be extended to process this data.
--
- @item -Q
- @opindex Q
- Makes the compiler print out each function name as it is compiled, and
-@@ -2877,18 +2863,7 @@ optimization and code generation options
- Control Optimization}).
- The other use of @option{-fprofile-arcs} is for use with @code{gcov},
--when it is used with the @option{-ftest-coverage} option.  GCC
--supports two methods of determining code coverage: the options that
--support @code{gcov}, and options @option{-a} and @option{-ax}, which
--write information to text files.  The options that support @code{gcov}
--do not need to instrument every arc in the program, so a program compiled
--with them runs faster than a program compiled with @option{-a}, which
--adds instrumentation code to every basic block in the program.  The
--tradeoff: since @code{gcov} does not have execution counts for all
--branches, it must start with the execution counts for the instrumented
--branches, and then iterate over the program flow graph until the entire
--graph has been solved.  Hence, @code{gcov} runs a little more slowly than
--a program which uses information from @option{-a} and @option{-ax}.
-+when it is used with the @option{-ftest-coverage} option.
- With @option{-fprofile-arcs}, for each function of your program GCC
- creates a program flow graph, then finds a spanning tree for the graph.
-@@ -2898,11 +2873,6 @@ executed.  When an arc is the only exit 
- instrumentation code can be added to the block; otherwise, a new basic
- block must be created to hold the instrumentation code.
--This option makes it possible to estimate branch probabilities and to
--calculate basic block execution counts.  In general, basic block
--execution counts as provided by @option{-a} do not give enough
--information to estimate all branch probabilities.
--
- @need 2000
- @item -ftest-coverage
- @opindex ftest-coverage
diff --git a/gcc32-libstdc++-glibc.patch b/gcc32-libstdc++-glibc.patch
deleted file mode 100644 (file)
index f8768b4..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-From gcc-patches-return-67062-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Fri Aug 30 10:39:38 2002
-Return-Path: <gcc-patches-return-67062-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
-Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
-Received: (qmail 32272 invoked by alias); 30 Aug 2002 10:39:36 -0000
-Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
-Precedence: bulk
-List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
-List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
-List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
-Sender: gcc-patches-owner at gcc dot gnu dot org
-Delivered-To: mailing list gcc-patches at gcc dot gnu dot org
-Received: (qmail 32195 invoked from network); 30 Aug 2002 10:39:32 -0000
-Received: from unknown (HELO sunsite.mff.cuni.cz) (195.113.19.66)
-  by sources dot redhat dot com with SMTP; 30 Aug 2002 10:39:32 -0000
-Received: (from jakub@localhost)
-       by sunsite dot mff dot cuni dot cz (8 dot 11 dot 6/8 dot 11 dot 6) id g7UAcS700895;
-       Fri, 30 Aug 2002 12:38:28 +0200
-Date: Fri, 30 Aug 2002 12:38:28 +0200
-From: Jakub Jelinek <jakub at redhat dot com>
-To: bkoz at redhat dot com, mark at codesourcery dot com
-Cc: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, drepper at redhat dot com,
-   roland at redhat dot com
-Subject: [PATCH] Fix libstdc++-v3 on GLIBC 2.3+
-Message-ID: <20020830123828.Y1013@sunsite.ms.mff.cuni.cz>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=iso-8859-1
-Content-Disposition: inline
-Content-Transfer-Encoding: 8bit
-User-Agent: Mutt/1.2.5.1i
-
-Hi!
-
-The following patch fixes libstdc++-v3 compilation and use on GLIBC 2.2.9x+.
-It passed libstdc++-v3 make check with 24 XPASSes and 1 FAIL - the remaining
-2 missing XPASSes (ie. the only 2 XFAILs) are:
-XFAIL: 22_locale/messages_byname.cc execution test
-XFAIL: 22_locale/messages_members_char.cc execution test
-which fail because of a glibc bug Roland is working on.
-
-The only difference on libstdc++.so symbols this has is that
-_ZNKSt8messagesIwE6do_getEiiiRKSbIwSt11char_traitsIwESaIwEE
-symbol is no longer weak (ie. T instead of W in nm output),
-which doesn't change anything for binary compatibility IMHO.
-
-Ok to commit? 3.2 branch too?
-
-2002-08-30  Jakub Jelinek  <jakub@redhat.com>
-
-       * config/locale/generic/c++locale_internal.h: New header.
-       * config/locale/gnu/c++locale_internal.h: New header.
-       * config/locale/gnu/c_locale.cc: Include it.
-       * config/locale/gnu/collate_members.cc: Include it.
-       * config/locale/gnu/ctype_members.cc: Include it.
-       * config/locale/gnu/messages_members.cc: Include it.
-       * config/locale/gnu/monetary_members.cc: Include it.
-       * config/locale/gnu/numeric_members.cc: Include it.
-       * config/locale/gnu/time_members.cc: Include it.
-       (_M_put): Reorder __strftime_l and __wcsftime_l arguments to match
-       glibc.
-       (_M_initialize_timepunct): Initialize _M_c_locale_timepunct for
-       C locale.
-       * acinclude.m4: Include string.h when testing strcoll_l.
-       For glibc 2.3 provide __-prefixed prototypes.
-       (CLOCALE_INTERNAL_H): Set, add AC_LINK_FILES line.
-       * aclocal.m4, configure: Rebuilt.
-
-2002-08-29  Benjamin Kosnik  <bkoz@redhat.com>
-
-       * include/bits/locale_facets.h: Add declaration of specialization
-       here.
-       * config/locale/gnu/messages_members.cc: Add specialization for
-       messages<wchar_t>.
-       * config/locale/gnu/messages_members.h: Remove generic definition
-       of do_get.
-
---- libstdc++-v3/config/locale/generic/c++locale_internal.h.jj 2002-08-29 14:57:21.000000000 +0200
-+++ libstdc++-v3/config/locale/generic/c++locale_internal.h    2002-08-30 12:05:10.000000000 +0200
-@@ -0,0 +1,30 @@
-+// Locale internal implementation header -*- C++ -*-
-+
-+// Copyright (C) 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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 this library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// The generic locale code doesn't need to do anything here (yet)
---- libstdc++-v3/config/locale/gnu/c_locale.cc.jj      2002-04-23 20:30:31.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/c_locale.cc 2002-08-30 12:09:12.000000000 +0200
-@@ -36,6 +36,7 @@
- #include <locale>
- #include <stdexcept>
- #include <langinfo.h>
-+#include "c++locale_internal.h"
- namespace std 
- {
---- libstdc++-v3/config/locale/gnu/collate_members.cc.jj       2002-04-23 20:30:31.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/collate_members.cc  2002-08-30 12:09:12.000000000 +0200
-@@ -1,6 +1,6 @@
- // std::collate implementation details, GNU version -*- C++ -*-
--// Copyright (C) 2001 Free Software Foundation, Inc.
-+// Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- //
- // This file is part of the GNU ISO C++ Library.  This library is free
- // software; you can redistribute it and/or modify it under the
-@@ -34,6 +34,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
---- libstdc++-v3/config/locale/gnu/ctype_members.cc.jj 2002-05-25 00:18:17.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/ctype_members.cc    2002-08-30 12:09:12.000000000 +0200
-@@ -34,6 +34,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
---- libstdc++-v3/config/locale/gnu/messages_members.cc.jj      2002-05-22 15:38:28.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/messages_members.cc 2002-08-30 12:09:12.000000000 +0200
-@@ -34,6 +34,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
-@@ -56,4 +57,25 @@ namespace std
-       return string(__msg);
- #endif
-     }
-+
-+#ifdef _GLIBCPP_USE_WCHAR_T
-+  template<>
-+    wstring
-+    messages<wchar_t>::do_get(catalog, int, int, const wstring& __dfault) const
-+    {
-+# if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+      __c_locale __old = __uselocale(_M_c_locale_messages);
-+      char* __msg = gettext(_M_convert_to_char(__dfault));
-+      __uselocale(__old);
-+      return _M_convert_from_char(__msg);
-+# else
-+      char* __old = strdup(setlocale(LC_ALL, NULL));
-+      setlocale(LC_ALL, _M_name_messages);
-+      char* __msg = gettext(_M_convert_to_char(__dfault));
-+      setlocale(LC_ALL, __old);
-+      free(__old);
-+      return _M_convert_from_char(__msg);
-+# endif
-+    }
-+#endif
- }
---- libstdc++-v3/config/locale/gnu/monetary_members.cc.jj      2002-07-27 01:31:05.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/monetary_members.cc 2002-08-30 12:09:12.000000000 +0200
-@@ -34,6 +34,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
---- libstdc++-v3/config/locale/gnu/numeric_members.cc.jj       2002-04-23 20:30:31.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/numeric_members.cc  2002-08-30 12:09:12.000000000 +0200
-@@ -34,6 +34,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
---- libstdc++-v3/config/locale/gnu/time_members.cc.jj  2002-05-22 15:38:30.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/time_members.cc     2002-08-30 12:09:12.000000000 +0200
-@@ -35,6 +35,7 @@
- // Written by Benjamin Kosnik <bkoz@redhat.com>
- #include <locale>
-+#include "c++locale_internal.h"
- namespace std
- {
-@@ -52,7 +53,7 @@ namespace std
-          const tm* __tm) const
-     {
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
--      __strftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm);
-+      __strftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
- #else
-       char* __old = strdup(setlocale(LC_ALL, NULL));
-       setlocale(LC_ALL, _M_name_timepunct);
-@@ -69,6 +70,9 @@ namespace std
-       if (__cloc == _S_c_locale)
-       {
-         // "C" locale
-+
-+        _M_c_locale_timepunct = _S_c_locale; 
-+
-         _M_date_format = "%m/%d/%y";
-         _M_date_era_format = "%m/%d/%y";
-         _M_time_format = "%H:%M:%S";
-@@ -202,7 +206,7 @@ namespace std
-          const tm* __tm) const
-     {
- #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
--      __wcsftime_l(__s, __maxlen, _M_c_locale_timepunct, __format, __tm);
-+      __wcsftime_l(__s, __maxlen, __format, __tm, _M_c_locale_timepunct);
- #else
-       char* __old = strdup(setlocale(LC_ALL, NULL));
-       setlocale(LC_ALL, _M_name_timepunct);
-@@ -219,6 +223,9 @@ namespace std
-       if (__cloc == _S_c_locale)
-       {
-         // "C" locale
-+
-+        _M_c_locale_timepunct = _S_c_locale; 
-+
-         _M_date_format = L"%m/%d/%y";
-         _M_date_era_format = L"%m/%d/%y";
-         _M_time_format = L"%H:%M:%S";
---- libstdc++-v3/config/locale/gnu/messages_members.h.jj       2002-05-22 15:38:28.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/messages_members.h  2002-08-29 17:50:14.000000000 +0200
-@@ -55,26 +55,6 @@
-     }
-   template<typename _CharT>
--    typename messages<_CharT>::string_type  
--    messages<_CharT>::do_get(catalog, int, int, 
--                           const string_type& __dfault) const
--    { 
--#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
--      __c_locale __old = __uselocale(_M_c_locale_messages);
--      char* __msg = gettext(_M_convert_to_char(__dfault));
--      __uselocale(__old);
--      return _M_convert_from_char(__msg);
--#else
--      char* __old = strdup(setlocale(LC_ALL, NULL));
--      setlocale(LC_ALL, _M_name_messages);
--      char* __msg = gettext(_M_convert_to_char(__dfault));
--      setlocale(LC_ALL, __old);
--      free(__old);
--      return _M_convert_from_char(__msg);
--#endif
--    }
--
--  template<typename _CharT>
-     void    
-     messages<_CharT>::do_close(catalog) const 
-     { }
---- libstdc++-v3/config/locale/gnu/c++locale_internal.h.jj     2002-08-29 14:57:21.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/c++locale_internal.h        2002-08-29 15:21:59.000000000 +0200
-@@ -0,0 +1,59 @@
-+// Prototypes for GLIBC thread locale __-prefixed functions -*- C++ -*-
-+
-+// Copyright (C) 2002 Free Software Foundation, Inc.
-+//
-+// This file is part of the GNU ISO C++ Library.  This library 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 2, or (at your option)
-+// any later version.
-+
-+// This library 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 this library; see the file COPYING.  If not, write to the Free
-+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-+// USA.
-+
-+// As a special exception, you may use this file as part of a free software
-+// library without restriction.  Specifically, if other files instantiate
-+// templates or use macros or inline functions from this file, or you compile
-+// this file and link it with other files to produce an executable, this
-+// file does not by itself cause the resulting executable to be covered by
-+// the GNU General Public License.  This exception does not however
-+// invalidate any other reasons why the executable file might be covered by
-+// the GNU General Public License.
-+
-+// Written by Jakub Jelinek <jakub@redhat.com>
-+
-+#include <clocale>
-+
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+                                                  
-+extern "C" __typeof(iswctype_l) __iswctype_l;
-+extern "C" __typeof(nl_langinfo_l) __nl_langinfo_l;
-+extern "C" __typeof(strcoll_l) __strcoll_l;
-+extern "C" __typeof(strftime_l) __strftime_l;
-+extern "C" __typeof(strtod_l) __strtod_l;
-+extern "C" __typeof(strtof_l) __strtof_l;
-+extern "C" __typeof(strtold_l) __strtold_l;
-+extern "C" __typeof(strtol_l) __strtol_l;
-+extern "C" __typeof(strtoll_l) __strtoll_l;
-+extern "C" __typeof(strtoul_l) __strtoul_l;
-+extern "C" __typeof(strtoull_l) __strtoull_l;
-+extern "C" __typeof(strxfrm_l) __strxfrm_l;
-+extern "C" __typeof(towlower_l) __towlower_l;
-+extern "C" __typeof(towupper_l) __towupper_l;
-+extern "C" __typeof(wcscoll_l) __wcscoll_l;
-+extern "C" __typeof(wcsftime_l) __wcsftime_l;
-+extern "C" __typeof(wcsxfrm_l) __wcsxfrm_l;
-+extern "C" __typeof(wctype_l) __wctype_l;
-+extern "C" __typeof(newlocale) __newlocale;
-+extern "C" __typeof(freelocale) __freelocale;
-+extern "C" __typeof(duplocale) __duplocale;
-+extern "C" __typeof(uselocale) __uselocale;
-+
-+#endif // GLIBC 2.3 and later
---- libstdc++-v3/include/bits/locale_facets.h.jj       2002-08-01 23:43:48.000000000 +0200
-+++ libstdc++-v3/include/bits/locale_facets.h  2002-08-29 17:49:53.000000000 +0200
-@@ -1739,6 +1739,12 @@ namespace std
-     string
-     messages<char>::do_get(catalog, int, int, const string&) const;
-+#ifdef _GLIBCPP_USE_WCHAR_T
-+  template<>
-+    wstring
-+    messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
-+#endif
-+
-   // Include host and configuration specific messages virtual functions.
-   #include <bits/messages_members.h>
---- libstdc++-v3/acinclude.m4.jj       2002-08-29 13:51:58.000000000 +0200
-+++ libstdc++-v3/acinclude.m4  2002-08-30 11:58:42.000000000 +0200
-@@ -1131,6 +1131,12 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-         AC_TRY_RUN([
-         #define _GNU_SOURCE 1
-         #include <locale.h>
-+        #include <string.h>
-+        #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        extern __typeof(newlocale) __newlocale;
-+        extern __typeof(duplocale) __duplocale;
-+        extern __typeof(strcoll_l) __strcoll_l;
-+        #endif
-         int main()
-         {
-           const char __one[] = "Äuglein Augmen";
-@@ -1179,6 +1185,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     xgnu)
-       AC_MSG_RESULT(gnu)
-@@ -1211,6 +1218,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/gnu/monetary_members.cc
-       CNUMERIC_CC=config/locale/gnu/numeric_members.cc
-       CTIME_CC=config/locale/gnu/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
-       ;;
-     xieee_1003.1-2001)
-       AC_MSG_RESULT(generic)
-@@ -1225,6 +1233,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     *)
-       echo "$enable_clocale is an unknown locale package" 1>&2
-@@ -1248,6 +1257,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-   AC_LINK_FILES($CMONEY_CC, src/monetary.cc)
-   AC_LINK_FILES($CNUMERIC_CC, src/numeric.cc)
-   AC_LINK_FILES($CTIME_CC, src/time.cc)
-+  AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h)
- ])
---- libstdc++-v3/aclocal.m4.jj 2002-08-29 13:51:58.000000000 +0200
-+++ libstdc++-v3/aclocal.m4    2002-08-30 11:58:46.000000000 +0200
-@@ -1143,6 +1143,12 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-         AC_TRY_RUN([
-         #define _GNU_SOURCE 1
-         #include <locale.h>
-+        #include <string.h>
-+        #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        extern __typeof(newlocale) __newlocale;
-+        extern __typeof(duplocale) __duplocale;
-+        extern __typeof(strcoll_l) __strcoll_l;
-+        #endif
-         int main()
-         {
-           const char __one[] = "Äuglein Augmen";
-@@ -1191,6 +1197,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     xgnu)
-       AC_MSG_RESULT(gnu)
-@@ -1223,6 +1230,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/gnu/monetary_members.cc
-       CNUMERIC_CC=config/locale/gnu/numeric_members.cc
-       CTIME_CC=config/locale/gnu/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
-       ;;
-     xieee_1003.1-2001)
-       AC_MSG_RESULT(generic)
-@@ -1237,6 +1245,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     *)
-       echo "$enable_clocale is an unknown locale package" 1>&2
-@@ -1260,6 +1269,7 @@ AC_DEFUN(GLIBCPP_ENABLE_CLOCALE, [
-   AC_LINK_FILES($CMONEY_CC, src/monetary.cc)
-   AC_LINK_FILES($CNUMERIC_CC, src/numeric.cc)
-   AC_LINK_FILES($CTIME_CC, src/time.cc)
-+  AC_LINK_FILES($CLOCALE_INTERNAL_H, src/c++locale_internal.h)
- ])
---- libstdc++-v3/configure.jj  2002-08-29 13:52:46.000000000 +0200
-+++ libstdc++-v3/configure     2002-08-30 12:00:07.000000000 +0200
-@@ -2961,6 +2961,12 @@ else
-         #define _GNU_SOURCE 1
-         #include <locale.h>
-+        #include <string.h>
-+        #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        extern __typeof(newlocale) __newlocale;
-+        extern __typeof(duplocale) __duplocale;
-+        extern __typeof(strcoll_l) __strcoll_l;
-+        #endif
-         int main()
-         {
-           const char __one[] = "Äuglein Augmen";
-@@ -3023,6 +3029,7 @@ fi
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     xgnu)
-       echo "$ac_t""gnu" 1>&6
-@@ -3084,6 +3091,7 @@ fi
-       CMONEY_CC=config/locale/gnu/monetary_members.cc
-       CNUMERIC_CC=config/locale/gnu/numeric_members.cc
-       CTIME_CC=config/locale/gnu/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/gnu/c++locale_internal.h
-       ;;
-     xieee_1003.1-2001)
-       echo "$ac_t""generic" 1>&6
-@@ -3098,6 +3106,7 @@ fi
-       CMONEY_CC=config/locale/generic/monetary_members.cc
-       CNUMERIC_CC=config/locale/generic/numeric_members.cc
-       CTIME_CC=config/locale/generic/time_members.cc
-+      CLOCALE_INTERNAL_H=config/locale/generic/c++locale_internal.h
-       ;;
-     *)
-       echo "$enable_clocale is an unknown locale package" 1>&2
-@@ -22689,8 +22698,8 @@ fi; done
- EOF
- cat >> $CONFIG_STATUS <<EOF
--ac_sources="$BASIC_FILE_CC $CLOCALE_CC $CCOLLATE_CC $CCTYPE_CC $CMESSAGES_CC $CMONEY_CC $CNUMERIC_CC $CTIME_CC $LINKER_MAP"
--ac_dests="src/basic_file.cc src/c++locale.cc src/collate.cc src/ctype.cc src/messages.cc src/monetary.cc src/numeric.cc src/time.cc src/linker.map"
-+ac_sources="$BASIC_FILE_CC $CLOCALE_CC $CCOLLATE_CC $CCTYPE_CC $CMESSAGES_CC $CMONEY_CC $CNUMERIC_CC $CTIME_CC $CLOCALE_INTERNAL_H $LINKER_MAP"
-+ac_dests="src/basic_file.cc src/c++locale.cc src/collate.cc src/ctype.cc src/messages.cc src/monetary.cc src/numeric.cc src/time.cc src/c++locale_internal.h src/linker.map"
- EOF
- cat >> $CONFIG_STATUS <<\EOF
-
-       Jakub
-
diff --git a/gcc32-locale_in_ctype_members.patch b/gcc32-locale_in_ctype_members.patch
deleted file mode 100644 (file)
index eb862df..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
---- libstdc++-v3/config/locale/gnu/ctype_members.cc.jj 2002-08-30 12:09:12.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/ctype_members.cc    2002-09-02 15:25:15.000000000 +0200
-@@ -166,15 +166,30 @@ namespace std
-   wchar_t
-   ctype<wchar_t>::
-   do_widen(char __c) const
--  { return btowc(__c); }
--  
-+  {
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-+    wchar_t __ret = btowc(__c);
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __uselocale(__old);
-+#endif
-+    return __ret;
-+  }
-+
-   const char* 
-   ctype<wchar_t>::
-   do_widen(const char* __lo, const char* __hi, wchar_t* __dest) const
-   {
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-     mbstate_t __state;
-     memset(static_cast<void*>(&__state), 0, sizeof(mbstate_t));
-     mbsrtowcs(__dest, &__lo, __hi - __lo, &__state);
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __uselocale(__old);
-+#endif
-     return __hi;
-   }
-@@ -182,7 +197,13 @@ namespace std
-   ctype<wchar_t>::
-   do_narrow(wchar_t __wc, char __dfault) const
-   { 
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-     int __c = wctob(__wc);
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __uselocale(__old);
-+#endif
-     return (__c == EOF ? __dfault : static_cast<char>(__c)); 
-   }
-@@ -191,6 +212,9 @@ namespace std
-   do_narrow(const wchar_t* __lo, const wchar_t* __hi, char __dfault, 
-           char* __dest) const
-   {
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __c_locale __old = __uselocale(_M_c_locale_ctype);
-+#endif
-     size_t __offset = 0;
-     while (true)
-       {
-@@ -208,6 +232,9 @@ namespace std
-       else
-         break;
-       }
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __uselocale(__old);
-+#endif
-     return __hi;
-   }
- #endif //  _GLIBCPP_USE_WCHAR_T
diff --git a/gcc32-locale_in_ctype_members_header.patch b/gcc32-locale_in_ctype_members_header.patch
deleted file mode 100644 (file)
index c434b08..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-From gcc-patches-return-67562-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org Fri Sep 06 14:44:59 2002
-Return-Path: <gcc-patches-return-67562-listarch-gcc-patches=gcc dot gnu dot org at gcc dot gnu dot org>
-Delivered-To: listarch-gcc-patches at gcc dot gnu dot org
-Received: (qmail 31503 invoked by alias); 6 Sep 2002 14:44:56 -0000
-Mailing-List: contact gcc-patches-help at gcc dot gnu dot org; run by ezmlm
-Precedence: bulk
-List-Archive: <http://gcc.gnu.org/ml/gcc-patches/>
-List-Post: <mailto:gcc-patches at gcc dot gnu dot org>
-List-Help: <mailto:gcc-patches-help at gcc dot gnu dot org>
-Sender: gcc-patches-owner at gcc dot gnu dot org
-Delivered-To: mailing list gcc-patches at gcc dot gnu dot org
-Received: (qmail 31479 invoked from network); 6 Sep 2002 14:44:52 -0000
-Received: from unknown (HELO devserv.devel.redhat.com) (66.187.233.200)
-  by sources dot redhat dot com with SMTP; 6 Sep 2002 14:44:52 -0000
-Received: (from jakub@localhost)
-       by devserv dot devel dot redhat dot com (8 dot 11 dot 6/8 dot 11 dot 0) id g86EioP06755;
-       Fri, 6 Sep 2002 10:44:50 -0400
-Date: Fri, 6 Sep 2002 10:44:50 -0400
-From: Jakub Jelinek <jakub at redhat dot com>
-To: Benjamin Kosnik <bkoz at redhat dot com>
-Cc: bkoz at nabi dot net, libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
-Subject: [PATCH] Fix libstdc++ usage of __ctype_b/__ctype_to* (take 2)
-Message-ID: <20020906104449.C7920@devserv.devel.redhat.com>
-Reply-To: Jakub Jelinek <jakub at redhat dot com>
-References: <20020901040933.I7886@dhcp187.sf.frob.com> <20020901095711.C7920@devserv.devel.redhat.com> <20020901102055.A5791@devserv.devel.redhat.com> <3D724B9A.6050908@redhat.com> <20020901145657.E7920@devserv.devel.redhat.com> <3D726A72.2080106@redhat.com> <20020901165440.F7920@devserv.devel.redhat.com> <20020904160557.7dbc29f6.bkoz@nabi.net> <20020905041710.P7920@devserv.devel.redhat.com> <20020905103148.7c1381a2.bkoz@redhat.com>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.2.5.1i
-In-Reply-To: <20020905103148 dot 7c1381a2 dot bkoz at redhat dot com>; from bkoz at redhat dot com on Thu, Sep 05, 2002 at 10:31:48AM -0500
-
-On Thu, Sep 05, 2002 at 10:31:48AM -0500, Benjamin Kosnik wrote:
-> > Most probably yes, but as it is a static method I wanted to be sure.
-> > Should I leave it in?
-> 
-> Sure.
-
-> > > Just remove all this _GLIBCPP_USE_SHADOW_HEADERS cruft.
-> > 
-> > You mean the using lines too?
-> 
-> Yep.
-
-> > BTW: This will have the effect that --enable-clocale=generic will no longer
-> > work with glibc 2.3+. Although for everything but checking the generic
-> > clocale gnu it makes no sense to use anything but --enable-clocale=gnu
-> > with glibc 2.3+, we might as well consider using:
-> > 
-> > #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-> >    __ret = *__ctype_b_loc();
-> > #else
-> >    __ret = __ctype_b;
-> > #endif
-> > here (and similarly with __ctype_tolower and __ctype_toupper).
-> 
-> Sounds good.
-
-Ok, here is an updated version of the patch.
-Ok to commit (head, branch)?
-
-2002-09-06  Jakub Jelinek  <jakub@redhat.com>
-
-       * config/os/gnu-linux/bits/ctype_noninline.h
-       [_GLIBCPP_USE_SHADOW_HEADERS]: Remove using _C_legacy::__ctype_*.
-       (ctype<char>::classic_table): If _GLIBCPP_C_LOCALE_GNU, return
-       _S_c_locale->__ctype_b, otherwise temporarily switch to "C" locale
-       and return __ctype_b.
-       (ctype<char>::ctype(__c_locale, const mask*, bool, size_t)): If not
-       _GLIBCPP_C_LOCALE_GNU, temporarily switch to "C" locale and
-       initialize using __ctype_{b,tolower,toupper}.
-       (ctype<char>::ctype(const mask*, bool, size_t)): If
-       _GLIBCPP_C_LOCALE_GNU, initialize using
-       _S_c_locale->__ctype_{b,tolower,toupper}, otherwise temporarily
-       switch to "C" locale and initialize using __ctype_{b,tolower,toupper}.
-
---- libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h.jj 2002-09-03 11:54:25.000000000 +0200
-+++ libstdc++-v3/config/os/gnu-linux/bits/ctype_noninline.h    2002-09-06 10:34:59.000000000 +0200
-@@ -34,16 +34,32 @@
-   
- // Information as gleaned from /usr/include/ctype.h
--#if _GLIBCPP_USE_SHADOW_HEADERS
--  using _C_legacy::__ctype_toupper;
--  using _C_legacy::__ctype_tolower;
--  using _C_legacy::__ctype_b;
--#endif
--
-+#if _GLIBCPP_C_LOCALE_GNU
-   const ctype_base::mask*
-   ctype<char>::classic_table() throw()
--  { return __ctype_b; }  
--  
-+  {
-+    if (!_S_c_locale)
-+      _S_create_c_locale(_S_c_locale, "C");
-+    return _S_c_locale->__ctype_b;
-+  }
-+#else
-+  const ctype_base::mask*
-+  ctype<char>::classic_table() throw()
-+  {
-+    const ctype_base::mask* __ret;
-+    char* __old = strdup(setlocale(LC_CTYPE, NULL));
-+    setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    __ret = *__ctype_b_loc();
-+#else
-+    __ret = __ctype_b;
-+#endif
-+    setlocale(LC_CTYPE, __old);
-+    free(__old);
-+    return __ret;
-+  }
-+#endif
-+
- #if _GLIBCPP_C_LOCALE_GNU
-   ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del, 
-                    size_t __refs) 
-@@ -57,17 +73,55 @@
- #else
-   ctype<char>::ctype(__c_locale, const mask* __table, bool __del, 
-                    size_t __refs) 
--  : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), 
--  _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower),
--  _M_table(__table ? __table : classic_table())
--  { _M_c_locale_ctype = _S_c_locale; }
-+  : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+  {
-+    char* __old=strdup(setlocale(LC_CTYPE, NULL));
-+    setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    _M_toupper = *__ctype_toupper_loc();
-+    _M_tolower = *__ctype_tolower_loc();
-+    _M_table = __table ? __table : *__ctype_b_loc();
-+#else
-+    _M_toupper = __ctype_toupper;
-+    _M_tolower = __ctype_tolower;
-+    _M_table = __table ? __table : __ctype_b;
-+#endif
-+    setlocale(LC_CTYPE, __old);
-+    free(__old);
-+    _M_c_locale_ctype = _S_c_locale;
-+  }
- #endif
-+#if _GLIBCPP_C_LOCALE_GNU
-   ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) : 
--  __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del), 
--  _M_toupper(__ctype_toupper), _M_tolower(__ctype_tolower),
--  _M_table(__table ? __table : classic_table())
--  { _M_c_locale_ctype = _S_c_locale; }
-+  __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+  {
-+    _M_c_locale_ctype = _S_c_locale;
-+    _M_toupper = _M_c_locale_ctype->__ctype_toupper;
-+    _M_tolower = _M_c_locale_ctype->__ctype_tolower;
-+    _M_table = __table ? __table : _M_c_locale_ctype->__ctype_b;
-+  }
-+#else
-+  ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
-+                   size_t __refs) 
-+  : __ctype_abstract_base<char>(__refs), _M_del(__table != 0 && __del)
-+  {
-+    char* __old=strdup(setlocale(LC_CTYPE, NULL));
-+    setlocale(LC_CTYPE, "C");
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+    _M_toupper = *__ctype_toupper_loc();
-+    _M_tolower = *__ctype_tolower_loc();
-+    _M_table = __table ? __table : *__ctype_b_loc();
-+#else
-+    _M_toupper = __ctype_toupper;
-+    _M_tolower = __ctype_tolower;
-+    _M_table = __table ? __table : __ctype_b;
-+#endif
-+    setlocale(LC_CTYPE, __old);
-+    free(__old);
-+    _M_c_locale_ctype = _S_c_locale;
-+  }
-+#endif
-   char
-   ctype<char>::do_toupper(char __c) const
-
-
-       Jakub
-
diff --git a/gcc32-locale_in_monetary_members.patch b/gcc32-locale_in_monetary_members.patch
deleted file mode 100644 (file)
index 0d396dd..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
---- libstdc++-v3/config/locale/gnu/monetary_members.cc.jj      2002-08-30 12:09:12.000000000 +0200
-+++ libstdc++-v3/config/locale/gnu/monetary_members.cc 2002-08-31 23:41:51.000000000 +0200
-@@ -335,9 +335,13 @@ namespace std
-       else
-       {
-         // Named locale.
--        // XXX Fix me. Switch to named locale so that mbsrtowcs will work.
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        __c_locale __old = __uselocale(__cloc);
-+#else
-+        // Switch to named locale so that mbsrtowcs will work.
-         char* __old = strdup(setlocale(LC_ALL, NULL));
-         setlocale(LC_ALL, __name);
-+#endif
-         _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
-@@ -400,9 +404,12 @@ namespace std
-         char __nspace = *(__nl_langinfo_l(__INT_N_SEP_BY_SPACE, __cloc));
-         _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
--        // XXX
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        __uselocale(__old);
-+#else
-         setlocale(LC_ALL, __old);
-         free(__old);
-+#endif
-       }
-     }
-@@ -427,9 +434,13 @@ namespace std
-       else
-       {
-         // Named locale.
--        // XXX Fix me. Switch to named locale so that mbsrtowcs will work.
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        __c_locale __old = __uselocale(__cloc);
-+#else
-+        // Switch to named locale so that mbsrtowcs will work.
-         char* __old = strdup(setlocale(LC_ALL, NULL));
-         setlocale(LC_ALL, __name);
-+#endif
-         _M_decimal_point = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_DECIMAL_POINT_WC, __cloc)}).__w);
-         _M_thousands_sep = static_cast<wchar_t>(((union { const char *__s; unsigned int __w; }){ __s: __nl_langinfo_l(_NL_NUMERIC_THOUSANDS_SEP_WC, __cloc)}).__w);
-@@ -491,9 +502,12 @@ namespace std
-         char __nspace = *(__nl_langinfo_l(__N_SEP_BY_SPACE, __cloc));
-         _M_neg_format = _S_construct_pattern(__nprecedes, __nspace, __nposn);
--        // XXX
-+#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2)
-+        __uselocale(__old);
-+#else
-         setlocale(LC_ALL, __old);
-         free(__old);
-+#endif
-       }
-     }
diff --git a/gcov.1 b/gcov.1
deleted file mode 100644 (file)
index f322f65..0000000
--- a/gcov.1
+++ /dev/null
@@ -1,35 +0,0 @@
-.TH GCOV 1
-.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
-.\" other parms are allowed: see man(7), man(1)
-.SH NAME
-gcov \- test coverage program for GNU CC
-.SH SYNOPSIS
-.B gcov
-.I "[-b] [-v] [-n] [-l] [-f] [-o directory] sourcefile"
-.br
-.SH "DESCRIPTION"
-This manual page documents briefly the
-.BR gcov
-command.
-This manual page was written for the Debian GNU/Linux distribution
-(but may be used by others), because the original program does not
-have a manual page.
-Instead, it has documentation in the GNU Info format; see below.
-.PP
-.B gcov
-is a test coverage program.  Use it in concert with GNU
-CC to analyze your programs to help create more efficient, faster
-running code.  You can use gcov as a profiling tool to help
-discover where your optimization efforts will best affect your code.  You
-can also use gcov along with the other profiling tool,
-.B gprof
-, to assess which parts of your code use the greatest amount
-of computing time.
-.SH "SEE ALSO"
-The program is documented fully by
-.IR "gcc: The GNU C compiler.",
-available via the Info system.  The documentation for genclass can be
-found in the subsection "Gcov", under "a GNU CC test coverage program".
-.SH AUTHOR
-This manual page was written by the egcs maintainers for the Debian
-GNU/Linux system.
This page took 3.06888 seconds and 4 git commands to generate.