Subject: lib/429: quad (long long) routines in libgcc
To: None <gnats-admin>
From: None <thomas@mathematik.uni-Bremen.de>
List: netbsd-bugs
Date: 08/21/1994 09:20:03
>Number: 429
>Category: lib
>Synopsis: quad (long long) routines in libgcc
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: gnats-admin (Library Bug People)
>State: open
>Class: change-request
>Submitter-Id: net
>Arrival-Date: Sun Aug 21 09:20:02 1994
>Originator: Thomas Eberhardt
>Organization:
CeVis, University of Bremen, Germany
>Release:
>Environment:
System: NetBSD ed209 1.0_BETA NetBSD 1.0_BETA (ED209) #0: Sat Aug 20 03:10:19 MET DST 1994 thomas@ed209:/usr/src/sys/arch/i386/compile/ED209 i386
Machine: i386
>Description:
Since sometimes last year there are support routines for quad (long
long) arithmetic in the C library. The libgcc library also contains
support routines for quad arithmetic. After the change of off_t
to quad_t every dynamically linked binary now grabs this stuff (due
to the usage of this routines in libc) from the normal archive library
libgcc.a. This caused the size of all dynamically linked binaries to
increase by about 4KB (on i386 machines at least).
>How-To-Repeat:
>Fix:
*** gnu/usr.bin/gcc2/libgcc/Makefile- Tue Jan 25 11:26:38 1994
--- gnu/usr.bin/gcc2/libgcc/Makefile Sun Aug 21 17:46:01 1994
***************
*** 14,27 ****
_mulsf3.o _divsf3.o _eqdf2.o _nedf2.o _gtdf2.o _gedf2.o _ltdf2.o \
_ledf2.o _eqsf2.o _nesf2.o _gtsf2.o _gesf2.o _ltsf2.o _lesf2.o
! LIB2OBJS= _muldi3.o _divdi3.o _moddi3.o _udivdi3.o _umoddi3.o _negdi2.o \
! _lshrdi3.o _lshldi3.o _ashldi3.o _ashrdi3 _ffsdi2.o \
! _udiv_w_sdiv.o _udivmoddi4.o _cmpdi2.o _ucmpdi2.o _floatdidf.o \
! _floatdisf.o _fixunsdfsi.o _fixunssfsi.o _fixunsdfdi.o _fixdfdi.o \
! _fixunssfdi.o _fixsfdi.o _fixxfdi.o _fixunsxfdi.o _floatdixf.o \
! _fixunsxfsi.o __gcc_bcmp.o _varargs.o _eprintf.o _op_new.o \
! _new_handler.o _op_delete.o _bb.o _shtab.o _clear_cache.o \
_trampoline.o __main.o _exit.o _ctors.o
OBJS= ${LIB1OBJS} ${LIB2OBJS}
LIB1SOBJS=${LIB1OBJS:.o=.so}
--- 14,28 ----
_mulsf3.o _divsf3.o _eqdf2.o _nedf2.o _gtdf2.o _gedf2.o _ltdf2.o \
_ledf2.o _eqsf2.o _nesf2.o _gtsf2.o _gesf2.o _ltsf2.o _lesf2.o
! LIB2OBJS= _ffsdi2.o _fixunsdfsi.o _fixunssfsi.o _fixxfdi.o _fixunsxfdi.o \
! _floatdixf.o _fixunsxfsi.o __gcc_bcmp.o _varargs.o _eprintf.o \
! _op_new.o _new_handler.o _op_delete.o _bb.o _shtab.o _clear_cache.o \
_trampoline.o __main.o _exit.o _ctors.o
+ # The following routines aren't needed on NetBSD (quad support is in libc):
+ # _muldi3.o _divdi3.o _moddi3.o _udivdi3.o _umoddi3.o _negdi2.o \
+ # _lshrdi3.o _lshldi3.o _ashldi3.o _ashrdi3 _udiv_w_sdiv.o \
+ # _udivmoddi4.o _cmpdi2.o _ucmpdi2.o _floatdidf.o _floatdisf.o \
+ # _fixunsdfdi.o _fixdfdi.o _fixunssfdi.o _fixsfdi.o
OBJS= ${LIB1OBJS} ${LIB2OBJS}
LIB1SOBJS=${LIB1OBJS:.o=.so}
>Audit-Trail:
>Unformatted:
------------------------------------------------------------------------------