From jkrell at elego.de Sun Feb 1 06:04:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:04:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050433.F1AA810D638D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:04:33 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/x86/: context.c context.h contextasm.s Added files: cm3/m3-libs/m3core/src/context/x86/: gendef.c Log message: On OpenBSD (x86 only currently) use the struct sigcontext/ucontext_t they define instead of defining our own -- note that OpenBSD has typedef sigcontext ucontext_t which is very dubious, since for example it lacks the Posix-specified fields uc_mcontext, uc_stack, uc_link, uc_sigmask. We use their 'ucontext_t' for our uc_mcontext. The point of sharing their struct would then be to overwrite the third parameter to the signal handler, rather than jumping to our own new context. However that version access violates every so often, whereas using setcontext/jmp does not. From jkrell at elego.de Sun Feb 1 06:05:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:05:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050527.8640810D5A78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:05:27 Modified files: cm3/m3-libs/m3core/src/context/x86/: context.h Log message: comments From jkrell at elego.de Sun Feb 1 07:14:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061417.C486B10D6398@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: add mprotect, PROT_READ, PROT_WRITE, PROT_NONE for managing user thread stacks (for making the last page not usable to catch stack overflow) From jkrell at elego.de Sun Feb 1 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061443.3517B10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: remove unneeded pragma From jkrell at elego.de Sun Feb 1 07:15:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:15:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061523.C52D810D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:15:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: use Cstddef.size_t in place of Utypes.size_t, remove comment about header From jkrell at elego.de Sun Feb 1 14:41:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:41:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134127.8EAF410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:41:27 Added files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 Log message: work in progress: user thread support, with less platform specific code; the point of this chunk is merely to avoid having to declare sigset_t, sigaction_t, as well as to speculatively converge on one set of platform-independent code from various identical or similar sets of platform-dependent code (that is, there is a bunch of similar/identical platform-specific Modula-3 code, that could probably be combined down to one chunk of platform-independent Modula-3 code, but here we go the extra step of replacing it with C, in order to just slightly reduce the need to clone platform-specific C headers) From jkrell at elego.de Sun Feb 1 14:42:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:42:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134246.5978410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:42:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.h Log message: fix last minute change From jkrell at elego.de Sun Feb 1 16:53:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 16:53:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201155347.13D9FF04002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 16:53:46 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 m3makefile cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Umman.i3 Usignal.i3 Utermio.i3 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.m3 Log message: allow building cygwin and openbsd/x86 user thread variants even if they don't work yet -- provide stubs for the old implementation strategy, to ease providing a new strategy; ultimately the two will probably both coexist in the source with a constant as to which to use, at least temporarily as platforms are migrated (note that cygwin doesn't provide setitimer so won't work with current plan) some rename/restructure of C code for terseness, not done previously because I didn't think it'd work, and it still doesn't seem to work consistently From jkrell at elego.de Sun Feb 1 17:54:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:54:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165449.D7D7A72575C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:54:49 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: demonstrate preemption on cygwin using real time instead of virtual time, but swapcontext in signal handler not working for some reason, so demonstrate "set a flag and check it outside the signal handler", which works here From jkrell at elego.de Sun Feb 1 17:58:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:58:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165843.BE2AE10D5F54@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:58:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Utime.i3 UtimeC.c Log message: deliberately confuse ITIMER_REAL and ITIMER_VIRTUAL on Cygwin Cygwin only supports real and m3core only uses virtual. From jkrell at elego.de Sun Feb 1 18:01:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 18:01:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201170141.8C07810D5F5F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 18:01:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: use SIGALRM instead of SIGVTALRM on Cygwin From jkrell at elego.de Mon Feb 2 20:22:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:22:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192202.0107910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:22:01 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: cleanup, before trying harder to find cygwin problem From jkrell at elego.de Mon Feb 2 20:24:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:24:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192458.BADB910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:24:58 Added files: cm3/m3-libs/m3core/src/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: a somewhat portable version very much in the vein of the existing Modula-3 code, that perhaps is more amenable to #ifdef From jkrell at elego.de Mon Feb 2 22:11:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 22:11:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202211125.EA200904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 22:11:25 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/setjmp/: context.c Log message: cleanup, give up on debugging cygwin behavior or supporting user threads on cygwin (other than perhaps with win32 fibers) From jkrell at elego.de Tue Feb 3 01:33:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:33:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203003340.C176310D5EC8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:33:40 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdlib.i3 Log message: add calloc, which can be more efficient than malloc+memset(0), such as if malloc had to resort to its underlying allocator which likely proviced already zeroed pages; I believe Apple recommends this for perf From jkrell at elego.de Tue Feb 3 01:50:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:50:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005036.8EBD810D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:50:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: fix From jkrell at elego.de Tue Feb 3 01:51:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:51:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005141.C089F10D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:51:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: move #includes to top; people like that From jkrell at elego.de Tue Feb 3 06:17:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 6:17:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203051725.B402910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 06:17:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 RTAllocator.m3 Log message: expose RTAllocator.MallocZeroed (calloc), and RTAllocator.Free introduce internal RTAlloc.MallocUninitialized These include Disable/EnableSwitching, and raising exceptions upon failure. (Disable/Enable only do something for user threads). From hosking at elego.de Tue Feb 3 07:44:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064459.2705310D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:44:58 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 Log message: Danger Will Robinson! Don't expose Malloc and Free! From hosking at elego.de Tue Feb 3 07:45:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064532.10F3B10D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:45:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Keep Jay's intent which is to use calloc instead of malloc plus bzero. From hosking at elego.de Tue Feb 3 07:46:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:46:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064649.30B0910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:46:49 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Fix parse errors. From hosking at elego.de Tue Feb 3 08:00:13 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203070014.8019A10D436E@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:00:13 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: Format conventionally. From hosking at elego.de Tue Feb 3 08:47:07 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:47:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203074707.4ED5D744001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:47:07 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix atomic ops so as not to fall through to incompatible label on success. Some reformatting to fig 80 columns. From jkrell at elego.de Tue Feb 3 22:12:48 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:12:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211248.057D010D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:12:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Log message: fix newlines From jkrell at elego.de Tue Feb 3 22:13:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:13:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211350.8001F10D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:13:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s m3makefile Log message: add get/set/make/swapcontext for OpenBSD, and this should work for all others as well as we get to them From jkrell at elego.de Tue Feb 3 23:09:11 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 23:09:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203220911.3E66810D5F76@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 23:09:11 Removed files: cm3/m3-libs/m3core/src/context/setjmp/: config.c context.c context.h contextasm.s Makefile Log message: prototype moved elsewhere (unix/common/context) From hosking at cs.purdue.edu Tue Feb 3 23:54:36 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 4 Feb 2009 09:54:36 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090203211350.8001F10D5F73@birch.elegosoft.com> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> Message-ID: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Is this all x86-specific? On 3 Feb 2009, at 22:13, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/03 22:13:50 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 > m3makefile > Added files: > cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h > cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile > config.c > context.c > context.h > contextasm.s > m3makefile > > Log message: > add get/set/make/swapcontext for OpenBSD, and this should work > for all others as well as we get to them From jkrell at elego.de Wed Feb 4 00:06:42 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 0:06:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203230642.7EE8710D5F89@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 00:06:42 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: expose get/mmake/set/swapcontext on Linux/x86, not used yet From jay.krell at cornell.edu Wed Feb 4 00:09:29 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 3 Feb 2009 23:09:29 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Message-ID: Currently it only supports x86, but it /might/ only take some #ifdef to fix for others. /Some/ of the x86-specificity has been abstracted, in a way similar to what the existing Modula-3 code does. It also specific to platforms that do not provide get/make/set/swapcontext. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Wed, 4 Feb 2009 09:54:36 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Is this all x86-specific? > > On 3 Feb 2009, at 22:13, Jay Krell wrote: > >> CVSROOT: /usr/cvs >> Changes by: jkrell at birch. 09/02/03 22:13:50 >> >> Modified files: >> cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 >> m3makefile >> Added files: >> cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h >> cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile >> cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile >> config.c >> context.c >> context.h >> contextasm.s >> m3makefile >> >> Log message: >> add get/set/make/swapcontext for OpenBSD, and this should work >> for all others as well as we get to them > From jkrell at elego.de Wed Feb 4 10:02:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:02:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204090227.63A32714589@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:02:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.i3 Uucontext.c cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: fix LINUXLIBC6 tinderbox From jkrell at elego.de Wed Feb 4 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204094711.CA08510D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:47:11 Modified files: cm3/m3-sys/m3tests/src/r0/r004/: stderr.pgm Log message: update overly sensitive test case -- it contains a source line number from RTAllocator.m3 From jkrell at elego.de Wed Feb 4 21:17:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 21:17:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204201720.411C9744003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 21:17:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: fix for OpenBSD -- get time types from sys/types.h From hosking at elego.de Thu Feb 5 02:13:42 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Feb 2009 2:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205011342.EE7EB1704009@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/05 02:13:42 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Dec.m3 Log message: Fix check for INC/DEC: if not ordinal, must be address, but still must check it is a variable and writable. From jkrell at elego.de Thu Feb 5 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205094711.3A9CF10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:47:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: eliminate system-dependent header cloning wrt pthread_attr_t, replace with C wrapper that takes stack size From jkrell at elego.de Thu Feb 5 10:53:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:53:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205095330.1D17D10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:53:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: update comment -- the file is mostly but not completely just stubs, for Darwin From jkrell at elego.de Wed Feb 11 22:58:04 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 22:58:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211215804.C64A610D4220@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 22:58:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: add support for 32bit MacOSX 10.4 (aka Darwin, PPC_DARWIN) From jkrell at elego.de Wed Feb 11 23:09:19 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:09:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211220919.CCFB110D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:09:19 Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.s Log message: temporary delete in order to do case sensitive rename, in order for the file to be preprocessed, in order for the test case to be buildable on MacOSX/ppc32 From jkrell at elego.de Wed Feb 11 23:10:02 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:10:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221003.E06EF10D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:10:02 Added files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: add back with a capital S so it gets preprocessed From jkrell at elego.de Wed Feb 11 23:16:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:16:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221659.04D0310D5ECC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:16:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: save 32 bytes of stack and cleanup From rodney at elego.de Fri Feb 13 17:46:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 17:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213164602.2F3861704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 17:46:02 Added files: cm3/m3-libs/m3core/tests/newtext/src/: README m3makefile Test.m3 TextUtils.i3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: A test driver program for an experimental new implementation of the CM3 TEXT-processing algorithms in m3-libs/m3core/src/text. From rodney at elego.de Fri Feb 13 18:50:57 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 18:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213175057.0F14810D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 18:50:57 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From rodney.bates at wichita.edu Fri Feb 13 19:19:20 2009 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 13 Feb 2009 12:19:20 -0600 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090213175057.0F14810D4300@birch.elegosoft.com> References: <20090213175057.0F14810D4300@birch.elegosoft.com> Message-ID: <4995B9A8.5020403@wichita.edu> Well, I can work on compilers, debuggers, and functional text packages, but I can never operate CVS correctly. As far as I can tell, I think I got these checkins done in the trunk, rather than the branch I created for them. I created a tag on the trunk, "devel_m3core_text_2009_02_13", then created a branch with tag "devel_m3core_text_newtext_branch". Apparently I got that much right. But I am not sure whether the changed files went into the branch. My CVS book reads as if just a cvs tag -b ..., followed by a cvs commit will do the commits in the branch, but the commit message doesn't look like that happened. Can anybody help me with: 1) What really happened? 2) How should I have done this? 3) How can I fix the damage? PS: I believe that if you use the new files with no additional action, that you will get the same behavior as before, except that there will be considerable constant-time slowdown due to lots of instrumentation and dynamic deciding to use the original algorithms. But I have not tested this. Rodney M. Bates wrote: > CVSROOT: /usr/cvs > Changes by: rodney at birch. 09/02/13 18:50:57 > > Modified files: > cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 > Text.i3 Text.m3 Text16.i3 > Text16.m3 Text16Short.i3 > Text16Short.m3 Text8.i3 Text8.m3 > Text8CString.m3 Text8Short.i3 > Text8Short.m3 TextCat.m3 > TextClass.i3 TextClass.m3 > TextLiteral.i3 TextSub.m3 > UnsafeHash.m3 > > Log message: > An experimental rework of the CM3 TEXT-processing code found in > m3-libs/m3core/src/text, implementing the Modula-3 required interface > Text. > > The types and invariants of the data structure are not changed, thus > avoiding disruption of pickles. or anything else that depends on the > internal data structure of TEXT. > > Algorithms are changed to improve performance, especially when a value > is constructed by a linear series of concatenations,(i.e., > left-to-right or right-to-left). Generally, Concat is slower, but > this is more than offset by gains in the accessing operations. More > storage is allocated, but most is garbage, and retained storage ranges > from somewhat less to somewhat more. Recursion depth is dramatically > reduced. See the README file for more details. > From jkrell at elego.de Sat Feb 14 23:51:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 14 Feb 2009 23:51:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090214225102.62641714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/14 23:51:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile context.c Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: There's actually a fair degree of platform-commonality here, at least within the two that work; capture that. Also, balancing the stack on x86 doesn't really matter, if we are only going to setcontext anyway. From jkrell at elego.de Sun Feb 15 11:10:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 15 Feb 2009 11:10:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090215101014.43E2110D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/15 11:10:14 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: add dummy function to quash PPC_DARWIN libtool warning From hosking at cs.purdue.edu Mon Feb 16 00:31:54 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Feb 2009 10:31:54 +1100 Subject: [M3commit] Tinderbox failures Message-ID: Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Feb 16 01:06:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000650.85C9010D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:06:50 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: turn on preemption for scheduling and context swapping From jkrell at elego.de Mon Feb 16 01:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000744.08321220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:07:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: adapt to OpenBSD/powerpc From jkrell at elego.de Mon Feb 16 01:13:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:13:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001321.606C310D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:13:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup From jkrell at elego.de Mon Feb 16 01:17:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001741.ECA2D10D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:17:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup/clarify, didn't realize I had left that there, but it turned out to be needed. From jay.krell at cornell.edu Mon Feb 16 02:42:25 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 01:42:25 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:02:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:02:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216020230.604EC10D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:02:30 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapMap.i3 Log message: Expose DoWalkRef. From jay.krell at cornell.edu Mon Feb 16 03:15:02 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 02:15:02 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: I think it depends on what cm3 you start with. I noticed the Tinderbox has "last-ok" runs and "last-release" runs. last-ok appears to be working. last-release has the error. Updating my current cygwin build seemed to work. Starting with 5.4 (which is what last release appears to be) on Linux/x86 gave me a cm3 that just seg faults. I'll try to dig more. - Jay From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:20:20 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:20:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216022021.15FE310D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:20:20 Modified files: cm3/m3-libs/m3core/src/Csupport/VAX/: dtoa.c cm3/m3-libs/m3core/src/Csupport/big-endian/: dtoa.c cm3/m3-libs/m3core/src/Csupport/little-endian/: dtoa.c cm3/m3-libs/m3core/src/convert/: CConvert.i3 CConvert.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTThread.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 RTHeapRep.i3 RTOS.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Clean up RTOS.LockHeap/RTOS.UnlockHeap implementations to better match underlying pthread semantics. This means that RTOS.WaitHeap must be called while RTOS.LockHeap is held. RTOS.BroadcastHeap can be called whether RTOS.LockHeap is held or not. From hosking at elego.de Mon Feb 16 03:30:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023040.6316D10D569F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:39 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:30:55 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023055.CA4A310D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:55 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.i3 Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:32:34 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023234.8DFE210D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:32:34 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Need define for internal reuse. From hosking at elego.de Mon Feb 16 03:33:04 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:33:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023304.76D1F10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:33:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Remove ^M (dos2unix). From hosking at elego.de Mon Feb 16 03:34:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:34:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023408.ECFEB10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:34:08 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Make naming consistent. C files that implement Modula-3 interfaces should use the same naming scheme for their procedures as the Modula-3 implementations would use. From rodney at elego.de Mon Feb 16 03:55:26 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 16 Feb 2009 3:55:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216025526.DD39510D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/16 03:55:26 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: Put the original text code back, where intended From hosking at elego.de Mon Feb 16 04:49:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 4:49:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216034921.A4FE3714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 04:49:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.m3 RTProcessPosixC.i3 Log message: Just implement RTProcess__TimeUsed directly in C. Avoid double call. From hosking at elego.de Mon Feb 16 05:01:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216040140.9A81A10D5A80@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:01:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.i3 Log message: Rationalize naming scheme for ThreadPThreadC implementations. From hosking at elego.de Mon Feb 16 05:43:10 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:43:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216044310.7E6CA714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:43:10 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 Log message: Restore wrapper for TimeUsed. RTProcess.TimeUsed calls RTProcessPosix.TimeUsed. From hosking at elego.de Mon Feb 16 06:41:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054123.9BB9A714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:41:22 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cerrno.i3 CerrnoC.c Log message: Rationalize naming. From hosking at elego.de Mon Feb 16 06:44:56 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054457.3037D10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:44:56 Modified files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/C/I386_DARWIN/: Cstdio.i3 m3makefile cm3/m3-libs/m3core/src/C/PPC_DARWIN/: Cstdio.i3 m3makefile Removed files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/I386_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/PPC_DARWIN/: CstdioC.c Log message: We don't need to wrap these functions. From hosking at elego.de Mon Feb 16 06:50:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:50:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055001.1873D714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:50:00 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Uexec.c Uexec.i3 Unetdb.i3 Unix.i3 UnixC.c Upthread.i3 Usignal.i3 Usocket.i3 Ustat.i3 UstatC.c Utime.i3 UtimeC.c Log message: Rationalize names.names Rationalize names. From hosking at elego.de Mon Feb 16 06:51:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:51:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055130.B3CB010D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:51:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Missed a couple. From hosking at elego.de Mon Feb 16 06:56:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:56:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055642.DE53210D58CC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:56:41 Modified files: cm3/m3-sys/m3middle/src/: M3CG_Check.m3 Log message: Fix stack checking code for atomics. From jkrell at elego.de Mon Feb 16 09:05:18 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:05:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216080518.80A5310D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:05:18 Modified files: cm3/scripts/config/: config.c Log message: adapt for NetBSD (further investigate?); only dump all the apparent jmpbuf stuff for cygwin, hopefully nobody else gets it wrong; remove incorrect Cygwin jmpbuf fix (there is a fix, but this isn't it) From jkrell at elego.de Mon Feb 16 09:57:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:57:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216085723.084CF10D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:57:22 Added files: cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 m3makefile Log message: initial versions for NetBSD note that these "Usysdep" files are nearly identical across all targets From wagner at elegosoft.com Mon Feb 16 12:46:57 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 16 Feb 2009 12:46:57 +0100 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: <20090216124657.2sdgj9zc48cgk4c0@mail.elegosoft.com> Quoting Jay : > > I think it depends on what cm3 you start with. > I noticed the Tinderbox has "last-ok" runs and "last-release" runs. > last-ok appears to be working. > last-release has the error. This is an unfortunate and unforeseen state. It should be OK if last-ok build fail, but we need to be able to boot the system with the last official release. If we cannot guarantee that, one cannot upgrade from source between releases. It sounds strange though... Olaf > Updating my current cygwin build seemed to work. > Starting with 5.4 (which is what last release appears to be) on > Linux/x86 gave me a cm3 that just seg faults. > I'll try to dig more. > > > - Jay > > > > From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; > m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] > Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 > > Linux/x86 and FreeBSD/x86 also (ie: I think all). > http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package > m3-libs/m3core ===12575 +++ cm3 -build > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in > FreeBSD4 ---12577 12578 ignoring > ../src/m3overrides12579 12580 12581 12582 > ***12583 NEXT *** runtime error:12584 *** An > enumeration or subrange value was out of range.12585 *** > file "../src/text/Text.m3", line 88212586 ***12587 > 12588 Abort trap (core dumped)I'll probably look shortly. - > Jay > > > > From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; > m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: > [M3devel] Tinderbox failures > Solaris builds are failing with an enumeration/subrange bounds > runtime error in Text.m3. This is since the alternative text > implementation was checked in. Can someone look into what might be > the problem? Or should we back out the new text code. > > > Antony Hosking | Associate Professor | Computer Science | Purdue University > 305 N. University Street | West Lafayette | IN 47907 | USA > Office +1 765 494 6001 | Mobile +1 765 427 5484 > -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jay.krell at cornell.edu Mon Feb 16 23:26:37 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 22:26:37 +0000 Subject: [M3commit] suggestion for "atomic ops" Message-ID: Let a code generator advertise that it doesn't support them. And if so, instead generate a call to some set of functions. I realize this fallback could be implemented in the code generators themselves. Windows has various "interlocked" functions that should make this easy. Thanks, - Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Feb 17 05:45:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 5:45:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217044548.27CA5220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 05:45:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 Added files: cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 CasP.m3 Log message: Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. CAS is defined as follows: CAS(v, o, n): BaseType(v) where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, atomically sets v to value n, so long as the previous value of v is o, returning the previous value of v in either case. Similarly, CASP is defined as: CASP(v, o, n): BOOLEAN atomically sets v to n, so long as the previous value of v is o, returning TRUE if the comparison is successful and n was assigned to v. I may yet generalize these to permit v to have any ordinal type. In unsafe modules I may also permit v to be a subtype of ADDRESS. From jay.krell at cornell.edu Tue Feb 17 06:06:18 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 05:06:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217044548.27CA5220001C@birch.elegosoft.com> References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: Is CASP trivially constructed from CAS? CASP(value, old, new) == (CAS(value, old, new) == old) ? P for predicate? ie: returns boolean? Or a) am I just wrong? b) sometimes it is more efficient implemented more directly? For example, I know "InterlockedIncrement" can be implemented as an infinite retry loop around compare_and_swap, but that doesn't seem most efficient, e.g: long InterlockedIncrement(volatile long* p): while (1) long old = *p; if (InterlockedCompareExchange(p, old, old + 1) == old) return (old + 1); I assume we don't care about 386 support, nor maybe even 486. Somewhere along the line way back "lock cmpxchg8b" is not supported. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 05:45:48 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 05:45:48 > > Modified files: > cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile > cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 > cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 > Added files: > cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 > CasP.m3 > > Log message: > Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. > CAS is defined as follows: > > CAS(v, o, n): BaseType(v) > > where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, > atomically sets v to value n, so long as the previous value of v is o, returning the previous > value of v in either case. > > Similarly, CASP is defined as: > > CASP(v, o, n): BOOLEAN > > atomically sets v to n, so long as the previous value of v is o, returning TRUE if the > comparison is successful and n was assigned to v. > > I may yet generalize these to permit v to have any ordinal type. > In unsafe modules I may also permit v to be a subtype of ADDRESS. > From hosking at cs.purdue.edu Tue Feb 17 07:10:10 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 17:10:10 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> It is sometimes more efficient, depending on hardware. I forgot to mention that to use these intrinsics you need to tell the backend in your cm3.cfg to take advantage of suitable instructions where available. On x86 I use "-march=i686". On 17 Feb 2009, at 16:06, Jay wrote: > > Is CASP trivially constructed from CAS? > > CASP(value, old, new) == (CAS(value, old, new) == old) ? > > P for predicate? ie: returns boolean? > > > Or a) am I just wrong? > b) sometimes it is more efficient implemented more directly? > > > For example, I know "InterlockedIncrement" can be implemented as an > infinite retry loop around compare_and_swap, but that doesn't seem > most efficient, e.g: > > > long InterlockedIncrement(volatile long* p): > while (1) > long old = *p; > if (InterlockedCompareExchange(p, old, old + 1) == old) > return (old + 1); > > > > I assume we don't care about 386 support, nor maybe even 486. > Somewhere along the line way back "lock cmpxchg8b" is not supported. > > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 05:45:48 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 05:45:48 >> >> Modified files: >> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >> Added files: >> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >> CasP.m3 >> >> Log message: >> Experimental support for compare_and_swap (CAS) and compare_and_set >> (CASP) builtin operations. >> CAS is defined as follows: >> >> CAS(v, o, n): BaseType(v) >> >> where v is an integer variable (INTEGER/LONGINT), and o and n are >> assignable to v, >> atomically sets v to value n, so long as the previous value of v is >> o, returning the previous >> value of v in either case. >> >> Similarly, CASP is defined as: >> >> CASP(v, o, n): BOOLEAN >> >> atomically sets v to n, so long as the previous value of v is o, >> returning TRUE if the >> comparison is successful and n was assigned to v. >> >> I may yet generalize these to permit v to have any ordinal type. >> In unsafe modules I may also permit v to be a subtype of ADDRESS. >> From jay.krell at cornell.edu Tue Feb 17 07:19:39 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 06:19:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> References: <20090217044548.27CA5220001C@birch.elegosoft.com> <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> Message-ID: > "-march=i686". This is a confusing area -- *so many* switches to configure and gcc, but maybe we should have m3-sys/m3cc/src/m3makefile configure it to always be so, or always at least so? Maybe in this case it isn't even a configure switch, but the platform tuple. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 17:10:10 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > It is sometimes more efficient, depending on hardware. > > I forgot to mention that to use these intrinsics you need to tell the > backend in your cm3.cfg to take advantage of suitable instructions > where available. On x86 I use "-march=i686". > > On 17 Feb 2009, at 16:06, Jay wrote: > >> >> Is CASP trivially constructed from CAS? >> >> CASP(value, old, new) == (CAS(value, old, new) == old) ? >> >> P for predicate? ie: returns boolean? >> >> >> Or a) am I just wrong? >> b) sometimes it is more efficient implemented more directly? >> >> >> For example, I know "InterlockedIncrement" can be implemented as an >> infinite retry loop around compare_and_swap, but that doesn't seem >> most efficient, e.g: >> >> >> long InterlockedIncrement(volatile long* p): >> while (1) >> long old = *p; >> if (InterlockedCompareExchange(p, old, old + 1) == old) >> return (old + 1); >> >> >> >> I assume we don't care about 386 support, nor maybe even 486. >> Somewhere along the line way back "lock cmpxchg8b" is not supported. >> >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 05:45:48 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 05:45:48 >>> >>> Modified files: >>> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >>> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >>> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >>> Added files: >>> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >>> CasP.m3 >>> >>> Log message: >>> Experimental support for compare_and_swap (CAS) and compare_and_set >>> (CASP) builtin operations. >>> CAS is defined as follows: >>> >>> CAS(v, o, n): BaseType(v) >>> >>> where v is an integer variable (INTEGER/LONGINT), and o and n are >>> assignable to v, >>> atomically sets v to value n, so long as the previous value of v is >>> o, returning the previous >>> value of v in either case. >>> >>> Similarly, CASP is defined as: >>> >>> CASP(v, o, n): BOOLEAN >>> >>> atomically sets v to n, so long as the previous value of v is o, >>> returning TRUE if the >>> comparison is successful and n was assigned to v. >>> >>> I may yet generalize these to permit v to have any ordinal type. >>> In unsafe modules I may also permit v to be a subtype of ADDRESS. >>> > From hosking at elego.de Tue Feb 17 07:56:02 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 7:56:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217065602.AA12E10D4653@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 07:56:02 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Support required for atomic intrinsics. From hosking at elego.de Tue Feb 17 08:04:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:04:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070403.CC29810D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:04:03 Modified files: cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 M3CG_Ops.i3 M3CG_Wr.m3 Log message: Generalize atomic ops to all memory types (MType). From hosking at elego.de Tue Feb 17 08:06:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070649.31C7D10D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:06:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Cas.m3 CasP.m3 cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Log message: Allow CAS/CASP on any ordinal type or address. From jay.krell at cornell.edu Tue Feb 17 08:16:17 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 07:16:17 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217070403.CC29810D4624@birch.elegosoft.com> References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: I think 8 and 16 bit types will be difficult on some systems. It can perhaps be synthesized by rounding the address down to be 32/64-aligned and doing a 32/64-bit operation there, but the other data might be protected by an old fashioned lock and..I don't think that works out correctly. Granted, I don't know if you have extended support to 8 and 16 bit types, just speculating. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 08:04:03 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 08:04:03 > > Modified files: > cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 > M3CG_Ops.i3 M3CG_Wr.m3 > > Log message: > Generalize atomic ops to all memory types (MType). > From hosking at cs.purdue.edu Tue Feb 17 09:19:15 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:19:15 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From hosking at cs.purdue.edu Tue Feb 17 09:20:29 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:20:29 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From jay.krell at cornell.edu Tue Feb 17 09:39:15 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 08:39:15 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: For whatever reason, the Microsoft compiler only exposes 16/32/64, but not 8: http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx There is Or8, And8, Xor8 though. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 19:20:29 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > This is experimental stuff. 8 & 16 work on x86. > > On 17 Feb 2009, at 18:16, Jay wrote: > >> >> I think 8 and 16 bit types will be difficult on some systems. >> >> It can perhaps be synthesized by rounding the address down to be >> 32/64-aligned and doing a 32/64-bit operation there, but the other >> data might be protected by an old fashioned lock and..I don't think >> that works out correctly. >> >> Granted, I don't know if you have extended support to 8 and 16 bit >> types, just speculating. >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 08:04:03 >>> >>> Modified files: >>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>> M3CG_Ops.i3 M3CG_Wr.m3 >>> >>> Log message: >>> Generalize atomic ops to all memory types (MType). >>> > From hosking at cs.purdue.edu Tue Feb 17 10:59:06 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 20:59:06 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: <3E80B36B-8DC3-417F-A533-31257BF2C78E@cs.purdue.edu> The gcc-based backend supports all sizes: 8, 16, 32, 64. On 17 Feb 2009, at 19:39, Jay wrote: > > For whatever reason, the Microsoft compiler only exposes 16/32/64, > but not 8: > > > http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx > > > There is Or8, And8, Xor8 though. > > > - Jay > > > ---------------------------------------- >> From: hosking at cs.purdue.edu >> To: jay.krell at cornell.edu >> Date: Tue, 17 Feb 2009 19:20:29 +1100 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> This is experimental stuff. 8 & 16 work on x86. >> >> On 17 Feb 2009, at 18:16, Jay wrote: >> >>> >>> I think 8 and 16 bit types will be difficult on some systems. >>> >>> It can perhaps be synthesized by rounding the address down to be >>> 32/64-aligned and doing a 32/64-bit operation there, but the other >>> data might be protected by an old fashioned lock and..I don't think >>> that works out correctly. >>> >>> Granted, I don't know if you have extended support to 8 and 16 bit >>> types, just speculating. >>> >>> - Jay >>> >>> >>> ---------------------------------------- >>>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>>> To: m3commit at elegosoft.com >>>> From: hosking at elego.de >>>> Subject: [M3commit] CVS Update: cm3 >>>> >>>> CVSROOT: /usr/cvs >>>> Changes by: hosking at birch. 09/02/17 08:04:03 >>>> >>>> Modified files: >>>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>>> M3CG_Ops.i3 M3CG_Wr.m3 >>>> >>>> Log message: >>>> Generalize atomic ops to all memory types (MType). >>>> >> From hosking at elego.de Wed Feb 18 03:21:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218022105.542D310D6433@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:21:05 Modified files: cm3/m3-libs/m3core/src/unix/linux-libc6/: Utime.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Utime.i3 Log message: Missed a few renamings. From hosking at elego.de Wed Feb 18 03:32:37 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:32:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218023238.2795E10D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:32:37 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/WIN32/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTProcess.i3 Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 RTProcessPosixC.c cm3/m3-libs/m3core/src/runtime/WIN32/: RTProcessWin32.m3 Log message: Blow away RTProcess.TimeUsed. It is dead code. From hosking at elego.de Wed Feb 18 03:46:15 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:46:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218024615.EF3F510D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:46:15 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/darwin-generic/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-2/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-3/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-4/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/netbsd2-i386/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/solaris-2-x/: Dir.c Log message: Remove dead C code (unused). From hosking at elego.de Wed Feb 18 05:05:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:05:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218040550.9C7DE220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:05:50 Modified files: cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignal.m3 RTSignalC.c RTSignalC.i3 RTSignalPrivate.i3 RTThread.m3 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTError.h RTProcess.h RTSignal.m3 RTSignalC.c RTSignalC.h RTSignalC.i3 RTThread.m3 m3text.h Log message: Refactor C-based RTSignal implementation, and switch I386_DARWIN over to it. From hosking at elego.de Wed Feb 18 05:46:44 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:46:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218044644.BECC2220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:46:44 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Fix pc grabbing for Darwin platforms. From hosking at elego.de Wed Feb 18 05:56:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:56:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218045650.45FB6220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:56:50 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Drop weird historical check that pc is the same as si_addr. From hosking at elego.de Wed Feb 18 06:00:34 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218050035.0FEBC10D5F5D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:00:34 Modified files: cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile Log message: Switch AMD64_DARWIN, PPC_DARWIN over to C-based RTSignal. From hosking at elego.de Wed Feb 18 06:11:24 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:11:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218051125.127141704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:11:24 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Implement GetPC for SPARC. From hosking at elego.de Wed Feb 18 06:52:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055248.782FF1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:52:47 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work. From hosking at elego.de Wed Feb 18 06:55:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055505.82DEB1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:55:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: m3makefile Log message: Switch SOLsun and SOLgnu to C-based RTSignal. From jay.krell at cornell.edu Wed Feb 18 07:05:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:05:22 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <20090218055248.782FF1704003@birch.elegosoft.com> References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: The source file should have #define _GNU_SOURCE at the top, right? Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Feb 18 07:14:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 18 Feb 2009 17:14:13 +1100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: > The source file should have #define _GNU_SOURCE at the top, right? > Thanks for these changes. > > - Jay > > > Date: Wed, 18 Feb 2009 06:52:47 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/02/18 06:52:47 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > > > Log message: > > Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to > work. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:19:16 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:19:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218061917.3F9001704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:19:16 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: add #define _GNU_SOURCE; it works for me on birch From jkrell at elego.de Wed Feb 18 07:32:51 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:32:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218063252.3AD5F1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:32:51 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: extend extern 'C' over more of the file; remove unused Info parameter (which if needed, need not be passed through void*) From jay.krell at cornell.edu Wed Feb 18 07:37:18 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:37:18 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: It worked for me..and not without it as expected. Is there a danger of, like, bifurcating the ABI across different source files, when they have different #defines? You know, I would not want a situation such as: /usr/include/foo.h: typedef struct _foo_t { int a; #ifdef _GNU_SOURCE int b; } foo_t; and then different files traffic in foo_t, with varying defined-ness _GNU_SOURCE. I think #define _FILE_OFFSET_BITS can cause this sort of thing for example. -Jay From: hosking at cs.purdue.eduTo: jay.krell at cornell.eduDate: Wed, 18 Feb 2009 17:14:13 +1100CC: m3commit at elegosoft.comSubject: Re: [M3commit] FW: Must -D_GNU_SOURCE for these to work For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: The source file should have #define _GNU_SOURCE at the top, right?Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218064300.4D5D61704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:42:59 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: fix warning -- g++ predefines _GNU_SOURCE From jkrell at elego.de Wed Feb 18 07:52:55 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:52:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218065255.964311704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:52:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: make it legal C++ -- don't introduce type in sizeof From jkrell at elego.de Wed Feb 18 08:05:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 8:05:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218070536.4C5D31704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 08:05:35 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: remove obsolete comment about texts From jkrell at elego.de Wed Feb 18 10:45:47 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:45:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094548.10F2010D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:45:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 Log message: add back cond_broadcast and remove unused size_t import From jkrell at elego.de Wed Feb 18 10:46:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:46:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094635.23D1210D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:46:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: add back RTMachine to fix a bunch of targets such as cygwin; perhaps this belongs in the Posix directory From jkrell at elego.de Wed Feb 18 10:56:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:56:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095644.DA64610D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:56:44 Modified files: cm3/m3-libs/m3core/src/runtime/NT386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTMachine.i3 Log message: small cleanup From jkrell at elego.de Wed Feb 18 10:58:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:58:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095859.EA11E10D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:58:59 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: small cleanup -- use LeftShift on the log instead of spelling out the value From jkrell at elego.de Wed Feb 18 11:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218100107.29767784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:01:06 Modified files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTSignal.m3 Log message: delete stub dead RTSignal; RTMachine is dead here too but maybe shouldn't be From jkrell at elego.de Wed Feb 18 11:14:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:14:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101427.4A741784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:14:27 Modified files: cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 Log message: fix name mismatch between here and Uconstants.c, cygwin specific From jkrell at elego.de Wed Feb 18 11:17:26 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:17:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101726.BE2B7784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:17:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Log message: small style changes to hopefully make 'manual maintenance more automatic' by making comments longer and closer to their subject From roland.illig at gmx.de Wed Feb 18 11:17:26 2009 From: roland.illig at gmx.de (Roland Illig) Date: Wed, 18 Feb 2009 11:17:26 +0100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: <499BE036.4000201@gmx.de> Tony Hosking schrieb: > For some reason that does not appear to work. It needs to be defined on > the command line as -D_GNU_SOURCE. on the command line, -D_GNU_SOURCE is equivalent to #define _GNU_SOURCE 1 Roland From jkrell at elego.de Wed Feb 18 11:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218102228.D5B25784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:22:28 Modified files: cm3/scripts/python/: pylib.py Log message: I386_MINGW as synonym for NT386MINGNU; really need to work on cm3cfg.common to allow lists of aliases From jkrell at elego.de Wed Feb 18 11:31:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:31:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218103139.DD87410D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:31:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: remove ProcessPools from the other two thread interfaces, it was just removed from pthreads along with all the implementations and uses, leaving it here causes a break From jkrell at elego.de Wed Feb 18 11:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218105139.4860F10D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:51:39 Modified files: cm3/m3-sys/windowsResources/src/: winRes.tmpl Log message: adapt to MinGW which has windres instead of rc with different command line usage; detect MinGW by checking if backend mode is integrated backend or not, not great..it should really be informed by a variable in the toplevel configuration -- CONFIG_HAS_RC and CONFIG_HAS_WINDRES? From jkrell at elego.de Wed Feb 18 12:14:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:14:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218111406.CC6A810D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:14:06 Modified files: cm3/m3-libs/m3core/src/win32/: m3makefile WinUser.i3 cm3/m3-ui/ui/src/winvbt/: WinTrestle.m3 Added files: cm3/m3-libs/m3core/src/win32/: WinUserC.c Log message: workaround gcc backend bug that names <*EXTERNAL WindowFromPoint:WINAPI*> PROCEDURE WindowFromPoint (Point: POINT): HWND; WindowFromPoint at 4 instead of WindowFromPoint at 8 by adding <*EXTERNAL WinUser__WindowFromPointWorkaround:WINAPI*> PROCEDURE WindowFromPointWorkaround (VAR Point: POINT): HWND; HWND __stdcall WinUser__WindowFromPointWorkaround (POINT* Point) { return WindowFromPoint(*Point); } This lets I386_MINGW (NT386MINGNU) get further. From jkrell at elego.de Wed Feb 18 12:20:49 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:20:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112049.5084510D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:20:49 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: fix line endings (dos2unix) From jkrell at elego.de Wed Feb 18 12:21:33 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112133.3D7B910D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:21:33 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: use the correct .libs for I386_MINGW (NT386MINGNU) -- in particular fix building the opengl package From jkrell at elego.de Wed Feb 18 12:30:18 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:30:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218113018.7EF3710D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:30:17 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: fiddle with platform names some "I386_NT" : "i686-pc-mingw32", "I386_MINGW" : "i686-pc-mingw32", "I386_CYGWIN" : "i686-pc-cygwin", "NT386GNU" : "i686-pc-cygwin", "NT386MINGNU" : "i686-pc-mingw32", only cross builds -- where you specify the first column on the command line for host or target -- even use these lists. Native builds just let config.guess guess, perhaps not ideal but that's another matter. From rodney at elego.de Wed Feb 18 18:33:11 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 18 Feb 2009 18:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218173311.AB37010D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/18 18:33:11 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From jkrell at elego.de Wed Feb 18 18:52:36 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 18:52:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218175236.78A4F10D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 18:52:36 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add NT386MINGNU (admittedly Posix vs. Win32 confusing in these parts, not entirely redundant From rodney at elego.de Thu Feb 19 01:53:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 1:53:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219005302.41487904006@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 01:53:02 Modified files: cm3/doc/help/m3gdb/: m3gdb.docbook Log message: fix typo From rodney at elego.de Thu Feb 19 02:03:29 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219010331.E90DD1704010@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:03:27 Modified files: cm3/m3-libs/libm3/src/bundleintf/: m3makefile Log message: Add a warning for a sometimes problematic build case From rodney at elego.de Thu Feb 19 02:50:31 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:50:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219015031.9421A10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:50:31 Modified files: cm3/m3-libs/m3core/src/text/: Text.m3 Log message: Fix bugs in Text.FindCharR and FindWideCharR that start the search one place too late. From rodney at elego.de Thu Feb 19 21:25:35 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 21:25:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219202535.6537010D651D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 21:25:35 Modified files: cm3/m3-libs/m3core/src/text/: String8.m3 String16.m3 Log message: Fix a bug in 2 places where a NIL check is applied too late, after address arithmetic has already been done on the pointer, leading to segment faults. Also, in String16.m3, Copy in semantic description comments from the interface to the procedure bodies. From rodney at elego.de Thu Feb 19 22:06:36 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 22:06:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219210636.9EFB5784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 22:06:36 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 Text.m3 Log message: Fix Text.HasWideChars. Formerly, it only checked whether the representation had any components capabable of representing wide characters, not whether it actually contained any characters outside the range of CHAR. It would even return TRUE for, e.g.: Text.Sub(Text.Cat("abc",W"def"),0,3) That was neither what a client would expect nor very useful. Now it returns whether the abstract value of the text contains any characters outside the range of CHAR. From rodney at elego.de Fri Feb 20 17:49:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:49:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220164902.1FB3510D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:49:02 Added files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch README Log message: Initial commit From rodney at elego.de Fri Feb 20 17:53:04 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:53:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220165304.2C22310D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:53:04 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 Text.m3 TextClass.i3 Log message: 1) Fix the range error bug in Find[Wide]CharR. 2) Consistify a procedure name. 3) Default to new algorithms and flattening. From rodney at elego.de Fri Feb 20 18:00:53 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 18:00:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220170053.D0C3910D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 18:00:53 Added files: cm3/m3-libs/m3core/tests/newtext/src/: COPYRIGHT Log message: Initial commit From hosking at elego.de Sat Feb 21 02:09:45 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 21 Feb 2009 2:09:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090221010946.E9A3E2200066@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/21 02:09:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Missed re-setting holder in WaitHeap on return from cond_wait. From rodney at elego.de Mon Feb 23 02:50:32 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 2:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223015032.4212510D4354@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 02:50:32 Modified files: cm3/m3-tools/m3tk/src/fe/: StandardAsText.m3 WiredStandard.m3 Log message: Fix m3tk to recognize that in CM3, TEXT<:ROOT, instead of TEXT<:REFANY. This was causing packages obliqrt and obliqparse to fail to build, citing static errors on the subtypes of TEXT declared in Text8Short, etc. The failing packages use stubgen during building, which links in m3tk. These failures were occurring only when building using the Text branch. The subtypes have not changed, but the branch brings them into the closure compiled by m3tk. This is temporary, but it exposed a long-standing bug. From jkrell at elego.de Mon Feb 23 05:18:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 5:18:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223041801.A5A111704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 05:18:01 Modified files: cm3/scripts/python/: pylib.py Log message: some support for HPPA32_HPUX, HPPA64_HPUX, IA64_HPUX (let's ignore their 32bit compilation models?), HPPA32_LINUX, HPPA64_LINUX; or PA32 / PA64?, the double PA is redundant in HPPA32_HPUX but less so in HPPA32_LINUX From jkrell at elego.de Mon Feb 23 15:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144251.4E2D910D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:42:51 Modified files: cm3/scripts/python/: pylib.py Log message: use shorter name PA instead of HPPA at least for now; I already strewn it around, and there are other projects that use this shorter form e.g. libffi (which is part of Python, but also standalone), gcc folks seems to often pick longer names e.g. x86_64 vs. amd64? From jkrell at elego.de Mon Feb 23 15:44:30 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:44:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144430.2925210D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:44:30 Added files: cm3/m3-libs/m3core/src/C/PA32_HPUX/: Csetjmp.i3 m3makefile cm3/m3-libs/m3core/src/C/PA64_HPUX/: Csetjmp.i3 m3makefile Log message: add PA32_HPUX and PA64_HPUX From rodney at elego.de Mon Feb 23 16:49:51 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:49:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223154951.AC72722000D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:49:51 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 Log message: 1) Add some texts of type TextLiteral.T to the base mix. 2) Remove assorted leftover cruft. From rodney at elego.de Mon Feb 23 16:58:25 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:58:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223155825.5DB2772575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:58:25 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h m3-lang.c Log message: m3gdb is using stock gdb code to print values of floating type, but it needs to be modified for m3gdb data structures. It is now segfaulting m3gdb. This is only a partial fix that stops the segfault. The floating values still won't print. From jkrell at elego.de Mon Feb 23 23:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221305.519FC72575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:13:05 Added files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: add initial PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:19:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221927.8761210D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:19:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: -m32 and presumably -m64 not supported; this is fragile, should probably allow anything else From jkrell at elego.de Mon Feb 23 23:20:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:20:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223222044.B0AAA10D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:20:44 Modified files: cm3/m3-libs/m3core/src/C/Common/: m3makefile Log message: add PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:42:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:42:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224248.A7EE010D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:42:48 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => DatePosix From jkrell at elego.de Mon Feb 23 23:45:23 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:45:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224523.2EE0410D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:45:23 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => HPUX, hppa, hppa64, matter of taste/style here, there does exist HP/UX From jkrell at elego.de Mon Feb 23 23:46:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:46:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224624.27B9B10D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:46:24 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: fix typo on PA64_HPUX, doesn't break anything but PA64_HPUX From rodney at elego.de Tue Feb 24 03:06:50 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 3:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224020650.430B010D5C73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 03:06:50 Modified files: cm3/m3-sys/m3cc/gcc/gcc/: tree-cfg.c cm3/m3-sys/m3gdb/gdb/gdb/: dbxread.c Log message: Fix a bug in the case where the presence of a nested procedure inside a block with no local variables made m3gdb unable to renest the procedure. The compiler unnests procedures, and m3gdb renests them by relating the mangled procedure name (which encodes a complete accessing path to where the procedure is declared) to the structure of nested blocks given by the debug information. Both the compiler and gdb were throwing away blocks with no variables, leaving m3gdb unable to find the right block. This had to be fixed in both places. From rodney at elego.de Tue Feb 24 22:39:24 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224213924.1542A10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:39:24 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.m3 TextClass.i3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:40:01 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:40:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224214002.427ED10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:40:01 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 TextUtils.m3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:50:13 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:50:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224215013.A1B0E10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:50:13 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix buggy RTHooks.MultiCat (also accessible through pure wrapper procedure TextCat.NewMulti)(both implemented in TextCat.m3). It didn't set fields a_len, b_len, or a_or_b_wide of the TextCat.T nodes it built. This is so blatent, it must have not been used anywhere in any general way. From rodney at elego.de Tue Feb 24 23:17:49 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:17:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224221749.0D8BA10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:17:49 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:20:42 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:20:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224222042.86C3B10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:20:42 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:36:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223607.2B91410D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:36:07 Removed files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From rodney at elego.de Tue Feb 24 23:37:03 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223703.4BD2F10D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:37:03 Removed files: cm3/m3-libs/m3core/src/text/: TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From jkrell at elego.de Wed Feb 25 01:55:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 1:55:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225005521.0588A10D644D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 01:55:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uerror.i3 Uconstants.c Log message: increase max errno from 151 to 248 for HP-UX From rodney at elego.de Wed Feb 25 16:15:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 25 Feb 2009 16:15:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225151508.695B0904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/25 16:15:07 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix a pasting error made while cross-patching bugfix of MultiCat from the Text branch into the trunk. From jkrell at elego.de Wed Feb 25 17:22:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 17:22:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225162207.E2AF910D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 17:22:07 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: adapt for HP-UX, though I'm still leary of all this time keeping code..need to write some tests.. From jkrell at elego.de Wed Feb 25 18:07:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:07:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170727.0A9A6784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:07:27 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: /tmp/cvsAIi00x From jkrell at elego.de Wed Feb 25 18:09:57 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:09:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170957.38D64784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:09:57 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back a version because I flubbed the commit command line, was supposed to read the comment out of that file, not use its path as the comment.. From jkrell at elego.de Wed Feb 25 18:10:40 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:10:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225171040.0EF1810D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:10:40 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix so that PA32_HPUX cm3 links. HPUX needs a list of imports at the end of assembly code. (even if using GNU as) This might be needed elsewhere in addition for data, but this is enough to get cm3 to link. Each gcc front end is supposed to call this for imported symbols. From jay.krell at cornell.edu Wed Feb 25 18:08:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 25 Feb 2009 17:08:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090225170727.0A9A6784001@birch.elegosoft.com> References: <20090225170727.0A9A6784001@birch.elegosoft.com> Message-ID: oops > Date: Wed, 25 Feb 2009 18:07:27 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/25 18:07:27 > > Modified files: > cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c > > Log message: > /tmp/cvsAIi00x > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Feb 26 17:16:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:16:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226161605.75D9B10D65F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:16:05 Modified files: cm3/m3-sys/m3tests/src/: Test.i3 m3makefile cm3/m3-sys/m3tests/src/p0/p001/: Main.m3 m3makefile Added files: cm3/m3-sys/m3tests/src/: TestC.c Log message: nice little test case to verify compilation of floating point constants and correctness of Usysdep I would really like to have this "run" in RTLinker but suspect that would be rejected. Anywhere else, e.g. here, is kind of too late to be valuable, unless we manage to get this into boot1.py, and very early in the list of modules that RTLinker initializes. This reveals some existing possible problems. - arrays of odd number of float and/or double don't match up between C and Modula-3; probably related to -mno-aligned-floats - there are other mismatches here masked by inserting size_t padding in particular I think cywin linger_t has 16 bit integers and there is disagreement there. But I didn't look into it. Luckily the interactions between C and Modula-3 are relatively rare /and/ relatively conservative and not very likely to hit these issues. They do merit further attention though. "Running this test case" is merely evaluation three efficient assertions plus dedicating the constant static space to two structs (Modula-3 might run initialization code for its "const static" though?) From jkrell at elego.de Thu Feb 26 17:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163042.6528372575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:30:42 Modified files: cm3/scripts/python/: pylib.py Log message: HP-UX requires -lrt for semaphore functions (like Solaris) From jkrell at elego.de Thu Feb 26 17:39:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163902.315D710D65E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: HP-UX: SIGRTMAX is a function call, _SIGRTMAX is not, use _SIGRTMAX MAX is defined elsewhere, #undef it (they are almost the same) From rodney at elego.de Fri Feb 27 16:18:09 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 27 Feb 2009 16:18:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090227151809.E6B981704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/27 16:18:09 Modified files: cm3/m3-libs/libm3/src/arith/POSIX/: Math.i3 cm3/m3-libs/libm3/src/arith/WIN32/: Math.i3 Log message: Fix an important typoo in description of frexp. From jkrell at elego.de Sat Feb 28 19:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228181846.0AA6510D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:18:45 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: When doing a cross build that swaps endian, swap the longs in a constant double. This lets the double in TimePosix.m3 compile ok and therefore its module initializer not hang. 4 byte floats unaffected, deliberately, as an intermediate form of this change also swapped them, and broke them (as evidenced by the very first traced allocation attempting to collect garbage, because the floats in RTCollector were messed up). From jkrell at elego.de Sat Feb 28 19:33:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:33:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183355.730E610D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:33:55 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Building FreeBSD targeting compilers requires specifying at least a major version (ia64, alpha). gcc contains something like #if FBSD_MAJOR > something put -lpthreads in defaults #endif but of target has no numbers at the end, FBSD_MAJOR is 0 or not defined and error results. Notes and tweaks for hppa{64}-hpux. Possibly more notes than belong here. Explicitly specify SPARC64_LINUX since it always sniffs as SPARC32_LINUX. Actual SPARC32_LINUX doesn't exist as an OS/kernel any longer but is still normal for usermode. From jkrell at elego.de Sat Feb 28 19:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183851.6F4A410D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:38:51 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add/enable PA32_HPUX and PA64_HPUX (only 32 being tested currently) From jkrell at elego.de Sat Feb 28 19:43:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:43:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228184333.DFC6110D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:43:33 Modified files: cm3/scripts/python/: pylib.py Log message: sometimes PA32_HPUX needs -lm From jkrell at elego.de Sat Feb 28 20:46:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:46:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228194633.0134C10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:46:32 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: fix warnings From jkrell at elego.de Sat Feb 28 20:56:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:56:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228195623.C4BE610D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:56:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: don't pass -soname on HP-UX, it causes an error -- need to read the ld man page, and expand and investigate the compability warnings From jkrell at elego.de Sat Feb 28 21:57:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 21:57:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228205756.E346110D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 21:57:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: no shared libs for now on HP-UX Critical Mass apparently lacked them too - .sl instead of .so - linker complains about everything when we try need to read linker man page or look at a libtool log turn off PIC while at it, at least for now fix paths to assembler (at least on my system) From jkrell at elego.de Sat Feb 28 22:14:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 22:14:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228211448.AB63A10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 22:14:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: remove shared_lib_arg at least for now From jkrell at elego.de Sun Feb 1 06:04:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:04:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050433.F1AA810D638D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:04:33 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/x86/: context.c context.h contextasm.s Added files: cm3/m3-libs/m3core/src/context/x86/: gendef.c Log message: On OpenBSD (x86 only currently) use the struct sigcontext/ucontext_t they define instead of defining our own -- note that OpenBSD has typedef sigcontext ucontext_t which is very dubious, since for example it lacks the Posix-specified fields uc_mcontext, uc_stack, uc_link, uc_sigmask. We use their 'ucontext_t' for our uc_mcontext. The point of sharing their struct would then be to overwrite the third parameter to the signal handler, rather than jumping to our own new context. However that version access violates every so often, whereas using setcontext/jmp does not. From jkrell at elego.de Sun Feb 1 06:05:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:05:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050527.8640810D5A78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:05:27 Modified files: cm3/m3-libs/m3core/src/context/x86/: context.h Log message: comments From jkrell at elego.de Sun Feb 1 07:14:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061417.C486B10D6398@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: add mprotect, PROT_READ, PROT_WRITE, PROT_NONE for managing user thread stacks (for making the last page not usable to catch stack overflow) From jkrell at elego.de Sun Feb 1 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061443.3517B10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: remove unneeded pragma From jkrell at elego.de Sun Feb 1 07:15:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:15:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061523.C52D810D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:15:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: use Cstddef.size_t in place of Utypes.size_t, remove comment about header From jkrell at elego.de Sun Feb 1 14:41:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:41:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134127.8EAF410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:41:27 Added files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 Log message: work in progress: user thread support, with less platform specific code; the point of this chunk is merely to avoid having to declare sigset_t, sigaction_t, as well as to speculatively converge on one set of platform-independent code from various identical or similar sets of platform-dependent code (that is, there is a bunch of similar/identical platform-specific Modula-3 code, that could probably be combined down to one chunk of platform-independent Modula-3 code, but here we go the extra step of replacing it with C, in order to just slightly reduce the need to clone platform-specific C headers) From jkrell at elego.de Sun Feb 1 14:42:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:42:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134246.5978410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:42:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.h Log message: fix last minute change From jkrell at elego.de Sun Feb 1 16:53:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 16:53:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201155347.13D9FF04002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 16:53:46 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 m3makefile cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Umman.i3 Usignal.i3 Utermio.i3 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.m3 Log message: allow building cygwin and openbsd/x86 user thread variants even if they don't work yet -- provide stubs for the old implementation strategy, to ease providing a new strategy; ultimately the two will probably both coexist in the source with a constant as to which to use, at least temporarily as platforms are migrated (note that cygwin doesn't provide setitimer so won't work with current plan) some rename/restructure of C code for terseness, not done previously because I didn't think it'd work, and it still doesn't seem to work consistently From jkrell at elego.de Sun Feb 1 17:54:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:54:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165449.D7D7A72575C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:54:49 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: demonstrate preemption on cygwin using real time instead of virtual time, but swapcontext in signal handler not working for some reason, so demonstrate "set a flag and check it outside the signal handler", which works here From jkrell at elego.de Sun Feb 1 17:58:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:58:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165843.BE2AE10D5F54@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:58:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Utime.i3 UtimeC.c Log message: deliberately confuse ITIMER_REAL and ITIMER_VIRTUAL on Cygwin Cygwin only supports real and m3core only uses virtual. From jkrell at elego.de Sun Feb 1 18:01:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 18:01:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201170141.8C07810D5F5F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 18:01:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: use SIGALRM instead of SIGVTALRM on Cygwin From jkrell at elego.de Mon Feb 2 20:22:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:22:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192202.0107910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:22:01 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: cleanup, before trying harder to find cygwin problem From jkrell at elego.de Mon Feb 2 20:24:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:24:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192458.BADB910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:24:58 Added files: cm3/m3-libs/m3core/src/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: a somewhat portable version very much in the vein of the existing Modula-3 code, that perhaps is more amenable to #ifdef From jkrell at elego.de Mon Feb 2 22:11:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 22:11:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202211125.EA200904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 22:11:25 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/setjmp/: context.c Log message: cleanup, give up on debugging cygwin behavior or supporting user threads on cygwin (other than perhaps with win32 fibers) From jkrell at elego.de Tue Feb 3 01:33:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:33:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203003340.C176310D5EC8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:33:40 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdlib.i3 Log message: add calloc, which can be more efficient than malloc+memset(0), such as if malloc had to resort to its underlying allocator which likely proviced already zeroed pages; I believe Apple recommends this for perf From jkrell at elego.de Tue Feb 3 01:50:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:50:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005036.8EBD810D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:50:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: fix From jkrell at elego.de Tue Feb 3 01:51:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:51:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005141.C089F10D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:51:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: move #includes to top; people like that From jkrell at elego.de Tue Feb 3 06:17:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 6:17:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203051725.B402910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 06:17:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 RTAllocator.m3 Log message: expose RTAllocator.MallocZeroed (calloc), and RTAllocator.Free introduce internal RTAlloc.MallocUninitialized These include Disable/EnableSwitching, and raising exceptions upon failure. (Disable/Enable only do something for user threads). From hosking at elego.de Tue Feb 3 07:44:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064459.2705310D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:44:58 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 Log message: Danger Will Robinson! Don't expose Malloc and Free! From hosking at elego.de Tue Feb 3 07:45:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064532.10F3B10D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:45:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Keep Jay's intent which is to use calloc instead of malloc plus bzero. From hosking at elego.de Tue Feb 3 07:46:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:46:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064649.30B0910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:46:49 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Fix parse errors. From hosking at elego.de Tue Feb 3 08:00:13 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203070014.8019A10D436E@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:00:13 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: Format conventionally. From hosking at elego.de Tue Feb 3 08:47:07 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:47:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203074707.4ED5D744001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:47:07 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix atomic ops so as not to fall through to incompatible label on success. Some reformatting to fig 80 columns. From jkrell at elego.de Tue Feb 3 22:12:48 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:12:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211248.057D010D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:12:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Log message: fix newlines From jkrell at elego.de Tue Feb 3 22:13:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:13:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211350.8001F10D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:13:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s m3makefile Log message: add get/set/make/swapcontext for OpenBSD, and this should work for all others as well as we get to them From jkrell at elego.de Tue Feb 3 23:09:11 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 23:09:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203220911.3E66810D5F76@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 23:09:11 Removed files: cm3/m3-libs/m3core/src/context/setjmp/: config.c context.c context.h contextasm.s Makefile Log message: prototype moved elsewhere (unix/common/context) From hosking at cs.purdue.edu Tue Feb 3 23:54:36 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 4 Feb 2009 09:54:36 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090203211350.8001F10D5F73@birch.elegosoft.com> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> Message-ID: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Is this all x86-specific? On 3 Feb 2009, at 22:13, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/03 22:13:50 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 > m3makefile > Added files: > cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h > cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile > config.c > context.c > context.h > contextasm.s > m3makefile > > Log message: > add get/set/make/swapcontext for OpenBSD, and this should work > for all others as well as we get to them From jkrell at elego.de Wed Feb 4 00:06:42 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 0:06:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203230642.7EE8710D5F89@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 00:06:42 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: expose get/mmake/set/swapcontext on Linux/x86, not used yet From jay.krell at cornell.edu Wed Feb 4 00:09:29 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 3 Feb 2009 23:09:29 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Message-ID: Currently it only supports x86, but it /might/ only take some #ifdef to fix for others. /Some/ of the x86-specificity has been abstracted, in a way similar to what the existing Modula-3 code does. It also specific to platforms that do not provide get/make/set/swapcontext. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Wed, 4 Feb 2009 09:54:36 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Is this all x86-specific? > > On 3 Feb 2009, at 22:13, Jay Krell wrote: > >> CVSROOT: /usr/cvs >> Changes by: jkrell at birch. 09/02/03 22:13:50 >> >> Modified files: >> cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 >> m3makefile >> Added files: >> cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h >> cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile >> cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile >> config.c >> context.c >> context.h >> contextasm.s >> m3makefile >> >> Log message: >> add get/set/make/swapcontext for OpenBSD, and this should work >> for all others as well as we get to them > From jkrell at elego.de Wed Feb 4 10:02:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:02:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204090227.63A32714589@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:02:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.i3 Uucontext.c cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: fix LINUXLIBC6 tinderbox From jkrell at elego.de Wed Feb 4 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204094711.CA08510D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:47:11 Modified files: cm3/m3-sys/m3tests/src/r0/r004/: stderr.pgm Log message: update overly sensitive test case -- it contains a source line number from RTAllocator.m3 From jkrell at elego.de Wed Feb 4 21:17:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 21:17:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204201720.411C9744003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 21:17:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: fix for OpenBSD -- get time types from sys/types.h From hosking at elego.de Thu Feb 5 02:13:42 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Feb 2009 2:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205011342.EE7EB1704009@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/05 02:13:42 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Dec.m3 Log message: Fix check for INC/DEC: if not ordinal, must be address, but still must check it is a variable and writable. From jkrell at elego.de Thu Feb 5 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205094711.3A9CF10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:47:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: eliminate system-dependent header cloning wrt pthread_attr_t, replace with C wrapper that takes stack size From jkrell at elego.de Thu Feb 5 10:53:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:53:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205095330.1D17D10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:53:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: update comment -- the file is mostly but not completely just stubs, for Darwin From jkrell at elego.de Wed Feb 11 22:58:04 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 22:58:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211215804.C64A610D4220@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 22:58:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: add support for 32bit MacOSX 10.4 (aka Darwin, PPC_DARWIN) From jkrell at elego.de Wed Feb 11 23:09:19 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:09:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211220919.CCFB110D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:09:19 Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.s Log message: temporary delete in order to do case sensitive rename, in order for the file to be preprocessed, in order for the test case to be buildable on MacOSX/ppc32 From jkrell at elego.de Wed Feb 11 23:10:02 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:10:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221003.E06EF10D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:10:02 Added files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: add back with a capital S so it gets preprocessed From jkrell at elego.de Wed Feb 11 23:16:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:16:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221659.04D0310D5ECC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:16:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: save 32 bytes of stack and cleanup From rodney at elego.de Fri Feb 13 17:46:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 17:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213164602.2F3861704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 17:46:02 Added files: cm3/m3-libs/m3core/tests/newtext/src/: README m3makefile Test.m3 TextUtils.i3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: A test driver program for an experimental new implementation of the CM3 TEXT-processing algorithms in m3-libs/m3core/src/text. From rodney at elego.de Fri Feb 13 18:50:57 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 18:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213175057.0F14810D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 18:50:57 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From rodney.bates at wichita.edu Fri Feb 13 19:19:20 2009 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 13 Feb 2009 12:19:20 -0600 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090213175057.0F14810D4300@birch.elegosoft.com> References: <20090213175057.0F14810D4300@birch.elegosoft.com> Message-ID: <4995B9A8.5020403@wichita.edu> Well, I can work on compilers, debuggers, and functional text packages, but I can never operate CVS correctly. As far as I can tell, I think I got these checkins done in the trunk, rather than the branch I created for them. I created a tag on the trunk, "devel_m3core_text_2009_02_13", then created a branch with tag "devel_m3core_text_newtext_branch". Apparently I got that much right. But I am not sure whether the changed files went into the branch. My CVS book reads as if just a cvs tag -b ..., followed by a cvs commit will do the commits in the branch, but the commit message doesn't look like that happened. Can anybody help me with: 1) What really happened? 2) How should I have done this? 3) How can I fix the damage? PS: I believe that if you use the new files with no additional action, that you will get the same behavior as before, except that there will be considerable constant-time slowdown due to lots of instrumentation and dynamic deciding to use the original algorithms. But I have not tested this. Rodney M. Bates wrote: > CVSROOT: /usr/cvs > Changes by: rodney at birch. 09/02/13 18:50:57 > > Modified files: > cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 > Text.i3 Text.m3 Text16.i3 > Text16.m3 Text16Short.i3 > Text16Short.m3 Text8.i3 Text8.m3 > Text8CString.m3 Text8Short.i3 > Text8Short.m3 TextCat.m3 > TextClass.i3 TextClass.m3 > TextLiteral.i3 TextSub.m3 > UnsafeHash.m3 > > Log message: > An experimental rework of the CM3 TEXT-processing code found in > m3-libs/m3core/src/text, implementing the Modula-3 required interface > Text. > > The types and invariants of the data structure are not changed, thus > avoiding disruption of pickles. or anything else that depends on the > internal data structure of TEXT. > > Algorithms are changed to improve performance, especially when a value > is constructed by a linear series of concatenations,(i.e., > left-to-right or right-to-left). Generally, Concat is slower, but > this is more than offset by gains in the accessing operations. More > storage is allocated, but most is garbage, and retained storage ranges > from somewhat less to somewhat more. Recursion depth is dramatically > reduced. See the README file for more details. > From jkrell at elego.de Sat Feb 14 23:51:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 14 Feb 2009 23:51:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090214225102.62641714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/14 23:51:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile context.c Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: There's actually a fair degree of platform-commonality here, at least within the two that work; capture that. Also, balancing the stack on x86 doesn't really matter, if we are only going to setcontext anyway. From jkrell at elego.de Sun Feb 15 11:10:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 15 Feb 2009 11:10:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090215101014.43E2110D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/15 11:10:14 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: add dummy function to quash PPC_DARWIN libtool warning From hosking at cs.purdue.edu Mon Feb 16 00:31:54 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Feb 2009 10:31:54 +1100 Subject: [M3commit] Tinderbox failures Message-ID: Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Feb 16 01:06:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000650.85C9010D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:06:50 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: turn on preemption for scheduling and context swapping From jkrell at elego.de Mon Feb 16 01:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000744.08321220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:07:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: adapt to OpenBSD/powerpc From jkrell at elego.de Mon Feb 16 01:13:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:13:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001321.606C310D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:13:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup From jkrell at elego.de Mon Feb 16 01:17:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001741.ECA2D10D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:17:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup/clarify, didn't realize I had left that there, but it turned out to be needed. From jay.krell at cornell.edu Mon Feb 16 02:42:25 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 01:42:25 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:02:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:02:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216020230.604EC10D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:02:30 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapMap.i3 Log message: Expose DoWalkRef. From jay.krell at cornell.edu Mon Feb 16 03:15:02 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 02:15:02 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: I think it depends on what cm3 you start with. I noticed the Tinderbox has "last-ok" runs and "last-release" runs. last-ok appears to be working. last-release has the error. Updating my current cygwin build seemed to work. Starting with 5.4 (which is what last release appears to be) on Linux/x86 gave me a cm3 that just seg faults. I'll try to dig more. - Jay From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:20:20 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:20:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216022021.15FE310D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:20:20 Modified files: cm3/m3-libs/m3core/src/Csupport/VAX/: dtoa.c cm3/m3-libs/m3core/src/Csupport/big-endian/: dtoa.c cm3/m3-libs/m3core/src/Csupport/little-endian/: dtoa.c cm3/m3-libs/m3core/src/convert/: CConvert.i3 CConvert.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTThread.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 RTHeapRep.i3 RTOS.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Clean up RTOS.LockHeap/RTOS.UnlockHeap implementations to better match underlying pthread semantics. This means that RTOS.WaitHeap must be called while RTOS.LockHeap is held. RTOS.BroadcastHeap can be called whether RTOS.LockHeap is held or not. From hosking at elego.de Mon Feb 16 03:30:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023040.6316D10D569F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:39 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:30:55 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023055.CA4A310D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:55 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.i3 Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:32:34 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023234.8DFE210D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:32:34 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Need define for internal reuse. From hosking at elego.de Mon Feb 16 03:33:04 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:33:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023304.76D1F10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:33:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Remove ^M (dos2unix). From hosking at elego.de Mon Feb 16 03:34:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:34:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023408.ECFEB10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:34:08 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Make naming consistent. C files that implement Modula-3 interfaces should use the same naming scheme for their procedures as the Modula-3 implementations would use. From rodney at elego.de Mon Feb 16 03:55:26 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 16 Feb 2009 3:55:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216025526.DD39510D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/16 03:55:26 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: Put the original text code back, where intended From hosking at elego.de Mon Feb 16 04:49:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 4:49:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216034921.A4FE3714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 04:49:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.m3 RTProcessPosixC.i3 Log message: Just implement RTProcess__TimeUsed directly in C. Avoid double call. From hosking at elego.de Mon Feb 16 05:01:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216040140.9A81A10D5A80@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:01:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.i3 Log message: Rationalize naming scheme for ThreadPThreadC implementations. From hosking at elego.de Mon Feb 16 05:43:10 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:43:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216044310.7E6CA714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:43:10 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 Log message: Restore wrapper for TimeUsed. RTProcess.TimeUsed calls RTProcessPosix.TimeUsed. From hosking at elego.de Mon Feb 16 06:41:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054123.9BB9A714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:41:22 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cerrno.i3 CerrnoC.c Log message: Rationalize naming. From hosking at elego.de Mon Feb 16 06:44:56 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054457.3037D10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:44:56 Modified files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/C/I386_DARWIN/: Cstdio.i3 m3makefile cm3/m3-libs/m3core/src/C/PPC_DARWIN/: Cstdio.i3 m3makefile Removed files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/I386_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/PPC_DARWIN/: CstdioC.c Log message: We don't need to wrap these functions. From hosking at elego.de Mon Feb 16 06:50:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:50:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055001.1873D714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:50:00 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Uexec.c Uexec.i3 Unetdb.i3 Unix.i3 UnixC.c Upthread.i3 Usignal.i3 Usocket.i3 Ustat.i3 UstatC.c Utime.i3 UtimeC.c Log message: Rationalize names.names Rationalize names. From hosking at elego.de Mon Feb 16 06:51:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:51:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055130.B3CB010D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:51:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Missed a couple. From hosking at elego.de Mon Feb 16 06:56:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:56:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055642.DE53210D58CC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:56:41 Modified files: cm3/m3-sys/m3middle/src/: M3CG_Check.m3 Log message: Fix stack checking code for atomics. From jkrell at elego.de Mon Feb 16 09:05:18 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:05:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216080518.80A5310D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:05:18 Modified files: cm3/scripts/config/: config.c Log message: adapt for NetBSD (further investigate?); only dump all the apparent jmpbuf stuff for cygwin, hopefully nobody else gets it wrong; remove incorrect Cygwin jmpbuf fix (there is a fix, but this isn't it) From jkrell at elego.de Mon Feb 16 09:57:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:57:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216085723.084CF10D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:57:22 Added files: cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 m3makefile Log message: initial versions for NetBSD note that these "Usysdep" files are nearly identical across all targets From wagner at elegosoft.com Mon Feb 16 12:46:57 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 16 Feb 2009 12:46:57 +0100 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: <20090216124657.2sdgj9zc48cgk4c0@mail.elegosoft.com> Quoting Jay : > > I think it depends on what cm3 you start with. > I noticed the Tinderbox has "last-ok" runs and "last-release" runs. > last-ok appears to be working. > last-release has the error. This is an unfortunate and unforeseen state. It should be OK if last-ok build fail, but we need to be able to boot the system with the last official release. If we cannot guarantee that, one cannot upgrade from source between releases. It sounds strange though... Olaf > Updating my current cygwin build seemed to work. > Starting with 5.4 (which is what last release appears to be) on > Linux/x86 gave me a cm3 that just seg faults. > I'll try to dig more. > > > - Jay > > > > From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; > m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] > Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 > > Linux/x86 and FreeBSD/x86 also (ie: I think all). > http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package > m3-libs/m3core ===12575 +++ cm3 -build > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in > FreeBSD4 ---12577 12578 ignoring > ../src/m3overrides12579 12580 12581 12582 > ***12583 NEXT *** runtime error:12584 *** An > enumeration or subrange value was out of range.12585 *** > file "../src/text/Text.m3", line 88212586 ***12587 > 12588 Abort trap (core dumped)I'll probably look shortly. - > Jay > > > > From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; > m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: > [M3devel] Tinderbox failures > Solaris builds are failing with an enumeration/subrange bounds > runtime error in Text.m3. This is since the alternative text > implementation was checked in. Can someone look into what might be > the problem? Or should we back out the new text code. > > > Antony Hosking | Associate Professor | Computer Science | Purdue University > 305 N. University Street | West Lafayette | IN 47907 | USA > Office +1 765 494 6001 | Mobile +1 765 427 5484 > -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jay.krell at cornell.edu Mon Feb 16 23:26:37 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 22:26:37 +0000 Subject: [M3commit] suggestion for "atomic ops" Message-ID: Let a code generator advertise that it doesn't support them. And if so, instead generate a call to some set of functions. I realize this fallback could be implemented in the code generators themselves. Windows has various "interlocked" functions that should make this easy. Thanks, - Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Feb 17 05:45:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 5:45:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217044548.27CA5220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 05:45:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 Added files: cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 CasP.m3 Log message: Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. CAS is defined as follows: CAS(v, o, n): BaseType(v) where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, atomically sets v to value n, so long as the previous value of v is o, returning the previous value of v in either case. Similarly, CASP is defined as: CASP(v, o, n): BOOLEAN atomically sets v to n, so long as the previous value of v is o, returning TRUE if the comparison is successful and n was assigned to v. I may yet generalize these to permit v to have any ordinal type. In unsafe modules I may also permit v to be a subtype of ADDRESS. From jay.krell at cornell.edu Tue Feb 17 06:06:18 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 05:06:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217044548.27CA5220001C@birch.elegosoft.com> References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: Is CASP trivially constructed from CAS? CASP(value, old, new) == (CAS(value, old, new) == old) ? P for predicate? ie: returns boolean? Or a) am I just wrong? b) sometimes it is more efficient implemented more directly? For example, I know "InterlockedIncrement" can be implemented as an infinite retry loop around compare_and_swap, but that doesn't seem most efficient, e.g: long InterlockedIncrement(volatile long* p): while (1) long old = *p; if (InterlockedCompareExchange(p, old, old + 1) == old) return (old + 1); I assume we don't care about 386 support, nor maybe even 486. Somewhere along the line way back "lock cmpxchg8b" is not supported. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 05:45:48 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 05:45:48 > > Modified files: > cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile > cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 > cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 > Added files: > cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 > CasP.m3 > > Log message: > Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. > CAS is defined as follows: > > CAS(v, o, n): BaseType(v) > > where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, > atomically sets v to value n, so long as the previous value of v is o, returning the previous > value of v in either case. > > Similarly, CASP is defined as: > > CASP(v, o, n): BOOLEAN > > atomically sets v to n, so long as the previous value of v is o, returning TRUE if the > comparison is successful and n was assigned to v. > > I may yet generalize these to permit v to have any ordinal type. > In unsafe modules I may also permit v to be a subtype of ADDRESS. > From hosking at cs.purdue.edu Tue Feb 17 07:10:10 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 17:10:10 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> It is sometimes more efficient, depending on hardware. I forgot to mention that to use these intrinsics you need to tell the backend in your cm3.cfg to take advantage of suitable instructions where available. On x86 I use "-march=i686". On 17 Feb 2009, at 16:06, Jay wrote: > > Is CASP trivially constructed from CAS? > > CASP(value, old, new) == (CAS(value, old, new) == old) ? > > P for predicate? ie: returns boolean? > > > Or a) am I just wrong? > b) sometimes it is more efficient implemented more directly? > > > For example, I know "InterlockedIncrement" can be implemented as an > infinite retry loop around compare_and_swap, but that doesn't seem > most efficient, e.g: > > > long InterlockedIncrement(volatile long* p): > while (1) > long old = *p; > if (InterlockedCompareExchange(p, old, old + 1) == old) > return (old + 1); > > > > I assume we don't care about 386 support, nor maybe even 486. > Somewhere along the line way back "lock cmpxchg8b" is not supported. > > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 05:45:48 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 05:45:48 >> >> Modified files: >> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >> Added files: >> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >> CasP.m3 >> >> Log message: >> Experimental support for compare_and_swap (CAS) and compare_and_set >> (CASP) builtin operations. >> CAS is defined as follows: >> >> CAS(v, o, n): BaseType(v) >> >> where v is an integer variable (INTEGER/LONGINT), and o and n are >> assignable to v, >> atomically sets v to value n, so long as the previous value of v is >> o, returning the previous >> value of v in either case. >> >> Similarly, CASP is defined as: >> >> CASP(v, o, n): BOOLEAN >> >> atomically sets v to n, so long as the previous value of v is o, >> returning TRUE if the >> comparison is successful and n was assigned to v. >> >> I may yet generalize these to permit v to have any ordinal type. >> In unsafe modules I may also permit v to be a subtype of ADDRESS. >> From jay.krell at cornell.edu Tue Feb 17 07:19:39 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 06:19:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> References: <20090217044548.27CA5220001C@birch.elegosoft.com> <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> Message-ID: > "-march=i686". This is a confusing area -- *so many* switches to configure and gcc, but maybe we should have m3-sys/m3cc/src/m3makefile configure it to always be so, or always at least so? Maybe in this case it isn't even a configure switch, but the platform tuple. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 17:10:10 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > It is sometimes more efficient, depending on hardware. > > I forgot to mention that to use these intrinsics you need to tell the > backend in your cm3.cfg to take advantage of suitable instructions > where available. On x86 I use "-march=i686". > > On 17 Feb 2009, at 16:06, Jay wrote: > >> >> Is CASP trivially constructed from CAS? >> >> CASP(value, old, new) == (CAS(value, old, new) == old) ? >> >> P for predicate? ie: returns boolean? >> >> >> Or a) am I just wrong? >> b) sometimes it is more efficient implemented more directly? >> >> >> For example, I know "InterlockedIncrement" can be implemented as an >> infinite retry loop around compare_and_swap, but that doesn't seem >> most efficient, e.g: >> >> >> long InterlockedIncrement(volatile long* p): >> while (1) >> long old = *p; >> if (InterlockedCompareExchange(p, old, old + 1) == old) >> return (old + 1); >> >> >> >> I assume we don't care about 386 support, nor maybe even 486. >> Somewhere along the line way back "lock cmpxchg8b" is not supported. >> >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 05:45:48 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 05:45:48 >>> >>> Modified files: >>> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >>> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >>> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >>> Added files: >>> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >>> CasP.m3 >>> >>> Log message: >>> Experimental support for compare_and_swap (CAS) and compare_and_set >>> (CASP) builtin operations. >>> CAS is defined as follows: >>> >>> CAS(v, o, n): BaseType(v) >>> >>> where v is an integer variable (INTEGER/LONGINT), and o and n are >>> assignable to v, >>> atomically sets v to value n, so long as the previous value of v is >>> o, returning the previous >>> value of v in either case. >>> >>> Similarly, CASP is defined as: >>> >>> CASP(v, o, n): BOOLEAN >>> >>> atomically sets v to n, so long as the previous value of v is o, >>> returning TRUE if the >>> comparison is successful and n was assigned to v. >>> >>> I may yet generalize these to permit v to have any ordinal type. >>> In unsafe modules I may also permit v to be a subtype of ADDRESS. >>> > From hosking at elego.de Tue Feb 17 07:56:02 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 7:56:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217065602.AA12E10D4653@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 07:56:02 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Support required for atomic intrinsics. From hosking at elego.de Tue Feb 17 08:04:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:04:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070403.CC29810D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:04:03 Modified files: cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 M3CG_Ops.i3 M3CG_Wr.m3 Log message: Generalize atomic ops to all memory types (MType). From hosking at elego.de Tue Feb 17 08:06:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070649.31C7D10D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:06:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Cas.m3 CasP.m3 cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Log message: Allow CAS/CASP on any ordinal type or address. From jay.krell at cornell.edu Tue Feb 17 08:16:17 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 07:16:17 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217070403.CC29810D4624@birch.elegosoft.com> References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: I think 8 and 16 bit types will be difficult on some systems. It can perhaps be synthesized by rounding the address down to be 32/64-aligned and doing a 32/64-bit operation there, but the other data might be protected by an old fashioned lock and..I don't think that works out correctly. Granted, I don't know if you have extended support to 8 and 16 bit types, just speculating. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 08:04:03 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 08:04:03 > > Modified files: > cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 > M3CG_Ops.i3 M3CG_Wr.m3 > > Log message: > Generalize atomic ops to all memory types (MType). > From hosking at cs.purdue.edu Tue Feb 17 09:19:15 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:19:15 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From hosking at cs.purdue.edu Tue Feb 17 09:20:29 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:20:29 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From jay.krell at cornell.edu Tue Feb 17 09:39:15 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 08:39:15 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: For whatever reason, the Microsoft compiler only exposes 16/32/64, but not 8: http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx There is Or8, And8, Xor8 though. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 19:20:29 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > This is experimental stuff. 8 & 16 work on x86. > > On 17 Feb 2009, at 18:16, Jay wrote: > >> >> I think 8 and 16 bit types will be difficult on some systems. >> >> It can perhaps be synthesized by rounding the address down to be >> 32/64-aligned and doing a 32/64-bit operation there, but the other >> data might be protected by an old fashioned lock and..I don't think >> that works out correctly. >> >> Granted, I don't know if you have extended support to 8 and 16 bit >> types, just speculating. >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 08:04:03 >>> >>> Modified files: >>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>> M3CG_Ops.i3 M3CG_Wr.m3 >>> >>> Log message: >>> Generalize atomic ops to all memory types (MType). >>> > From hosking at cs.purdue.edu Tue Feb 17 10:59:06 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 20:59:06 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: <3E80B36B-8DC3-417F-A533-31257BF2C78E@cs.purdue.edu> The gcc-based backend supports all sizes: 8, 16, 32, 64. On 17 Feb 2009, at 19:39, Jay wrote: > > For whatever reason, the Microsoft compiler only exposes 16/32/64, > but not 8: > > > http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx > > > There is Or8, And8, Xor8 though. > > > - Jay > > > ---------------------------------------- >> From: hosking at cs.purdue.edu >> To: jay.krell at cornell.edu >> Date: Tue, 17 Feb 2009 19:20:29 +1100 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> This is experimental stuff. 8 & 16 work on x86. >> >> On 17 Feb 2009, at 18:16, Jay wrote: >> >>> >>> I think 8 and 16 bit types will be difficult on some systems. >>> >>> It can perhaps be synthesized by rounding the address down to be >>> 32/64-aligned and doing a 32/64-bit operation there, but the other >>> data might be protected by an old fashioned lock and..I don't think >>> that works out correctly. >>> >>> Granted, I don't know if you have extended support to 8 and 16 bit >>> types, just speculating. >>> >>> - Jay >>> >>> >>> ---------------------------------------- >>>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>>> To: m3commit at elegosoft.com >>>> From: hosking at elego.de >>>> Subject: [M3commit] CVS Update: cm3 >>>> >>>> CVSROOT: /usr/cvs >>>> Changes by: hosking at birch. 09/02/17 08:04:03 >>>> >>>> Modified files: >>>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>>> M3CG_Ops.i3 M3CG_Wr.m3 >>>> >>>> Log message: >>>> Generalize atomic ops to all memory types (MType). >>>> >> From hosking at elego.de Wed Feb 18 03:21:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218022105.542D310D6433@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:21:05 Modified files: cm3/m3-libs/m3core/src/unix/linux-libc6/: Utime.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Utime.i3 Log message: Missed a few renamings. From hosking at elego.de Wed Feb 18 03:32:37 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:32:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218023238.2795E10D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:32:37 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/WIN32/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTProcess.i3 Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 RTProcessPosixC.c cm3/m3-libs/m3core/src/runtime/WIN32/: RTProcessWin32.m3 Log message: Blow away RTProcess.TimeUsed. It is dead code. From hosking at elego.de Wed Feb 18 03:46:15 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:46:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218024615.EF3F510D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:46:15 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/darwin-generic/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-2/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-3/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-4/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/netbsd2-i386/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/solaris-2-x/: Dir.c Log message: Remove dead C code (unused). From hosking at elego.de Wed Feb 18 05:05:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:05:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218040550.9C7DE220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:05:50 Modified files: cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignal.m3 RTSignalC.c RTSignalC.i3 RTSignalPrivate.i3 RTThread.m3 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTError.h RTProcess.h RTSignal.m3 RTSignalC.c RTSignalC.h RTSignalC.i3 RTThread.m3 m3text.h Log message: Refactor C-based RTSignal implementation, and switch I386_DARWIN over to it. From hosking at elego.de Wed Feb 18 05:46:44 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:46:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218044644.BECC2220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:46:44 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Fix pc grabbing for Darwin platforms. From hosking at elego.de Wed Feb 18 05:56:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:56:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218045650.45FB6220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:56:50 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Drop weird historical check that pc is the same as si_addr. From hosking at elego.de Wed Feb 18 06:00:34 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218050035.0FEBC10D5F5D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:00:34 Modified files: cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile Log message: Switch AMD64_DARWIN, PPC_DARWIN over to C-based RTSignal. From hosking at elego.de Wed Feb 18 06:11:24 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:11:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218051125.127141704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:11:24 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Implement GetPC for SPARC. From hosking at elego.de Wed Feb 18 06:52:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055248.782FF1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:52:47 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work. From hosking at elego.de Wed Feb 18 06:55:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055505.82DEB1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:55:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: m3makefile Log message: Switch SOLsun and SOLgnu to C-based RTSignal. From jay.krell at cornell.edu Wed Feb 18 07:05:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:05:22 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <20090218055248.782FF1704003@birch.elegosoft.com> References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: The source file should have #define _GNU_SOURCE at the top, right? Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Feb 18 07:14:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 18 Feb 2009 17:14:13 +1100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: > The source file should have #define _GNU_SOURCE at the top, right? > Thanks for these changes. > > - Jay > > > Date: Wed, 18 Feb 2009 06:52:47 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/02/18 06:52:47 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > > > Log message: > > Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to > work. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:19:16 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:19:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218061917.3F9001704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:19:16 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: add #define _GNU_SOURCE; it works for me on birch From jkrell at elego.de Wed Feb 18 07:32:51 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:32:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218063252.3AD5F1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:32:51 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: extend extern 'C' over more of the file; remove unused Info parameter (which if needed, need not be passed through void*) From jay.krell at cornell.edu Wed Feb 18 07:37:18 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:37:18 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: It worked for me..and not without it as expected. Is there a danger of, like, bifurcating the ABI across different source files, when they have different #defines? You know, I would not want a situation such as: /usr/include/foo.h: typedef struct _foo_t { int a; #ifdef _GNU_SOURCE int b; } foo_t; and then different files traffic in foo_t, with varying defined-ness _GNU_SOURCE. I think #define _FILE_OFFSET_BITS can cause this sort of thing for example. -Jay From: hosking at cs.purdue.eduTo: jay.krell at cornell.eduDate: Wed, 18 Feb 2009 17:14:13 +1100CC: m3commit at elegosoft.comSubject: Re: [M3commit] FW: Must -D_GNU_SOURCE for these to work For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: The source file should have #define _GNU_SOURCE at the top, right?Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218064300.4D5D61704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:42:59 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: fix warning -- g++ predefines _GNU_SOURCE From jkrell at elego.de Wed Feb 18 07:52:55 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:52:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218065255.964311704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:52:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: make it legal C++ -- don't introduce type in sizeof From jkrell at elego.de Wed Feb 18 08:05:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 8:05:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218070536.4C5D31704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 08:05:35 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: remove obsolete comment about texts From jkrell at elego.de Wed Feb 18 10:45:47 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:45:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094548.10F2010D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:45:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 Log message: add back cond_broadcast and remove unused size_t import From jkrell at elego.de Wed Feb 18 10:46:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:46:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094635.23D1210D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:46:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: add back RTMachine to fix a bunch of targets such as cygwin; perhaps this belongs in the Posix directory From jkrell at elego.de Wed Feb 18 10:56:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:56:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095644.DA64610D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:56:44 Modified files: cm3/m3-libs/m3core/src/runtime/NT386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTMachine.i3 Log message: small cleanup From jkrell at elego.de Wed Feb 18 10:58:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:58:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095859.EA11E10D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:58:59 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: small cleanup -- use LeftShift on the log instead of spelling out the value From jkrell at elego.de Wed Feb 18 11:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218100107.29767784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:01:06 Modified files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTSignal.m3 Log message: delete stub dead RTSignal; RTMachine is dead here too but maybe shouldn't be From jkrell at elego.de Wed Feb 18 11:14:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:14:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101427.4A741784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:14:27 Modified files: cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 Log message: fix name mismatch between here and Uconstants.c, cygwin specific From jkrell at elego.de Wed Feb 18 11:17:26 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:17:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101726.BE2B7784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:17:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Log message: small style changes to hopefully make 'manual maintenance more automatic' by making comments longer and closer to their subject From roland.illig at gmx.de Wed Feb 18 11:17:26 2009 From: roland.illig at gmx.de (Roland Illig) Date: Wed, 18 Feb 2009 11:17:26 +0100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: <499BE036.4000201@gmx.de> Tony Hosking schrieb: > For some reason that does not appear to work. It needs to be defined on > the command line as -D_GNU_SOURCE. on the command line, -D_GNU_SOURCE is equivalent to #define _GNU_SOURCE 1 Roland From jkrell at elego.de Wed Feb 18 11:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218102228.D5B25784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:22:28 Modified files: cm3/scripts/python/: pylib.py Log message: I386_MINGW as synonym for NT386MINGNU; really need to work on cm3cfg.common to allow lists of aliases From jkrell at elego.de Wed Feb 18 11:31:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:31:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218103139.DD87410D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:31:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: remove ProcessPools from the other two thread interfaces, it was just removed from pthreads along with all the implementations and uses, leaving it here causes a break From jkrell at elego.de Wed Feb 18 11:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218105139.4860F10D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:51:39 Modified files: cm3/m3-sys/windowsResources/src/: winRes.tmpl Log message: adapt to MinGW which has windres instead of rc with different command line usage; detect MinGW by checking if backend mode is integrated backend or not, not great..it should really be informed by a variable in the toplevel configuration -- CONFIG_HAS_RC and CONFIG_HAS_WINDRES? From jkrell at elego.de Wed Feb 18 12:14:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:14:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218111406.CC6A810D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:14:06 Modified files: cm3/m3-libs/m3core/src/win32/: m3makefile WinUser.i3 cm3/m3-ui/ui/src/winvbt/: WinTrestle.m3 Added files: cm3/m3-libs/m3core/src/win32/: WinUserC.c Log message: workaround gcc backend bug that names <*EXTERNAL WindowFromPoint:WINAPI*> PROCEDURE WindowFromPoint (Point: POINT): HWND; WindowFromPoint at 4 instead of WindowFromPoint at 8 by adding <*EXTERNAL WinUser__WindowFromPointWorkaround:WINAPI*> PROCEDURE WindowFromPointWorkaround (VAR Point: POINT): HWND; HWND __stdcall WinUser__WindowFromPointWorkaround (POINT* Point) { return WindowFromPoint(*Point); } This lets I386_MINGW (NT386MINGNU) get further. From jkrell at elego.de Wed Feb 18 12:20:49 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:20:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112049.5084510D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:20:49 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: fix line endings (dos2unix) From jkrell at elego.de Wed Feb 18 12:21:33 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112133.3D7B910D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:21:33 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: use the correct .libs for I386_MINGW (NT386MINGNU) -- in particular fix building the opengl package From jkrell at elego.de Wed Feb 18 12:30:18 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:30:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218113018.7EF3710D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:30:17 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: fiddle with platform names some "I386_NT" : "i686-pc-mingw32", "I386_MINGW" : "i686-pc-mingw32", "I386_CYGWIN" : "i686-pc-cygwin", "NT386GNU" : "i686-pc-cygwin", "NT386MINGNU" : "i686-pc-mingw32", only cross builds -- where you specify the first column on the command line for host or target -- even use these lists. Native builds just let config.guess guess, perhaps not ideal but that's another matter. From rodney at elego.de Wed Feb 18 18:33:11 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 18 Feb 2009 18:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218173311.AB37010D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/18 18:33:11 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From jkrell at elego.de Wed Feb 18 18:52:36 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 18:52:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218175236.78A4F10D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 18:52:36 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add NT386MINGNU (admittedly Posix vs. Win32 confusing in these parts, not entirely redundant From rodney at elego.de Thu Feb 19 01:53:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 1:53:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219005302.41487904006@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 01:53:02 Modified files: cm3/doc/help/m3gdb/: m3gdb.docbook Log message: fix typo From rodney at elego.de Thu Feb 19 02:03:29 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219010331.E90DD1704010@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:03:27 Modified files: cm3/m3-libs/libm3/src/bundleintf/: m3makefile Log message: Add a warning for a sometimes problematic build case From rodney at elego.de Thu Feb 19 02:50:31 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:50:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219015031.9421A10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:50:31 Modified files: cm3/m3-libs/m3core/src/text/: Text.m3 Log message: Fix bugs in Text.FindCharR and FindWideCharR that start the search one place too late. From rodney at elego.de Thu Feb 19 21:25:35 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 21:25:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219202535.6537010D651D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 21:25:35 Modified files: cm3/m3-libs/m3core/src/text/: String8.m3 String16.m3 Log message: Fix a bug in 2 places where a NIL check is applied too late, after address arithmetic has already been done on the pointer, leading to segment faults. Also, in String16.m3, Copy in semantic description comments from the interface to the procedure bodies. From rodney at elego.de Thu Feb 19 22:06:36 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 22:06:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219210636.9EFB5784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 22:06:36 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 Text.m3 Log message: Fix Text.HasWideChars. Formerly, it only checked whether the representation had any components capabable of representing wide characters, not whether it actually contained any characters outside the range of CHAR. It would even return TRUE for, e.g.: Text.Sub(Text.Cat("abc",W"def"),0,3) That was neither what a client would expect nor very useful. Now it returns whether the abstract value of the text contains any characters outside the range of CHAR. From rodney at elego.de Fri Feb 20 17:49:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:49:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220164902.1FB3510D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:49:02 Added files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch README Log message: Initial commit From rodney at elego.de Fri Feb 20 17:53:04 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:53:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220165304.2C22310D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:53:04 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 Text.m3 TextClass.i3 Log message: 1) Fix the range error bug in Find[Wide]CharR. 2) Consistify a procedure name. 3) Default to new algorithms and flattening. From rodney at elego.de Fri Feb 20 18:00:53 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 18:00:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220170053.D0C3910D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 18:00:53 Added files: cm3/m3-libs/m3core/tests/newtext/src/: COPYRIGHT Log message: Initial commit From hosking at elego.de Sat Feb 21 02:09:45 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 21 Feb 2009 2:09:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090221010946.E9A3E2200066@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/21 02:09:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Missed re-setting holder in WaitHeap on return from cond_wait. From rodney at elego.de Mon Feb 23 02:50:32 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 2:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223015032.4212510D4354@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 02:50:32 Modified files: cm3/m3-tools/m3tk/src/fe/: StandardAsText.m3 WiredStandard.m3 Log message: Fix m3tk to recognize that in CM3, TEXT<:ROOT, instead of TEXT<:REFANY. This was causing packages obliqrt and obliqparse to fail to build, citing static errors on the subtypes of TEXT declared in Text8Short, etc. The failing packages use stubgen during building, which links in m3tk. These failures were occurring only when building using the Text branch. The subtypes have not changed, but the branch brings them into the closure compiled by m3tk. This is temporary, but it exposed a long-standing bug. From jkrell at elego.de Mon Feb 23 05:18:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 5:18:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223041801.A5A111704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 05:18:01 Modified files: cm3/scripts/python/: pylib.py Log message: some support for HPPA32_HPUX, HPPA64_HPUX, IA64_HPUX (let's ignore their 32bit compilation models?), HPPA32_LINUX, HPPA64_LINUX; or PA32 / PA64?, the double PA is redundant in HPPA32_HPUX but less so in HPPA32_LINUX From jkrell at elego.de Mon Feb 23 15:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144251.4E2D910D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:42:51 Modified files: cm3/scripts/python/: pylib.py Log message: use shorter name PA instead of HPPA at least for now; I already strewn it around, and there are other projects that use this shorter form e.g. libffi (which is part of Python, but also standalone), gcc folks seems to often pick longer names e.g. x86_64 vs. amd64? From jkrell at elego.de Mon Feb 23 15:44:30 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:44:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144430.2925210D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:44:30 Added files: cm3/m3-libs/m3core/src/C/PA32_HPUX/: Csetjmp.i3 m3makefile cm3/m3-libs/m3core/src/C/PA64_HPUX/: Csetjmp.i3 m3makefile Log message: add PA32_HPUX and PA64_HPUX From rodney at elego.de Mon Feb 23 16:49:51 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:49:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223154951.AC72722000D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:49:51 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 Log message: 1) Add some texts of type TextLiteral.T to the base mix. 2) Remove assorted leftover cruft. From rodney at elego.de Mon Feb 23 16:58:25 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:58:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223155825.5DB2772575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:58:25 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h m3-lang.c Log message: m3gdb is using stock gdb code to print values of floating type, but it needs to be modified for m3gdb data structures. It is now segfaulting m3gdb. This is only a partial fix that stops the segfault. The floating values still won't print. From jkrell at elego.de Mon Feb 23 23:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221305.519FC72575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:13:05 Added files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: add initial PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:19:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221927.8761210D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:19:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: -m32 and presumably -m64 not supported; this is fragile, should probably allow anything else From jkrell at elego.de Mon Feb 23 23:20:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:20:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223222044.B0AAA10D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:20:44 Modified files: cm3/m3-libs/m3core/src/C/Common/: m3makefile Log message: add PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:42:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:42:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224248.A7EE010D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:42:48 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => DatePosix From jkrell at elego.de Mon Feb 23 23:45:23 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:45:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224523.2EE0410D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:45:23 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => HPUX, hppa, hppa64, matter of taste/style here, there does exist HP/UX From jkrell at elego.de Mon Feb 23 23:46:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:46:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224624.27B9B10D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:46:24 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: fix typo on PA64_HPUX, doesn't break anything but PA64_HPUX From rodney at elego.de Tue Feb 24 03:06:50 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 3:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224020650.430B010D5C73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 03:06:50 Modified files: cm3/m3-sys/m3cc/gcc/gcc/: tree-cfg.c cm3/m3-sys/m3gdb/gdb/gdb/: dbxread.c Log message: Fix a bug in the case where the presence of a nested procedure inside a block with no local variables made m3gdb unable to renest the procedure. The compiler unnests procedures, and m3gdb renests them by relating the mangled procedure name (which encodes a complete accessing path to where the procedure is declared) to the structure of nested blocks given by the debug information. Both the compiler and gdb were throwing away blocks with no variables, leaving m3gdb unable to find the right block. This had to be fixed in both places. From rodney at elego.de Tue Feb 24 22:39:24 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224213924.1542A10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:39:24 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.m3 TextClass.i3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:40:01 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:40:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224214002.427ED10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:40:01 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 TextUtils.m3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:50:13 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:50:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224215013.A1B0E10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:50:13 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix buggy RTHooks.MultiCat (also accessible through pure wrapper procedure TextCat.NewMulti)(both implemented in TextCat.m3). It didn't set fields a_len, b_len, or a_or_b_wide of the TextCat.T nodes it built. This is so blatent, it must have not been used anywhere in any general way. From rodney at elego.de Tue Feb 24 23:17:49 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:17:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224221749.0D8BA10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:17:49 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:20:42 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:20:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224222042.86C3B10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:20:42 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:36:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223607.2B91410D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:36:07 Removed files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From rodney at elego.de Tue Feb 24 23:37:03 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223703.4BD2F10D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:37:03 Removed files: cm3/m3-libs/m3core/src/text/: TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From jkrell at elego.de Wed Feb 25 01:55:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 1:55:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225005521.0588A10D644D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 01:55:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uerror.i3 Uconstants.c Log message: increase max errno from 151 to 248 for HP-UX From rodney at elego.de Wed Feb 25 16:15:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 25 Feb 2009 16:15:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225151508.695B0904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/25 16:15:07 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix a pasting error made while cross-patching bugfix of MultiCat from the Text branch into the trunk. From jkrell at elego.de Wed Feb 25 17:22:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 17:22:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225162207.E2AF910D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 17:22:07 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: adapt for HP-UX, though I'm still leary of all this time keeping code..need to write some tests.. From jkrell at elego.de Wed Feb 25 18:07:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:07:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170727.0A9A6784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:07:27 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: /tmp/cvsAIi00x From jkrell at elego.de Wed Feb 25 18:09:57 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:09:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170957.38D64784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:09:57 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back a version because I flubbed the commit command line, was supposed to read the comment out of that file, not use its path as the comment.. From jkrell at elego.de Wed Feb 25 18:10:40 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:10:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225171040.0EF1810D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:10:40 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix so that PA32_HPUX cm3 links. HPUX needs a list of imports at the end of assembly code. (even if using GNU as) This might be needed elsewhere in addition for data, but this is enough to get cm3 to link. Each gcc front end is supposed to call this for imported symbols. From jay.krell at cornell.edu Wed Feb 25 18:08:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 25 Feb 2009 17:08:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090225170727.0A9A6784001@birch.elegosoft.com> References: <20090225170727.0A9A6784001@birch.elegosoft.com> Message-ID: oops > Date: Wed, 25 Feb 2009 18:07:27 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/25 18:07:27 > > Modified files: > cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c > > Log message: > /tmp/cvsAIi00x > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Feb 26 17:16:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:16:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226161605.75D9B10D65F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:16:05 Modified files: cm3/m3-sys/m3tests/src/: Test.i3 m3makefile cm3/m3-sys/m3tests/src/p0/p001/: Main.m3 m3makefile Added files: cm3/m3-sys/m3tests/src/: TestC.c Log message: nice little test case to verify compilation of floating point constants and correctness of Usysdep I would really like to have this "run" in RTLinker but suspect that would be rejected. Anywhere else, e.g. here, is kind of too late to be valuable, unless we manage to get this into boot1.py, and very early in the list of modules that RTLinker initializes. This reveals some existing possible problems. - arrays of odd number of float and/or double don't match up between C and Modula-3; probably related to -mno-aligned-floats - there are other mismatches here masked by inserting size_t padding in particular I think cywin linger_t has 16 bit integers and there is disagreement there. But I didn't look into it. Luckily the interactions between C and Modula-3 are relatively rare /and/ relatively conservative and not very likely to hit these issues. They do merit further attention though. "Running this test case" is merely evaluation three efficient assertions plus dedicating the constant static space to two structs (Modula-3 might run initialization code for its "const static" though?) From jkrell at elego.de Thu Feb 26 17:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163042.6528372575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:30:42 Modified files: cm3/scripts/python/: pylib.py Log message: HP-UX requires -lrt for semaphore functions (like Solaris) From jkrell at elego.de Thu Feb 26 17:39:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163902.315D710D65E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: HP-UX: SIGRTMAX is a function call, _SIGRTMAX is not, use _SIGRTMAX MAX is defined elsewhere, #undef it (they are almost the same) From rodney at elego.de Fri Feb 27 16:18:09 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 27 Feb 2009 16:18:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090227151809.E6B981704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/27 16:18:09 Modified files: cm3/m3-libs/libm3/src/arith/POSIX/: Math.i3 cm3/m3-libs/libm3/src/arith/WIN32/: Math.i3 Log message: Fix an important typoo in description of frexp. From jkrell at elego.de Sat Feb 28 19:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228181846.0AA6510D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:18:45 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: When doing a cross build that swaps endian, swap the longs in a constant double. This lets the double in TimePosix.m3 compile ok and therefore its module initializer not hang. 4 byte floats unaffected, deliberately, as an intermediate form of this change also swapped them, and broke them (as evidenced by the very first traced allocation attempting to collect garbage, because the floats in RTCollector were messed up). From jkrell at elego.de Sat Feb 28 19:33:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:33:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183355.730E610D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:33:55 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Building FreeBSD targeting compilers requires specifying at least a major version (ia64, alpha). gcc contains something like #if FBSD_MAJOR > something put -lpthreads in defaults #endif but of target has no numbers at the end, FBSD_MAJOR is 0 or not defined and error results. Notes and tweaks for hppa{64}-hpux. Possibly more notes than belong here. Explicitly specify SPARC64_LINUX since it always sniffs as SPARC32_LINUX. Actual SPARC32_LINUX doesn't exist as an OS/kernel any longer but is still normal for usermode. From jkrell at elego.de Sat Feb 28 19:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183851.6F4A410D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:38:51 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add/enable PA32_HPUX and PA64_HPUX (only 32 being tested currently) From jkrell at elego.de Sat Feb 28 19:43:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:43:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228184333.DFC6110D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:43:33 Modified files: cm3/scripts/python/: pylib.py Log message: sometimes PA32_HPUX needs -lm From jkrell at elego.de Sat Feb 28 20:46:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:46:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228194633.0134C10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:46:32 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: fix warnings From jkrell at elego.de Sat Feb 28 20:56:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:56:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228195623.C4BE610D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:56:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: don't pass -soname on HP-UX, it causes an error -- need to read the ld man page, and expand and investigate the compability warnings From jkrell at elego.de Sat Feb 28 21:57:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 21:57:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228205756.E346110D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 21:57:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: no shared libs for now on HP-UX Critical Mass apparently lacked them too - .sl instead of .so - linker complains about everything when we try need to read linker man page or look at a libtool log turn off PIC while at it, at least for now fix paths to assembler (at least on my system) From jkrell at elego.de Sat Feb 28 22:14:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 22:14:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228211448.AB63A10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 22:14:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: remove shared_lib_arg at least for now From jkrell at elego.de Sun Feb 1 06:04:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:04:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050433.F1AA810D638D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:04:33 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/x86/: context.c context.h contextasm.s Added files: cm3/m3-libs/m3core/src/context/x86/: gendef.c Log message: On OpenBSD (x86 only currently) use the struct sigcontext/ucontext_t they define instead of defining our own -- note that OpenBSD has typedef sigcontext ucontext_t which is very dubious, since for example it lacks the Posix-specified fields uc_mcontext, uc_stack, uc_link, uc_sigmask. We use their 'ucontext_t' for our uc_mcontext. The point of sharing their struct would then be to overwrite the third parameter to the signal handler, rather than jumping to our own new context. However that version access violates every so often, whereas using setcontext/jmp does not. From jkrell at elego.de Sun Feb 1 06:05:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 6:05:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201050527.8640810D5A78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 06:05:27 Modified files: cm3/m3-libs/m3core/src/context/x86/: context.h Log message: comments From jkrell at elego.de Sun Feb 1 07:14:17 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061417.C486B10D6398@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:17 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: add mprotect, PROT_READ, PROT_WRITE, PROT_NONE for managing user thread stacks (for making the last page not usable to catch stack overflow) From jkrell at elego.de Sun Feb 1 07:14:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:14:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061443.3517B10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:14:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: remove unneeded pragma From jkrell at elego.de Sun Feb 1 07:15:21 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 7:15:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201061523.C52D810D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 07:15:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Umman.i3 Log message: use Cstddef.size_t in place of Utypes.size_t, remove comment about header From jkrell at elego.de Sun Feb 1 14:41:27 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:41:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134127.8EAF410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:41:27 Added files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 Log message: work in progress: user thread support, with less platform specific code; the point of this chunk is merely to avoid having to declare sigset_t, sigaction_t, as well as to speculatively converge on one set of platform-independent code from various identical or similar sets of platform-dependent code (that is, there is a bunch of similar/identical platform-specific Modula-3 code, that could probably be combined down to one chunk of platform-independent Modula-3 code, but here we go the extra step of replacing it with C, in order to just slightly reduce the need to clone platform-specific C headers) From jkrell at elego.de Sun Feb 1 14:42:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 14:42:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201134246.5978410D59A7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 14:42:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.h Log message: fix last minute change From jkrell at elego.de Sun Feb 1 16:53:47 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 16:53:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201155347.13D9FF04002@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 16:53:46 Modified files: cm3/m3-libs/m3core/src/: thread.quake cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c ThreadPosixC.h ThreadPosixC.i3 m3makefile cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Umman.i3 Usignal.i3 Utermio.i3 Added files: cm3/m3-libs/m3core/src/runtime/common/: RTThread.m3 Log message: allow building cygwin and openbsd/x86 user thread variants even if they don't work yet -- provide stubs for the old implementation strategy, to ease providing a new strategy; ultimately the two will probably both coexist in the source with a constant as to which to use, at least temporarily as platforms are migrated (note that cygwin doesn't provide setitimer so won't work with current plan) some rename/restructure of C code for terseness, not done previously because I didn't think it'd work, and it still doesn't seem to work consistently From jkrell at elego.de Sun Feb 1 17:54:49 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:54:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165449.D7D7A72575C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:54:49 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: demonstrate preemption on cygwin using real time instead of virtual time, but swapcontext in signal handler not working for some reason, so demonstrate "set a flag and check it outside the signal handler", which works here From jkrell at elego.de Sun Feb 1 17:58:43 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 17:58:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201165843.BE2AE10D5F54@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 17:58:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Utime.i3 UtimeC.c Log message: deliberately confuse ITIMER_REAL and ITIMER_VIRTUAL on Cygwin Cygwin only supports real and m3core only uses virtual. From jkrell at elego.de Sun Feb 1 18:01:37 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 1 Feb 2009 18:01:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090201170141.8C07810D5F5F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/01 18:01:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c Log message: use SIGALRM instead of SIGVTALRM on Cygwin From jkrell at elego.de Mon Feb 2 20:22:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:22:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192202.0107910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:22:01 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: cleanup, before trying harder to find cygwin problem From jkrell at elego.de Mon Feb 2 20:24:58 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 20:24:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202192458.BADB910D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 20:24:58 Added files: cm3/m3-libs/m3core/src/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: a somewhat portable version very much in the vein of the existing Modula-3 code, that perhaps is more amenable to #ifdef From jkrell at elego.de Mon Feb 2 22:11:25 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 2 Feb 2009 22:11:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090202211125.EA200904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/02 22:11:25 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c cm3/m3-libs/m3core/src/context/setjmp/: context.c Log message: cleanup, give up on debugging cygwin behavior or supporting user threads on cygwin (other than perhaps with win32 fibers) From jkrell at elego.de Tue Feb 3 01:33:40 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:33:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203003340.C176310D5EC8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:33:40 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdlib.i3 Log message: add calloc, which can be more efficient than malloc+memset(0), such as if malloc had to resort to its underlying allocator which likely proviced already zeroed pages; I believe Apple recommends this for perf From jkrell at elego.de Tue Feb 3 01:50:36 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:50:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005036.8EBD810D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:50:36 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: fix From jkrell at elego.de Tue Feb 3 01:51:41 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 1:51:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203005141.C089F10D59A8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 01:51:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: move #includes to top; people like that From jkrell at elego.de Tue Feb 3 06:17:25 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 6:17:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203051725.B402910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 06:17:25 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 RTAllocator.m3 Log message: expose RTAllocator.MallocZeroed (calloc), and RTAllocator.Free introduce internal RTAlloc.MallocUninitialized These include Disable/EnableSwitching, and raising exceptions upon failure. (Disable/Enable only do something for user threads). From hosking at elego.de Tue Feb 3 07:44:58 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:44:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064459.2705310D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:44:58 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.i3 Log message: Danger Will Robinson! Don't expose Malloc and Free! From hosking at elego.de Tue Feb 3 07:45:31 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:45:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064532.10F3B10D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:45:31 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Keep Jay's intent which is to use calloc instead of malloc plus bzero. From hosking at elego.de Tue Feb 3 07:46:49 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 7:46:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203064649.30B0910D5599@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 07:46:49 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTAllocator.m3 Log message: Fix parse errors. From hosking at elego.de Tue Feb 3 08:00:13 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:00:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203070014.8019A10D436E@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:00:13 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: Format conventionally. From hosking at elego.de Tue Feb 3 08:47:07 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 3 Feb 2009 8:47:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203074707.4ED5D744001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/03 08:47:07 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix atomic ops so as not to fall through to incompatible label on success. Some reformatting to fig 80 columns. From jkrell at elego.de Tue Feb 3 22:12:48 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:12:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211248.057D010D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:12:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Log message: fix newlines From jkrell at elego.de Tue Feb 3 22:13:50 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 22:13:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203211350.8001F10D5F73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 22:13:50 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 m3makefile Added files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s m3makefile Log message: add get/set/make/swapcontext for OpenBSD, and this should work for all others as well as we get to them From jkrell at elego.de Tue Feb 3 23:09:11 2009 From: jkrell at elego.de (Jay Krell) Date: Tue, 3 Feb 2009 23:09:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203220911.3E66810D5F76@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/03 23:09:11 Removed files: cm3/m3-libs/m3core/src/context/setjmp/: config.c context.c context.h contextasm.s Makefile Log message: prototype moved elsewhere (unix/common/context) From hosking at cs.purdue.edu Tue Feb 3 23:54:36 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 4 Feb 2009 09:54:36 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090203211350.8001F10D5F73@birch.elegosoft.com> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> Message-ID: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Is this all x86-specific? On 3 Feb 2009, at 22:13, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/03 22:13:50 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 > m3makefile > Added files: > cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h > cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile > config.c > context.c > context.h > contextasm.s > m3makefile > > Log message: > add get/set/make/swapcontext for OpenBSD, and this should work > for all others as well as we get to them From jkrell at elego.de Wed Feb 4 00:06:42 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 0:06:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090203230642.7EE8710D5F89@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 00:06:42 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c m3makefile cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: expose get/mmake/set/swapcontext on Linux/x86, not used yet From jay.krell at cornell.edu Wed Feb 4 00:09:29 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 3 Feb 2009 23:09:29 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> References: <20090203211350.8001F10D5F73@birch.elegosoft.com> <970D46B0-707D-4F02-8DD6-DD2F70C4A595@cs.purdue.edu> Message-ID: Currently it only supports x86, but it /might/ only take some #ifdef to fix for others. /Some/ of the x86-specificity has been abstracted, in a way similar to what the existing Modula-3 code does. It also specific to platforms that do not provide get/make/set/swapcontext. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jkrell at elego.de > Date: Wed, 4 Feb 2009 09:54:36 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Is this all x86-specific? > > On 3 Feb 2009, at 22:13, Jay Krell wrote: > >> CVSROOT: /usr/cvs >> Changes by: jkrell at birch. 09/02/03 22:13:50 >> >> Modified files: >> cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uucontext.i3 >> m3makefile >> Added files: >> cm3/m3-libs/m3core/src/unix/Common/: Uucontext.c Uucontext.h >> cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile >> cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile >> config.c >> context.c >> context.h >> contextasm.s >> m3makefile >> >> Log message: >> add get/set/make/swapcontext for OpenBSD, and this should work >> for all others as well as we get to them > From jkrell at elego.de Wed Feb 4 10:02:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:02:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204090227.63A32714589@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:02:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uucontext.i3 Uucontext.c cm3/m3-libs/m3core/src/unix/linux-i386/: Uucontext.i3 Log message: fix LINUXLIBC6 tinderbox From jkrell at elego.de Wed Feb 4 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204094711.CA08510D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 10:47:11 Modified files: cm3/m3-sys/m3tests/src/r0/r004/: stderr.pgm Log message: update overly sensitive test case -- it contains a source line number from RTAllocator.m3 From jkrell at elego.de Wed Feb 4 21:17:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 4 Feb 2009 21:17:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090204201720.411C9744003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/04 21:17:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: fix for OpenBSD -- get time types from sys/types.h From hosking at elego.de Thu Feb 5 02:13:42 2009 From: hosking at elego.de (Antony Hosking) Date: Thu, 5 Feb 2009 2:13:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205011342.EE7EB1704009@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/05 02:13:42 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Dec.m3 Log message: Fix check for INC/DEC: if not ordinal, must be address, but still must check it is a variable and writable. From jkrell at elego.de Thu Feb 5 10:47:11 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:47:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205094711.3A9CF10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:47:11 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/darwin-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/freebsd-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/hpux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/linux-common/: Usysdep.i3 cm3/m3-libs/m3core/src/unix/solaris-common/: Usysdep.i3 Log message: eliminate system-dependent header cloning wrt pthread_attr_t, replace with C wrapper that takes stack size From jkrell at elego.de Thu Feb 5 10:53:30 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 5 Feb 2009 10:53:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090205095330.1D17D10D5F5C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/05 10:53:30 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: update comment -- the file is mostly but not completely just stubs, for Darwin From jkrell at elego.de Wed Feb 11 22:58:04 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 22:58:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211215804.C64A610D4220@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 22:58:04 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile config.c context.c context.h contextasm.s Log message: add support for 32bit MacOSX 10.4 (aka Darwin, PPC_DARWIN) From jkrell at elego.de Wed Feb 11 23:09:19 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:09:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211220919.CCFB110D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:09:19 Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.s Log message: temporary delete in order to do case sensitive rename, in order for the file to be preprocessed, in order for the test case to be buildable on MacOSX/ppc32 From jkrell at elego.de Wed Feb 11 23:10:02 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:10:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221003.E06EF10D5E8F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:10:02 Added files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: add back with a capital S so it gets preprocessed From jkrell at elego.de Wed Feb 11 23:16:58 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 11 Feb 2009 23:16:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090211221659.04D0310D5ECC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/11 23:16:58 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: save 32 bytes of stack and cleanup From rodney at elego.de Fri Feb 13 17:46:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 17:46:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213164602.2F3861704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 17:46:02 Added files: cm3/m3-libs/m3core/tests/newtext/src/: README m3makefile Test.m3 TextUtils.i3 TextUtils.m3 UnsafeUtils.i3 UnsafeUtils.m3 Log message: A test driver program for an experimental new implementation of the CM3 TEXT-processing algorithms in m3-libs/m3core/src/text. From rodney at elego.de Fri Feb 13 18:50:57 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 13 Feb 2009 18:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090213175057.0F14810D4300@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/13 18:50:57 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From rodney.bates at wichita.edu Fri Feb 13 19:19:20 2009 From: rodney.bates at wichita.edu (Rodney M. Bates) Date: Fri, 13 Feb 2009 12:19:20 -0600 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090213175057.0F14810D4300@birch.elegosoft.com> References: <20090213175057.0F14810D4300@birch.elegosoft.com> Message-ID: <4995B9A8.5020403@wichita.edu> Well, I can work on compilers, debuggers, and functional text packages, but I can never operate CVS correctly. As far as I can tell, I think I got these checkins done in the trunk, rather than the branch I created for them. I created a tag on the trunk, "devel_m3core_text_2009_02_13", then created a branch with tag "devel_m3core_text_newtext_branch". Apparently I got that much right. But I am not sure whether the changed files went into the branch. My CVS book reads as if just a cvs tag -b ..., followed by a cvs commit will do the commits in the branch, but the commit message doesn't look like that happened. Can anybody help me with: 1) What really happened? 2) How should I have done this? 3) How can I fix the damage? PS: I believe that if you use the new files with no additional action, that you will get the same behavior as before, except that there will be considerable constant-time slowdown due to lots of instrumentation and dynamic deciding to use the original algorithms. But I have not tested this. Rodney M. Bates wrote: > CVSROOT: /usr/cvs > Changes by: rodney at birch. 09/02/13 18:50:57 > > Modified files: > cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 > Text.i3 Text.m3 Text16.i3 > Text16.m3 Text16Short.i3 > Text16Short.m3 Text8.i3 Text8.m3 > Text8CString.m3 Text8Short.i3 > Text8Short.m3 TextCat.m3 > TextClass.i3 TextClass.m3 > TextLiteral.i3 TextSub.m3 > UnsafeHash.m3 > > Log message: > An experimental rework of the CM3 TEXT-processing code found in > m3-libs/m3core/src/text, implementing the Modula-3 required interface > Text. > > The types and invariants of the data structure are not changed, thus > avoiding disruption of pickles. or anything else that depends on the > internal data structure of TEXT. > > Algorithms are changed to improve performance, especially when a value > is constructed by a linear series of concatenations,(i.e., > left-to-right or right-to-left). Generally, Concat is slower, but > this is more than offset by gains in the accessing operations. More > storage is allocated, but most is garbage, and retained storage ranges > from somewhat less to somewhat more. Recursion depth is dramatically > reduced. See the README file for more details. > From jkrell at elego.de Sat Feb 14 23:51:02 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 14 Feb 2009 23:51:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090214225102.62641714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/14 23:51:02 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: Makefile context.c Removed files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: contextasm.S Log message: There's actually a fair degree of platform-commonality here, at least within the two that work; capture that. Also, balancing the stack on x86 doesn't really matter, if we are only going to setcontext anyway. From jkrell at elego.de Sun Feb 15 11:10:14 2009 From: jkrell at elego.de (Jay Krell) Date: Sun, 15 Feb 2009 11:10:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090215101014.43E2110D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/15 11:10:14 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: add dummy function to quash PPC_DARWIN libtool warning From hosking at cs.purdue.edu Mon Feb 16 00:31:54 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 16 Feb 2009 10:31:54 +1100 Subject: [M3commit] Tinderbox failures Message-ID: Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Mon Feb 16 01:06:50 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000650.85C9010D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:06:50 Modified files: cm3/m3-libs/m3core/src/context/: tcontext.c Log message: turn on preemption for scheduling and context swapping From jkrell at elego.de Mon Feb 16 01:07:43 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:07:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216000744.08321220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:07:43 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c context.h Log message: adapt to OpenBSD/powerpc From jkrell at elego.de Mon Feb 16 01:13:21 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:13:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001321.606C310D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:13:21 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup From jkrell at elego.de Mon Feb 16 01:17:41 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 1:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216001741.ECA2D10D63C1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 01:17:41 Modified files: cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: cleanup/clarify, didn't realize I had left that there, but it turned out to be needed. From jay.krell at cornell.edu Mon Feb 16 02:42:25 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 01:42:25 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:02:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:02:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216020230.604EC10D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:02:30 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapMap.i3 Log message: Expose DoWalkRef. From jay.krell at cornell.edu Mon Feb 16 03:15:02 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 02:15:02 +0000 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: I think it depends on what cm3 you start with. I noticed the Tinderbox has "last-ok" runs and "last-release" runs. last-ok appears to be working. last-release has the error. Updating my current cygwin build seemed to work. Starting with 5.4 (which is what last release appears to be) on Linux/x86 gave me a cm3 that just seg faults. I'll try to dig more. - Jay From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 Linux/x86 and FreeBSD/x86 also (ie: I think all). http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package m3-libs/m3core ===12575 +++ cm3 -build -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in FreeBSD4 ---12577 12578 ignoring ../src/m3overrides12579 12580 12581 12582 ***12583 NEXT *** runtime error:12584 *** An enumeration or subrange value was out of range.12585 *** file "../src/text/Text.m3", line 88212586 ***12587 12588 Abort trap (core dumped)I'll probably look shortly. - Jay From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: [M3devel] Tinderbox failures Solaris builds are failing with an enumeration/subrange bounds runtime error in Text.m3. This is since the alternative text implementation was checked in. Can someone look into what might be the problem? Or should we back out the new text code. Antony Hosking | Associate Professor | Computer Science | Purdue University 305 N. University Street | West Lafayette | IN 47907 | USA Office +1 765 494 6001 | Mobile +1 765 427 5484 -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Mon Feb 16 03:20:20 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:20:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216022021.15FE310D4666@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:20:20 Modified files: cm3/m3-libs/m3core/src/Csupport/VAX/: dtoa.c cm3/m3-libs/m3core/src/Csupport/big-endian/: dtoa.c cm3/m3-libs/m3core/src/Csupport/little-endian/: dtoa.c cm3/m3-libs/m3core/src/convert/: CConvert.i3 CConvert.m3 cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: RTThread.m3 cm3/m3-libs/m3core/src/runtime/common/: RTCollector.m3 RTHeapRep.i3 RTOS.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadF.i3 ThreadPThread.m3 ThreadPThreadC.c ThreadPThreadC.i3 cm3/m3-libs/m3core/src/thread/WIN32/: ThreadWin32.m3 Log message: Clean up RTOS.LockHeap/RTOS.UnlockHeap implementations to better match underlying pthread semantics. This means that RTOS.WaitHeap must be called while RTOS.LockHeap is held. RTOS.BroadcastHeap can be called whether RTOS.LockHeap is held or not. From hosking at elego.de Mon Feb 16 03:30:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023040.6316D10D569F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:39 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:30:55 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:30:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023055.CA4A310D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:30:55 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.i3 Log message: Tidy up. From hosking at elego.de Mon Feb 16 03:32:34 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023234.8DFE210D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:32:34 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Need define for internal reuse. From hosking at elego.de Mon Feb 16 03:33:04 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:33:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023304.76D1F10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:33:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Remove ^M (dos2unix). From hosking at elego.de Mon Feb 16 03:34:08 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 3:34:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216023408.ECFEB10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 03:34:08 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c Log message: Make naming consistent. C files that implement Modula-3 interfaces should use the same naming scheme for their procedures as the Modula-3 implementations would use. From rodney at elego.de Mon Feb 16 03:55:26 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 16 Feb 2009 3:55:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216025526.DD39510D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/16 03:55:26 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: Put the original text code back, where intended From hosking at elego.de Mon Feb 16 04:49:21 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 4:49:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216034921.A4FE3714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 04:49:20 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.m3 RTProcessPosixC.i3 Log message: Just implement RTProcess__TimeUsed directly in C. Avoid double call. From hosking at elego.de Mon Feb 16 05:01:39 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216040140.9A81A10D5A80@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:01:39 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile Added files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.i3 Removed files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.i3 Log message: Rationalize naming scheme for ThreadPThreadC implementations. From hosking at elego.de Mon Feb 16 05:43:10 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 5:43:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216044310.7E6CA714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 05:43:10 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosixC.c m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 Log message: Restore wrapper for TimeUsed. RTProcess.TimeUsed calls RTProcessPosix.TimeUsed. From hosking at elego.de Mon Feb 16 06:41:22 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054123.9BB9A714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:41:22 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cerrno.i3 CerrnoC.c Log message: Rationalize naming. From hosking at elego.de Mon Feb 16 06:44:56 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216054457.3037D10D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:44:56 Modified files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/C/I386_DARWIN/: Cstdio.i3 m3makefile cm3/m3-libs/m3core/src/C/PPC_DARWIN/: Cstdio.i3 m3makefile Removed files: cm3/m3-libs/m3core/src/C/AMD64_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/I386_DARWIN/: CstdioC.c cm3/m3-libs/m3core/src/C/PPC_DARWIN/: CstdioC.c Log message: We don't need to wrap these functions. From hosking at elego.de Mon Feb 16 06:50:00 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:50:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055001.1873D714573@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:50:00 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Uexec.c Uexec.i3 Unetdb.i3 Unix.i3 UnixC.c Upthread.i3 Usignal.i3 Usocket.i3 Ustat.i3 UstatC.c Utime.i3 UtimeC.c Log message: Rationalize names.names Rationalize names. From hosking at elego.de Mon Feb 16 06:51:30 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:51:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055130.B3CB010D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:51:30 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: Missed a couple. From hosking at elego.de Mon Feb 16 06:56:41 2009 From: hosking at elego.de (Antony Hosking) Date: Mon, 16 Feb 2009 6:56:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216055642.DE53210D58CC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/16 06:56:41 Modified files: cm3/m3-sys/m3middle/src/: M3CG_Check.m3 Log message: Fix stack checking code for atomics. From jkrell at elego.de Mon Feb 16 09:05:18 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:05:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216080518.80A5310D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:05:18 Modified files: cm3/scripts/config/: config.c Log message: adapt for NetBSD (further investigate?); only dump all the apparent jmpbuf stuff for cygwin, hopefully nobody else gets it wrong; remove incorrect Cygwin jmpbuf fix (there is a fix, but this isn't it) From jkrell at elego.de Mon Feb 16 09:57:22 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 16 Feb 2009 9:57:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090216085723.084CF10D61E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/16 09:57:22 Added files: cm3/m3-libs/m3core/src/unix/netbsd-common/: Usysdep.i3 m3makefile Log message: initial versions for NetBSD note that these "Usysdep" files are nearly identical across all targets From wagner at elegosoft.com Mon Feb 16 12:46:57 2009 From: wagner at elegosoft.com (Olaf Wagner) Date: Mon, 16 Feb 2009 12:46:57 +0100 Subject: [M3commit] [M3devel] Tinderbox failures In-Reply-To: References: Message-ID: <20090216124657.2sdgj9zc48cgk4c0@mail.elegosoft.com> Quoting Jay : > > I think it depends on what cm3 you start with. > I noticed the Tinderbox has "last-ok" runs and "last-release" runs. > last-ok appears to be working. > last-release has the error. This is an unfortunate and unforeseen state. It should be OK if last-ok build fail, but we need to be able to boot the system with the last official release. If we cannot guarantee that, one cannot upgrade from source between releases. It sounds strange though... Olaf > Updating my current cygwin build seemed to work. > Starting with 5.4 (which is what last release appears to be) on > Linux/x86 gave me a cm3 that just seg faults. > I'll try to dig more. > > > - Jay > > > > From: jay.krell at cornell.eduTo: hosking at cs.purdue.edu; > m3devel at elegosoft.com; m3commit at elegosoft.comSubject: RE: [M3devel] > Tinderbox failuresDate: Mon, 16 Feb 2009 01:42:25 +0000 > > Linux/x86 and FreeBSD/x86 also (ie: I think all). > http://tinderbox.elegosoft.com/tinderbox/cm3/status.html === package > m3-libs/m3core ===12575 +++ cm3 -build > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? && cm3 -ship > -DROOT=?/pub/users/m3/work/cm3-ws/new.elego.de-2009-02-15-02-46-59/cm3? > -DCM3_VERSION_TEXT=?d5.7.1? -DCM3_VERSION_NUMBER=?050701? > -DCM3_LAST_CHANGED=?2009-01-21? +++12576 --- building in > FreeBSD4 ---12577 12578 ignoring > ../src/m3overrides12579 12580 12581 12582 > ***12583 NEXT *** runtime error:12584 *** An > enumeration or subrange value was out of range.12585 *** > file "../src/text/Text.m3", line 88212586 ***12587 > 12588 Abort trap (core dumped)I'll probably look shortly. - > Jay > > > > From: hosking at cs.purdue.eduTo: m3devel at elegosoft.com; > m3commit at elegosoft.comDate: Mon, 16 Feb 2009 10:31:54 +1100Subject: > [M3devel] Tinderbox failures > Solaris builds are failing with an enumeration/subrange bounds > runtime error in Text.m3. This is since the alternative text > implementation was checked in. Can someone look into what might be > the problem? Or should we back out the new text code. > > > Antony Hosking | Associate Professor | Computer Science | Purdue University > 305 N. University Street | West Lafayette | IN 47907 | USA > Office +1 765 494 6001 | Mobile +1 765 427 5484 > -- Olaf Wagner -- elego Software Solutions GmbH Gustav-Meyer-Allee 25 / Geb?ude 12, 13355 Berlin, Germany phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95 http://www.elegosoft.com | Gesch?ftsf?hrer: Olaf Wagner | Sitz: Berlin Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194 From jay.krell at cornell.edu Mon Feb 16 23:26:37 2009 From: jay.krell at cornell.edu (Jay) Date: Mon, 16 Feb 2009 22:26:37 +0000 Subject: [M3commit] suggestion for "atomic ops" Message-ID: Let a code generator advertise that it doesn't support them. And if so, instead generate a call to some set of functions. I realize this fallback could be implemented in the code generators themselves. Windows has various "interlocked" functions that should make this easy. Thanks, - Jay -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at elego.de Tue Feb 17 05:45:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 5:45:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217044548.27CA5220001C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 05:45:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 Added files: cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 CasP.m3 Log message: Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. CAS is defined as follows: CAS(v, o, n): BaseType(v) where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, atomically sets v to value n, so long as the previous value of v is o, returning the previous value of v in either case. Similarly, CASP is defined as: CASP(v, o, n): BOOLEAN atomically sets v to n, so long as the previous value of v is o, returning TRUE if the comparison is successful and n was assigned to v. I may yet generalize these to permit v to have any ordinal type. In unsafe modules I may also permit v to be a subtype of ADDRESS. From jay.krell at cornell.edu Tue Feb 17 06:06:18 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 05:06:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217044548.27CA5220001C@birch.elegosoft.com> References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: Is CASP trivially constructed from CAS? CASP(value, old, new) == (CAS(value, old, new) == old) ? P for predicate? ie: returns boolean? Or a) am I just wrong? b) sometimes it is more efficient implemented more directly? For example, I know "InterlockedIncrement" can be implemented as an infinite retry loop around compare_and_swap, but that doesn't seem most efficient, e.g: long InterlockedIncrement(volatile long* p): while (1) long old = *p; if (InterlockedCompareExchange(p, old, old + 1) == old) return (old + 1); I assume we don't care about 386 support, nor maybe even 486. Somewhere along the line way back "lock cmpxchg8b" is not supported. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 05:45:48 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 05:45:48 > > Modified files: > cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile > cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 > cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 > Added files: > cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 > CasP.m3 > > Log message: > Experimental support for compare_and_swap (CAS) and compare_and_set (CASP) builtin operations. > CAS is defined as follows: > > CAS(v, o, n): BaseType(v) > > where v is an integer variable (INTEGER/LONGINT), and o and n are assignable to v, > atomically sets v to value n, so long as the previous value of v is o, returning the previous > value of v in either case. > > Similarly, CASP is defined as: > > CASP(v, o, n): BOOLEAN > > atomically sets v to n, so long as the previous value of v is o, returning TRUE if the > comparison is successful and n was assigned to v. > > I may yet generalize these to permit v to have any ordinal type. > In unsafe modules I may also permit v to be a subtype of ADDRESS. > From hosking at cs.purdue.edu Tue Feb 17 07:10:10 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 17:10:10 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217044548.27CA5220001C@birch.elegosoft.com> Message-ID: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> It is sometimes more efficient, depending on hardware. I forgot to mention that to use these intrinsics you need to tell the backend in your cm3.cfg to take advantage of suitable instructions where available. On x86 I use "-march=i686". On 17 Feb 2009, at 16:06, Jay wrote: > > Is CASP trivially constructed from CAS? > > CASP(value, old, new) == (CAS(value, old, new) == old) ? > > P for predicate? ie: returns boolean? > > > Or a) am I just wrong? > b) sometimes it is more efficient implemented more directly? > > > For example, I know "InterlockedIncrement" can be implemented as an > infinite retry loop around compare_and_swap, but that doesn't seem > most efficient, e.g: > > > long InterlockedIncrement(volatile long* p): > while (1) > long old = *p; > if (InterlockedCompareExchange(p, old, old + 1) == old) > return (old + 1); > > > > I assume we don't care about 386 support, nor maybe even 486. > Somewhere along the line way back "lock cmpxchg8b" is not supported. > > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 05:45:48 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 05:45:48 >> >> Modified files: >> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >> Added files: >> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >> CasP.m3 >> >> Log message: >> Experimental support for compare_and_swap (CAS) and compare_and_set >> (CASP) builtin operations. >> CAS is defined as follows: >> >> CAS(v, o, n): BaseType(v) >> >> where v is an integer variable (INTEGER/LONGINT), and o and n are >> assignable to v, >> atomically sets v to value n, so long as the previous value of v is >> o, returning the previous >> value of v in either case. >> >> Similarly, CASP is defined as: >> >> CASP(v, o, n): BOOLEAN >> >> atomically sets v to n, so long as the previous value of v is o, >> returning TRUE if the >> comparison is successful and n was assigned to v. >> >> I may yet generalize these to permit v to have any ordinal type. >> In unsafe modules I may also permit v to be a subtype of ADDRESS. >> From jay.krell at cornell.edu Tue Feb 17 07:19:39 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 06:19:39 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> References: <20090217044548.27CA5220001C@birch.elegosoft.com> <0C3A2946-A195-4106-A4FB-BD4AD498EDCB@cs.purdue.edu> Message-ID: > "-march=i686". This is a confusing area -- *so many* switches to configure and gcc, but maybe we should have m3-sys/m3cc/src/m3makefile configure it to always be so, or always at least so? Maybe in this case it isn't even a configure switch, but the platform tuple. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 17:10:10 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > It is sometimes more efficient, depending on hardware. > > I forgot to mention that to use these intrinsics you need to tell the > backend in your cm3.cfg to take advantage of suitable instructions > where available. On x86 I use "-march=i686". > > On 17 Feb 2009, at 16:06, Jay wrote: > >> >> Is CASP trivially constructed from CAS? >> >> CASP(value, old, new) == (CAS(value, old, new) == old) ? >> >> P for predicate? ie: returns boolean? >> >> >> Or a) am I just wrong? >> b) sometimes it is more efficient implemented more directly? >> >> >> For example, I know "InterlockedIncrement" can be implemented as an >> infinite retry loop around compare_and_swap, but that doesn't seem >> most efficient, e.g: >> >> >> long InterlockedIncrement(volatile long* p): >> while (1) >> long old = *p; >> if (InterlockedCompareExchange(p, old, old + 1) == old) >> return (old + 1); >> >> >> >> I assume we don't care about 386 support, nor maybe even 486. >> Somewhere along the line way back "lock cmpxchg8b" is not supported. >> >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 05:45:48 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 05:45:48 >>> >>> Modified files: >>> cm3/m3-sys/m3front/src/builtinOps/: BuiltinOps.m3 m3makefile >>> cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Token.m3 >>> cm3/m3-sys/m3front/src/values/: Formal.i3 Formal.m3 >>> Added files: >>> cm3/m3-sys/m3front/src/builtinOps/: Cas.i3 Cas.m3 CasP.i3 >>> CasP.m3 >>> >>> Log message: >>> Experimental support for compare_and_swap (CAS) and compare_and_set >>> (CASP) builtin operations. >>> CAS is defined as follows: >>> >>> CAS(v, o, n): BaseType(v) >>> >>> where v is an integer variable (INTEGER/LONGINT), and o and n are >>> assignable to v, >>> atomically sets v to value n, so long as the previous value of v is >>> o, returning the previous >>> value of v in either case. >>> >>> Similarly, CASP is defined as: >>> >>> CASP(v, o, n): BOOLEAN >>> >>> atomically sets v to n, so long as the previous value of v is o, >>> returning TRUE if the >>> comparison is successful and n was assigned to v. >>> >>> I may yet generalize these to permit v to have any ordinal type. >>> In unsafe modules I may also permit v to be a subtype of ADDRESS. >>> > From hosking at elego.de Tue Feb 17 07:56:02 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 7:56:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217065602.AA12E10D4653@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 07:56:02 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Support required for atomic intrinsics. From hosking at elego.de Tue Feb 17 08:04:03 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:04:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070403.CC29810D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:04:03 Modified files: cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 M3CG_Ops.i3 M3CG_Wr.m3 Log message: Generalize atomic ops to all memory types (MType). From hosking at elego.de Tue Feb 17 08:06:48 2009 From: hosking at elego.de (Antony Hosking) Date: Tue, 17 Feb 2009 8:06:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090217070649.31C7D10D4624@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/17 08:06:48 Modified files: cm3/m3-sys/m3front/src/builtinOps/: Cas.m3 CasP.m3 cm3/m3-sys/m3front/src/misc/: CG.i3 CG.m3 Log message: Allow CAS/CASP on any ordinal type or address. From jay.krell at cornell.edu Tue Feb 17 08:16:17 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 07:16:17 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090217070403.CC29810D4624@birch.elegosoft.com> References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: I think 8 and 16 bit types will be difficult on some systems. It can perhaps be synthesized by rounding the address down to be 32/64-aligned and doing a 32/64-bit operation there, but the other data might be protected by an old fashioned lock and..I don't think that works out correctly. Granted, I don't know if you have extended support to 8 and 16 bit types, just speculating. - Jay ---------------------------------------- > Date: Tue, 17 Feb 2009 08:04:03 +0000 > To: m3commit at elegosoft.com > From: hosking at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: hosking at birch. 09/02/17 08:04:03 > > Modified files: > cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 > M3CG_Ops.i3 M3CG_Wr.m3 > > Log message: > Generalize atomic ops to all memory types (MType). > From hosking at cs.purdue.edu Tue Feb 17 09:19:15 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:19:15 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From hosking at cs.purdue.edu Tue Feb 17 09:20:29 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 19:20:29 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> Message-ID: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> This is experimental stuff. 8 & 16 work on x86. On 17 Feb 2009, at 18:16, Jay wrote: > > I think 8 and 16 bit types will be difficult on some systems. > > It can perhaps be synthesized by rounding the address down to be > 32/64-aligned and doing a 32/64-bit operation there, but the other > data might be protected by an old fashioned lock and..I don't think > that works out correctly. > > Granted, I don't know if you have extended support to 8 and 16 bit > types, just speculating. > > - Jay > > > ---------------------------------------- >> Date: Tue, 17 Feb 2009 08:04:03 +0000 >> To: m3commit at elegosoft.com >> From: hosking at elego.de >> Subject: [M3commit] CVS Update: cm3 >> >> CVSROOT: /usr/cvs >> Changes by: hosking at birch. 09/02/17 08:04:03 >> >> Modified files: >> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >> M3CG_Ops.i3 M3CG_Wr.m3 >> >> Log message: >> Generalize atomic ops to all memory types (MType). >> From jay.krell at cornell.edu Tue Feb 17 09:39:15 2009 From: jay.krell at cornell.edu (Jay) Date: Tue, 17 Feb 2009 08:39:15 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: For whatever reason, the Microsoft compiler only exposes 16/32/64, but not 8: http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx There is Or8, And8, Xor8 though. - Jay ---------------------------------------- > From: hosking at cs.purdue.edu > To: jay.krell at cornell.edu > Date: Tue, 17 Feb 2009 19:20:29 +1100 > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > This is experimental stuff. 8 & 16 work on x86. > > On 17 Feb 2009, at 18:16, Jay wrote: > >> >> I think 8 and 16 bit types will be difficult on some systems. >> >> It can perhaps be synthesized by rounding the address down to be >> 32/64-aligned and doing a 32/64-bit operation there, but the other >> data might be protected by an old fashioned lock and..I don't think >> that works out correctly. >> >> Granted, I don't know if you have extended support to 8 and 16 bit >> types, just speculating. >> >> - Jay >> >> >> ---------------------------------------- >>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>> To: m3commit at elegosoft.com >>> From: hosking at elego.de >>> Subject: [M3commit] CVS Update: cm3 >>> >>> CVSROOT: /usr/cvs >>> Changes by: hosking at birch. 09/02/17 08:04:03 >>> >>> Modified files: >>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>> M3CG_Ops.i3 M3CG_Wr.m3 >>> >>> Log message: >>> Generalize atomic ops to all memory types (MType). >>> > From hosking at cs.purdue.edu Tue Feb 17 10:59:06 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Tue, 17 Feb 2009 20:59:06 +1100 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20090217070403.CC29810D4624@birch.elegosoft.com> <0CB74D9F-C65B-42D2-9628-AB770DDBF417@cs.purdue.edu> Message-ID: <3E80B36B-8DC3-417F-A533-31257BF2C78E@cs.purdue.edu> The gcc-based backend supports all sizes: 8, 16, 32, 64. On 17 Feb 2009, at 19:39, Jay wrote: > > For whatever reason, the Microsoft compiler only exposes 16/32/64, > but not 8: > > > http://msdn.microsoft.com/en-us/library/ttk2z1ws.aspx > > > There is Or8, And8, Xor8 though. > > > - Jay > > > ---------------------------------------- >> From: hosking at cs.purdue.edu >> To: jay.krell at cornell.edu >> Date: Tue, 17 Feb 2009 19:20:29 +1100 >> CC: m3commit at elegosoft.com >> Subject: Re: [M3commit] CVS Update: cm3 >> >> This is experimental stuff. 8 & 16 work on x86. >> >> On 17 Feb 2009, at 18:16, Jay wrote: >> >>> >>> I think 8 and 16 bit types will be difficult on some systems. >>> >>> It can perhaps be synthesized by rounding the address down to be >>> 32/64-aligned and doing a 32/64-bit operation there, but the other >>> data might be protected by an old fashioned lock and..I don't think >>> that works out correctly. >>> >>> Granted, I don't know if you have extended support to 8 and 16 bit >>> types, just speculating. >>> >>> - Jay >>> >>> >>> ---------------------------------------- >>>> Date: Tue, 17 Feb 2009 08:04:03 +0000 >>>> To: m3commit at elegosoft.com >>>> From: hosking at elego.de >>>> Subject: [M3commit] CVS Update: cm3 >>>> >>>> CVSROOT: /usr/cvs >>>> Changes by: hosking at birch. 09/02/17 08:04:03 >>>> >>>> Modified files: >>>> cm3/m3-sys/m3middle/src/: M3CG.m3 M3CG_BinWr.m3 M3CG_Check.m3 >>>> M3CG_Ops.i3 M3CG_Wr.m3 >>>> >>>> Log message: >>>> Generalize atomic ops to all memory types (MType). >>>> >> From hosking at elego.de Wed Feb 18 03:21:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:21:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218022105.542D310D6433@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:21:05 Modified files: cm3/m3-libs/m3core/src/unix/linux-libc6/: Utime.i3 cm3/m3-libs/m3core/src/unix/solaris-2-x/: Utime.i3 Log message: Missed a few renamings. From hosking at elego.de Wed Feb 18 03:32:37 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:32:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218023238.2795E10D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:32:37 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/WIN32/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: RTProcess.i3 Removed files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTProcessPosix.i3 RTProcessPosix.m3 RTProcessPosixC.c cm3/m3-libs/m3core/src/runtime/WIN32/: RTProcessWin32.m3 Log message: Blow away RTProcess.TimeUsed. It is dead code. From hosking at elego.de Wed Feb 18 03:46:15 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 3:46:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218024615.EF3F510D6432@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 03:46:15 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/darwin-generic/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-2/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-3/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/freebsd-4/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/netbsd2-i386/: off_t_wrap.c cm3/m3-libs/m3core/src/unix/solaris-2-x/: Dir.c Log message: Remove dead C code (unused). From hosking at elego.de Wed Feb 18 05:05:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:05:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218040550.9C7DE220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:05:50 Modified files: cm3/m3-libs/m3core/src/runtime/I386_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/common/: m3makefile Added files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignal.m3 RTSignalC.c RTSignalC.i3 RTSignalPrivate.i3 RTThread.m3 Removed files: cm3/m3-libs/m3core/src/runtime/common/: RTError.h RTProcess.h RTSignal.m3 RTSignalC.c RTSignalC.h RTSignalC.i3 RTThread.m3 m3text.h Log message: Refactor C-based RTSignal implementation, and switch I386_DARWIN over to it. From hosking at elego.de Wed Feb 18 05:46:44 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:46:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218044644.BECC2220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:46:44 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Fix pc grabbing for Darwin platforms. From hosking at elego.de Wed Feb 18 05:56:50 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 5:56:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218045650.45FB6220003A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 05:56:50 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Drop weird historical check that pc is the same as si_addr. From hosking at elego.de Wed Feb 18 06:00:34 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218050035.0FEBC10D5F5D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:00:34 Modified files: cm3/m3-libs/m3core/src/runtime/AMD64_DARWIN/: m3makefile cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/PPC_DARWIN/: m3makefile Log message: Switch AMD64_DARWIN, PPC_DARWIN over to C-based RTSignal. From hosking at elego.de Wed Feb 18 06:11:24 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:11:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218051125.127141704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:11:24 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Implement GetPC for SPARC. From hosking at elego.de Wed Feb 18 06:52:47 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:52:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055248.782FF1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:52:47 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work. From hosking at elego.de Wed Feb 18 06:55:05 2009 From: hosking at elego.de (Antony Hosking) Date: Wed, 18 Feb 2009 6:55:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218055505.82DEB1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/18 06:55:04 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLgnu/: m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: m3makefile Log message: Switch SOLsun and SOLgnu to C-based RTSignal. From jay.krell at cornell.edu Wed Feb 18 07:05:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:05:22 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <20090218055248.782FF1704003@birch.elegosoft.com> References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: The source file should have #define _GNU_SOURCE at the top, right? Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From hosking at cs.purdue.edu Wed Feb 18 07:14:13 2009 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 18 Feb 2009 17:14:13 +1100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: References: <20090218055248.782FF1704003@birch.elegosoft.com> Message-ID: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: > The source file should have #define _GNU_SOURCE at the top, right? > Thanks for these changes. > > - Jay > > > Date: Wed, 18 Feb 2009 06:52:47 +0000 > > To: m3commit at elegosoft.com > > From: hosking at elego.de > > Subject: [M3commit] CVS Update: cm3 > > > > CVSROOT: /usr/cvs > > Changes by: hosking at birch. 09/02/18 06:52:47 > > > > Modified files: > > cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > > > Log message: > > Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to > work. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:19:16 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:19:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218061917.3F9001704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:19:16 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: add #define _GNU_SOURCE; it works for me on birch From jkrell at elego.de Wed Feb 18 07:32:51 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:32:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218063252.3AD5F1704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:32:51 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: extend extern 'C' over more of the file; remove unused Info parameter (which if needed, need not be passed through void*) From jay.krell at cornell.edu Wed Feb 18 07:37:18 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 18 Feb 2009 06:37:18 +0000 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: It worked for me..and not without it as expected. Is there a danger of, like, bifurcating the ABI across different source files, when they have different #defines? You know, I would not want a situation such as: /usr/include/foo.h: typedef struct _foo_t { int a; #ifdef _GNU_SOURCE int b; } foo_t; and then different files traffic in foo_t, with varying defined-ness _GNU_SOURCE. I think #define _FILE_OFFSET_BITS can cause this sort of thing for example. -Jay From: hosking at cs.purdue.eduTo: jay.krell at cornell.eduDate: Wed, 18 Feb 2009 17:14:13 +1100CC: m3commit at elegosoft.comSubject: Re: [M3commit] FW: Must -D_GNU_SOURCE for these to work For some reason that does not appear to work. It needs to be defined on the command line as -D_GNU_SOURCE. On 18 Feb 2009, at 17:05, Jay wrote: The source file should have #define _GNU_SOURCE at the top, right?Thanks for these changes. - Jay> Date: Wed, 18 Feb 2009 06:52:47 +0000> To: m3commit at elegosoft.com> From: hosking at elego.de> Subject: [M3commit] CVS Update: cm3> > CVSROOT: /usr/cvs> Changes by: hosking at birch. 09/02/18 06:52:47> > Modified files:> cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c > > Log message:> Add __linux __i386 and __amd64. Must -D_GNU_SOURCE for these to work.> -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Feb 18 07:42:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:42:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218064300.4D5D61704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:42:59 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: fix warning -- g++ predefines _GNU_SOURCE From jkrell at elego.de Wed Feb 18 07:52:55 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 7:52:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218065255.964311704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 07:52:55 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: make it legal C++ -- don't introduce type in sizeof From jkrell at elego.de Wed Feb 18 08:05:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 8:05:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218070536.4C5D31704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 08:05:35 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: remove obsolete comment about texts From jkrell at elego.de Wed Feb 18 10:45:47 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:45:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094548.10F2010D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:45:47 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Upthread.i3 Log message: add back cond_broadcast and remove unused size_t import From jkrell at elego.de Wed Feb 18 10:46:35 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:46:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218094635.23D1210D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:46:35 Modified files: cm3/m3-libs/m3core/src/runtime/common/: m3makefile Log message: add back RTMachine to fix a bunch of targets such as cygwin; perhaps this belongs in the Posix directory From jkrell at elego.de Wed Feb 18 10:56:44 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:56:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095644.DA64610D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:56:44 Modified files: cm3/m3-libs/m3core/src/runtime/NT386/: RTMachine.i3 cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTMachine.i3 Log message: small cleanup From jkrell at elego.de Wed Feb 18 10:58:59 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 10:58:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218095859.EA11E10D5F2D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 10:58:59 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTMachine.i3 Log message: small cleanup -- use LeftShift on the log instead of spelling out the value From jkrell at elego.de Wed Feb 18 11:01:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:01:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218100107.29767784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:01:06 Modified files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/NT386GNU/: RTSignal.m3 Log message: delete stub dead RTSignal; RTMachine is dead here too but maybe shouldn't be From jkrell at elego.de Wed Feb 18 11:14:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:14:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101427.4A741784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:14:27 Modified files: cm3/m3-libs/m3core/src/unix/cygwin/: Usysdep.i3 Log message: fix name mismatch between here and Uconstants.c, cygwin specific From jkrell at elego.de Wed Feb 18 11:17:26 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:17:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218101726.BE2B7784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:17:26 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Uerror.i3 Log message: small style changes to hopefully make 'manual maintenance more automatic' by making comments longer and closer to their subject From roland.illig at gmx.de Wed Feb 18 11:17:26 2009 From: roland.illig at gmx.de (Roland Illig) Date: Wed, 18 Feb 2009 11:17:26 +0100 Subject: [M3commit] FW: Must -D_GNU_SOURCE for these to work In-Reply-To: <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> References: <20090218055248.782FF1704003@birch.elegosoft.com> <0D613C61-C0D5-418C-8AE4-8AE2EDA18770@cs.purdue.edu> Message-ID: <499BE036.4000201@gmx.de> Tony Hosking schrieb: > For some reason that does not appear to work. It needs to be defined on > the command line as -D_GNU_SOURCE. on the command line, -D_GNU_SOURCE is equivalent to #define _GNU_SOURCE 1 Roland From jkrell at elego.de Wed Feb 18 11:22:28 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:22:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218102228.D5B25784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:22:28 Modified files: cm3/scripts/python/: pylib.py Log message: I386_MINGW as synonym for NT386MINGNU; really need to work on cm3cfg.common to allow lists of aliases From jkrell at elego.de Wed Feb 18 11:31:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:31:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218103139.DD87410D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:31:39 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: remove ProcessPools from the other two thread interfaces, it was just removed from pthreads along with all the implementations and uses, leaving it here causes a break From jkrell at elego.de Wed Feb 18 11:51:39 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 11:51:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218105139.4860F10D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 11:51:39 Modified files: cm3/m3-sys/windowsResources/src/: winRes.tmpl Log message: adapt to MinGW which has windres instead of rc with different command line usage; detect MinGW by checking if backend mode is integrated backend or not, not great..it should really be informed by a variable in the toplevel configuration -- CONFIG_HAS_RC and CONFIG_HAS_WINDRES? From jkrell at elego.de Wed Feb 18 12:14:06 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:14:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218111406.CC6A810D4B99@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:14:06 Modified files: cm3/m3-libs/m3core/src/win32/: m3makefile WinUser.i3 cm3/m3-ui/ui/src/winvbt/: WinTrestle.m3 Added files: cm3/m3-libs/m3core/src/win32/: WinUserC.c Log message: workaround gcc backend bug that names <*EXTERNAL WindowFromPoint:WINAPI*> PROCEDURE WindowFromPoint (Point: POINT): HWND; WindowFromPoint at 4 instead of WindowFromPoint at 8 by adding <*EXTERNAL WinUser__WindowFromPointWorkaround:WINAPI*> PROCEDURE WindowFromPointWorkaround (VAR Point: POINT): HWND; HWND __stdcall WinUser__WindowFromPointWorkaround (POINT* Point) { return WindowFromPoint(*Point); } This lets I386_MINGW (NT386MINGNU) get further. From jkrell at elego.de Wed Feb 18 12:20:49 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:20:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112049.5084510D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:20:49 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: fix line endings (dos2unix) From jkrell at elego.de Wed Feb 18 12:21:33 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218112133.3D7B910D5F85@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:21:33 Modified files: cm3/m3-sys/cminstall/src/config/: NT386.common Log message: use the correct .libs for I386_MINGW (NT386MINGNU) -- in particular fix building the opengl package From jkrell at elego.de Wed Feb 18 12:30:18 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 12:30:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218113018.7EF3710D4261@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 12:30:17 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: fiddle with platform names some "I386_NT" : "i686-pc-mingw32", "I386_MINGW" : "i686-pc-mingw32", "I386_CYGWIN" : "i686-pc-cygwin", "NT386GNU" : "i686-pc-cygwin", "NT386MINGNU" : "i686-pc-mingw32", only cross builds -- where you specify the first column on the command line for host or target -- even use these lists. Native builds just let config.guess guess, perhaps not ideal but that's another matter. From rodney at elego.de Wed Feb 18 18:33:11 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 18 Feb 2009 18:33:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218173311.AB37010D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/18 18:33:11 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 String8.m3 Text.i3 Text.m3 Text16.i3 Text16.m3 Text16Short.i3 Text16Short.m3 Text8.i3 Text8.m3 Text8CString.m3 Text8Short.i3 Text8Short.m3 TextCat.m3 TextClass.i3 TextClass.m3 TextLiteral.i3 TextSub.m3 UnsafeHash.m3 Log message: An experimental rework of the CM3 TEXT-processing code found in m3-libs/m3core/src/text, implementing the Modula-3 required interface Text. The types and invariants of the data structure are not changed, thus avoiding disruption of pickles. or anything else that depends on the internal data structure of TEXT. Algorithms are changed to improve performance, especially when a value is constructed by a linear series of concatenations,(i.e., left-to-right or right-to-left). Generally, Concat is slower, but this is more than offset by gains in the accessing operations. More storage is allocated, but most is garbage, and retained storage ranges from somewhat less to somewhat more. Recursion depth is dramatically reduced. See the README file for more details. From jkrell at elego.de Wed Feb 18 18:52:36 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 18 Feb 2009 18:52:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090218175236.78A4F10D5F77@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/18 18:52:36 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add NT386MINGNU (admittedly Posix vs. Win32 confusing in these parts, not entirely redundant From rodney at elego.de Thu Feb 19 01:53:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 1:53:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219005302.41487904006@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 01:53:02 Modified files: cm3/doc/help/m3gdb/: m3gdb.docbook Log message: fix typo From rodney at elego.de Thu Feb 19 02:03:29 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:03:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219010331.E90DD1704010@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:03:27 Modified files: cm3/m3-libs/libm3/src/bundleintf/: m3makefile Log message: Add a warning for a sometimes problematic build case From rodney at elego.de Thu Feb 19 02:50:31 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 2:50:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219015031.9421A10D50CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 02:50:31 Modified files: cm3/m3-libs/m3core/src/text/: Text.m3 Log message: Fix bugs in Text.FindCharR and FindWideCharR that start the search one place too late. From rodney at elego.de Thu Feb 19 21:25:35 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 21:25:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219202535.6537010D651D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 21:25:35 Modified files: cm3/m3-libs/m3core/src/text/: String8.m3 String16.m3 Log message: Fix a bug in 2 places where a NIL check is applied too late, after address arithmetic has already been done on the pointer, leading to segment faults. Also, in String16.m3, Copy in semantic description comments from the interface to the procedure bodies. From rodney at elego.de Thu Feb 19 22:06:36 2009 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 19 Feb 2009 22:06:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090219210636.9EFB5784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/19 22:06:36 Modified files: cm3/m3-libs/m3core/src/text/: String16.i3 String16.m3 Text.m3 Log message: Fix Text.HasWideChars. Formerly, it only checked whether the representation had any components capabable of representing wide characters, not whether it actually contained any characters outside the range of CHAR. It would even return TRUE for, e.g.: Text.Sub(Text.Cat("abc",W"def"),0,3) That was neither what a client would expect nor very useful. Now it returns whether the abstract value of the text contains any characters outside the range of CHAR. From rodney at elego.de Fri Feb 20 17:49:02 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:49:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220164902.1FB3510D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:49:02 Added files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch README Log message: Initial commit From rodney at elego.de Fri Feb 20 17:53:04 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 17:53:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220165304.2C22310D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 17:53:04 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch String16.i3 String16.m3 Text.m3 TextClass.i3 Log message: 1) Fix the range error bug in Find[Wide]CharR. 2) Consistify a procedure name. 3) Default to new algorithms and flattening. From rodney at elego.de Fri Feb 20 18:00:53 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 20 Feb 2009 18:00:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090220170053.D0C3910D64E3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/20 18:00:53 Added files: cm3/m3-libs/m3core/tests/newtext/src/: COPYRIGHT Log message: Initial commit From hosking at elego.de Sat Feb 21 02:09:45 2009 From: hosking at elego.de (Antony Hosking) Date: Sat, 21 Feb 2009 2:09:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090221010946.E9A3E2200066@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 09/02/21 02:09:45 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Missed re-setting holder in WaitHeap on return from cond_wait. From rodney at elego.de Mon Feb 23 02:50:32 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 2:50:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223015032.4212510D4354@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 02:50:32 Modified files: cm3/m3-tools/m3tk/src/fe/: StandardAsText.m3 WiredStandard.m3 Log message: Fix m3tk to recognize that in CM3, TEXT<:ROOT, instead of TEXT<:REFANY. This was causing packages obliqrt and obliqparse to fail to build, citing static errors on the subtypes of TEXT declared in Text8Short, etc. The failing packages use stubgen during building, which links in m3tk. These failures were occurring only when building using the Text branch. The subtypes have not changed, but the branch brings them into the closure compiled by m3tk. This is temporary, but it exposed a long-standing bug. From jkrell at elego.de Mon Feb 23 05:18:01 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 5:18:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223041801.A5A111704003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 05:18:01 Modified files: cm3/scripts/python/: pylib.py Log message: some support for HPPA32_HPUX, HPPA64_HPUX, IA64_HPUX (let's ignore their 32bit compilation models?), HPPA32_LINUX, HPPA64_LINUX; or PA32 / PA64?, the double PA is redundant in HPPA32_HPUX but less so in HPPA32_LINUX From jkrell at elego.de Mon Feb 23 15:42:51 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:42:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144251.4E2D910D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:42:51 Modified files: cm3/scripts/python/: pylib.py Log message: use shorter name PA instead of HPPA at least for now; I already strewn it around, and there are other projects that use this shorter form e.g. libffi (which is part of Python, but also standalone), gcc folks seems to often pick longer names e.g. x86_64 vs. amd64? From jkrell at elego.de Mon Feb 23 15:44:30 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 15:44:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223144430.2925210D5DAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 15:44:30 Added files: cm3/m3-libs/m3core/src/C/PA32_HPUX/: Csetjmp.i3 m3makefile cm3/m3-libs/m3core/src/C/PA64_HPUX/: Csetjmp.i3 m3makefile Log message: add PA32_HPUX and PA64_HPUX From rodney at elego.de Mon Feb 23 16:49:51 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:49:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223154951.AC72722000D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:49:51 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 Log message: 1) Add some texts of type TextLiteral.T to the base mix. 2) Remove assorted leftover cruft. From rodney at elego.de Mon Feb 23 16:58:25 2009 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 23 Feb 2009 16:58:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223155825.5DB2772575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/23 16:58:25 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h m3-lang.c Log message: m3gdb is using stock gdb code to print values of floating type, but it needs to be modified for m3gdb data structures. It is now segfaulting m3gdb. This is only a partial fix that stops the segfault. The floating values still won't print. From jkrell at elego.de Mon Feb 23 23:13:05 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:13:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221305.519FC72575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:13:05 Added files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: add initial PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:19:27 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223221927.8761210D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:19:27 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Log message: -m32 and presumably -m64 not supported; this is fragile, should probably allow anything else From jkrell at elego.de Mon Feb 23 23:20:44 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:20:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223222044.B0AAA10D4695@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:20:44 Modified files: cm3/m3-libs/m3core/src/C/Common/: m3makefile Log message: add PA32_HPUX, PA64_HPUX From jkrell at elego.de Mon Feb 23 23:42:48 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:42:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224248.A7EE010D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:42:48 Modified files: cm3/m3-libs/m3core/src/time/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => DatePosix From jkrell at elego.de Mon Feb 23 23:45:23 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:45:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224523.2EE0410D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:45:23 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: add PA32_HPUX, PA64_HPUX => HPUX, hppa, hppa64, matter of taste/style here, there does exist HP/UX From jkrell at elego.de Mon Feb 23 23:46:24 2009 From: jkrell at elego.de (Jay Krell) Date: Mon, 23 Feb 2009 23:46:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090223224624.27B9B10D6474@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/23 23:46:24 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: m3makefile Log message: fix typo on PA64_HPUX, doesn't break anything but PA64_HPUX From rodney at elego.de Tue Feb 24 03:06:50 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 3:06:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224020650.430B010D5C73@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 03:06:50 Modified files: cm3/m3-sys/m3cc/gcc/gcc/: tree-cfg.c cm3/m3-sys/m3gdb/gdb/gdb/: dbxread.c Log message: Fix a bug in the case where the presence of a nested procedure inside a block with no local variables made m3gdb unable to renest the procedure. The compiler unnests procedures, and m3gdb renests them by relating the mangled procedure name (which encodes a complete accessing path to where the procedure is declared) to the structure of nested blocks given by the debug information. Both the compiler and gdb were throwing away blocks with no variables, leaving m3gdb unable to find the right block. This had to be fixed in both places. From rodney at elego.de Tue Feb 24 22:39:24 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:39:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224213924.1542A10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:39:24 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.m3 TextClass.i3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:40:01 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:40:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224214002.427ED10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:40:01 Modified files: cm3/m3-libs/m3core/tests/newtext/src/: Test.m3 TextUtils.m3 Log message: Changes for testing MultiCat From rodney at elego.de Tue Feb 24 22:50:13 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 22:50:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224215013.A1B0E10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 22:50:13 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix buggy RTHooks.MultiCat (also accessible through pure wrapper procedure TextCat.NewMulti)(both implemented in TextCat.m3). It didn't set fields a_len, b_len, or a_or_b_wide of the TextCat.T nodes it built. This is so blatent, it must have not been used anywhere in any general way. From rodney at elego.de Tue Feb 24 23:17:49 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:17:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224221749.0D8BA10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:17:49 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:20:42 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:20:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224222042.86C3B10D644A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:20:42 Modified files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextCat.i3 Log message: Fix incorrect comment describing NewMulti. From rodney at elego.de Tue Feb 24 23:36:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223607.2B91410D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:36:07 Removed files: cm3/m3-libs/m3core/src/text/: Tag: devel_m3core_text_newtext_branch TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From rodney at elego.de Tue Feb 24 23:37:03 2009 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 24 Feb 2009 23:37:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090224223703.4BD2F10D644B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/24 23:37:03 Removed files: cm3/m3-libs/m3core/src/text/: TextF.i3 Log message: Remove TextF.i3. It's a leftover from the PM3 implementation of TEXT. Not only is it unused, but in case somebody ever tried to use it, the information in it is wrong. From jkrell at elego.de Wed Feb 25 01:55:20 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 1:55:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225005521.0588A10D644D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 01:55:20 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uerror.i3 Uconstants.c Log message: increase max errno from 151 to 248 for HP-UX From rodney at elego.de Wed Feb 25 16:15:07 2009 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 25 Feb 2009 16:15:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225151508.695B0904007@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/25 16:15:07 Modified files: cm3/m3-libs/m3core/src/text/: TextCat.m3 Log message: Fix a pasting error made while cross-patching bugfix of MultiCat from the Text branch into the trunk. From jkrell at elego.de Wed Feb 25 17:22:07 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 17:22:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225162207.E2AF910D4EAA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 17:22:07 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UtimeC.c Log message: adapt for HP-UX, though I'm still leary of all this time keeping code..need to write some tests.. From jkrell at elego.de Wed Feb 25 18:07:27 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:07:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170727.0A9A6784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:07:27 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: /tmp/cvsAIi00x From jkrell at elego.de Wed Feb 25 18:09:57 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:09:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225170957.38D64784001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:09:57 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back a version because I flubbed the commit command line, was supposed to read the comment out of that file, not use its path as the comment.. From jkrell at elego.de Wed Feb 25 18:10:40 2009 From: jkrell at elego.de (Jay Krell) Date: Wed, 25 Feb 2009 18:10:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090225171040.0EF1810D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/25 18:10:40 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: Fix so that PA32_HPUX cm3 links. HPUX needs a list of imports at the end of assembly code. (even if using GNU as) This might be needed elsewhere in addition for data, but this is enough to get cm3 to link. Each gcc front end is supposed to call this for imported symbols. From jay.krell at cornell.edu Wed Feb 25 18:08:22 2009 From: jay.krell at cornell.edu (Jay) Date: Wed, 25 Feb 2009 17:08:22 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20090225170727.0A9A6784001@birch.elegosoft.com> References: <20090225170727.0A9A6784001@birch.elegosoft.com> Message-ID: oops > Date: Wed, 25 Feb 2009 18:07:27 +0000 > To: m3commit at elegosoft.com > From: jkrell at elego.de > Subject: [M3commit] CVS Update: cm3 > > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 09/02/25 18:07:27 > > Modified files: > cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c > > Log message: > /tmp/cvsAIi00x > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Feb 26 17:16:05 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:16:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226161605.75D9B10D65F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:16:05 Modified files: cm3/m3-sys/m3tests/src/: Test.i3 m3makefile cm3/m3-sys/m3tests/src/p0/p001/: Main.m3 m3makefile Added files: cm3/m3-sys/m3tests/src/: TestC.c Log message: nice little test case to verify compilation of floating point constants and correctness of Usysdep I would really like to have this "run" in RTLinker but suspect that would be rejected. Anywhere else, e.g. here, is kind of too late to be valuable, unless we manage to get this into boot1.py, and very early in the list of modules that RTLinker initializes. This reveals some existing possible problems. - arrays of odd number of float and/or double don't match up between C and Modula-3; probably related to -mno-aligned-floats - there are other mismatches here masked by inserting size_t padding in particular I think cywin linger_t has 16 bit integers and there is disagreement there. But I didn't look into it. Luckily the interactions between C and Modula-3 are relatively rare /and/ relatively conservative and not very likely to hit these issues. They do merit further attention though. "Running this test case" is merely evaluation three efficient assertions plus dedicating the constant static space to two structs (Modula-3 might run initialization code for its "const static" though?) From jkrell at elego.de Thu Feb 26 17:30:42 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:30:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163042.6528372575B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:30:42 Modified files: cm3/scripts/python/: pylib.py Log message: HP-UX requires -lrt for semaphore functions (like Solaris) From jkrell at elego.de Thu Feb 26 17:39:02 2009 From: jkrell at elego.de (Jay Krell) Date: Thu, 26 Feb 2009 17:39:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090226163902.315D710D65E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/26 17:39:02 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: HP-UX: SIGRTMAX is a function call, _SIGRTMAX is not, use _SIGRTMAX MAX is defined elsewhere, #undef it (they are almost the same) From rodney at elego.de Fri Feb 27 16:18:09 2009 From: rodney at elego.de (Rodney M. Bates) Date: Fri, 27 Feb 2009 16:18:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090227151809.E6B981704001@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 09/02/27 16:18:09 Modified files: cm3/m3-libs/libm3/src/arith/POSIX/: Math.i3 cm3/m3-libs/libm3/src/arith/WIN32/: Math.i3 Log message: Fix an important typoo in description of frexp. From jkrell at elego.de Sat Feb 28 19:18:46 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:18:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228181846.0AA6510D5F78@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:18:45 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: When doing a cross build that swaps endian, swap the longs in a constant double. This lets the double in TimePosix.m3 compile ok and therefore its module initializer not hang. 4 byte floats unaffected, deliberately, as an intermediate form of this change also swapped them, and broke them (as evidenced by the very first traced allocation attempting to collect garbage, because the floats in RTCollector were messed up). From jkrell at elego.de Sat Feb 28 19:33:55 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:33:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183355.730E610D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:33:55 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: Building FreeBSD targeting compilers requires specifying at least a major version (ia64, alpha). gcc contains something like #if FBSD_MAJOR > something put -lpthreads in defaults #endif but of target has no numbers at the end, FBSD_MAJOR is 0 or not defined and error results. Notes and tweaks for hppa{64}-hpux. Possibly more notes than belong here. Explicitly specify SPARC64_LINUX since it always sniffs as SPARC32_LINUX. Actual SPARC32_LINUX doesn't exist as an OS/kernel any longer but is still normal for usermode. From jkrell at elego.de Sat Feb 28 19:38:51 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:38:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228183851.6F4A410D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:38:51 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add/enable PA32_HPUX and PA64_HPUX (only 32 being tested currently) From jkrell at elego.de Sat Feb 28 19:43:33 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 19:43:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228184333.DFC6110D64D5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 19:43:33 Modified files: cm3/scripts/python/: pylib.py Log message: sometimes PA32_HPUX needs -lm From jkrell at elego.de Sat Feb 28 20:46:32 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:46:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228194633.0134C10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:46:32 Modified files: cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: fix warnings From jkrell at elego.de Sat Feb 28 20:56:23 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 20:56:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228195623.C4BE610D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 20:56:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Unix.common Log message: don't pass -soname on HP-UX, it causes an error -- need to read the ld man page, and expand and investigate the compability warnings From jkrell at elego.de Sat Feb 28 21:57:56 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 21:57:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228205756.E346110D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 21:57:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: PA32_HPUX PA64_HPUX Unix.common Added files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: no shared libs for now on HP-UX Critical Mass apparently lacked them too - .sl instead of .so - linker complains about everything when we try need to read linker man page or look at a libtool log turn off PIC while at it, at least for now fix paths to assembler (at least on my system) From jkrell at elego.de Sat Feb 28 22:14:48 2009 From: jkrell at elego.de (Jay Krell) Date: Sat, 28 Feb 2009 22:14:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20090228211448.AB63A10D649A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 09/02/28 22:14:48 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: HPUX.common Log message: remove shared_lib_arg at least for now