Virgin import of GCC 2.7.2.3

This commit is contained in:
obrien 1999-07-10 23:03:59 +00:00
parent e385527a0e
commit a59148d615
18 changed files with 312 additions and 87 deletions

View File

@ -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.

View File

@ -1031,7 +1031,7 @@ stamp-crt: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
# compiled using PIC for use in shared libraries.
crtbeginS.o crtendS.o: stamp-crtS ; @true
stamp-crtS: crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
stamp-crtS: stamp-crt crtstuff.c $(GCC_PASSES) $(CONFIG_H) gbl-ctors.h
$(GCC_FOR_TARGET) $(GCC_CFLAGS) $(INCLUDES) $(CRTSTUFF_T_CFLAGS) \
-DCRT_BEGIN -finhibit-size-directive -fno-inline-functions \
-g0 -c $(srcdir)/crtstuff.c -fPIC
@ -1886,8 +1886,8 @@ $(srcdir)/cpp.dvi: cpp.texi
$(TEXI2DVI) $<
$(srcdir)/INSTALL: install1.texi install.texi
$(MAKEINFO) -D INSTALLONLY --no-header --no-split \
`echo $(srcdir)/install1.texi | sed 's,^\./,,'`
cd $(srcdir); $(MAKEINFO) -D INSTALLONLY --no-header \
--no-split install1.texi -o INSTALL
# Deletion of files made during compilation.
# There are four levels of this:

View File

@ -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.

View File

@ -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

View File

@ -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
;;

View File

@ -1238,8 +1238,7 @@ direct_return ()
/* Write a version stamp. Don't write anything if we are running as a
cross-compiler. Otherwise, use the versions in /usr/include/stamp.h. */
#if !defined(CROSS_COMPILE) && !defined(_WIN32) && \
!defined(__NetBSD__) && !defined(__FreeBSD__)
#if !defined(CROSS_COMPILE) && !defined(_WIN32)
#include <stamp.h>
#endif

View File

@ -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"

113
contrib/gcc/configure vendored
View File

