This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

fpbit/dpbit stuff



This has been on my todo for a long long time...

Lots of ports include routines from fp-bit.c in their libgcc to provide
software emulated floating point.

The vast majority of ports would do this by compiling all the routines for
single precision into one .o file (fp-bit.o) and all the double precision
routines into another .o file (dp-bit.o).

Worse yet, there were dependencies between the .o files for the conversion
routines.  Ugh.

So, if some poor bastard had code which just did (for example) single
precision FP adds, they would end up with *all* the single precision emulation
routines as well as *all* the double precision emulation routines.  Not good.
(Oh yea, those generally ended up bringing in most of the DImode routines from
libgcc also...)  Just plain nasty...

To combat this I wrote support for putting each function into its own
.o file, and enabled it for a few isolated targets.

This patch converts the rest of the targets to use that scheme.

	* a29k/t-a29kbare: Fix some comments.
	(LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c
	(FPBIT, DPBIT): Define.
	* a29k/t-vx29k: Likewise.
	* arc/t-arc: Likewise.
	* arm/t-arm-elf: Likewise.
	* arm/t-bare: Likewise.
	* arm/t-pe: Likewise.
	* arm/t-pe-thumb: Likewise.
	* arm/t-semi: Likewise.
	* arm/t-thumb: Likewise.
	* arm/t-thumb-elf: Likewise.
	* arm/t-thumb-linux: Likewise.
	* h8300/t-h8300: Likewise.
	* i960/t-i960: Likewise.
	* i960/t-vxworks960: Likewise.
	* m32r/t-m32r: Likewise.
	* mips/t-ecoff: Likewise.
	* mips/t-elf: Likewise.
	* mips/t-r3900: Likewise.
	* pa/t-pro: Likewise.
	* rs6000/t-aix43: Likewise.
	* rs6000/t-beos: Likewise.
	* rs6000/t-newas: Likewise.
	* rs6000/t-ppccomm: Likewise.
	* rs6000/t-rs6000: Likewise.
	* rs6000/t-winnt: Likewise.
	* rs6000/t-xnewas: Likewise.
	* rs6000/t-xrs6000: Likewise.
	* sh/t-sh: Likewise.
	* sparc/t-elf: Likewise.
	* sparc/t-sparcbare: Likewise.
	* sparc/t-sparclite: Likewise.
	* sparc/t-splet: Likewise.
	* v850/t-v850: Likewise.
	* mn10200/t-mn10200: Fix comments.
	* mn10300/t-mn10300: Likewise.

Index: a29k/t-a29kbare
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/a29k/t-a29kbare,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-a29kbare
*** t-a29kbare	1998/12/16 21:00:39	1.2
--- t-a29kbare	1999/08/05 03:04:40
*************** CROSS_LIBGCC1 =
*** 4,13 ****
  # We need crt0.o.
  LIBGCC1_TEST =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... 
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 4,13 ----
  # We need crt0.o.
  LIBGCC1_TEST =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: a29k/t-vx29k
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/a29k/t-vx29k,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-vx29k
*** t-vx29k	1998/12/16 21:00:41	1.3
--- t-vx29k	1999/08/05 03:04:40
*************** LIBGCC1_TEST =
*** 7,13 ****
  # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
  # does not have _exit.
  TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 7,17 ----
  # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
  # does not have _exit.
  TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: arc/t-arc
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arc/t-arc,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-arc
*** t-arc	1998/12/16 21:01:23	1.2
--- t-arc	1999/08/05 03:04:40
*************** LIB1ASMFUNCS = _mulsi3 _umulsidi3 _udivs
*** 7,16 ****
  # ??? -mmangle-cpu passed by default for now.
  #LIBGCC2_CFLAGS = -g1 -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -mmangle-cpu
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifndef __big_endian__' > dp-bit.c
--- 7,16 ----
  # ??? -mmangle-cpu passed by default for now.
  #LIBGCC2_CFLAGS = -g1 -O2 $(LIBGCC2_INCLUDES) $(GCC_CFLAGS) -mmangle-cpu
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifndef __big_endian__' > dp-bit.c
Index: arm/t-arm-elf
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-arm-elf,v
retrieving revision 1.8
diff -c -3 -p -r1.8 t-arm-elf
*** t-arm-elf	1999/03/26 14:43:15	1.8
--- t-arm-elf	1999/08/05 03:04:40
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 2,11 ****
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 2,11 ----
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-bare
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-bare,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-bare
*** t-bare	1998/12/16 21:01:50	1.2
--- t-bare	1999/08/05 03:04:40
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 2,11 ****
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 2,11 ----
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-pe
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-pe,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-pe
*** t-pe	1998/12/16 21:01:53	1.2
--- t-pe	1999/08/05 03:04:40
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 2,11 ****
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 2,11 ----
  LIB1ASMSRC = arm/lib1funcs.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-pe-thumb
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-pe-thumb,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-pe-thumb
*** t-pe-thumb	1999/07/01 01:18:33	1.3
--- t-pe-thumb	1999/08/05 03:04:40
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 5,14 ****
  LIB1ASMSRC = arm/lib1thumb.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 5,14 ----
  LIB1ASMSRC = arm/lib1thumb.asm
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-semi
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-semi,v
retrieving revision 1.6
diff -c -3 -p -r1.6 t-semi
*** t-semi	1999/02/03 06:30:54	1.6
--- t-semi	1999/08/05 03:04:41
*************** LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3
*** 17,26 ****
  #Don't try to run fixproto
  STMP_FIXPROTO =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __SOFTFP__' > fp-bit.c
--- 17,26 ----
  #Don't try to run fixproto
  STMP_FIXPROTO =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __SOFTFP__' > fp-bit.c
Index: arm/t-thumb
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-thumb,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-thumb
*** t-thumb	1998/12/16 21:01:57	1.3
--- t-thumb	1999/08/05 03:04:41
*************** LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3
*** 4,13 ****
  # adddi3/subdi3 added to machine description
  #LIB1ASMFUNCS = _adddi3 _subdi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 4,13 ----
  # adddi3/subdi3 added to machine description
  #LIB1ASMFUNCS = _adddi3 _subdi3 _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-thumb-elf
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-thumb-elf,v
retrieving revision 1.1
diff -c -3 -p -r1.1 t-thumb-elf
*** t-thumb-elf	1999/06/11 06:24:55	1.1
--- t-thumb-elf	1999/08/05 03:04:41
*************** LIB1ASMSRC = arm/lib1thumb.asm
*** 3,12 ****
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  # adddi3/subdi3 added to machine description
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 3,12 ----
  LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _call_via_rX 
_interwork_call_via_rX
  # adddi3/subdi3 added to machine description
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: arm/t-thumb-linux
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/arm/t-thumb-linux,v
retrieving revision 1.1
diff -c -3 -p -r1.1 t-thumb-linux
*** t-thumb-linux	1999/07/28 08:52:05	1.1
--- t-thumb-linux	1999/08/05 03:04:41
*************** EXTRA_MULTILIB_PARTS = crtbegin.o crtend
*** 21,27 ****
  LIBGCC = stmp-multilib
  INSTALL_LIBGCC = install-multilib
  
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 21,30 ----
  LIBGCC = stmp-multilib
  INSTALL_LIBGCC = install-multilib
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: h8300/t-h8300
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/h8300/t-h8300,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-h8300
*** t-h8300	1998/12/16 21:02:56	1.4
--- t-h8300	1999/08/05 03:04:41
*************** LIB1ASMFUNCS = _cmpsi2 _ucmpsi2 _divhi3 
*** 5,11 ****
  # We do not have DF or DI types, so fake out the libgcc2 compilation.
  TARGET_LIBGCC2_CFLAGS = -DDF=SF -DDI=SI
  
! LIB2FUNCS_EXTRA = fp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
--- 5,13 ----
  # We do not have DF or DI types, so fake out the libgcc2 compilation.
  TARGET_LIBGCC2_CFLAGS = -DDF=SF -DDI=SI
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
  
  fp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT' > fp-bit.c
Index: m32r/t-m32r
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/m32r/t-m32r,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-m32r
*** t-m32r	1999/07/26 12:19:16	1.4
--- t-m32r	1999/08/05 03:04:41
***************
*** 1,10 ****
  # lib1funcs.asm is currently empty.
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  # Turn off the SDA while compiling libgcc2.  There are no headers for it
  # and we want maximal upward compatibility here.
--- 1,10 ----
  # lib1funcs.asm is currently empty.
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  # Turn off the SDA while compiling libgcc2.  There are no headers for it
  # and we want maximal upward compatibility here.
Index: mips/t-ecoff
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/mips/t-ecoff,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-ecoff
*** t-ecoff	1998/12/16 21:09:37	1.3
--- t-ecoff	1999/08/05 03:04:41
*************** TARGET_LIBGCC2_CFLAGS = -G 0
*** 32,38 ****
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
--- 32,41 ----
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
Index: mips/t-elf
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/mips/t-elf,v
retrieving revision 1.1
diff -c -3 -p -r1.1 t-elf
*** t-elf	1999/04/14 10:46:48	1.1
--- t-elf	1999/08/05 03:04:41
*************** TARGET_LIBGCC2_CFLAGS = -G 0
*** 36,42 ****
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
--- 36,45 ----
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
Index: mips/t-r3900
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/mips/t-r3900,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-r3900
*** t-r3900	1999/04/14 10:46:49	1.3
--- t-r3900	1999/08/05 03:04:41
*************** TARGET_LIBGCC2_CFLAGS = -G 0
*** 32,38 ****
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
--- 32,41 ----
  
  # fp-bit and dp-bit are really part of libgcc1, but this will cause
  # them to be built correctly, so... [taken from t-sparclite]
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __MIPSEL__' > dp-bit.c
Index: mn10200/t-mn10200
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/mn10200/t-mn10200,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-mn10200
*** t-mn10200	1998/12/16 21:10:17	1.4
--- t-mn10200	1999/08/05 03:04:41
*************** LIB1ASMFUNCS    = _divhi3 \
*** 31,39 ****
  		  _epilogue_noreturn
  
  
- # These are really part of libgcc1, but this will cause them to be
- # built correctly, so...
- 
  # We do not have DF or DI types, so fake out the libgcc2 compilation.
  TARGET_LIBGCC2_CFLAGS=-DDF=SF -DDI=SI
  LIB2FUNCS_EXTRA = $(srcdir)/config/mn10200/udivmodsi4.c \
--- 31,36 ----
Index: mn10300/t-mn10300
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/mn10300/t-mn10300,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-mn10300
*** t-mn10300	1998/12/16 21:10:26	1.3
--- t-mn10300	1999/08/05 03:04:41
***************
*** 1,9 ****
  LIBGCC1=libgcc1.null
  CROSS_LIBGCC1=libgcc1.null
  
- # These are really part of libgcc1, but this will cause them to be
- # built correctly, so...
- 
  # We want fine grained libraries, so use the new code to build the
  # floating point emulation libraries.
  FPBIT = fp-bit.c
--- 1,6 ----
Index: pa/t-pro
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/pa/t-pro,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-pro
*** t-pro	1999/07/16 20:07:55	1.3
--- t-pro	1999/08/05 03:04:41
*************** LIBGCC1_TEST =
*** 7,13 ****
  
  ADA_CFLAGS=-mdisable-indexing
  
! LIB2FUNCS_EXTRA=fp-bit.c dp-bit.c lib2funcs.asm 
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 7,19 ----
  
  ADA_CFLAGS=-mdisable-indexing
  
! LIB2FUNCS_EXTRA=lib2funcs.asm 
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
! 
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-aix43
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-aix43,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-aix43
*** t-aix43	1999/08/02 20:20:12	1.3
--- t-aix43	1999/08/05 03:04:41
***************
*** 2,10 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 2,11 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-beos
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-beos,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-beos
*** t-beos	1998/12/16 21:12:22	1.2
--- t-beos	1999/08/05 03:04:41
***************
*** 2,10 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 2,11 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-newas
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-newas,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-newas
*** t-newas	1998/12/16 21:12:24	1.2
--- t-newas	1999/08/05 03:04:41
***************
*** 2,10 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 2,11 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-ppccomm
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-ppccomm,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-ppccomm
*** t-ppccomm	1998/12/16 21:12:26	1.4
--- t-ppccomm	1999/08/05 03:04:41
*************** CROSS_LIBGCC1 =
*** 6,12 ****
  
  # These are really part of libgcc1, but this will cause them to be
  # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c eabi.S eabi-ctors.c tramp.S
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 6,18 ----
  
  # These are really part of libgcc1, but this will cause them to be
  # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = eabi.S eabi-ctors.c tramp.S
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
! 
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-rs6000
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-rs6000,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-rs6000
*** t-rs6000	1998/12/16 21:12:29	1.2
--- t-rs6000	1999/08/05 03:04:41
***************
*** 2,10 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 2,11 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-winnt
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-winnt,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-winnt
*** t-winnt	1998/12/16 21:12:30	1.2
--- t-winnt	1999/08/05 03:04:41
*************** EXTRA_PARTS = crti.o crtn.o
*** 6,12 ****
  
  # These are really part of libgcc1, but this will cause them to be
  # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c ntstack.S
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 6,18 ----
  
  # These are really part of libgcc1, but this will cause them to be
  # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = ntstack.S
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
! 
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-xnewas
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-xnewas,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-xnewas
*** t-xnewas	1998/12/16 21:12:31	1.2
--- t-xnewas	1999/08/05 03:04:41
*************** LIBGCC1_TEST =
*** 8,16 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 8,17 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: rs6000/t-xrs6000
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/rs6000/t-xrs6000,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-xrs6000
*** t-xrs6000	1998/12/16 21:12:32	1.2
--- t-xrs6000	1999/08/05 03:04:41
*************** LIBGCC1_TEST =
*** 8,16 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so... [taken from t-sparclite]
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 8,17 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: sh/t-sh
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/sh/t-sh,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-sh
*** t-sh	1998/12/16 21:13:01	1.4
--- t-sh	1999/08/05 03:04:41
*************** LIB1ASMSRC = sh/lib1funcs.asm
*** 3,12 ****
  LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
    _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
--- 3,12 ----
  LIB1ASMFUNCS = _ashiftrt _ashiftrt_n _ashiftlt _lshiftrt _movstr \
    _movstr_i4 _mulsi3 _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
Index: sparc/t-elf
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/sparc/t-elf,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-elf
*** t-elf	1998/12/16 21:13:41	1.2
--- t-elf	1999/08/05 03:04:43
*************** LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
*** 8,17 ****
  # crt0 is built elsewhere
  LIBGCC1_TEST =
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 8,17 ----
  # crt0 is built elsewhere
  LIBGCC1_TEST =
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: sparc/t-sparcbare
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/sparc/t-sparcbare,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-sparcbare
*** t-sparcbare	1998/12/16 21:13:46	1.2
--- t-sparcbare	1999/08/05 03:04:43
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 4,13 ****
  LIB1ASMSRC = sparc/lb1spc.asm
  LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 4,13 ----
  LIB1ASMSRC = sparc/lb1spc.asm
  LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: sparc/t-sparclite
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/sparc/t-sparclite,v
retrieving revision 1.2
diff -c -3 -p -r1.2 t-sparclite
*** t-sparclite	1998/12/16 21:13:47	1.2
--- t-sparclite	1999/08/05 03:04:43
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 2,11 ****
  LIB1ASMSRC = sparc/lb1spl.asm
  LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define US_SOFTWARE_GOFAST' > dp-bit.c
--- 2,11 ----
  LIB1ASMSRC = sparc/lb1spl.asm
  LIB1ASMFUNCS = _divsi3 _udivsi3 _modsi3 _umodsi3
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define US_SOFTWARE_GOFAST' > dp-bit.c
Index: sparc/t-splet
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/sparc/t-splet,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-splet
*** t-splet	1998/12/16 21:13:48	1.3
--- t-splet	1999/08/05 03:04:43
*************** CROSS_LIBGCC1 = libgcc1-asm.a
*** 4,13 ****
  LIB1ASMSRC = sparc/lb1spc.asm
  LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
--- 4,13 ----
  LIB1ASMSRC = sparc/lb1spc.asm
  LIB1ASMFUNCS = _mulsi3 _divsi3 _modsi3
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	cat $(srcdir)/config/fp-bit.c > dp-bit.c
Index: v850/t-v850
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/v850/t-v850,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-v850
*** t-v850	1998/12/16 21:14:16	1.4
--- t-v850	1999/08/05 03:04:43
*************** LIB1ASMFUNCS	= _mulsi3 \
*** 33,42 ****
  		  _save_all_interrupt
  	
  
! # These are really part of libgcc1, but this will cause them to be
! # built correctly, so...
! 
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
--- 33,42 ----
  		  _save_all_interrupt
  	
  
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
Index: i960/t-960bare
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/i960/t-960bare,v
retrieving revision 1.3
diff -c -3 -p -r1.3 t-960bare
*** t-960bare	1999/01/19 12:03:00	1.3
--- t-960bare	1999/08/05 03:14:56
***************
*** 1,7 ****
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c xp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c
--- 1,12 ----
  LIBGCC1 =
  CROSS_LIBGCC1 =
  
! LIB2FUNCS_EXTRA = xp-bit.c
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c
Index: i960/t-vxworks960
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/config/i960/t-vxworks960,v
retrieving revision 1.4
diff -c -3 -p -r1.4 t-vxworks960
*** t-vxworks960	1999/01/19 12:03:01	1.4
--- t-vxworks960	1999/08/05 03:14:56
*************** CROSS_LIBGCC1 =
*** 4,10 ****
  # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
  # does not have _exit.
  TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
! LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c xp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c
--- 4,15 ----
  # We don't want to put exit in libgcc.a for VxWorks, because VxWorks
  # does not have _exit.
  TARGET_LIBGCC2_CFLAGS = -Dexit=unused_exit
! LIB2FUNCS_EXTRA = xp-bit.c
! 
! # We want fine grained libraries, so use the new code to build the
! # floating point emulation libraries.
! FPBIT = fp-bit.c
! DPBIT = dp-bit.c
  
  dp-bit.c: $(srcdir)/config/fp-bit.c
  	echo '#define FLOAT_BIT_ORDER_MISMATCH' > dp-bit.c





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]