[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