summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'contrib')
-rw-r--r--contrib/gcc/ChangeLog91
-rw-r--r--contrib/gcc/README5
-rwxr-xr-xcontrib/gcc/config.guess24
-rwxr-xr-xcontrib/gcc/config.sub32
-rw-r--r--contrib/gcc/config/i386/linux.h23
-rw-r--r--contrib/gcc/cp/ChangeLog14
-rw-r--r--contrib/gcc/cp/errfn.c4
-rw-r--r--contrib/gcc/cp/lex.c7
-rw-r--r--contrib/gcc/cse.c14
-rw-r--r--contrib/gcc/install.texi21
-rw-r--r--contrib/gcc/unroll.c11
-rw-r--r--contrib/gcc/varasm.c2
-rw-r--r--contrib/gcc/version.c2
13 files changed, 217 insertions, 33 deletions
diff --git a/contrib/gcc/ChangeLog b/contrib/gcc/ChangeLog
index 3f955fb..ffdc477 100644
--- a/contrib/gcc/ChangeLog
+++ b/contrib/gcc/ChangeLog
@@ -1,3 +1,94 @@
+Thu Aug 22 23:47:38 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * Version 2.7.2.3 released.
+
+Wed Aug 13 08:28:18 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * INSTALL, install.texi: Update for m68k-*-linuxaout,
+ m68k-*-linux-gnulibc1 and m68k-*-linux.
+
+1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * config/m68k/t-linux: Define INSTALL_ASSERT_H and
+ TARGET_LIBGCC2_CFLAGS.
+ * config/m68k/t-linux-gnulibc1: New file.
+
+ * configure: Don't use GNU setup for *-*-linux-gnu*.
+ (m68k-*-linux*gnulibc1): New target.
+ (m68k-*-linux*): Set $extra_parts correctly.
+
+ * config/m68k/linux.h (STRICT_ALIGNMENT): Define to zero.
+ (CPP_SPEC, LIB_SPEC, LINK_SPEC): Add support for glibc 2.
+ (LIBGCC_SPEC): Always link in -lgcc independent of -shared.
+ (LIBCALL_VALUE): Use correct register for XFmode.
+ (LEGITIMATE_PIC_OPERAND_P): Reject CONST_DOUBLE with MEM with
+ invalid pic address.
+ (FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New.
+
+Mon Mar 17 17:03:55 1997 J.T. Conklin <jtc@cygnus.com>
+
+ * m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0
+ instead of tstl when testing address registers on the 68000.
+
+Fri Aug 8 08:15:55 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * Makefile.in (INSTALL): Fix the rule.
+ (stamp-crtS): Depend on stamp-crt for parallel make.
+
+ * install1.texi: New.
+
+Mon Jul 21 22:47:13 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * configure (gxx_include_dir): Set it to $prefix/include/g++
+ for Linux.
+
+Tue Jun 24 11:24:56 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * INSTALL, install.texi: Refer Linux running libc 5.x.x as
+ i386-*-linux-gnulibc1.
+
+ * config/i386/linux.h, config.guess, config.sub, configure:
+ Correct support for glibc 2.
+
+ * config/t-linux: New, makefile fragment for Linux target with
+ glibc 2.
+
+ * config/t-linux-gnulibc1: New, makefile fragment for Linux
+ target with libc 5.x.x.
+
+ * config/t-linux-libc1: Removed.
+
+ * config.sub: Add support for i686.
+
+ * gcc.c (main): check and read ${libdir}/gcc-lib/specs to
+ override the default specs.
+
+Mon Jun 23 22:48:00 1997 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (find_splittable_givs): Set splittable_regs_updates
+ to biv_count for reduced givs.
+
+Tue Apr 16 16:59:49 1996 Richard Henderson <rth@tamu.edu>
+
+ * function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE
+ to be omitted on systems for which it is not cost effective.
+ * varasm.c (assemble_trampoline_template): No such function
+ if no TRAMPOLINE_TEMPLATE.
+ * m68k.h: Greatly simplify the run-time trampoline code:
+ (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define.
+ (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed.
+ (TRAMPOLINE_ALIGN): No point aligning to cache line.
+ (FINISH_INIT_TRAMPOLINE): New define.
+ * m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE,
+ make use of the new FINISH_INIT_TRAMPOLINE.
+ * m68k/{m68k.h,next.h} (FINISH_INIT_TRAMPOLINE):
+ Rename to FINALIZE_TRAMPOLINE.
+
+Mon Apr 15 08:49:20 1996 Tom May (ftom@netcom.com)
+
+ * cse.c (invalidate_skipped_set): Ignore CLOBBER after calling
+ note_mem_written, not before.
+
Sat Jun 29 12:33:39 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* Version 2.7.2.1 released.
diff --git a/contrib/gcc/README b/contrib/gcc/README
index 43ed75d..0923669 100644
--- a/contrib/gcc/README
+++ b/contrib/gcc/README
@@ -1,7 +1,10 @@
-This directory contains the version 2.7.2 release of the GNU C
+This directory contains the version 2.7.2.3 release of the GNU C
compiler. It includes all of the support for compiling C++ and
Objective C, including a run-time library for Objective C.
+The reason for the 2.7.2.3 release is to correct the support for GNU C
+library version 2 on GNU/Linux systems.
+
The GNU C compiler is free software. See the file COPYING for copying
permission.
diff --git a/contrib/gcc/config.guess b/contrib/gcc/config.guess
index 2ff0eba..5508638 100755
--- a/contrib/gcc/config.guess
+++ b/contrib/gcc/config.guess
@@ -319,9 +319,9 @@ EOF
# The BFD linker knows what the default object file format is, so
# first see if it will tell us.
ld_help_string=`ld --help 2>&1`
- if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
- echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
- elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
+# if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: elf_i[345]86"; then
+# echo "${UNAME_MACHINE}-unknown-linux" ; exit 0
+ if echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86linux"; then
echo "${UNAME_MACHINE}-unknown-linuxaout" ; exit 0
elif echo $ld_help_string | grep >/dev/null 2>&1 "supported emulations: i[345]86coff"; then
echo "${UNAME_MACHINE}-unknown-linuxcoff" ; exit 0
@@ -329,17 +329,27 @@ EOF
echo alpha-unknown-linux ; exit 0
else
# Either a pre-BFD a.out linker (linuxoldld) or one that does not give us
- # useful --help. Gcc wants to distinguish between linuxoldld and linuxaout.
- test ! -d /usr/lib/ldscripts/. \
- && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0
+ # useful --help. Gcc wants to distinguish between linuxoldld and linuxaout,
+ # and between different C library versions.
+ echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations:"
+ test $? != 0 && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
# Determine whether the default compiler is a.out or elf
cat >dummy.c <<EOF
+#include <features.h>
main(argc, argv)
int argc;
char *argv[];
{
#ifdef __ELF__
- printf ("%s-unknown-linux\n", argv[1]);
+# ifdef __GLIBC__
+# if __GLIBC__ >= 2
+ printf ("%s-unknown-linux\n", argv[1]);
+# else
+ printf ("%s-unknown-linux-gnulibc1\n", argv[1]);
+# endif
+# else
+ printf ("%s-unknown-linux-gnulibc1\n", argv[1]);
+# endif
#else
printf ("%s-unknown-linuxaout\n", argv[1]);
#endif
diff --git a/contrib/gcc/config.sub b/contrib/gcc/config.sub
index e67a800..9bb45e9 100755
--- a/contrib/gcc/config.sub
+++ b/contrib/gcc/config.sub
@@ -62,11 +62,21 @@ case $1 in
;;
esac
-# Separate what the user gave into CPU-COMPANY and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/.*-/-/'`
-else os=; fi
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ linux-gnu*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
@@ -129,7 +139,7 @@ esac
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
- tahoe | i[345]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
+ tahoe | i[3456]86 | i860 | m68k | m68000 | m88k | ns32k | arm \
| arme[lb] | pyramid \
| tron | a29k | 580 | i960 | h8300 | hppa1.0 | hppa1.1 \
| alpha | we32k | ns16k | clipper | sparclite | i370 | sh \
@@ -144,7 +154,7 @@ case $basic_machine in
exit 1
;;
# Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i[345]86-* | i860-* | m68k-* | m68000-* | m88k-* \
+ vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
| sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
| mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
| none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
@@ -308,19 +318,19 @@ case $basic_machine in
os=-mvs
;;
# I'm not sure what "Sysv32" means. Should this be sysv3.2?
- i[345]86v32)
+ i[3456]86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-sysv32
;;
- i[345]86v4*)
+ i[3456]86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-sysv4
;;
- i[345]86v)
+ i[3456]86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-sysv
;;
- i[345]86sol2)
+ i[3456]86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-unknown/'`
os=-solaris2
;;
diff --git a/contrib/gcc/config/i386/linux.h b/contrib/gcc/config/i386/linux.h
index f077de5..a0b49ba 100644
--- a/contrib/gcc/config/i386/linux.h
+++ b/contrib/gcc/config/i386/linux.h
@@ -151,13 +151,21 @@ Boston, MA 02111-1307, USA. */
#define CPP_PREDEFINES "-D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)"
#undef CPP_SPEC
+#ifdef USE_GNULIBC_1
#if TARGET_CPU_DEFAULT == 2
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!m386:-D__i486__} %{posix:-D_POSIX_SOURCE}"
#else
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m486:-D__i486__} %{posix:-D_POSIX_SOURCE}"
#endif
+#else /* not USE_GNULIBC_1 */
+#define CPP_SPEC "%(cpp_cpu) %[cpp_cpu] %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
+#endif /* not USE_GNULIBC_1 */
+
+#undef LIBGCC_SPEC
+#define LIBGCC_SPEC "-lgcc"
#undef LIB_SPEC
+#ifdef USE_GNULIBC_1
#if 1
/* We no longer link with libc_p.a or libg.a by default. If you
* want to profile or debug the Linux C library, please add
@@ -172,6 +180,11 @@ Boston, MA 02111-1307, USA. */
%{mieee-fp:-lieee} %{p:-lgmon -lc_p} %{pg:-lgmon -lc_p} \
%{!p:%{!pg:%{!g*:-lc} %{g*:-lg}}}}"
#endif
+#else
+#define LIB_SPEC \
+ "%{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \
+ %{profile:-lc_p} %{!profile: -lc}}"
+#endif /* not USE_GNULIBC_1 */
/* Provide a LINK_SPEC appropriate for Linux. Here we provide support
for the special GCC options -static and -shared, which allow us to
@@ -190,6 +203,7 @@ Boston, MA 02111-1307, USA. */
/* If ELF is the default format, we should not use /lib/elf. */
#undef LINK_SPEC
+#ifdef USE_GNULIBC_1
#ifndef LINUX_DEFAULT_ELF
#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
%{!shared: \
@@ -207,6 +221,15 @@ Boston, MA 02111-1307, USA. */
%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
%{static:-static}}}"
#endif
+#else /* not USE_GNULIBC_1 */
+#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
+ %{!shared: \
+ %{!ibcs: \
+ %{!static: \
+ %{rdynamic:-export-dynamic} \
+ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
+ %{static:-static}}}"
+#endif /* not USE_GNULIBC_1 */
/* Get perform_* macros to build libgcc.a. */
#include "i386/perform.h"
diff --git a/contrib/gcc/cp/ChangeLog b/contrib/gcc/cp/ChangeLog
index d2ef74f..420e25d 100644
--- a/contrib/gcc/cp/ChangeLog
+++ b/contrib/gcc/cp/ChangeLog
@@ -1,3 +1,17 @@
+Thu Aug 22 23:47:38 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * Version 2.7.2.3 released.
+
+Mon Apr 29 00:27:53 1996 Jason Merrill <jason@yorick.cygnus.com>
+
+ * lex.c (real_yylex): Fix handling of __PRETTY_FUNCTION__ like C
+ frontend.
+
+Thu Oct 26 16:45:58 1995 Brendan Kehoe <brendan@lisa.cygnus.com>
+
+ * errfn.c: Include stdio.h.
+ (cp_sprintf): Take out decl of sprintf, and cast sprintf to errorfn*.
+
Mon Nov 20 14:06:28 1995 Mike Stump <mrs@cygnus.com>
* Version 2.7.2 released.
diff --git a/contrib/gcc/cp/errfn.c b/contrib/gcc/cp/errfn.c
index f36b0e1..4da07fa 100644
--- a/contrib/gcc/cp/errfn.c
+++ b/contrib/gcc/cp/errfn.c
@@ -21,6 +21,7 @@ Boston, MA 02111-1307, USA. */
#include "config.h"
#include "tree.h"
+#include <stdio.h>
#include <ctype.h>
/* cp_printer is the type of a function which converts an argument into
@@ -195,8 +196,7 @@ cp_sprintf (format, arglist)
char *format;
arglist_dcl
{
- extern errorfn sprintf;
- cp_thing (sprintf, 0, format, arglist);
+ cp_thing ((errorfn *) sprintf, 0, format, arglist);
}
void
diff --git a/contrib/gcc/cp/lex.c b/contrib/gcc/cp/lex.c
index 22763f5..9e51883 100644
--- a/contrib/gcc/cp/lex.c
+++ b/contrib/gcc/cp/lex.c
@@ -3381,7 +3381,12 @@ real_yylex ()
&& DECL_INITIAL (tmp) != NULL_TREE
&& TREE_CODE (DECL_INITIAL (tmp)) == STRING_CST)
{
- yylval.ttype = DECL_INITIAL (tmp);
+ tree stringval = DECL_INITIAL (tmp);
+
+ /* Copy the string value so that we won't clobber anything
+ if we put something in the TREE_CHAIN of this one. */
+ yylval.ttype = build_string (TREE_STRING_LENGTH (stringval),
+ TREE_STRING_POINTER (stringval));
value = STRING;
}
}
diff --git a/contrib/gcc/cse.c b/contrib/gcc/cse.c
index efd05de..00c5122 100644
--- a/contrib/gcc/cse.c
+++ b/contrib/gcc/cse.c
@@ -7811,13 +7811,6 @@ invalidate_skipped_set (dest, set)
rtx set;
rtx dest;
{
- if (GET_CODE (set) == CLOBBER
-#ifdef HAVE_cc0
- || dest == cc0_rtx
-#endif
- || dest == pc_rtx)
- return;
-
if (GET_CODE (dest) == MEM)
note_mem_written (dest, &skipped_writes_memory);
@@ -7827,6 +7820,13 @@ invalidate_skipped_set (dest, set)
if (skipped_writes_memory.nonscalar)
skipped_writes_memory.all = 1;
+ if (GET_CODE (set) == CLOBBER
+#ifdef HAVE_cc0
+ || dest == cc0_rtx
+#endif
+ || dest == pc_rtx)
+ return;
+
if (GET_CODE (dest) == REG || GET_CODE (dest) == SUBREG
|| (! skipped_writes_memory.all && ! cse_rtx_addr_varies_p (dest)))
invalidate (dest, VOIDmode);
diff --git a/contrib/gcc/install.texi b/contrib/gcc/install.texi
index 962a6e7..337da79 100644
--- a/contrib/gcc/install.texi
+++ b/contrib/gcc/install.texi
@@ -814,9 +814,15 @@ Use this configuration to generate a.out binaries on Linux-based GNU
systems. This configuration is being superseded. You must use
gas/binutils version 2.5.2 or later.
+@item i386-*-linux-gnulibc1
+Use this configuration to generate ELF binaries on Linux-based GNU
+systems using the Linux libc version 5. You must use gas/binutils
+version 2.5.2 or later.
+
@item i386-*-linux
Use this configuration to generate ELF binaries on Linux-based GNU
-systems. You must use gas/binutils version 2.5.2 or later.
+systems using glibc 2. You must use gas/binutils version 2.8.1 or
+later.
@item i386-*-sco
Compilation with RCC is recommended. Also, it may be a good idea to
@@ -934,6 +940,19 @@ HP 9000 series 200 running BSD. Note that the C compiler that comes
with this system cannot compile GNU CC; contact @code{law@@cs.utah.edu}
to get binaries of GNU CC for bootstrapping.
+@item m68k-*-linuxaout
+Use this configuration to generate a.out binaries on Linux. This configuration
+is being superseded. You must use gas/binutils version 2.5.2 or later.
+
+@item m68k-*-linux-gnulibc1
+Use this configuration to generate ELF binaries on Linux with the
+Linux C library 5.x.x. You must use gas/binutils version 2.8.1 later.
+
+@item m68k-*-linux
+Use this configuration to generate ELF binaries on Linux-based GNU
+systems with the GNU C library 2. You must use gas/binutils version
+2.8.1 or later.
+
@item m68k-altos
Altos 3068. You must use the GNU assembler, linker and debugger.
Also, you must fix a kernel bug. Details in the file @file{README.ALTOS}.
diff --git a/contrib/gcc/unroll.c b/contrib/gcc/unroll.c
index c598578..4ba6efb 100644
--- a/contrib/gcc/unroll.c
+++ b/contrib/gcc/unroll.c
@@ -2908,12 +2908,19 @@ find_splittable_givs (bl, unroll_type, loop_start, loop_end, increment,
#endif
}
- /* Givs are only updated once by definition. Mark it so if this is
+ /* Unreduced givs are only updated once by definition. Reduced givs
+ are updated as many times as their biv is. Mark it so if this is
a splittable register. Don't need to do anything for address givs
where this may not be a register. */
if (GET_CODE (v->new_reg) == REG)
- splittable_regs_updates[REGNO (v->new_reg)] = 1;
+ {
+ int count = 1;
+ if (! v->ignore)
+ count = reg_biv_class[REGNO (v->src_reg)]->biv_count;
+
+ splittable_regs_updates[REGNO (v->new_reg)] = count;
+ }
result++;
diff --git a/contrib/gcc/varasm.c b/contrib/gcc/varasm.c
index 42b81fa..12c935e 100644
--- a/contrib/gcc/varasm.c
+++ b/contrib/gcc/varasm.c
@@ -1640,6 +1640,7 @@ assemble_static_space (size)
This is done at most once per compilation.
Returns an RTX for the address of the template. */
+#ifdef TRAMPOLINE_TEMPLATE
rtx
assemble_trampoline_template ()
{
@@ -1673,6 +1674,7 @@ assemble_trampoline_template ()
= (char *) obstack_copy0 (&permanent_obstack, label, strlen (label));
return gen_rtx (SYMBOL_REF, Pmode, name);
}
+#endif
/* Assemble the integer constant X into an object of SIZE bytes.
X must be either a CONST_INT or CONST_DOUBLE.
diff --git a/contrib/gcc/version.c b/contrib/gcc/version.c
index 3480e3f..dd8c145 100644
--- a/contrib/gcc/version.c
+++ b/contrib/gcc/version.c
@@ -1 +1 @@
-char *version_string = "2.7.2.1";
+char *version_string = "2.7.2.3";
OpenPOWER on IntegriCloud