[M3commit] CVS Update: cm3
Jay Krell
jkrell at elego.de
Mon Nov 10 14:44:44 CET 2008
CVSROOT: /usr/cvs
Changes by: jkrell at birch. 08/11/10 14:44:43
Modified files:
cm3/m3-libs/libm3/src/os/POSIX/: OSConfigPosix.m3
cm3/m3-libs/libm3/src/random/: m3makefile
cm3/m3-libs/m3core/src/: m3makefile
cm3/m3-libs/m3core/src/C/AMD64_LINUX/: m3makefile
cm3/m3-libs/m3core/src/C/Common/: m3makefile
cm3/m3-libs/m3core/src/Csupport/: m3makefile
cm3/m3-libs/m3core/src/float/: m3makefile
cm3/m3-libs/m3core/src/runtime/AMD64_LINUX/: m3makefile
cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile
cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile
cm3/m3-libs/m3core/src/runtime/SPARC32_LINUX/: m3makefile
cm3/m3-libs/m3core/src/runtime/SPARC64_LINUX/: m3makefile
cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl
cm3/m3-libs/m3core/src/thread/: m3makefile
cm3/m3-libs/m3core/src/time/POSIX/: m3makefile
cm3/m3-libs/m3core/src/unix/: m3makefile
cm3/m3-sys/cminstall/src/config-no-install/: SOLgnu SOLsun
cm3/m3-sys/m3cc/src/: m3makefile
cm3/m3-sys/m3middle/src/: Target.i3 Target.m3
cm3/scripts/python/: pylib.py
Added files:
cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Cstring.i3
cm3/m3-libs/m3core/src/C/SPARC64_SOLARIS/: Csetjmp.i3 Csignal.i3
m3makefile
cm3/m3-libs/m3core/src/runtime/SPARC64_SOLARIS/: RTMachine.i3
RTSignal.m3
m3makefile
cm3/m3-sys/cminstall/src/config-no-install/: SPARC64_SOLARIS
Solaris.common
Removed files:
cm3/m3-libs/m3core/src/C/AMD64_LINUX/: Cstdio.i3 Cstring.i3
cm3/m3-libs/m3core/src/C/PPC32_OPENBSD/: Cstdio.i3 Cstring.i3
cm3/m3-libs/m3core/src/C/SPARC32_LINUX/: Cstdio.i3 Cstring.i3
cm3/m3-libs/m3core/src/C/SPARC64_LINUX/: Cstdio.i3 Cstring.i3
cm3/m3-libs/m3core/src/C/SPARC64_OPENBSD/: Cstdio.i3
cm3/m3-libs/m3core/src/runtime/AMD64_LINUX/: RTThread.m3
cm3/m3-libs/m3core/src/runtime/SPARC32_LINUX/: RTThread.m3
RTThreadC.c
cm3/m3-libs/m3core/src/runtime/SPARC64_LINUX/: RTThread.m3
RTThreadC.c
Log message:
enough SPARC64_SOLARIS support to build a bootstrap package,
build the bootstrap on the target, and startup cm3,
which then hits an alignment fault in RTLinker__AddUnit.
This shouldn't be hard to get past, it is doing ldx against
an address that is not a multiple of 4.
-bash-3.00$ dbx ./cm3
(dbx) run
Running: cm3
(process id 3185)
Reading libc_psr.so.1
t at 1 (l at 1) signal BUS (invalid address alignment) in RTLinker__AddUnit at 0x10036e028
0x000000010036e028: RTLinker__AddUnit+0x001c: ldx [%g1], %g1
Current function is main
12 RTLinker__InitRuntime (argc, argv, envp, 0);
(dbx) where
current thread: t at 1
[1] RTLinker__AddUnit(0x10036d984, 0x0, 0x0, 0x0, 0x0, 0x0), at 0x10036e028
[2] RTLinker__InitRuntime(0x1, 0xffffffff7ffffb78, 0xffffffff7ffffb88, 0x0, 0x0, 0x0), at 0x10036db18
=>[3] main(argc = 1, argv = 0xffffffff7ffffb78, envp = 0xffffffff7ffffb88), line
12 in "_m3main.c"
(dbx) print $g1
$g1 = 4298561924ULL
This gives us another big endian 64 bit system, rather
than only MIPS64_OPENBSD.
Also remove a sh wrapper on NT in m3cc. Otherwise I
was going to rename the file to include M3CC_TARGET,
so concurrent builds don't step on each other.
Significant working and reworking of config-no-install/*sol*,
though ultimately this will probably be trimmed down substantially
once I use multilibed gcc. (Note that SOLsun is easy, if you
dig past the gcc stuff, and that SPARC64_SOLARIS is using the
Sun compiler also, but Solaris now factored like NT so that you can
say C_COMPILER = "SUN" or C_COMPILER = "GNU" (at least my config files
are; I didn't touch the others).
Presumably fix the building of a few minor platforms from earlier tonight,
and then some -- go ahead and remove the dummy RTThread.i3 and RTThread.m3
on platforms that just had stubs. (I broke them by removing RTMachine.StackTopPad
or such, presumably; these are mostly "immature" platforms, except I386_CYGWIN)
Note that I cheated in building my m3cg and hand patched auto-host.h rather
than wait for the configure command line change to trickle through. It should
be equiv.
Move the common Cstdio.i3 and Cstring.i3 to common. This can be more all platforms
later, but for now is only for some.
Also the Solaris "unix" directory needs to be revisited, probably start over from a
minimal Cygwin or OpenBSD base, at least for new Solaris targets.
Also new files are likely to have carriage returns, but preexisting files shouldn't.
More information about the M3commit
mailing list