This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
fpbit/dpbit stuff
- To: gcc-patches at gcc dot gnu dot org
- Subject: fpbit/dpbit stuff
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Wed, 04 Aug 1999 21:21:34 -0600
- Reply-To: law at cygnus dot com
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