@ -844,7 +844,7 @@ for machine in $canon_build $canon_host $canon_target; do
xm_file=i370/xm-mvs.h
out_file=i370/mvs370.c
;;
i[345]86-ibm-aix*) # IBM PS/2 running AIX
i[3456]86-ibm-aix*) # IBM PS/2 running AIX
cpu_type=i386
if [ x$gas = xyes ]
then
@ -867,7 +867,7 @@ for machine in $canon_build $canon_host $canon_target; do
extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtpic
;;
i[345]86-next-*)
i[3456]86-next-*)
cpu_type=i386
tm_file=i386/next.h
out_file=i386/next.c
@ -875,7 +875,7 @@ for machine in $canon_build $canon_host $canon_target; do
tmake_file=i386/t-next
xmake_file=i386/x-next
;;
i[345]86-sequent-bsd*) # 80386 from Sequent
i[3456]86-sequent-bsd*) # 80386 from Sequent
cpu_type=i386
use_collect2=yes
if [ x$gas = xyes ]
@ -885,7 +885,7 @@ for machine in $canon_build $canon_host $canon_target; do
tm_file=i386/sequent.h
fi
;;
i[345]86-sequent-ptx1*)
i[3456]86-sequent-ptx1*)
cpu_type=i386
xm_file=i386/xm-sysv3.h
xmake_file=i386/x-sysv3
@ -896,7 +896,7 @@ for machine in $canon_build $canon_host $canon_target; do
install_headers_dir=install-headers-cpio
broken_install=yes
;;
i[345]86-sequent-ptx2* | i[345]86-sequent-sysv*)
i[3456]86-sequent-ptx2* | i[3456]86-sequent-sysv*)
cpu_type=i386
xm_file=i386/xm-sysv3.h
xmake_file=i386/x-sysv3
@ -912,18 +912,18 @@ for machine in $canon_build $canon_host $canon_target; do
tm_file=i386/sun.h
use_collect2=yes
;;
i[345]86-*-aout*)
i[3456]86-*-aout*)
cpu_type=i386
tm_file=i386/i386-aout.h
tmake_file=i386/t-i386bare
;;
i[345]86-*-bsdi* | i[345]86-*-bsd386*)
i[3456]86-*-bsdi* | i[3456]86-*-bsd386*)
cpu_type=i386
tm_file=i386/bsd386.h
xm_file=i386/xm-bsd386.h
# tmake_file=t-libc-ok
;;
i[345]86-*-bsd*)
i[3456]86-*-bsd*)
cpu_type=i386
tm_file=i386/386bsd.h
xm_file=i386/xm-bsd386.h
@ -931,7 +931,7 @@ for machine in $canon_build $canon_host $canon_target; do
# Next line turned off because both 386BSD and BSD/386 use GNU ld.
# use_collect2=yes
;;
i[345]86-*-freebsd*)
i[3456]86-*-freebsd*)
cpu_type=i386
tm_file=i386/freebsd.h
xm_file=i386/xm-freebsd.h
@ -939,7 +939,7 @@ for machine in $canon_build $canon_host $canon_target; do
fixincludes=Makefile.in
xmake_file=i386/x-freebsd
;;
i[345]86-*-netbsd*)
i[3456]86-*-netbsd*)
cpu_type=i386
tm_file=i386/netbsd.h
xm_file=i386/xm-netbsd.h
@ -948,19 +948,16 @@ for machine in $canon_build $canon_host $canon_target; do
tmake_file=t-libc-ok
xmake_file=x-netbsd
;;
i[345]86-*-coff*)
i[3456]86-*-coff*)
cpu_type=i386
tm_file=i386/i386-coff.h
tmake_file=i386/t-i386bare
;;
i[345]86-*-gnu*)
cpu_type=i386 # GNU supports this CPU; rest done below.
;;
i[345]86-*-isc*) # 80386 running ISC system
i[3456]86-*-isc*) # 80386 running ISC system
cpu_type=i386
xm_file=i386/xm-isc.h
case $machine in
i[345]86-*-isc[34]*)
i[3456]86-*-isc[34]*)
xmake_file=i386/x-isc3
;;
*)
@ -981,41 +978,56 @@ for machine in $canon_build $canon_host $canon_target; do
install_headers_dir=install-headers-cpio
broken_install=yes
;;
i[345]86-*-linux*oldld*) # Intel 80386's running Linux
i[3456]86-*-linux*oldld*) # Intel 80386's running GNU/Linux
cpu_type=i386 # with a.out format using pre BFD linkers
xm_file=i386/xm-linux.h
xmake_file=x-linux
tm_file=i386/linux-oldld.h
fixincludes=Makefile.in #On Linux, the headers are ok already.
fixincludes=Makefile.in # The headers are ok already.
broken_install=yes
gnu_ld=yes
;;
i[345]86-*-linux*aout*) # Intel 80386's running Linux
i[3456]86-*-linux*aout*) # Intel 80386's running GNU/Linux
cpu_type=i386 # with a.out format
xm_file=i386/xm-linux.h
xmake_file=x-linux
tm_file=i386/linux-aout.h
fixincludes=Makefile.in #On Linux, the headers are ok already.
fixincludes=Makefile.in # The headers are ok already.
broken_install=yes
gnu_ld=yes
;;
i[345]86-*-linux*) # Intel 80386's running Linux
i[3456]86-*-linux*gnulibc1) # Intel 80386's running GNU/Linux
cpu_type=i386 # with ELF format, using GNU libc v1.
xm_file=i386/xm-linux.h
xmake_file=x-linux
tmake_file=t-linux-gnulibc1
tm_file=i386/linux.h
fixincludes=Makefile.in # The headers are ok already.
broken_install=yes
gnu_ld=yes
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
i[3456]86-*-linux*) # Intel 80386's running GNU/Linux
cpu_type=i386 # with ELF format
xm_file=i386/xm-linux.h
xmake_file=x-linux
tmake_file=t-linux
tm_file=i386/linux.h
fixincludes=Makefile.in #On Linux, the headers are ok already.
fixincludes=Makefile.in # The headers are ok already.
broken_install=yes
gnu_ld=yes
# Don't use it. Linux uses a slightly different one.
# The real one comes with the Linux C library.
#extra_parts="crtbegin.o crtend.o"
# GNU libc version 2 does not supply these;
# we want them from GCC.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
i[345]86-go32-msdos | i[345]86-*-go32)
i[3456]86-*-gnu*)
cpu_type=i386 # GNU supports this CPU; rest done below.
;;
i[3456]86-go32-msdos | i[3456]86-*-go32)
cpu_type=i386
tm_file=i386/go32.h
;;
i[345]86-*-lynxos*)
i[3456]86-*-lynxos*)
cpu_type=i386
if [ x$gas = xyes ]
then
@ -1027,13 +1039,13 @@ for machine in $canon_build $canon_host $canon_target; do
tmake_file=i386/t-i386bare
xmake_file=x-lynx
;;
i[345]86-*-mach*)
i[3456]86-*-mach*)
cpu_type=i386
tm_file=i386/mach.h
# tmake_file=t-libc-ok
use_collect2=yes
;;
i[345]86-*-osfrose*) # 386 using OSF/rose
i[3456]86-*-osfrose*) # 386 using OSF/rose
cpu_type=i386
if [ x$elf = xyes ]
then
@ -1047,7 +1059,7 @@ for machine in $canon_build $canon_host $canon_target; do
xmake_file=i386/x-osfrose
extra_objs=halfpic.o
;;
i[345]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
i[3456]86-*-sco3.2v4*) # 80386 running SCO 3.2v4 system
cpu_type=i386
xm_file=i386/xm-sco.h
xmake_file=i386/x-sco4
@ -1065,7 +1077,7 @@ for machine in $canon_build $canon_host $canon_target; do
extra_parts="crtbegin.o crtend.o"
fi
;;
i[345]86-*-sco*) # 80386 running SCO system
i[3456]86-*-sco*) # 80386 running SCO system
cpu_type=i386
xm_file=i386/xm-sco.h
xmake_file=i386/x-sco
@ -1083,7 +1095,7 @@ for machine in $canon_build $canon_host $canon_target; do
fi
truncate_target=yes
;;
i[345]86-*-solaris2* | i[345]86-*-sunos5*)
i[3456]86-*-solaris2* | i[3456]86-*-sunos5*)
cpu_type=i386
xm_file=i386/xm-sysv4.h
tm_file=i386/sol2.h
@ -1093,7 +1105,7 @@ for machine in $canon_build $canon_host $canon_target; do
fixincludes=fixinc.svr4
broken_install=yes
;;
i[345]86-*-sysv4*) # Intel 80386's running system V.4
i[3456]86-*-sysv4*) # Intel 80386's running system V.4
cpu_type=i386
xm_file=i386/xm-sysv4.h
if [ x$stabs = xyes ]
@ -1106,7 +1118,7 @@ for machine in $canon_build $canon_host $canon_target; do
xmake_file=x-svr4
extra_parts="crtbegin.o crtend.o"
;;
i[345]86-*-sysv*) # Intel 80386's running system V
i[3456]86-*-sysv*) # Intel 80386's running system V
cpu_type=i386
xm_file=i386/xm-sysv3.h
xmake_file=i386/x-sysv3
@ -1134,7 +1146,7 @@ for machine in $canon_build $canon_host $canon_target; do
tmake_file=i386/t-vsta
xmake_file=i386/x-vsta
;;
i[345]86-*-winnt3*)
i[3456]86-*-winnt3*)
cpu_type=i386
tm_file=i386/win-nt.h
out_file=i386/i386.c
@ -1523,26 +1535,36 @@ for machine in $canon_build $canon_host $canon_target; do
extra_parts="crtbegin.o crtend.o"
extra_headers=math-68881.h
;;
m68k-*-linux*aout*) # Motorola m68k's running Linux
m68k-*-linux*aout*) # Motorola m68k's running GNU/Linux
xm_file=m68k/xm-linux.h # with a.out format
xmake_file=x-linux
tm_file=m68k/linux-aout.h
tmake_file=m68k/t-linux
fixincludes=Makefile.in #On Linux, the headers are ok already.
fixincludes=Makefile.in # The headers are ok already.
extra_headers=math-68881.h
gnu_ld=yes
;;
m68k-*-linux*) # Motorola m68k's running Linux
m68k-*-linux*libc1) # Motorola m68k's running GNU/Linux
xm_file=m68k/xm-linux.h # with ELF format, using GNU libc v1.
xmake_file=x-linux
tm_file=m68k/linux.h
tmake_file=m68k/t-linux-gnulibc1
fixincludes=Makefile.in # The headers are ok already.
extra_headers=math-68881.h
gnu_ld=yes
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
m68k-*-linux*) # Motorola m68k's running GNU/Linux
xm_file=m68k/xm-linux.h # with ELF format
xmake_file=x-linux
tm_file=m68k/linux.h
tmake_file=m68k/t-linux
fixincludes=Makefile.in #On Linux, the headers are ok already.
fixincludes=Makefile.in # The headers are ok already.
extra_headers=math-68881.h
gnu_ld=yes
# Don't use it. Linux uses a slightly different one.
# The real one comes with the Linux C library.
#extra_parts="crtbegin.o crtend.o"
# GNU libc version 2 does not supply these;
# we want them from GCC.
extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
;;
m88k-dg-dgux*)
case $machine in
@ -2379,6 +2401,8 @@ for machine in $canon_build $canon_host $canon_target; do
esac
case $machine in
*-*-linux-gnu*)
;; # Existing Linux/GNU systems do not use the GNU setup.
*-*-gnu*)
# On the GNU system, the setup is just about the same on
# each different CPU. The specific machines that GNU
@ -2535,7 +2559,7 @@ do
case $lang in
..) ;;
# The odd quoting in the next line works around
# an apparent bug in bash 1.12 on linux.
# an apparent bug in bash 1.12 on GNU/Linux.
${srcdir}/[*]/config-lang.in) ;;
*) subdirs="$subdirs `echo $lang | sed -e 's,^.*/\([^/]*\)/config-lang.in$,\1,'`" ;;
esac
@ -2543,8 +2567,9 @@ done
# Are we using gcc as the native compiler?
case $canon_host in
*linux*) # All Linux's use gcc as the native compiler.
*linux*) # All GNU/Linux systems use gcc as the native compiler.
prefix=$native_prefix
gxx_include_dir=$prefix/include/g++
;;
esac

