*** If this patch doesn't apply properly, pass the -p1 argument to `patch'. *** It's probably a good idea to do that anyway. Send comments or bug reports to dje@cygnus.com. Fri Jun 16 13:06:54 1995 * Makefile.in (objc): Don't build objc-runtime, must be done later. (distclean): rm float.h. * config/float.h-ieee: New file. * config/float.h-vax: New file. * i386/t-go32 (LIBGCC1, CROSS_LIBGCC1): Define as null. * i386/xm-go32.h: New file. * config.sub: Recognize go32* and sim* as os's. * configure: Handle float_format. (i[345]86-*-go32): Define xm_file and tmake_file. (LIBGCC2_FLAGS): Define inhibit_libc if cross compiler. diff -rcp2N /tege/gcc/gcc-2.7.0/Makefile.in ./Makefile.in *** /tege/gcc/gcc-2.7.0/Makefile.in Thu Jun 15 04:01:43 1995 --- ./Makefile.in Fri Jun 16 12:59:24 1995 *************** native: config.status cpp $(LANGUAGES) $ *** 625,630 **** # Define the names for selecting languages in LANGUAGES. C c: cc1 ! OBJC objc: cc1obj objc-runtime ! OBJECTIVE-C objective-c: cc1obj objc-runtime PROTO: proto --- 625,631 ---- # Define the names for selecting languages in LANGUAGES. C c: cc1 ! # Don't build objc-runtime. For a cross compiler, it must be built later. ! OBJC objc: cc1obj ! OBJECTIVE-C objective-c: cc1obj PROTO: proto *************** distclean: clean bytecode.distclean lang *** 1945,1948 **** --- 1946,1950 ---- -rm -f c-parse.output -rm -f *.asm + -rm -f float.h # Delete anything likely to be found in the source directory diff -rcp2N /tege/gcc/gcc-2.7.0/config/float.h-ieee ./config/float.h-ieee *** /tege/gcc/gcc-2.7.0/config/float.h-ieee Wed Dec 31 16:00:00 1969 --- ./config/float.h-ieee Fri Jun 16 12:59:24 1995 *************** *** 0 **** --- 1,96 ---- + /* float.h */ + #ifndef _FLOAT_H_ + #define _FLOAT_H_ + /* Produced by enquire version 4.3, CWI, Amsterdam */ + + /* Radix of exponent representation */ + #undef FLT_RADIX + #define FLT_RADIX 2 + /* Number of base-FLT_RADIX digits in the significand of a float */ + #undef FLT_MANT_DIG + #define FLT_MANT_DIG 24 + /* Number of decimal digits of precision in a float */ + #undef FLT_DIG + #define FLT_DIG 6 + /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ + #undef FLT_ROUNDS + #define FLT_ROUNDS 1 + /* Difference between 1.0 and the minimum float greater than 1.0 */ + #undef FLT_EPSILON + #define FLT_EPSILON 1.19209290e-07F + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ + #undef FLT_MIN_EXP + #define FLT_MIN_EXP (-125) + /* Minimum normalised float */ + #undef FLT_MIN + #define FLT_MIN 1.17549435e-38F + /* Minimum int x such that 10**x is a normalised float */ + #undef FLT_MIN_10_EXP + #define FLT_MIN_10_EXP (-37) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ + #undef FLT_MAX_EXP + #define FLT_MAX_EXP 128 + /* Maximum float */ + #undef FLT_MAX + #define FLT_MAX 3.40282347e+38F + /* Maximum int x such that 10**x is a representable float */ + #undef FLT_MAX_10_EXP + #define FLT_MAX_10_EXP 38 + + /* Number of base-FLT_RADIX digits in the significand of a double */ + #undef DBL_MANT_DIG + #define DBL_MANT_DIG 53 + /* Number of decimal digits of precision in a double */ + #undef DBL_DIG + #define DBL_DIG 15 + /* Difference between 1.0 and the minimum double greater than 1.0 */ + #undef DBL_EPSILON + #define DBL_EPSILON 2.2204460492503131e-16 + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ + #undef DBL_MIN_EXP + #define DBL_MIN_EXP (-1021) + /* Minimum normalised double */ + #undef DBL_MIN + #define DBL_MIN 2.2250738585072014e-308 + /* Minimum int x such that 10**x is a normalised double */ + #undef DBL_MIN_10_EXP + #define DBL_MIN_10_EXP (-307) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ + #undef DBL_MAX_EXP + #define DBL_MAX_EXP 1024 + /* Maximum double */ + #undef DBL_MAX + #define DBL_MAX 1.7976931348623157e+308 + /* Maximum int x such that 10**x is a representable double */ + #undef DBL_MAX_10_EXP + #define DBL_MAX_10_EXP 308 + + /* Number of base-FLT_RADIX digits in the significand of a long double */ + #undef LDBL_MANT_DIG + #define LDBL_MANT_DIG 53 + /* Number of decimal digits of precision in a long double */ + #undef LDBL_DIG + #define LDBL_DIG 15 + /* Difference between 1.0 and the minimum long double greater than 1.0 */ + #undef LDBL_EPSILON + #define LDBL_EPSILON 2.2204460492503131e-16L + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ + #undef LDBL_MIN_EXP + #define LDBL_MIN_EXP (-1021) + /* Minimum normalised long double */ + #undef LDBL_MIN + #define LDBL_MIN 2.2250738585072014e-308L + /* Minimum int x such that 10**x is a normalised long double */ + #undef LDBL_MIN_10_EXP + #define LDBL_MIN_10_EXP (-307) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ + #undef LDBL_MAX_EXP + #define LDBL_MAX_EXP 1024 + /* Maximum long double */ + #undef LDBL_MAX + #define LDBL_MAX 1.7976931348623157e+308L + /* Maximum int x such that 10**x is a representable long double */ + #undef LDBL_MAX_10_EXP + #define LDBL_MAX_10_EXP 308 + + #endif /* _FLOAT_H_ */ diff -rcp2N /tege/gcc/gcc-2.7.0/config/float.h-vax ./config/float.h-vax *** /tege/gcc/gcc-2.7.0/config/float.h-vax Wed Dec 31 16:00:00 1969 --- ./config/float.h-vax Fri Jun 16 12:59:25 1995 *************** *** 0 **** --- 1,96 ---- + /* float.h */ + #ifndef _FLOAT_H_ + #define _FLOAT_H_ + /* Produced by enquire version 4.3, CWI, Amsterdam */ + + /* Radix of exponent representation */ + #undef FLT_RADIX + #define FLT_RADIX 2 + /* Number of base-FLT_RADIX digits in the significand of a float */ + #undef FLT_MANT_DIG + #define FLT_MANT_DIG 24 + /* Number of decimal digits of precision in a float */ + #undef FLT_DIG + #define FLT_DIG 6 + /* Addition rounds to 0: zero, 1: nearest, 2: +inf, 3: -inf, -1: unknown */ + #undef FLT_ROUNDS + #define FLT_ROUNDS 1 + /* Difference between 1.0 and the minimum float greater than 1.0 */ + #undef FLT_EPSILON + #define FLT_EPSILON 1.19209290e-07F + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised float */ + #undef FLT_MIN_EXP + #define FLT_MIN_EXP (-127) + /* Minimum normalised float */ + #undef FLT_MIN + #define FLT_MIN 2.93873588e-39F + /* Minimum int x such that 10**x is a normalised float */ + #undef FLT_MIN_10_EXP + #define FLT_MIN_10_EXP (-38) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable float */ + #undef FLT_MAX_EXP + #define FLT_MAX_EXP 127 + /* Maximum float */ + #undef FLT_MAX + #define FLT_MAX 1.70141173e+38F + /* Maximum int x such that 10**x is a representable float */ + #undef FLT_MAX_10_EXP + #define FLT_MAX_10_EXP 38 + + /* Number of base-FLT_RADIX digits in the significand of a double */ + #undef DBL_MANT_DIG + #define DBL_MANT_DIG 56 + /* Number of decimal digits of precision in a double */ + #undef DBL_DIG + #define DBL_DIG 16 + /* Difference between 1.0 and the minimum double greater than 1.0 */ + #undef DBL_EPSILON + #define DBL_EPSILON 2.77555756156289135e-17 + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ + #undef DBL_MIN_EXP + #define DBL_MIN_EXP (-127) + /* Minimum normalised double */ + #undef DBL_MIN + #define DBL_MIN 2.93873587705571877e-39 + /* Minimum int x such that 10**x is a normalised double */ + #undef DBL_MIN_10_EXP + #define DBL_MIN_10_EXP (-38) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ + #undef DBL_MAX_EXP + #define DBL_MAX_EXP 127 + /* Maximum double */ + #undef DBL_MAX + #define DBL_MAX 1.70141183460469229e+38 + /* Maximum int x such that 10**x is a representable double */ + #undef DBL_MAX_10_EXP + #define DBL_MAX_10_EXP 38 + + /* Number of base-FLT_RADIX digits in the significand of a long double */ + #undef LDBL_MANT_DIG + #define LDBL_MANT_DIG 56 + /* Number of decimal digits of precision in a long double */ + #undef LDBL_DIG + #define LDBL_DIG 16 + /* Difference between 1.0 and the minimum long double greater than 1.0 */ + #undef LDBL_EPSILON + #define LDBL_EPSILON 2.77555756156289135e-17 + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ + #undef LDBL_MIN_EXP + #define LDBL_MIN_EXP (-127) + /* Minimum normalised long double */ + #undef LDBL_MIN + #define LDBL_MIN 2.93873587705571877e-39 + /* Minimum int x such that 10**x is a normalised long double */ + #undef LDBL_MIN_10_EXP + #define LDBL_MIN_10_EXP (-38) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ + #undef LDBL_MAX_EXP + #define LDBL_MAX_EXP 127 + /* Maximum long double */ + #undef LDBL_MAX + #define LDBL_MAX 1.70141183460469229e+38 + /* Maximum int x such that 10**x is a representable long double */ + #undef LDBL_MAX_10_EXP + #define LDBL_MAX_10_EXP 38 + + #endif /* _FLOAT_H_ */ diff -rcp2N /tege/gcc/gcc-2.7.0/config/i386/t-go32 ./config/i386/t-go32 *** /tege/gcc/gcc-2.7.0/config/i386/t-go32 Wed Dec 31 16:00:00 1969 --- ./config/i386/t-go32 Fri Jun 16 12:59:25 1995 *************** *** 0 **** --- 1,2 ---- + LIBGCC1 = libgcc1.null + CROSS_LIBGCC1 = libgcc1.null diff -rcp2N /tege/gcc/gcc-2.7.0/config/i386/xm-go32.h ./config/i386/xm-go32.h *** /tege/gcc/gcc-2.7.0/config/i386/xm-go32.h Wed Dec 31 16:00:00 1969 --- ./config/i386/xm-go32.h Fri Jun 16 12:59:25 1995 *************** *** 0 **** --- 1,28 ---- + /* Configuration for GNU C-compiler for Intel 80386. + Copyright (C) 1988, 1995 Free Software Foundation, Inc. + + This file is part of GNU CC. + + GNU CC 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. + + GNU CC 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 GNU CC; see the file COPYING. If not, write to + the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ + + #undef __MSDOS__ + #define __MSDOS__ + + #define NO_STAB_H + + #include "i386/xm-i386.h" + + /* Use semicolons to separate elements of a path. */ + #define PATH_SEPARATOR ';' diff -rcp2N /tege/gcc/gcc-2.7.0/config.sub ./config.sub *** /tege/gcc/gcc-2.7.0/config.sub Thu Jun 15 14:01:49 1995 --- ./config.sub Fri Jun 16 12:59:25 1995 *************** case $os in *** 642,646 **** | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ ! | -udi* | -eabi* | -lites* ) # Remember, each alternative MUST END IN *, to match a version number. ;; --- 642,646 ---- | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ ! | -udi* | -eabi* | -lites* | -go32* | -sim*) # Remember, each alternative MUST END IN *, to match a version number. ;; diff -rcp2N /tege/gcc/gcc-2.7.0/configure ./configure *** /tege/gcc/gcc-2.7.0/configure Thu Jun 15 14:54:14 1995 --- ./configure Fri Jun 16 12:59:26 1995 *************** for machine in $canon_build $canon_host *** 492,495 **** --- 492,496 ---- extra_programs= extra_objs= + float_format= # Set this to force installation and use of collect2. use_collect2= *************** for machine in $canon_build $canon_host *** 1007,1013 **** ;; i[345]86-go32-msdos | i[345]86-*-go32) ! cpu_type=i386 ! tm_file=i386/go32.h ! ;; i[345]86-*-lynxos*) cpu_type=i386 --- 1008,1016 ---- ;; i[345]86-go32-msdos | i[345]86-*-go32) ! cpu_type=i386 ! xm_file=i386/xm-go32.h ! tm_file=i386/go32.h ! tmake_file=i386/t-go32 ! ;; i[345]86-*-lynxos*) cpu_type=i386 *************** for machine in $canon_build $canon_host *** 2288,2295 **** --- 2291,2300 ---- vax-*-bsd*) # vaxen running BSD use_collect2=yes + float_format=vax ;; vax-*-sysv*) # vaxen running system V xm_file=vax/xm-vaxv.h tm_file=vax/vaxv.h + float_format=vax ;; vax-*-netbsd*) *************** for machine in $canon_build $canon_host *** 2300,2311 **** --- 2305,2319 ---- fixincludes=Makefile.in xmake_file=x-netbsd + float_format=vax ;; vax-*-ultrix*) # vaxen running ultrix tm_file=vax/ultrix.h use_collect2=yes + float_format=vax ;; vax-*-vms*) # vaxen running VMS xm_file=vax/xm-vms.h tm_file=vax/vms.h + float_format=vax ;; pdp11-*-*) *************** then tmake_file=$cpu_type/t-$cpu_type *** 2435,2438 **** --- 2443,2450 ---- fi + if [ x$float_format = x ] + then float_format=ieee + fi + # Say what files are being used for the output code and MD file. echo "Using \`$srcdir/config/$out_file' to output insns." *************** MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA *** 2756,2759 **** --- 2768,2777 ---- mv Makefile.xx Makefile.tem fi + # Define variables host_canonical, build_canonical, and target_canonical. + echo host_canonical = ${canon_host} > Makefile.xx + echo target_canonical = ${canon_target} >> Makefile.xx + echo build_canonical = ${canon_build} >> Makefile.xx + cat Makefile.tem >> Makefile.xx + mv Makefile.xx Makefile.tem # Conditionalize the makefile for this target machine. *************** MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA *** 2773,2776 **** --- 2791,2804 ---- fi + # If this is a cross compilation, then define inhibit_libc in + # LIBGCC2_CFLAGS. This will cause __eprintf to be left out of + # libgcc.a, but that's OK because libc should have its own version of + # assert.h. + if [ x$host != x$target ]; then + sed -e 's/^\(LIBGCC2_CFLAGS[ ]*=[ ]*\)/\1-Dinhibit_libc /' Makefile.tem > Makefile.tem2 + rm -f Makefile.tem + mv Makefile.tem2 Makefile.tem + fi + # If this is the top level Makefile, add the language fragments. # Languages are added via two mechanisms. Some information must be *************** MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA *** 2895,2900 **** # `tmake_file', `prefix', `local_prefix', `exec_prefix', `FIXINCLUDES' # `out_file', `out_object', `md_file', `lang_specs_files', ! # `lang_options_files', and `INSTALL_HEADERS_DIR' values in the ! # Makefile from the values they have in this script. rm -f Makefile.xx rm -f aux-output.c aux-output.o md --- 2923,2930 ---- # `tmake_file', `prefix', `local_prefix', `exec_prefix', `FIXINCLUDES' # `out_file', `out_object', `md_file', `lang_specs_files', ! # `lang_options_files', `INSTALL_HEADERS_DIR', `FLOAT_H' and ! # `CROSS_FLOAT_H' values in the Makefile from the values they ! # have in this script. ! rm -f Makefile.xx rm -f aux-output.c aux-output.o md *************** MAYBE_TARGET_DEFAULT = -DTARGET_CPU_DEFA *** 2919,2922 **** --- 2949,2954 ---- echo "s|^FIXINCLUDES[ ]*=.*|FIXINCLUDES = $fixincludes|" >> Makefile.sed echo "s|^INSTALL_HEADERS_DIR[ ]*=.*$|INSTALL_HEADERS_DIR = ${host_install_headers_dir}|" >> Makefile.sed + echo "s|^FLOAT_H[ ]*=.*|FLOAT_H=\$(srcdir)/config/float.h-${float_format}|" >> Makefile.sed + echo "s|^CROSS_FLOAT_H[ ]*=.*|CROSS_FLOAT_H=\$(srcdir)/config/float.h-${float_format}|" >> Makefile.sed sed -f Makefile.sed Makefile.tem > Makefile.xx rm -f Makefile.tem Makefile.sed