--- gcc-2.7.2.3/ChangeLog.2723 Wed Jul 24 21:31:12 1996 +++ gcc-2.7.2.3/ChangeLog Mon Sep 23 18:17:34 2002 @@ -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 + + * 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 + + * 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 + + * unroll.c (find_splittable_givs): Set splittable_regs_updates + to biv_count for reduced givs. + +Tue Apr 16 16:59:49 1996 Richard Henderson + + * 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 * Version 2.7.2.1 released. --- gcc-2.7.2.3/INSTALL.2723 Mon Sep 23 18:04:02 2002 +++ gcc-2.7.2.3/INSTALL Mon Sep 23 18:17:35 2002 @@ -695,14 +695,15 @@ GNU systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. -`i386-*-linuxlibc1' +`i386-*-linux-gnulibc1' Use this configuration to generate ELF binaries on Linux-based GNU - systems using GNU libc version 1 (Linux libc version 5). You must - use gas/binutils version 2.5.2 or later. + systems using the Linux libc version 5. You must use gas/binutils + version 2.5.2 or later. `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. `i386-*-sco' Compilation with RCC is recommended. Also, it may be a good idea @@ -812,6 +813,21 @@ HP 9000 series 200 running BSD. Note that the C compiler that comes with this system cannot compile GNU CC; contact `law@cs.utah.edu' to get binaries of GNU CC for bootstrapping. + +`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. + +`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. + +`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. `m68k-altos' Altos 3068. You must use the GNU assembler, linker and debugger. --- gcc-2.7.2.3/Makefile.in.2723 Mon Sep 23 17:46:35 2002 +++ gcc-2.7.2.3/Makefile.in Mon Sep 23 18:17:36 2002 @@ -1031,7 +1031,7 @@ # 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 @@ $(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: --- gcc-2.7.2.3/README.2723 Mon Sep 23 18:04:04 2002 +++ gcc-2.7.2.3/README Mon Sep 23 18:17:36 2002 @@ -1,9 +1,9 @@ -This directory contains the version 2.7.2.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.2 release is to add support for GNU C library -version 2 on GNU/Linux systems. +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. --- gcc-2.7.2.3/config/i386/linux.h.2723 Mon Sep 23 18:04:00 2002 +++ gcc-2.7.2.3/config/i386/linux.h Mon Sep 23 18:17:36 2002 @@ -151,17 +151,21 @@ #define CPP_PREDEFINES "-D__ELF__ -Dunix -Di386 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(i386) -Amachine(i386)" #undef CPP_SPEC -#ifdef LIBC_VERSION_1 +#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 LIBC_VERSION_1 */ +#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 LIBC_VERSION_1 */ +#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 @@ -176,6 +180,11 @@ %{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 @@ -194,7 +203,7 @@ /* If ELF is the default format, we should not use /lib/elf. */ #undef LINK_SPEC -#ifdef LIBC_VERSION_1 +#ifdef USE_GNULIBC_1 #ifndef LINUX_DEFAULT_ELF #define LINK_SPEC "-m elf_i386 %{shared:-shared} \ %{!shared: \ @@ -212,7 +221,7 @@ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \ %{static:-static}}}" #endif -#else /* not LIBC_VERSION_1 */ +#else /* not USE_GNULIBC_1 */ #define LINK_SPEC "-m elf_i386 %{shared:-shared} \ %{!shared: \ %{!ibcs: \ @@ -220,14 +229,7 @@ %{rdynamic:-export-dynamic} \ %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \ %{static:-static}}}" -#endif /* not LIBC_VERSION_1 */ - -#ifndef LIBC_VERSION_1 -#undef LIB_SPEC -#define LIB_SPEC \ - "%{!shared: %{mieee-fp:-lieee} %{pthread:-lpthread} \ - %{profile:-lc_p} %{!profile: -lc}}" -#endif /* not LIBC_VERSION_1 */ +#endif /* not USE_GNULIBC_1 */ /* Get perform_* macros to build libgcc.a. */ #include "i386/perform.h" --- gcc-2.7.2.3/config/m68k/linux.h.2723 Sat Jul 29 13:51:09 1995 +++ gcc-2.7.2.3/config/m68k/linux.h Mon Sep 23 18:17:37 2002 @@ -31,6 +31,11 @@ /* 68020 with 68881 */ #define TARGET_DEFAULT 7 +/* for 68k machines this only needs to be TRUE for the 68000 */ + +#undef STRICT_ALIGNMENT +#define STRICT_ALIGNMENT 0 + #undef SUBTARGET_SWITCHES #define SUBTARGET_SWITCHES {"ieee-fp", 0}, @@ -102,6 +107,7 @@ "-D__ELF__ -Dunix -Dmc68000 -Dmc68020 -Dlinux -Asystem(unix) -Asystem(posix) -Acpu(m68k) -Amachine(m68k)" #undef CPP_SPEC +#ifdef USE_GNULIBC_1 #if TARGET_DEFAULT & 2 #define CPP_SPEC \ "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE}" @@ -109,8 +115,21 @@ #define CPP_SPEC \ "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE}" #endif +#else /* not USE_GNULIBC_1 */ +#if TARGET_DEFAULT & 2 +#define CPP_SPEC \ + "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{!msoft-float:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" +#else +#define CPP_SPEC \ + "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{m68881:-D__HAVE_68881__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" +#endif +#endif + +#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 -lc_p or -ggdb @@ -124,6 +143,11 @@ %{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 @@ -142,6 +166,7 @@ /* 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 m68kelf %{shared} %{symbolic:-shared -Bsymbolic} \ %{!shared:%{!symbolic: \ @@ -157,6 +182,15 @@ %{!dynamic-linker*:-dynamic-linker /lib/ld-linux.so.1}} \ %{static}}}" #endif +#else /* not USE_GNULIBC_1 */ +#define LINK_SPEC "-m m68kelf %{shared} \ + %{!shared: \ + %{!static: \ + %{rdynamic:-export-dynamic} \ + %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \ + %{static}}" +#endif /* not USE_GNULIBC_1 */ + /* For compatibility with linux/a.out */ @@ -259,7 +293,8 @@ #undef LIBCALL_VALUE #define LIBCALL_VALUE(MODE) \ - (((MODE) == SFmode || (MODE) == DFmode) && TARGET_68881 \ + ((((MODE) == SFmode || (MODE) == DFmode || (MODE) == XFmode) \ + && TARGET_68881) \ ? gen_rtx (REG, (MODE), 16) \ : gen_rtx (REG, (MODE), 0)) @@ -267,7 +302,10 @@ an operand of a function call. */ #undef LEGITIMATE_PIC_OPERAND_P #define LEGITIMATE_PIC_OPERAND_P(X) \ - (! symbolic_operand (X, VOIDmode) \ + ((! symbolic_operand (X, VOIDmode) \ + && ! (GET_CODE (X) == CONST_DOUBLE && CONST_DOUBLE_MEM (X) \ + && GET_CODE (CONST_DOUBLE_MEM (X)) == MEM \ + && symbolic_operand (XEXP (CONST_DOUBLE_MEM (X), 0), VOIDmode))) \ || (GET_CODE (X) == SYMBOL_REF && SYMBOL_REF_FLAG (X))) /* Turn off function cse if we are doing PIC. We always want function @@ -283,3 +321,38 @@ technique. */ #undef PCC_STATIC_STRUCT_RETURN #define DEFAULT_PCC_STRUCT_RETURN 0 + +/* Finalize the trampoline by flushing the insn cache. */ + +#undef FINALIZE_TRAMPOLINE +#define FINALIZE_TRAMPOLINE(TRAMP) \ + emit_library_call (gen_rtx (SYMBOL_REF, Pmode, "__clear_cache"), \ + 0, VOIDmode, 2, TRAMP, Pmode, \ + plus_constant (TRAMP, TRAMPOLINE_SIZE), Pmode); + +/* Clear the instruction cache from `beg' to `end'. This makes an + inline system call to SYS_cacheflush. The arguments are as + follows: + + cacheflush (addr, scope, cache, len) + + addr - the start address for the flush + scope - the scope of the flush (see the cpush insn) + cache - which cache to flush (see the cpush insn) + len - a factor relating to the number of flushes to perform: + len/16 lines, or len/4096 pages. */ + +#define CLEAR_INSN_CACHE(BEG, END) \ +{ \ + register unsigned long _beg __asm ("%d1") = (unsigned long) (BEG); \ + unsigned long _end = (unsigned long) (END); \ + register unsigned long _len __asm ("%d4") = (_end - _beg + 32); \ + __asm __volatile \ + ("move%.l %#123, %/d0\n\t" /* system call nr */ \ + "move%.l %#1, %/d2\n\t" /* clear lines */ \ + "move%.l %#3, %/d3\n\t" /* insn+data caches */ \ + "trap %#0" \ + : /* no outputs */ \ + : "d" (_beg), "d" (_len) \ + : "%d0", "%d2", "%d3"); \ +} --- gcc-2.7.2.3/config/m68k/m68k.h.2723 Fri Oct 20 23:10:26 1995 +++ gcc-2.7.2.3/config/m68k/m68k.h Mon Sep 23 18:17:38 2002 @@ -935,41 +935,36 @@ of a trampoline, leaving space for the variable parts. */ /* On the 68k, the trampoline looks like this: - mov @#.,a0 - jsr @#___trampoline - jsr @#___trampoline - .long STATIC - .long FUNCTION -The reason for having three jsr insns is so that an entire line -of the instruction cache is filled in a predictable way -that will always be the same. + movl #STATIC,a0 + jmp FUNCTION -We always use the assembler label ___trampoline -regardless of whether the system adds underscores. */ + WARNING: Targets that may run on 68040+ cpus must arrange for + the instruction cache to be flushed. Previous incarnations of + the m68k trampoline code attempted to get around this by either + using an out-of-line transfer function or pc-relative data, but + the fact remains that the code to jump to the transfer function + or the code to load the pc-relative data needs to be flushed + just as much as the "variable" portion of the trampoline. + Recognizing that a cache flush is going to be required anyway, + dispense with such notions and build a smaller trampoline. */ -#define TRAMPOLINE_TEMPLATE(FILE) \ -{ \ - ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x207c)); \ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ - ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x4eb9)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (SYMBOL_REF, SImode, "*___trampoline"));\ - ASM_OUTPUT_SHORT (FILE, gen_rtx (CONST_INT, VOIDmode, 0x4eb9)); \ - ASM_OUTPUT_INT (FILE, gen_rtx (SYMBOL_REF, SImode, "*___trampoline"));\ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ - ASM_OUTPUT_SHORT (FILE, const0_rtx); \ -} +/* Since more instructions are required to move a template into + place than to create it on the spot, don't use a template. */ /* Length in units of the trampoline for entering a nested function. */ -#define TRAMPOLINE_SIZE 26 +#define TRAMPOLINE_SIZE 12 + +/* Alignment required for a trampoline in bytes. */ + +#define TRAMPOLINE_ALIGNMENT 2 -/* Alignment required for a trampoline. 16 is used to find the - beginning of a line in the instruction cache. */ +/* Targets redefine this to invoke code to either flush the cache, + or enable stack execution (or both). */ -#define TRAMPOLINE_ALIGN 16 +#ifndef FINALIZE_TRAMPOLINE +#define FINALIZE_TRAMPOLINE(TRAMP) +#endif /* Emit RTL insns to initialize the variable parts of a trampoline. FNADDR is an RTX for the address of the function's pure code. @@ -977,14 +972,20 @@ #define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ { \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 2)), TRAMP); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 18)), CXT); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 22)), FNADDR); \ + emit_move_insn (gen_rtx (MEM, HImode, TRAMP), GEN_INT(0x207C)); \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 2)), CXT); \ + emit_move_insn (gen_rtx (MEM, HImode, plus_constant (TRAMP, 6)), \ + GEN_INT(0x4EF9)); \ + emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 8)), FNADDR); \ + FINALIZE_TRAMPOLINE(TRAMP); \ } /* This is the library routine that is used to transfer control from the trampoline - to the actual nested function. */ + to the actual nested function. + It is defined for backward compatibility, + for linking with object code that used the old + trampoline definition. */ /* A colon is used with no explicit operands to cause the template string to be scanned for %-constructs. */ --- gcc-2.7.2.3/config/m68k/m68k.md.2723 Tue Nov 7 15:57:30 1995 +++ gcc-2.7.2.3/config/m68k/m68k.md Mon Sep 23 18:17:39 2002 @@ -5199,10 +5199,21 @@ return \"move%.l %0,%2\;or%.l %3,%2\;jeq %l1\"; #endif operands[4] = gen_label_rtx(); + if (TARGET_68020) #ifdef MOTOROLA - output_asm_insn (\"tst%.l %0\;jbne %l4\;tst%.l %3\;jbeq %l1\", operands); + output_asm_insn (\"tst%.l %0\;jbne %l4\;tst%.l %3\;jbeq %l1\", operands); #else - output_asm_insn (\"tst%.l %0\;jne %l4\;tst%.l %3\;jeq %l1\", operands); + output_asm_insn (\"tst%.l %0\;jne %l4\;tst%.l %3\;jeq %l1\", operands); +#endif + else +#ifdef MOTOROLA +#ifdef SGS_CMP_ORDER + output_asm_insn (\"cmp%.w %0,%#0\;jbne %l4\;cmp%.w %3,%#0\;jbeq %l1\", operands); +#else + output_asm_insn (\"cmp%.w %#0,%0\;jbne %l4\;cmp%.w %#0,%3\;jbeq %l1\", operands); +#endif +#else + output_asm_insn (\"cmp%.w %#0,%0\;jne %l4\;cmp%.w %#0,%3\;jeq %l1\", operands); #endif ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, \"L\", CODE_LABEL_NUMBER (operands[4])); @@ -5215,15 +5226,22 @@ (const_int 0)) (label_ref (match_operand 1 "" ",")) (pc))) - (clobber (match_scratch:SI 2 "=d,"))] + (clobber (match_scratch:SI 2 "=d,X"))] "" "* { + CC_STATUS_INIT; if (GET_CODE (operands[0]) == REG) operands[3] = gen_rtx (REG, SImode, REGNO (operands[0]) + 1); else operands[3] = adj_offsettable_operand (operands[0], 4); - if (ADDRESS_REG_P (operands[0])) + if (!ADDRESS_REG_P (operands[0])) +#ifdef MOTOROLA + return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\"; +#else + return \"move%.l %0,%2\;or%.l %3,%2\;jne %l1\"; +#endif + if (TARGET_68020) #ifdef MOTOROLA return \"tst%.l %0\;jbne %l1\;tst%.l %3\;jbne %l1\"; #else @@ -5231,9 +5249,13 @@ #endif else #ifdef MOTOROLA - return \"move%.l %0,%2\;or%.l %3,%2\;jbne %l1\"; +#ifdef SGS_CMP_ORDER + return \"cmp%.w %0,%#0\;jbne %l1\;cmp%.w %3,%#0\;jbne %l1\"; #else - return \"move%.l %0,%2\;or%.l %3,%2\;jne %l1\"; + return \"cmp%.w %#0,%0\;jbne %l1\;cmp%.w %#0,%3\;jbne %l1\"; +#endif +#else + return \"cmp%.w %#0,%0\;jne %l1\;cmp%.w %#0,%3\;jne %l1\"; #endif } ") @@ -5246,10 +5268,21 @@ "" "* { + CC_STATUS_INIT; + if (TARGET_68020 || ! ADDRESS_REG_P (operands[0])) + output_asm_insn(\"tst%.l %0\", operands); + else + /* On an address reg, cmpw may replace cmpl. */ +#ifdef SGS_CMP_ORDER + output_asm_insn(\"cmp%.w %0,%#0\", operands); +#else + output_asm_insn(\"cmp%.w %#0,%0\", operands); +#endif + #ifdef MOTOROLA - return \"tst%.l %0\;jbge %l1\"; + return \"jbpl %l1\"; #else - return \"tst%.l %0\;jge %l1\"; + return \"jpl %l1\"; #endif } ") @@ -5262,10 +5295,21 @@ "" "* { + CC_STATUS_INIT; + if (TARGET_68020 || ! ADDRESS_REG_P (operands[0])) + output_asm_insn(\"tst%.l %0\", operands); + else + /* On an address reg, cmpw may replace cmpl. */ +#ifdef SGS_CMP_ORDER + output_asm_insn(\"cmp%.w %0,%#0\", operands); +#else + output_asm_insn(\"cmp%.w %#0,%0\", operands); +#endif + #ifdef MOTOROLA - return \"tst%.l %0\;jbmi %l1\"; + return \"jbmi %l1\"; #else - return \"tst%.l %0\;jmi %l1\"; + return \"jmi %l1\"; #endif } ") --- gcc-2.7.2.3/config/m68k/next.h.2723 Thu Jun 15 19:14:15 1995 +++ gcc-2.7.2.3/config/m68k/next.h Mon Sep 23 18:17:40 2002 @@ -183,21 +183,13 @@ #define OBJC_FORWARDING_STACK_OFFSET 8 #define OBJC_FORWARDING_MIN_OFFSET 8 -/* INITIALIZE_TRAMPOLINE is changed so that it also enables executable - stack. The __enable_execute_stack also clears the insn cache. */ +/* FINALIZE_TRAMPOLINE enables executable stack. The + __enable_execute_stack also clears the insn cache. */ -/* NOTE: part of this is copied from m68k.h */ -#undef INITIALIZE_TRAMPOLINE -#define INITIALIZE_TRAMPOLINE(TRAMP, FNADDR, CXT) \ -{ \ - rtx _addr, _func; \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 2)), TRAMP); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 18)), CXT); \ - emit_move_insn (gen_rtx (MEM, SImode, plus_constant (TRAMP, 22)), FNADDR); \ - _addr = memory_address (SImode, (TRAMP)); \ - _func = gen_rtx (SYMBOL_REF, Pmode, "__enable_execute_stack"); \ - emit_library_call (_func, 0, VOIDmode, 1, _addr, Pmode); \ -} +#undef FINALIZE_TRAMPOLINE +#define FINALIZE_TRAMPOLINE(TRAMP) \ + emit_library_call(gen_rtx(SYMBOL_REF, Pmode, "__enable_execute_stack"), \ + 0, VOIDmode, 1, memory_address(SImode, (TRAMP)), Pmode) /* A C expression used to clear the instruction cache from address BEG to address END. On NeXTSTEP this i a system trap. */ --- gcc-2.7.2.3/config/m68k/t-linux.2723 Sat Jul 29 13:51:28 1995 +++ gcc-2.7.2.3/config/m68k/t-linux Mon Sep 23 18:17:40 2002 @@ -3,3 +3,8 @@ CROSS_LIBGCC1 = # On Linux we can print long double ENQUIRE_CFLAGS = -DNO_MEM -O0 +# Don't install "assert.h" in gcc. We use the one in glibc. +INSTALL_ASSERT_H = + +# Compile libgcc2.a with pic. +TARGET_LIBGCC2_CFLAGS = -fPIC --- gcc-2.7.2.3/config/m68k/t-linux-gnulibc1.2723 Mon Sep 23 18:16:57 2002 +++ gcc-2.7.2.3/config/m68k/t-linux-gnulibc1 Mon Sep 23 18:17:40 2002 @@ -0,0 +1,13 @@ +# We are building for the Linux C library 5. +T_CFLAGS = -DUSE_GNULIBC_1 + +# Don't make libgcc1.a +LIBGCC1 = +CROSS_LIBGCC1 = +# On Linux we can print long double +ENQUIRE_CFLAGS = -DNO_MEM -O0 +# Don't install "assert.h" in gcc. We use the one in glibc. +INSTALL_ASSERT_H = + +# Compile libgcc2.a with pic. +TARGET_LIBGCC2_CFLAGS = -fPIC --- gcc-2.7.2.3/config/t-linux.2723 Mon Sep 23 18:16:57 2002 +++ gcc-2.7.2.3/config/t-linux Mon Sep 23 18:17:40 2002 @@ -0,0 +1,10 @@ +# Don't run fixproto +STMP_FIXPROTO = + +# Don't install "assert.h" in gcc. We use the one in glibc. +INSTALL_ASSERT_H = + +# Compile crtbeginS.o and crtendS.o with pic. +CRTSTUFF_T_CFLAGS_S = -fPIC +# Compile libgcc2.a with pic. +TARGET_LIBGCC2_CFLAGS = -fPIC --- gcc-2.7.2.3/config/t-linux-gnulibc1.2723 Mon Sep 23 18:16:57 2002 +++ gcc-2.7.2.3/config/t-linux-gnulibc1 Mon Sep 23 18:17:40 2002 @@ -0,0 +1,13 @@ +# We are building for the Linux C library 5. +T_CFLAGS = -DUSE_GNULIBC_1 + +# Don't run fixproto +STMP_FIXPROTO = + +# Don't install "assert.h" in gcc. We use the one in glibc. +INSTALL_ASSERT_H = + +# Compile crtbeginS.o and crtendS.o with pic. +CRTSTUFF_T_CFLAGS_S = -fPIC +# Compile libgcc2.a with pic. +TARGET_LIBGCC2_CFLAGS = -fPIC --- gcc-2.7.2.3/config/t-linux-libc1.2723 Mon Sep 23 18:04:00 2002 +++ gcc-2.7.2.3/config/t-linux-libc1 Mon Sep 23 18:20:44 2002 @@ -1,3 +0,0 @@ -# This file is used for GNU/Linux systems using -# version 1 of the GNU C Library (Linux libc version 5). -T_CFLAGS = -DLIBC_VERSION_1 --- gcc-2.7.2.3/config.guess.2723 Mon Sep 23 18:04:01 2002 +++ gcc-2.7.2.3/config.guess Mon Sep 23 18:17:40 2002 @@ -335,9 +335,8 @@ # 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, # and between different C library versions. - test ! -d /usr/lib/ldscripts/. \ - && test ! -d /usr/*-*-linux*/lib/ldscripts \ - && echo "${UNAME_MACHINE}-unknown-linuxoldld" && exit 0 + 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 < @@ -350,10 +349,10 @@ # if __GLIBC__ >= 2 printf ("%s-unknown-linux\n", argv[1]); # else - printf ("%s-unknown-linuxlibc1\n", argv[1]); + printf ("%s-unknown-linux-gnulibc1\n", argv[1]); # endif # else - printf ("%s-unknown-linuxlibc1\n", argv[1]); + printf ("%s-unknown-linux-gnulibc1\n", argv[1]); # endif #else printf ("%s-unknown-linuxaout\n", argv[1]); --- gcc-2.7.2.3/config.sub.2723 Thu Jun 15 21:01:49 1995 +++ gcc-2.7.2.3/config.sub Mon Sep 23 18:17:41 2002 @@ -62,11 +62,21 @@ ;; 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 @@ 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 @@ 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 @@ 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 ;; --- gcc-2.7.2.3/configure.2723 Mon Sep 23 18:09:14 2002 +++ gcc-2.7.2.3/configure Mon Sep 23 18:17:42 2002 @@ -969,9 +969,6 @@ tm_file=i386/i386-coff.h tmake_file=i386/t-i386bare ;; - i[3456]86-*-gnu*) - cpu_type=i386 # GNU supports this CPU; rest done below. - ;; i[3456]86-*-isc*) # 80386 running ISC system cpu_type=i386 xm_file=i386/xm-isc.h @@ -1015,29 +1012,32 @@ broken_install=yes gnu_ld=yes ;; - i[3456]86-*-linuxlibc1*) # Intel 80386's running GNU/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-libc1 + tmake_file=t-linux-gnulibc1 tm_file=i386/linux.h fixincludes=Makefile.in # The headers are ok already. broken_install=yes gnu_ld=yes - # GNU libc v1 supplies these. - #extra_parts="crtbegin.o crtend.o" + 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 # The headers are ok already. broken_install=yes gnu_ld=yes # GNU libc version 2 does not supply these; # we want them from GCC. - extra_parts="crtbegin.o crtend.o" + extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o" + ;; + 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 @@ -1560,6 +1560,16 @@ extra_headers=math-68881.h gnu_ld=yes ;; + 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 @@ -1568,7 +1578,9 @@ fixincludes=Makefile.in # The headers are ok already. extra_headers=math-68881.h gnu_ld=yes - 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 @@ -2426,6 +2438,8 @@ 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 @@ -2592,6 +2606,7 @@ case $canon_host in *linux*) # All GNU/Linux systems use gcc as the native compiler. prefix=$native_prefix + gxx_include_dir=$prefix/include/g++ ;; esac --- gcc-2.7.2.3/cp/ChangeLog.2723 Tue Nov 21 01:15:21 1995 +++ gcc-2.7.2.3/cp/ChangeLog Mon Sep 23 18:17:45 2002 @@ -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 + + * lex.c (real_yylex): Fix handling of __PRETTY_FUNCTION__ like C + frontend. + +Thu Oct 26 16:45:58 1995 Brendan Kehoe + + * 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 * Version 2.7.2 released. --- gcc-2.7.2.3/cp/errfn.c.2723 Thu Oct 12 02:28:54 1995 +++ gcc-2.7.2.3/cp/errfn.c Mon Sep 23 18:17:45 2002 @@ -21,6 +21,7 @@ #include "config.h" #include "tree.h" +#include #include /* cp_printer is the type of a function which converts an argument into @@ -195,8 +196,7 @@ char *format; arglist_dcl { - extern errorfn sprintf; - cp_thing (sprintf, 0, format, arglist); + cp_thing ((errorfn *) sprintf, 0, format, arglist); } void --- gcc-2.7.2.3/cp/lex.c.2723 Sat Jun 29 16:27:28 1996 +++ gcc-2.7.2.3/cp/lex.c Mon Sep 23 18:17:46 2002 @@ -3381,7 +3381,12 @@ && 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; } } --- gcc-2.7.2.3/cse.c.2723 Mon Sep 23 17:46:50 2002 +++ gcc-2.7.2.3/cse.c Mon Sep 23 18:17:48 2002 @@ -7816,13 +7816,6 @@ 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); @@ -7831,6 +7824,13 @@ the proper equivalences. So promote "nonscalar" to be "all". */ 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))) --- gcc-2.7.2.3/function.c.2723 Sun Nov 26 19:50:26 1995 +++ gcc-2.7.2.3/function.c Mon Sep 23 18:17:49 2002 @@ -5229,7 +5229,9 @@ register int i; tree link; +#ifdef TRAMPOLINE_TEMPLATE static rtx initial_trampoline; +#endif if (output_bytecode) { @@ -5262,8 +5264,10 @@ 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 @@ = 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 (); --- gcc-2.7.2.3/gcc.c.2723 Tue Sep 12 21:15:11 1995 +++ gcc-2.7.2.3/gcc.c Mon Sep 23 18:17:50 2002 @@ -4275,6 +4275,16 @@ 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. --- gcc-2.7.2.3/install.texi.2723 Mon Sep 23 18:04:04 2002 +++ gcc-2.7.2.3/install.texi Mon Sep 23 18:17:51 2002 @@ -814,14 +814,15 @@ systems. This configuration is being superseded. You must use gas/binutils version 2.5.2 or later. -@item i386-*-linuxlibc1 +@item i386-*-linux-gnulibc1 Use this configuration to generate ELF binaries on Linux-based GNU -systems using GNU libc version 1 (Linux libc version 5). You must use -gas/binutils version 2.5.2 or later. +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 @@ -938,6 +939,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. --- gcc-2.7.2.3/install1.texi.2723 Mon Sep 23 18:16:58 2002 +++ gcc-2.7.2.3/install1.texi Mon Sep 23 18:17:51 2002 @@ -0,0 +1,15 @@ +@setfilename INSTALL +@set INSTALLONLY + +@c This file itself, install1.texi, does not apear in the GCC distribution. +@c The immediately following lines apply to the INSTALL file +@c which is generated using this file. +This file documents the installation of the GNU compiler. +Copyright (C) 1988, 1989, 1992, 1994, 1995 Free Software Foundation, Inc. +You may copy, distribute, and modify it freely as long as you preserve +this copyright notice and permission notice. + +@node Installation,,, (dir) +@chapter Installing GNU CC +@include install.texi +@bye --- gcc-2.7.2.3/unroll.c.2723 Sat Aug 19 21:33:26 1995 +++ gcc-2.7.2.3/unroll.c Mon Sep 23 18:17:52 2002 @@ -2908,12 +2908,19 @@ #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++; --- gcc-2.7.2.3/varasm.c.2723 Thu Aug 31 23:02:53 1995 +++ gcc-2.7.2.3/varasm.c Mon Sep 23 18:17:53 2002 @@ -1640,6 +1640,7 @@ 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 @@ = (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. --- gcc-2.7.2.3/version.c.2723 Mon Sep 23 18:04:03 2002 +++ gcc-2.7.2.3/version.c Mon Sep 23 18:17:53 2002 @@ -1 +1 @@ -char *version_string = "2.7.2.2"; +char *version_string = "2.7.2.3";