View File

@ -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.

View File

@ -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

View File

@ -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;
}
}

View File

@ -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);

View File

@ -5229,7 +5229,9 @@ expand_function_end (filename, line, end_bindings)
register int i;
tree link;
#ifdef TRAMPOLINE_TEMPLATE
static rtx initial_trampoline;
#endif
if (output_bytecode)
{
@ -5262,8 +5264,10 @@ expand_function_end (filename, line, end_bindings)
tree function = TREE_PURPOSE (link);
rtx context = lookup_static_chain (function);
rtx tramp = RTL_EXPR_RTL (TREE_VALUE (link));
rtx blktramp;
rtx seq;
#ifdef TRAMPOLINE_TEMPLATE
/* First make sure this compilation has a template for
initializing trampolines. */
if (initial_trampoline == 0)
@ -5273,15 +5277,18 @@ expand_function_end (filename, line, end_bindings)
= gen_rtx (MEM, BLKmode, assemble_trampoline_template ());
resume_temporary_allocation ();
}
#endif
/* Generate insns to initialize the trampoline. */
start_sequence ();
tramp = change_address (initial_trampoline, BLKmode,
round_trampoline_addr (XEXP (tramp, 0)));
emit_block_move (tramp, initial_trampoline, GEN_INT (TRAMPOLINE_SIZE),
tramp = round_trampoline_addr (XEXP (tramp, 0));
#ifdef TRAMPOLINE_TEMPLATE
blktramp = change_address (initial_trampoline, BLKmode, tramp);
emit_block_move (blktramp, initial_trampoline,
GEN_INT (TRAMPOLINE_SIZE),
FUNCTION_BOUNDARY / BITS_PER_UNIT);
INITIALIZE_TRAMPOLINE (XEXP (tramp, 0),
XEXP (DECL_RTL (function), 0), context);
#endif
INITIALIZE_TRAMPOLINE (tramp, XEXP (DECL_RTL (function), 0), context);
seq = get_insns ();
end_sequence ();

View File

@ -4275,6 +4275,16 @@ main (argc, argv)
if (specs_file != 0 && strcmp (specs_file, "specs"))
read_specs (specs_file);
/* We need to check standard_exec_prefix/just_machine_suffix/specs
for any override of as, ld and libraries. */
specs_file =(char *) alloca (strlen (standard_exec_prefix) +
strlen (just_machine_suffix) + sizeof ("specs"));
strcpy (specs_file, standard_exec_prefix);
strcat (specs_file, just_machine_suffix);
strcat (specs_file, "specs");
if (access (specs_file, R_OK) == 0)
read_specs (specs_file, TRUE);
/* If not cross-compiling, look for startfiles in the standard places. */
/* The fact that these are done here, after reading the specs file,
means that it cannot be found in these directories.

View File

@ -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}.

View File

@ -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++;

View File

@ -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.

View File

@ -1 +1 @@
char *version_string = "2.7.2.1";
char *version_string = "2.7.2.3";