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:


------------------------------------------------------------------------------