*** 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. Tue Nov 21 13:24:41 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-i32: 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* as an os. * 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.1/Makefile.in ./Makefile.in *** /tege/gcc/gcc-2.7.1/Makefile.in Sat Nov 11 05:24:08 1995 --- ./Makefile.in Tue Nov 21 13:26:37 1995 *************** native: config.status cpp $(LANGUAGES) $ *** 636,641 **** # 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 --- 636,642 ---- # 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 *** 1981,1984 **** --- 1982,1986 ---- -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.1/config/float.h-i32 ./config/float.h-i32 *** /tege/gcc/gcc-2.7.1/config/float.h-i32 Wed Dec 31 16:00:00 1969 --- ./config/float.h-i32 Tue Nov 21 12:59:19 1995 *************** *** 0 **** --- 1,96 ---- + /* float.h for target with only IEEE 32 bit floating point format */ + #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 24 + /* Number of decimal digits of precision in a double */ + #undef DBL_DIG + #define DBL_DIG 6 + /* Difference between 1.0 and the minimum double greater than 1.0 */ + #undef DBL_EPSILON + #define DBL_EPSILON 1.19209290e-07F + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised double */ + #undef DBL_MIN_EXP + #define DBL_MIN_EXP (-125) + /* Minimum normalised double */ + #undef DBL_MIN + #define DBL_MIN 1.17549435e-38F + /* Minimum int x such that 10**x is a normalised double */ + #undef DBL_MIN_10_EXP + #define DBL_MIN_10_EXP (-37) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable double */ + #undef DBL_MAX_EXP + #define DBL_MAX_EXP 128 + /* Maximum double */ + #undef DBL_MAX + #define DBL_MAX 3.40282347e+38F + /* 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 24 + /* Number of decimal digits of precision in a long double */ + #undef LDBL_DIG + #define LDBL_DIG 6 + /* Difference between 1.0 and the minimum long double greater than 1.0 */ + #undef LDBL_EPSILON + #define LDBL_EPSILON 1.19209290e-07F + /* Minimum int x such that FLT_RADIX**(x-1) is a normalised long double */ + #undef LDBL_MIN_EXP + #define LDBL_MIN_EXP (-125) + /* Minimum normalised long double */ + #undef LDBL_MIN + #define LDBL_MIN 1.17549435e-38F + /* Minimum int x such that 10**x is a normalised long double */ + #undef LDBL_MIN_10_EXP + #define LDBL_MIN_10_EXP (-37) + /* Maximum int x such that FLT_RADIX**(x-1) is a representable long double */ + #undef LDBL_MAX_EXP + #define LDBL_MAX_EXP 128 + /* Maximum long double */ + #undef LDBL_MAX + #define LDBL_MAX 3.40282347e+38F + /* 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.1/config/float.h-ieee ./config/float.h-ieee *** /tege/gcc/gcc-2.7.1/config/float.h-ieee Wed Dec 31 16:00:00 1969 --- ./config/float.h-ieee Tue Nov 21 12:26:58 1995 *************** *** 0 **** --- 1,96 ---- + /* float.h for target with IEEE 32 bit and 64 bit floating point formats */ + #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.1/config/float.h-vax ./config/float.h-vax *** /tege/gcc/gcc-2.7.1/config/float.h-vax Wed Dec 31 16:00:00 1969 --- ./config/float.h-vax Tue Nov 21 12:27:01 1995 *************** *** 0 **** --- 1,96 ---- + /* float.h for target with VAX floating point formats */ + #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.1/config/i386/t-go32 ./config/i386/t-go32 *** /tege/gcc/gcc-2.7.1/config/i386/t-go32 Wed Dec 31 16:00:00 1969 --- ./config/i386/t-go32 Tue Nov 21 12:28:00 1995 *************** *** 0 **** --- 1,2 ---- + LIBGCC1 = libgcc1.null + CROSS_LIBGCC1 = libgcc1.null diff -rcp2N /tege/gcc/gcc-2.7.1/config/i386/xm-go32.h ./config/i386/xm-go32.h *** /tege/gcc/gcc-2.7.1/config/i386/xm-go32.h Wed Dec 31 16:00:00 1969 --- ./config/i386/xm-go32.h Tue Nov 21 12:28:06 1995 *************** *** 0 **** --- 1,27 ---- + /* Configuration for GNU C-compiler for Intel 80386. + Copyright (C) 1988 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. */ + + #define __MSDOS__ 1 + + #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.1/config.sub ./config.sub *** /tege/gcc/gcc-2.7.1/config.sub Thu Jun 15 14:01:49 1995 --- ./config.sub Tue Nov 21 12:37:52 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* ) # Remember, each alternative MUST END IN *, to match a version number. ;; diff -rcp2N /tege/gcc/gcc-2.7.1/configure ./configure *** /tege/gcc/gcc-2.7.1/configure Thu Oct 26 15:03:09 1995 --- ./configure Tue Nov 21 13:58:54 1995 *************** for machine in $canon_build $canon_host *** 493,496 **** --- 493,497 ---- extra_objs= extra_gcc_objs= + float_format= # Set this to force installation and use of collect2. use_collect2= *************** for machine in $canon_build $canon_host *** 671,674 **** --- 672,676 ---- h8300-*-*) cpu_type=h8300 + float_format=i32 ;; hppa1.1-*-osf*) *************** for machine in $canon_build $canon_host *** 1011,1018 **** #extra_parts="crtbegin.o crtend.o" ;; ! i[345]86-go32-msdos | i[345]86-*-go32) ! cpu_type=i386 ! tm_file=i386/go32.h ! ;; i[345]86-*-lynxos*) cpu_type=i386 --- 1013,1022 ---- #extra_parts="crtbegin.o crtend.o" ;; ! 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 *** 2337,2344 **** --- 2341,2350 ---- 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 *** 2349,2360 **** --- 2355,2372 ---- 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 + ;; + vax-*-*) # vax default entry + float_format=vax ;; pdp11-*-bsd) *************** then tmake_file=$cpu_type/t-$cpu_type *** 2490,2493 **** --- 2502,2509 ---- 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 *** 2839,2842 **** --- 2855,2868 ---- 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 *** 2961,2966 **** # `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 --- 2987,2993 ---- # `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 *** 2987,2990 **** --- 3014,3019 ---- 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