[M3commit] CVS Update: cm3

Jay Krell jkrell at elego.de
Mon Jun 9 18:24:42 CEST 2008


CVSROOT:	/usr/cvs
Changes by:	jkrell at birch.	08/06/09 18:24:42

Modified files:
	cm3/m3-sys/cminstall/src/config-no-install/: Unix.common SOLsun 
	cm3/m3-libs/m3core/src/Csupport/: m3makefile 
Added files:
	cm3/m3-libs/m3core/src/Csupport/libgcc/: libgcc.c m3makefile 

Log message:
	not entirely satisfactory fixes for SOLsun
	in particular, gcc backend outputs function calls to 64 bit math (at least with optimization off, revisit this variable)
	those functions are in libgcc, but SOLsun doesn't have libgcc
	the functions are trivial one line of C each, if the C compiler implements them inline, or calls yet other-named functions
	furthermore, -z defs and -z text both sound good, but using them both is seemingly not possible, not as long as -lsunmath is needed
	-z defs resolves all symbols in a shared object at link time instead of leaving undefined functions for resolution at load/run time
	well, they are resolved at load/run time, but a lib must be provided at link time corresponding to load/run time
	-z text checks that there are no relocations in the text section -- that all code is built position independent essentially
	it seems that libsunmath is the offender here
	-z defs is the opposite of historical and current defaults for shared objects, but is encouraged by the man page
	One of these must presently be omitted and which one is the lesser evil is uncertain.
	
	furthermore:
	the trivial one line functions in libgcc.a are GPLed
	and attempts to static link them for dependency-management failed, though that wouldn't help, possibly hurt, the GPL
	
	tbd: see if optimization or particular flags force inlining of 64 bit math, even though in general
	I'd rather not optimize since it hurts debugability




More information about the M3commit mailing list