From jkrell at elego.de Thu Dec 2 10:12:11 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:12:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091211.D16BB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:12:11 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: fold-const.c Log message: pessimize division folding enough so that we can probably use it see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46679 From jkrell at elego.de Thu Dec 2 10:19:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091927.122F5CC12B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:19:27 Modified files: cm3/m3-sys/m3cc/src/: m3makefile clean_marker.txt cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back to folding division enable checking on fast AMD64_LINUX and my machines: I386_DARWIN, AMD64_DARWIN, LINUXLIBC6, I386_OPENBSD This is not a great way to do this. I need to setup separate Hudson jobs for every platform, or maybe just "cross". It is ok for now. Certainly we won't release it this way! From jkrell at elego.de Thu Dec 2 10:36:59 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202093659.C8A5CCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:36:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: Let's not have the backend go and create threads and such as part of parallelizing loops. From jkrell at elego.de Thu Dec 2 17:04:23 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:04:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202160423.CAB92CC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:04:23 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: just add comment as to a change to be done later From jkrell at elego.de Thu Dec 2 17:21:08 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:21:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202162108.EEAADCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:21:08 Added files: cm3/m3-sys/m3middle/src/: TargetT.i3 Log message: speculative work in progress two goals: remove target knowledge from Target.m3, have it all come from config files use a TargetT.T variable in place of Target.i3 globals (or maybe Target.T) From hosking at cs.purdue.edu Thu Dec 2 17:32:17 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 11:32:17 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101202162108.EEAADCC37F@birch.elegosoft.com> References: <20101202162108.EEAADCC37F@birch.elegosoft.com> Message-ID: Umm, why? On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/02 17:21:08 > > Added files: > cm3/m3-sys/m3middle/src/: TargetT.i3 > > Log message: > speculative work in progress > two goals: > remove target knowledge from Target.m3, have it all > come from config files > use a TargetT.T variable in place of Target.i3 globals > (or maybe Target.T) From jkrell at elego.de Thu Dec 2 17:52:34 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:52:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165235.29E432474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:52:34 Modified files: cm3/m3-sys/m3front/src/exprs/: SetExpr.m3 Log message: Just always use Integer.size, not Target.Set_grain. From jay.krell at cornell.edu Thu Dec 2 17:52:18 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 2 Dec 2010 16:52:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: Which part? 1) So there is less to edit/add when adding a new target. I want the big case statement in Target.m3 gone. 2) Very long term, multi-threaded multi-targeting. Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. - Jay > From: hosking at cs.purdue.edu > Date: Thu, 2 Dec 2010 11:32:17 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > Log message: > > speculative work in progress > > two goals: > > remove target knowledge from Target.m3, have it all > > come from config files > > use a TargetT.T variable in place of Target.i3 globals > > (or maybe Target.T) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 2 17:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165317.0A5962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:53:16 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 TargetT.i3 Log message: set_grain and set_align are (now) never used and are always the same (Integer.size/align), remove them From hosking at cs.purdue.edu Thu Dec 2 18:38:46 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 12:38:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: OK. On Dec 2, 2010, at 11:52 AM, Jay K wrote: > Which part? > > 1) So there is less to edit/add when adding a new target. > I want the big case statement in Target.m3 gone. Still have to edit something. Just no longer M3 code. > 2) Very long term, multi-threaded multi-targeting. > Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Thu, 2 Dec 2010 11:32:17 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Umm, why? > > > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > > > Added files: > > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > > > Log message: > > > speculative work in progress > > > two goals: > > > remove target knowledge from Target.m3, have it all > > > come from config files > > > use a TargetT.T variable in place of Target.i3 globals > > > (or maybe Target.T) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Dec 4 02:04:19 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 2:04:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204010420.4059DCC395@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 02:04:19 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: Makefile.in configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in builtins.c configure configure.ac double-int.c double-int.h ipa-pure-const.c real.c real.h toplev.c tree-data-ref.c tree-scalar-evolution.c tree-ssa-dce.c tree-ssa-loop-ivcanon.c tree-ssa-loop-niter.c tree-ssa-loop.c tree.c tree.h cm3/m3-sys/m3cc/src/: clean_marker.txt m3makefile Removed files: cm3/m3-sys/m3cc/gcc/gmp/: AUTHORS COPYING COPYING.LIB ChangeLog INSTALL INSTALL.autoconf Makefile.am Makefile.in NEWS README acinclude.m4 aclocal.m4 assert.c config.guess config.in config.sub configfsf.guess configfsf.sub configure configure.in dumbmp.c errno.c gen-bases.c gmp-h.in gmp-impl.h install-sh longlong.h ltmain.sh memory.c missing mp_bpl.c mp_clz_tab.c tal-reent.c version.c cm3/m3-sys/m3cc/gcc/gmp/mpn/: Makefile.am Makefile.in README cm3/m3-sys/m3cc/gcc/gmp/mpn/generic/: add.c add_1.c add_n.c addmul_1.c cmp.c dc_divrem_n.c diveby3.c divrem_1.c divrem_2.c get_str.c gmp-mparam.h lshift.c mul.c mul_1.c mul_basecase.c mul_fft.c mul_n.c pre_divrem_1.c rshift.c sb_divrem_mn.c sqr_basecase.c sub.c sub_1.c sub_n.c submul_1.c tdiv_qr.c cm3/m3-sys/m3cc/gcc/gmp/mpz/: Makefile.am Makefile.in add.c add_ui.c aors.h aors_ui.h clear.c cmp.c export.c fdiv_q.c import.c init.c iset.c neg.c out_str.c realloc.c set.c set_ui.c sizeinbase.c sub.c sub_ui.c swap.c tdiv_qr.c cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-ssa-loop-unswitch.c Log message: at the cost of a few optimizations, remove gmp dependency also more lto/ppl/cloog removal From jkrell at elego.de Sat Dec 4 10:31:08 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:31:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093108.474182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:31:08 Added files: cm3/scripts/python/: targets.txt Log message: partial list of targets, to be augmented and used later (e.g. hudson task to build all boot archives, and later more) From jkrell at elego.de Sat Dec 4 10:32:10 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:32:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093210.E96152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:32:10 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: fix PA32_HPUX cross compiles, by using a more specific target From jkrell at elego.de Sat Dec 4 10:48:17 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:48:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204094817.7AD7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:48:17 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: AIX needs a version; pick 5.3 as that adds time64_t PPC64_AIX => powerpc, not powerpc64 (plus -maix64 or such, later...) From jkrell at elego.de Sat Dec 4 10:50:26 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204095028.012102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:50:26 Modified files: cm3/scripts/python/: targets.txt Log message: add PPC32_AIX, PPC64_AIX From jkrell at elego.de Mon Dec 6 21:13:09 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 6 Dec 2010 21:13:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101206201309.2EA4B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/06 21:13:09 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: builtins.c tree-ssa-ccp.c tree.h Log message: remove more code that is never used for Modula-3, rarely used by C, and never required; e.g. optimizing of strcpy, a function that should never be used From jkrell at elego.de Tue Dec 7 14:10:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:10:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131015.935192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:10:15 Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common ALPHA_LINUX Log message: initial copies from AMD64, unadorned ALPHA shall imply 64bit, as I believe there is only one 32bit Alpha platform From jkrell at elego.de Tue Dec 7 14:11:11 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131111.6629E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:11:11 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX ALPHA.common Log message: AMD64 to ALPHA From jkrell at elego.de Tue Dec 7 14:12:13 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131213.F0E7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:12:13 Removed files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common Log message: renaming from ALPHA to Alpha From jkrell at elego.de Tue Dec 7 14:13:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:13:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131303.5BD3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:13:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: oh, there was already Alpha64.common From jkrell at elego.de Tue Dec 7 14:16:23 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:16:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131623.AB06D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:16:23 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 14:22:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:22:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207132209.0DC982474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:22:09 Added files: cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 m3makefile Log message: add ALPHA_LINUX; initially copied from ALPHA_OSF until I have the system fully up and can look up its jumpbuf size From jkrell at elego.de Tue Dec 7 14:37:25 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:37:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207133725.CCFB42474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:37:25 Modified files: cm3/scripts/python/: targets.txt Log message: add ALPHA_OSF, ALPHA_LINUX From jkrell at elego.de Tue Dec 7 15:34:48 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:34:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207143448.216F12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:34:47 Modified files: cm3/m3-sys/m3middle/src/: Target.m3 cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 Log message: reduce ALPHA_LINUX jmpbuf size, and some whitespace changes From jkrell at elego.de Tue Dec 7 15:44:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144456.544642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:44:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: gcc -m64 not allowed; cm3cg -m64 not allowed; as --64 not allowed From jkrell at elego.de Tue Dec 7 15:46:53 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:46:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144653.9D57D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:46:53 Modified files: cm3/scripts/python/: pylib.py Log message: no --64 for ALPHA_LINUX assembler From jkrell at elego.de Tue Dec 7 16:00:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:00:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207150007.1AF0A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:00:07 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: let it compile for Linux/alpha, seems reasonable From jkrell at elego.de Tue Dec 7 16:18:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:18:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207151815.5D18C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:18:15 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: lame Alpha/Linux workaround From jkrell at elego.de Tue Dec 7 16:27:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152719.7A6412474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:19 Modified files: cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 16:27:58 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152758.DDEB72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:58 Modified files: cm3/scripts/regression/: defs.sh Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 22:51:51 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 22:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207215151.D0B972474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 22:51:51 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add ALPHA_LINUX (I thought I did this already.) From jkrell at elego.de Wed Dec 8 03:03:18 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:03:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020318.BD39C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:03:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: static void SignalHandlerC(int signo, siginfo_t *info, void *context) /* wrapper to workaround ALPHA_LINUX: /usr/bin/ld: ThreadPThreadC.o: gp-relative relocation against dynamic symbol ThreadPThread__SignalHandler */ { SignalHandler(signo, info, context); } From jkrell at elego.de Wed Dec 8 03:06:02 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020602.49EBC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:02 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in passes.c tree-pass.h tree-ssa-loop.c Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: remove tree-parloops.c entirely This is an optimization that would attempt to schedule iterations of a for loop across multiple threads -- but the backend doesn't necessarily know how to create threads. From jkrell at elego.de Wed Dec 8 03:06:26 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020626.1BC262474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:26 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: obnoxious, but clean just in case From jkrell at elego.de Wed Dec 8 07:20:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 7:20:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208062031.7256D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 07:20:31 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Alpha32.common Alpha64.common Log message: m3back_mieee = "-mieee", of course! From jkrell at elego.de Wed Dec 8 08:30:57 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 8:30:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208073057.615BA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 08:30:57 Modified files: cm3/m3-sys/cm3/src/: Utils.i3 UtilsPosix.m3 UtilsWin32.m3 m3makefile Removed files: cm3/m3-sys/cm3/src/: cm3unix.c Log message: use Unix.link in 5.8.6 and newer m3core no longer hack for building from earlier releases From jkrell at elego.de Thu Dec 9 07:25:03 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 9 Dec 2010 7:25:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101209062503.421D72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/09 07:25:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add link to bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46861 that I am working around (that I just reported) repros with system gcc (4.2) but not with 4.5.1 From jkrell at elego.de Fri Dec 10 12:23:33 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:23:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210112333.1A2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:23:33 Modified files: cm3/scripts/python/: pylib.py Log message: avoid double dash in Debian package file name From jkrell at elego.de Fri Dec 10 12:47:29 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:47:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114729.D1C3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:47:29 Modified files: cm3/scripts/: make-dist.sh Log message: remove "build platform" (e.g. "cygwin") from NT386 archive names slightly invasive in that the delimiting dashes are moved to BF, since just making it empty would otherwise produce double dashes From jkrell at elego.de Fri Dec 10 12:48:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:48:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114846.2718B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:48:46 Modified files: cm3/scripts/python/: make-dist.py Log message: possible fix for making Debian packages in make-dist.py (note that Hudson makes Debian packages through a slightly alternate, working route) From jkrell at elego.de Fri Dec 10 13:08:56 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 13:08:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210120856.C3F4C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 13:08:56 Modified files: cm3/scripts/python/: pylib.py Log message: try again From jkrell at elego.de Fri Dec 10 22:45:03 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 22:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210214503.869D52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 22:45:03 Modified files: cm3/scripts/python/: upload.sh Log message: .deb files too From jkrell at elego.de Sat Dec 11 13:03:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 11 Dec 2010 13:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101211120359.66AD32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/11 13:03:59 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add ALPHA_LINUX From jkrell at elego.de Sun Dec 12 06:53:23 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055324.5DC7D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:53:32 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055332.E41F22474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:32 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:59:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:59:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212060000.6DE222474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:59:59 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least -- don't pass -g/-gstabs though, that causes later linker error about unknown stabs type From jkrell at elego.de Wed Dec 15 13:03:58 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215120358.B4B1BCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:03:58 Added files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: new files -- like TInt and TWord, but negative values are non-silent errors to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 13:14:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121441.0CD11CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:14:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:15:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:15:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121553.C5BEFCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:15:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:22:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:22:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215122227.657E6CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:22:27 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From hosking at cs.purdue.edu Wed Dec 15 16:27:25 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 10:27:25 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215120358.B4B1BCC125@birch.elegosoft.com> References: <20101215120358.B4B1BCC125@birch.elegosoft.com> Message-ID: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 13:03:58 > > Added files: > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > Log message: > new files -- like TInt and TWord, but negative values are > non-silent errors > to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 17:10:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:10:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161047.751F7CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:10:47 Modified files: cm3/m3-sys/m3middle/src/: TInt.i3 TInt.m3 Log message: add Inc/Dec From jkrell at elego.de Wed Dec 15 17:12:45 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:12:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161245.4A7E5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:12:45 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: given align/bytes/pack of type INTEGER or CARDINAL, etc., add talign/tbytes/tpack of type Target.Int, Target.Cardinal, etc. From jkrell at elego.de Wed Dec 15 17:13:04 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:13:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161304.47365CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:13:04 Modified files: cm3/m3-sys/m3middle/src/: m3makefile Log message: compile TCardinal From jkrell at elego.de Wed Dec 15 17:17:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161741.9D2C4CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:17:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: remove New, add FromCardinal From jay.krell at cornell.edu Wed Dec 15 17:20:12 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 16:20:12 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> References: <20101215120358.B4B1BCC125@birch.elegosoft.com>, <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Message-ID: It's the same either way but I'd rather bury the range checks here, which is all this layer adds. Surely we don't need CARDINAL either. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 10:27:25 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. > > On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 13:03:58 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > > > Log message: > > new files -- like TInt and TWord, but negative values are > > non-silent errors > > to be used to replace CARDINAL in frontend > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Dec 15 17:21:32 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162132.4A9CB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:32 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:21:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162153.7B9912474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:22:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:22:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162215.CEF332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:22:15 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: whitespace From jkrell at elego.de Wed Dec 15 17:23:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:23:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162305.D27282474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:23:05 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:25:39 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:25:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162539.D2DB5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:25:39 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: fold common code From jkrell at elego.de Wed Dec 15 17:26:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:26:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162633.9B3A2CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:26:33 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 Log message: remove unused From hosking at cs.purdue.edu Wed Dec 15 20:41:44 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 14:41:44 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215162153.7B9912474003@birch.elegosoft.com> References: <20101215162153.7B9912474003@birch.elegosoft.com> Message-ID: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Jay, I'm not sure where you are going with all of this TCardinal stuff. What is the problem you are trying to solve? The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 17:21:53 > > Modified files: > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > Log message: > use correct comparison function From jay.krell at cornell.edu Wed Dec 15 22:11:40 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 21:11:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. Just that they are usually small. What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. The code in particular was what counts up functions in objects and multiplies by size of address to get offset. It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 14:41:44 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > What is the problem you are trying to solve? > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > Modified files: > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > Log message: > > use correct comparison function > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Dec 17 08:29:10 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 17 Dec 2010 8:29:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101217072910.292F7CC110@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/17 08:29:10 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: NEWS configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/config/: ChangeLog po.m4 cm3/m3-sys/m3cc/gcc-4.5/contrib/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/reghunt/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/regression/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/fixincludes/: ChangeLog fixincl.x inclhack.def cm3/m3-sys/m3cc/gcc-4.5/fixincludes/tests/base/: pthread.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: BASE-VER ChangeLog DATESTAMP Makefile.in bb-reorder.c builtins.c c-common.c c-common.h c-decl.c c-parser.c c-pretty-print.c c-tree.h c-typeck.c caller-save.c cfgexpand.c cfglayout.c cfgloopmanip.c cfgrtl.c combine.c config.gcc configure configure.ac convert.c cse.c dce.c df-core.c df-problems.c df-scan.c dwarf2out.c emit-rtl.c expmed.c expr.c fold-const.c function.c gcse.c gimplify.c haifa-sched.c ifcvt.c ipa-prop.c ipa-pure-const.c ira-color.c ira-conflicts.c ira-emit.c ira-lives.c ira.c optabs.c postreload.c reg-stack.c reginfo.c reload1.c reorg.c rtl.h rtlanal.c sched-deps.c sched-rgn.c sel-sched-ir.c sel-sched.c stmt.c stor-layout.c tree-cfg.c tree-complex.c tree-eh.c tree-flow.h tree-inline.c tree-loop-distribution.c tree-sra.c tree-ssa-copyrename.c tree-ssa-dce.c tree-ssa-live.c tree-ssa-loop-ivopts.c tree-ssa-loop-prefetch.c tree-ssa-math-opts.c tree-ssa-pre.c tree-ssa-reassoc.c tree-ssa-structalias.c tree-switch-conversion.c tree-vect-patterns.c tree-vect-slp.c tree-vect-stmts.c tree-vectorizer.h tree.h var-tracking.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/alpha/: alpha.c osf.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/arm/: arm.c arm.md linux-atomic.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: cygming.h darwin.h i386.c i386.md mingw32.h sse.md xmmintrin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/ia64/: ia64.c ia64.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/mips/: iris.h mips.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/pa/: pa.c pa.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rs6000/: aix.h linux64.h rs6000-protos.h rs6000.c rs6000.md sysv4.h x-aix cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rx/: predicates.md rx.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/s390/: s390.c s390.md t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/sparc/: constraints.md linux.h linux64.h sol2-gas.h sol2-unwind.h sol2.h sparc.c sparc.h t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/spu/: spu.c cm3/m3-sys/m3cc/gcc-4.5/gcc/doc/: aot-compile.1 cpp.1 cpp.info cppinternals.info extend.texi fsf-funding.7 g++.1 gc-analyze.1 gcc.1 gcc.info gccinstall.info gccint.info gcj-dbtool.1 gcj.1 gcj.info gcov.1 gfdl.7 gfortran.1 gij.1 gpl.7 grmic.1 invoke.texi jcf-dump.1 jv-convert.1 rebuild-gcj-db.1 sourcebuild.texi cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: ChangeLog lto-elf.c cm3/m3-sys/m3cc/gcc-4.5/include/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libcpp/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libgcc/: ChangeLog config.host cm3/m3-sys/m3cc/gcc-4.5/libgcc/config/libbid/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libiberty/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/lto-plugin/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/maintainer-scripts/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/zlib/: ChangeLog cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: upgrade from gcc 4.5.1 to gcc 4.5.2 From hosking at cs.purdue.edu Fri Dec 17 16:06:19 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 17 Dec 2010 10:06:19 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: <316D209C-29E2-4A00-86CA-A51F2DB92E49@cs.purdue.edu> Not true. CARDINAL is only ever used for values that should be in range on all architectures. 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 On Dec 15, 2010, at 4:11 PM, Jay K wrote: > I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) > should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. > Just that they are usually small. > What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. > The code in particular was what counts up functions in objects and multiplies by size of address to get offset. > It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Wed, 15 Dec 2010 14:41:44 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > > > What is the problem you are trying to solve? > > > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > > > Modified files: > > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > > > Log message: > > > use correct comparison function > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Dec 19 15:59:13 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145913.B107C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:13 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py cm3/scripts/regression/: defs.sh Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_OPENBSD cm3/m3-libs/m3core/src/C/ALPHA_OPENBSD/: Csetjmp.i3 m3makefile Log message: initial OpenBSD/alpha support still need to look into using hacked setjmp or sigaltstack From jkrell at elego.de Sun Dec 19 15:59:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145943.261642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:43 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add OpenBSD/alpha here too From jkrell at elego.de Sun Dec 19 16:05:12 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 16:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219150512.7D12B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 16:05:12 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: speculative OpenBSD/alpha changes should really find the setjmp/longjmp code.. From jkrell at elego.de Fri Dec 24 05:28:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:28:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224042846.BB8E82474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:28:46 Added files: cm3/scratch/macho/: btree.c btree.h getmacho.c hash.c hash.h macho.c macho.h Log message: scratch/macho (the most work needed to port the x86 backend is actually supporting other object files) From jkrell at elego.de Fri Dec 24 05:34:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:34:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224043455.F04422474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:34:55 Modified files: cm3/scratch/macho/: macho.h Log message: close unclosed comment From jkrell at elego.de Fri Dec 24 08:02:57 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:02:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070257.4BDFA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:02:57 Modified files: cm3/scratch/macho/: macho.c Log message: swap4 => swap32 swap8 => swap64 From jkrell at elego.de Fri Dec 24 08:04:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:04:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070442.9D75F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:04:42 Modified files: cm3/scratch/macho/: macho.c Log message: remove some pointer derefs From jkrell at elego.de Fri Dec 24 08:49:17 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:49:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224074917.4997C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:49:17 Added files: cm3/scratch/macho/: amd64.obj ppc32.obj ppc64.obj x86.obj amd64.exe ppc32.exe ppc64.exe x86.exe Log message: some test inputs From jkrell at elego.de Fri Dec 24 08:50:19 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:50:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224075019.9B6722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:50:19 Modified files: cm3/scratch/macho/: macho.c Log message: add support for enums (translating numbers to names) From jkrell at elego.de Fri Dec 24 09:33:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 9:33:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224083342.3D0D92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 09:33:42 Modified files: cm3/scratch/macho/: getmacho.c macho.c macho.h Log message: put functions/data in column 0 print segments From jkrell at elego.de Fri Dec 24 10:54:04 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 10:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224095404.870992474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 10:54:04 Modified files: cm3/scratch/macho/: macho.c Log message: macho_header64_t isn't particularly interesting, just one extra reserved uint32_t for alignment don't crash for file not specified or found From jkrell at elego.de Sat Dec 25 08:47:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 25 Dec 2010 8:47:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101225074743.729B62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/25 08:47:43 Modified files: cm3/scratch/macho/: macho.c Log message: dump a bit more From jkrell at elego.de Sun Dec 26 06:00:18 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050018.BAFC32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:18 Added files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: let's try to use Modula-3? From jkrell at elego.de Sun Dec 26 06:00:35 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050035.CF2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:35 Modified files: cm3/scratch/macho/: macho.h Log message: whitespace From jkrell at elego.de Sun Dec 26 07:25:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 7:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226062544.19FE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 07:25:43 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Added files: cm3/scratch/macho/src/: m3makefile Log message: work in progress: the .i3 file compiles From jkrell at elego.de Sun Dec 26 09:02:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080239.DBBDCCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:02:39 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c CsignalC.c CstdioC.c CstdlibC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Ugrp.c Unetdb.c UnixC.c UnixLink.c Usocket.c UstatC.c UtimeC.c Log message: This should deal more generally with the problem that NetBSD #defines identifiers, fake example: #define fopen fooopen: Cstdio__fooopen(...) { return fooopen(...); } instead of: Cstdio__fopen(...) { return foopen(...);} also sprinkle around M3_DLL_EXPORT, M3_DLL_LOCAL, __cdecl From jkrell at elego.de Sun Dec 26 09:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080422.C2A21CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:04:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove test code from previous revision From jkrell at elego.de Sun Dec 26 09:47:44 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226084744.8FD63CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:47:44 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: grammar in comments; whitespace From jkrell at elego.de Sun Dec 26 09:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226085058.0921ACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:50:57 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: comment only From jkrell at elego.de Sun Dec 26 11:26:37 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:26:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226102637.4C6EECC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:26:37 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: work in progress From jkrell at elego.de Sun Dec 26 11:33:05 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:33:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226103305.D95EA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:33:05 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a little better, given that we don't have const.. From jkrell at elego.de Sun Dec 26 11:43:27 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:43:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104327.A04D3CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:43:27 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: variation: better syntax for the arrays, not copying, but all CONST is lost, and still no offsetof From jkrell at elego.de Sun Dec 26 11:44:01 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:44:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104401.935CFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:44:01 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: no default offset/size From jkrell at elego.de Sun Dec 26 11:45:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:45:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104559.23665CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:45:59 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress, slight progress From jkrell at elego.de Sun Dec 26 19:50:52 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:50:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185052.CA827CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:50:52 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: cgraphunit.c system.h target-def.h target.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/: darwin.c darwin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: winnt.c cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: Make-lang.in config-lang.in Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: common.c common.h lang-specs.h lto-coff.c lto-coff.h lto-elf.c lto-endian.h lto-lang.c lto-macho.c lto-macho.h lto-tree.h lto.c lto.h Log message: system.h: all systems have: stddef.h limits.h abort realloc malloc calloc free strstr getwd (declared if they have it) getcwd (ditto) sbrk (ditto) getopt (ditto) getenv atof atol errno declared in errnor.h NULL trim more of LTO From jkrell at elego.de Sun Dec 26 19:53:03 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185303.217F62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:03 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in flags.h ipa-cp.c toplev.c tree.c varpool.c Log message: trim more LTO From jkrell at elego.de Sun Dec 26 19:53:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185339.756DACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:39 Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: lto-streamer.h Log message: trim more LTO From jkrell at elego.de Mon Dec 27 05:34:38 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 5:34:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227043438.338332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 05:34:38 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a different set of tradeoffs: we can at least index things as arrays but we still can't have VAR open arrays which stinks and we still have to make extra copies of things which also stinks, all very disappointing From jkrell at elego.de Mon Dec 27 06:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 6:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227055057.595772474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 06:50:57 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:39:46 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:39:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227073946.1E35A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:39:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:40:48 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074048.9A64FCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:40:48 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:41:22 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074122.E5076CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:41:22 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: didn't mean to check that in, but ok, fix it From jkrell at elego.de Mon Dec 27 10:49:11 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 10:49:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227094911.A983E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 10:49:11 Modified files: cm3/scratch/macho/src/: macho.m3 macho.i3 Log message: work in progress, almost done (up to where the C code was); remove 'macho_' prefixes From jkrell at elego.de Mon Dec 27 11:43:29 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 11:43:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227104329.2A92CCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 11:43:29 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c Log message: Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers I noticed calls to free() were missing some, and this whole area is both error-prone and almost completely untested: - it only matters when using user threads - and if thread switches occurs at just the right time This still leaves hazard in lots of custom wrappers. I suggest frontend handle this. allow NIL pointers in M3toC.Free*, silently do nothing with them (again here, we have VAR where CONST is really desired!) Upwd.c: use struct passwd and remove typedef struct passwd passwd_t I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas Uin.c: add M3_DLL_EXPORT From jkrell at elego.de Mon Dec 27 13:17:55 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:17:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227121756.117B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:17:55 Modified files: cm3/scripts/python/: pylib.py Log message: ship all config files, not just Target* and *common From jkrell at elego.de Mon Dec 27 13:33:20 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:33:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227123320.507F92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:33:20 Modified files: cm3/scripts/python/: pylib.py Log message: better config install/cleanup From jkrell at elego.de Mon Dec 27 13:45:34 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:45:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124535.01412CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:45:34 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: Some wrappers might be used specifically while waiting for other threads to progress. e.g. don't disable switching in sleep(). More wrappers to consider. Only matters for user threads.. From jkrell at elego.de Mon Dec 27 13:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124652.C9F15CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:46:52 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: go back a version From jkrell at elego.de Mon Dec 27 13:49:06 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:49:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124906.5E22CCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:49:06 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove new central disable/enable scheduling, pending more thought From jkrell at elego.de Mon Dec 27 13:55:27 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:55:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227125527.52615CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:55:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: provide macros for non-switching wrappers and use them for malloc/realloc/free From hosking at cs.purdue.edu Mon Dec 27 18:29:20 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:29:20 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227104329.2A92CCC126@birch.elegosoft.com> References: <20101227104329.2A92CCC126@birch.elegosoft.com> Message-ID: Umm, why? This is all unnecessary. 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 On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 11:43:29 > > Modified files: > cm3/m3-libs/m3core/src/: m3core.h > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > Log message: > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > I noticed calls to free() were missing some, and this > whole area is both error-prone and almost completely untested: > - it only matters when using user threads > - and if thread switches occurs at just the right time > > This still leaves hazard in lots of custom wrappers. > I suggest frontend handle this. > > allow NIL pointers in M3toC.Free*, silently do nothing with them > (again here, we have VAR where CONST is really desired!) > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > Uin.c: add M3_DLL_EXPORT From hosking at cs.purdue.edu Mon Dec 27 18:30:38 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:30:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227124535.01412CC127@birch.elegosoft.com> References: <20101227124535.01412CC127@birch.elegosoft.com> Message-ID: You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). 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 On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 13:45:34 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > Log message: > Some wrappers might be used specifically while waiting for > other threads to progress. e.g. don't disable switching in sleep(). > More wrappers to consider. > Only matters for user threads.. From jay.krell at cornell.edu Mon Dec 27 22:34:26 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:34:26 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227124535.01412CC127@birch.elegosoft.com>, Message-ID: The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Dec 27 22:36:19 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:36:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227104329.2A92CCC126@birch.elegosoft.com>, Message-ID: The NIL checks make it easier to use, if you can depend on newer version. Disable/EnableSwitching are sometimes missing on calls to free -- it is very error prone. They are used on malloc. I believe they are needed on free. I went back though and only disable/enable selectively. Still very error prone. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:29:20 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > This is all unnecessary. > > 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 > > > > > On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 11:43:29 > > > > Modified files: > > cm3/m3-libs/m3core/src/: m3core.h > > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > > > Log message: > > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > > > I noticed calls to free() were missing some, and this > > whole area is both error-prone and almost completely untested: > > - it only matters when using user threads > > - and if thread switches occurs at just the right time > > > > This still leaves hazard in lots of custom wrappers. > > I suggest frontend handle this. > > > > allow NIL pointers in M3toC.Free*, silently do nothing with them > > (again here, we have VAR where CONST is really desired!) > > > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > > > Uin.c: add M3_DLL_EXPORT > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:31:35 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:31:35 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <564348.46782.qm@web29708.mail.ird.yahoo.com> Hi all: I'm curious about how to implement the threads in user space by using the TSL instruction on uniprocessor where available and multiprocessor systems, that way would be like avoiding the system switching and getting the benefits of user threading in the shell for uniprocessor systems speeding it. See: http://www.chiark.greenend.org.uk/~theom/riscos/docs/ultimate/a252swp.txt This was the idea behind the ARM3 instruction set and later ones, coming for a problem with the OS performance (written on Modula-2+ FYI), though I'm not sure how this Pthread system works right now on them. Perhaps in FreeDOS this would be? not useless like it doesn't have any pthreads if I'm correct, then the? best approach would be like to get? the runtime to work? with just? the hardware help and no pthreads, Am I right? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:57:54 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:57:54 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <61484.55782.qm@web29714.mail.ird.yahoo.com> Hi all: I've read somewhere that cvsup rocks but the disk hit rate is too high, wondering it might be that we get to experiment with optical storage disk file system like the one in Acorn Archimedes Arx OS, perhaps its more appropriate to negotiate the cvsupd requests to the disk without hitting it but reading the optical disks data, doing so would be lesser time reads than magnetic ones, so that is less usage and the CPU would not waste much time going to system threads switching but just user space, which might be reasonable for the administrator point of view. And FMI besides the source code, is there any documentation available for read of dcvs folks? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Dec 28 02:41:50 2010 From: jay.krell at cornell.edu (Jay K) Date: Tue, 28 Dec 2010 01:41:50 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <61484.55782.qm@web29714.mail.ird.yahoo.com> References: , <61484.55782.qm@web29714.mail.ird.yahoo.com> Message-ID: Daniel: I have a low opinion of anything to do with cvs and I believe the way to do anything to improve cvs starts with completing replacing it, therefore it's not worth thinking much about it. In my opinion. Tony: "You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads)." I'm "confused". Are user threads meant to work or not? If so, then they should really definitely work, and not be fragile. I don't think support should be "too" half hearted. It need not be super efficient, but it should be super correct. If they don't need to work, then we should delete/disable/break without pause. Currently as far as I understand we are "forced" to use them on OpenBSD. Probably we should look at what the boehm gc does there though. Or drop support for OpenBSD until it has kernel threads? (And not consider supporting DJGPP? :) ) I don't entirely remember the rationale regarding pthreads on OpenBSD though. Part of the rationale might have been: "pthreads have unresolved problems, and are user threads anyway, so we might as well just use ours." If that was the final rationale, as I suspect, it might be worth more effort getting pthreads to work on OpenBSD, even if they are not great and are user threads. At least we'd unify our code. You know, we did have problems with pthreads on Darwin, FreeBSD, NetBSD too, but we worked through them instead of abandoning pthreads. (i.e. "portable suspend/resume, including getting suspended thread context" only works on Linux and Solaris, all the rest use custom code.) - Jay ________________________________ > Date: Mon, 27 Dec 2010 22:57:54 +0000 > From: dabenavidesd at yahoo.es > Subject: Re: [M3commit] CVS Update: cm3 > To: hosking at cs.purdue.edu; jkrell at elego.de; jay.krell at cornell.edu > CC: m3commit at elegosoft.com > > Hi all: > I've read somewhere that cvsup rocks but the disk hit rate is too high, > wondering it might be that we get to experiment with optical storage > disk file system like the one in Acorn Archimedes Arx OS, perhaps its > more appropriate to negotiate the cvsupd requests to the disk without > hitting it but reading the optical disks data, doing so would be lesser > time reads than magnetic ones, so that is less usage and the CPU would > not waste much time going to system threads switching but just user > space, which might be reasonable for the administrator point of view. > And FMI besides the source code, is there any documentation available > for read of dcvs folks? > Thanks in advance > > --- El lun, 27/12/10, Jay K escribi?: > > De: Jay K > Asunto: Re: [M3commit] CVS Update: cm3 > Para: "Tony" , "Jay Krell" > CC: m3commit at elegosoft.com > Fecha: lunes, 27 de diciembre, 2010 16:34 > > The code is frequently wrong for user threads. > So much so that cvsup had cloned some code in order to put in fixes > along these lines. > I did undo this though. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Mon, 27 Dec 2010 12:30:38 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > You are debasing the primary use-case, which is system threading, to > support what should be a deprecated target (user threads). > > > > 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 > > > > > > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > > > Modified files: > > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > > > Log message: > > > Some wrappers might be used specifically while waiting for > > > other threads to progress. e.g. don't disable switching in sleep(). > > > More wrappers to consider. > > > Only matters for user threads.. > > > > From jkrell at elego.de Tue Dec 28 11:13:46 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101346.74E012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:13:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: stack_grows_down is never used, remove it From jkrell at elego.de Tue Dec 28 11:19:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:19:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101909.E7B182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:19:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c ThreadInternal.i3 Log message: provide ThreadInternal.StackGrowsDown() to be possibly used by OpenBSD/pthread Yes, I know it is easily computed, and the existing computations will remain, but it'd be nice to have it implemented in one place and only one place. OpenBSD runs on HPPA, which I believe has a stack that grows up. FreeBSD and Darwin will retain their assumption and assertion of stack growing down. At this rate, I don't see foresee them ever having a stack that grows up. (Growth up is apparently obviously "more secure", but also rare.) From jkrell at elego.de Tue Dec 28 11:28:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:28:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228102808.ED8DD2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:28:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: eliminate casts by changing parameters from void* to char* From jkrell at elego.de Tue Dec 28 11:36:33 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:36:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103633.AE6D02474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:36:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: fprintf(stderr) before abort, initialize locals From jkrell at elego.de Tue Dec 28 11:39:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:39:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103903.C583E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:39:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: declare ThreadInternal__StackGrowsDown here From jkrell at elego.de Tue Dec 28 11:41:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:41:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228104119.B3F172474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:41:19 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: cosmetic: whitespace, naming of static function From jkrell at elego.de Tue Dec 28 11:52:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:52:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105209.F07722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:52:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Allow OpenBSD to have stack that doesn't grow down. This is hypothetical at this point, but would be part of - OpenBSD using pthreads, which I will try again shortly - OpenBSD/hppa (but I don't currently have any HPPA machines :( and the one I did have was I think 64bit only, so wouldn't run this anyway; however there are modern 64bit machines that can run 32bit OpenBSD/hppa) (what about NetBSD?) From jkrell at elego.de Tue Dec 28 11:53:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:53:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105356.886EB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:53:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: NetBSD specific code shouldn't be needed here any longer, now that m3core.h's M3WRAP macros avoid evaluating the wrapper name. Untested! (NetBSD doesn't have good representation among Modula-3 users seemingly.) From jkrell at elego.de Tue Dec 28 11:59:28 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:59:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105928.16A192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:59:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: whitespace: label goes in first column From jkrell at elego.de Tue Dec 28 12:01:41 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:01:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228110141.57A4F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:01:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadOpenBSD.c Log message: Not currently used, but I'll try shortly. - remove casts by changing parameters from void* to char* - don't assume stack grows down (e.g. HPPA?) (in general we don't hardcode stack direction, but we detect it at runtime -- in ThreadPThreadC.c -- but in the Apple and FreeBSD code we do, perhaps we shouldn't, but those systems run on relatively few architectures) From jkrell at elego.de Tue Dec 28 12:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115316.6D94C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:53:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Use __thread on Linux and Solaris. Doesn't compile on Apple. Segfaults on OpenBSD and NetBSD. Not tested on FreeBSD, AIX, Irix, HP-UX, etc., stick with pthread_get/setspecific. In future hope to eliminate this code anyway, in favor of gcc/libgcc stack walker or C++ exceptions (C++ backend). From jkrell at elego.de Tue Dec 28 12:56:12 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:56:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115612.1FEDE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:56:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: oops: and don't pthread_key_create when using __thread From jkrell at elego.de Tue Dec 28 13:00:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:00:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228120039.CB8532474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:00:39 Modified files: cm3/m3-libs/m3core/src/unix/: m3makefile cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 m3makefile Log message: remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jkrell at elego.de Tue Dec 28 13:19:22 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228121922.591602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:19:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: Try to avoid inlining of ThreadInternal__StackGrowsDown, ThreadInternal__StackGrowsDownHelper by use of __declspec(noinline) or __attribute__((noinline)) on compilers that support them. In particular, if ThreadInternal__StackGrowsDownHelper is inlined, then the locals aren't necessarily "in the expected relative locations" and the return value could be wrong. We should probably #ifdef here to force the answer. e.g. x86, amd64, sparc, alpha, ia64, vax, etc., all always grow down e.g. hppa grows up We might also try inhibiting inlining/optimization by using recursion? From jkrell at elego.de Tue Dec 28 13:20:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:20:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228122027.AB5852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:20:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: add comment as to why inlining to be avoided From jkrell at elego.de Tue Dec 28 13:32:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228123234.C041C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:32:34 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: use recursion to further fight inliner, though smart compiler could still through this From jkrell at elego.de Tue Dec 28 13:43:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228124309.602822474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:43:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: assert that stack grows down, except #ifdef __hppa__ From jkrell at elego.de Tue Dec 28 14:04:49 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:04:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130449.9EAEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:04:49 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h Log message: Fix for -enable-build-with-cxx -enable-checking with g++ 3.3. e.g. OpenBSD/x86 4.7 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:07:14 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:07:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130714.44BEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:07:14 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: system.h Log message: all systems have string.h and stdlib.h From jkrell at elego.de Tue Dec 28 14:24:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132434.6EB032474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:24:34 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: more fixing for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:27:59 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:27:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132759.EF37C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:27:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h tree.h ira-int.h Log message: oops, regarding http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:29:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132927.EC5FB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:29:27 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: move use of GCC_VERSION later, at least for clarify, after it will be #defined From jkrell at elego.de Tue Dec 28 14:36:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228133607.B29E12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:36:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/include/: ansidecl.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: #define ENABLE_CHECKING_GCC_VERSION just once, right after GCC_VERSION I'm still uneasy about the name of this, and then, given that it is difficult to name, if we should even capture it in a symbol or just repeat the checks. From jkrell at elego.de Tue Dec 28 14:43:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:43:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228134340.02F602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:43:39 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: clean again From jkrell at elego.de Tue Dec 28 15:11:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 15:11:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228141156.DFF162474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 15:11:56 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c Log message: This is a nonsense change that causes zero semantic change, however it works around a bug in g++ 3.3. Without this change, g++ 3.3 on OpenBSD/x86 4.7 crashes compiling these two functions. With this change, it does not crash. gcc 3.3 has no problem either way (C vs. C++ frontend). Odds are also likely that not using -enable-checking would also let this work, but I didn't try that. From jkrell at elego.de Tue Dec 28 22:44:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 22:44:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228214408.E56852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 22:44:08 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: sched-deps.c Log message: more nonsense that should workaround g++ 3.3 g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sbitmap.c -o sbitmap.o g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sched-deps.c -o sched-deps.o ../../gcc-4.5/gcc/sched-deps.c: In function `bool insn_use_p(rtx_def*, int)': ../../gcc-4.5/gcc/sched-deps.c:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. gmake: *** [sched-deps.o] Error 1 "/home/jay/dev2/cm3/m3-sys/m3cc/src/m3makefile", line 273: quake runtime error: exit 2: cd . && cd gcc && gmake MAKE=gmake AUTOCONF=: AUTOMAKE=: LEX='touch lex.yy.c' MAKEINFO=: s-modes insn-config.h m3cg From jkrell at elego.de Tue Dec 28 23:01:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 23:01:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228220107.7EE5A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 23:01:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: vec.h Log message: workaround g++ 3.3 problems more (fixes error in sched-deps.c) From jkrell at elego.de Wed Dec 29 07:18:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:18:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229061821.A8B942474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:18:21 Modified files: cm3/scripts/python/: pylib.py Log message: fix rmtree/isdir From jkrell at elego.de Wed Dec 29 07:34:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229063447.032E52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:34:46 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c sched-deps.c Log message: go back a version, the vec.h change probably suffices From jkrell at elego.de Wed Dec 29 08:04:08 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:04:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229070408.992242474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:04:08 Modified files: cm3/scripts/python/: pylib.py Log message: should fix CopyConfigForDevelopment, since yesteray's changes From jkrell at elego.de Wed Dec 29 08:23:03 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:23:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229072303.757072474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:23:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: add __cdecl From jkrell at elego.de Wed Dec 29 08:30:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:30:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229073047.F34292474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:30:47 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove commented out disable/enableswitching From jkrell at elego.de Wed Dec 29 08:47:34 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:47:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229074734.3AB8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:47:34 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: OpenBSD has this: /usr/include/sys/cdefs.h:#define __malloc __attribute__((__malloc__)) which interferes with: M3PASTE(M3MODULE, __##name) in We end up with Cstdlib____attribute__((__malloc__)) where we want Cstdlib__malloc for now M3WRAP_NO_SWITCHING takes m3name and cname separate, i.e., no more M3MODULE, no more pasting, but pass Cstdlib__malloc and malloc. Longer term, soon!, need to do this for the more heavily used macros. Another thing we could try is PASTE3(M3MODULE,_, _##name) in but this still runs the risk of single underscore: /usr/include/sys/cdefs.h:#define _malloc __attribute__((__malloc__)) or somesuch. It seems impossible to get name evaluated and pasted-without-evaluation. So we will stop using pasting. Note that M3WRAP1_ will have to change also, to take foo and _foo and select one, since "stop using pasting" I'll interpret strenuously and not even do _#foo, likely. From jkrell at elego.de Wed Dec 29 09:40:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 9:40:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229084033.8FE252474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 09:40:33 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Add some clarifying comments. On further thought/work, the token pasting will stay. As needed we still have two or three options short of "rewrite". - #undef __foo as needed, as problems are discovered We don't ahve to #undef __malloc as that has been worked around by moving a small number of special macros/uses to pass m3name and cname separately - move the pasting up a level to the numbered macros and pass Mmodule__foo, foo to the lower level as needed - use _foo as the intermediate instead of __foo The token pasting approach is just too attractive for the amount of repitition is removes. If push comes to shove, we can also checkin custom text files and process them with quake/awk/C/Modula-3. Probably quake. Really not a bad idea. Like how m3-win/import-libs works. From jkrell at elego.de Wed Dec 29 10:36:12 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 10:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229093612.AFF8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 10:36:12 Modified files: cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile Log message: Switch OpenBSD to pthreads! Beware, I did once see: --- p244 --- gcc 4.5 backend crash with 'fre' optimization cd ../src/p2/p244 && cm3 -silent -DM3TESTS >I386_OPENBSD/stdout.build.raw 2>I386_OPENBSD/stderr.build.raw *** *** runtime error: *** Thread client error: 22 *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 130 *** EINVAL PROCEDURE UnlockMutex (m: Mutex) = (* LL = m *) BEGIN IF m.mutex = NIL THEN InitMutex(m.mutex, m, CleanMutex) END; WITH r = pthread_mutex_unlock(m.mutex) DO IF r # 0 THEN DieI(ThisLine(), r) END; line 130 END; END UnlockMutex; something to watch out for, try to stress test, see if it can be made to occur often/consistently, and fixed. Maybe initialize mutexes up-front instead of on-demand? Death to user threads?? From jkrell at elego.de Wed Dec 29 12:19:01 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229111901.D3146CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:19:01 Modified files: cm3/m3-tools/cvsup/suplib/src/: GzipRd.m3 GzipWr.m3 Ugzip.i3 Ugzip.m3 Log message: call malloc/free more directly, without the TRY/FINALLY Enable/DisableSwitching From jkrell at elego.de Wed Dec 29 12:23:24 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112324.434B5CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:23:24 Added files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Log message: work in progress, this probably belongs in m3-libs/zlib From jkrell at elego.de Wed Dec 29 12:24:36 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:24:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112436.ACACECC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:24:36 Modified files: cm3/scratch/zlib/src/: zlib.m3 Log message: fix whitespace From jkrell at elego.de Wed Dec 29 12:25:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112527.EF2DE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:25:27 Modified files: cm3/scratch/zlib/src/: zlib.i3 Log message: remove tabs From jkrell at elego.de Wed Dec 29 12:52:14 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229115214.E9277CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:52:14 Modified files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Added files: cm3/scratch/zlib/src/: zconf.i3 Log message: work in progress, more faithful to the original From jkrell at elego.de Wed Dec 29 13:03:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:03:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229120317.E5781CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:03:17 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: 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 m3makefile tcontext.c Log message: remove get/set/make/swapcontext implementation for OpenBSD, now that using pthreads Death to user threads?! (No, deletes won't go any/much further. Systems with get/set/swapcontext or sigaltstack will likely just keep working if one fiddles with the m3makefile and rebuilds the entire system.) But still, no forseeable near future use, as long as OpenBSD pthreads holds up well enough... let's hope... From jkrell at elego.de Wed Dec 29 13:25:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:25:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122521.64C79CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:25:21 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: add fread, wrapper already present in CstdioC.c From jkrell at elego.de Wed Dec 29 13:28:37 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122837.1D3792474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:28:37 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Wed Dec 29 13:39:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229123931.F24852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:39:31 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress first versiont that is all converted and does start dumping correct content..but fails From jkrell at elego.de Wed Dec 29 13:41:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:41:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124117.D83E32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:41:17 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 13:49:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124915.6CA63CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:49:15 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: use initializers for lame simulation of ternary operator From jkrell at elego.de Wed Dec 29 13:51:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:51:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229125105.AC487CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:51:05 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 14:15:50 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131550.9EBE12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:15:50 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: some important fixes: argv[1] instead of argv[0], L instead of ADR(L) From jkrell at elego.de Wed Dec 29 14:19:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131946.DE0A2CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:19:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: save one heap alloc or one string copy by using a field width one wider From hosking at cs.purdue.edu Thu Dec 30 07:17:32 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 30 Dec 2010 01:17:32 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101228120039.CB8532474003@birch.elegosoft.com> References: <20101228120039.CB8532474003@birch.elegosoft.com> Message-ID: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Giving up on the stack walker will relegate it to bitrot. A shame! On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/28 13:00:39 > > Modified files: > cm3/m3-libs/m3core/src/unix/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > Removed files: > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > m3makefile > > Log message: > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jay.krell at cornell.edu Thu Dec 30 09:46:30 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 30 Dec 2010 08:46:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> References: <20101228120039.CB8532474003@birch.elegosoft.com>, <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Message-ID: Then please go ahead and make it work... The OSF/Alpha one hasn't been in use in many years. I tried it recently and it didn't work. I don't remember if that was with gcc 4.5 or 4.3. I couldn't get Solaris/sparc to work with gcc 4.5 even without optimization. There are two paths to progress. - the gcc/libgcc exception handling/stack walking support; you agreed to this..now just for someone to do it...not a small item - outputing C++ as intermediate code Or possibly something involving LLVM. (meanwhile, I'm playing around with dumping Mach-O files with the *possible* albeit unlikely goal of porting the integrated backend to more x86 targets, which would initially lock-in setjmp/longjmp, but is surely still fixable...) - Jay > From: hosking at cs.purdue.edu > Date: Thu, 30 Dec 2010 01:17:32 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Giving up on the stack walker will relegate it to bitrot. A shame! > > On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/28 13:00:39 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/: m3makefile > > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > > Removed files: > > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > > m3makefile > > > > Log message: > > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 30 13:46:39 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 13:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230124639.818B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 13:46:39 Modified files: cm3/scripts/python/: pylib.py Log message: If target isn't specified on the command line and $CM3_TARGET isn't set, then use cm3 -version 2>/dev/null | egrep " +host: +" > /dev/null, if it works, before going into uname. (remove spaces, newlines, carriage returns, and "host:"; probably should strengthen and take the first whitespace-delimited token after "host:", in case we later print more information here?) This fixes the ambiguity of I386_DARWIN vs. AMD64_DARWIN, and several others. LINUXLIBC6 vs. I386_LINUX NT386 vs. I386_NT vs. I386_CYGWIN etc. The two other aggressive uname users should do this too! scripts/sysinfo.sh scripts/regression/defs.sh From jkrell at elego.de Thu Dec 30 14:08:47 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:08:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230130847.B710E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:08:47 Modified files: cm3/scripts/python/: pylib.py Log message: save a process and save depending on egrep From jkrell at elego.de Thu Dec 30 14:10:13 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:10:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131013.186E92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:10:13 Modified files: cm3/scripts/python/: pylib.py Log message: and boom, no need for all the uname sniffing now, porting work reduced From jkrell at elego.de Thu Dec 30 14:12:15 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:12:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131215.5C149CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:12:15 Modified files: cm3/scripts/python/: pylib.py Log message: less picky about whitespace From jkrell at elego.de Thu Dec 30 14:18:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:18:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131827.7ECE0CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:18:27 Modified files: cm3/scripts/: sysinfo.sh Log message: replace big uname switch with: $CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//" Let's hope: - it works on Solaris where we have steady difficulty achieving portability of shell code - perl is everywhere (else I'm sure sed/awk could be used) This removes more porting work and host/target knowledge from the system. Still more to do. From jkrell at elego.de Thu Dec 30 14:21:33 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230132133.8FABC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:21:33 Modified files: cm3/scripts/: sysinfo-new.sh Log message: replace big uname switch with: `$CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//"` if $CM3_TARGET not set (the Python scripts all also allow target on command line besides in the environment, but the Sh scripts do not) From jkrell at elego.de Thu Dec 30 14:35:02 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:35:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230133502.67C02CC123@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:35:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: remove Compiler.ThisPlatform yet another piece of porting work gone There are no uses of this, and any uses would be somewhat dubious, and easy to replace with a compile time check of TARGET in Quake code. See this code for how: jbook2:src jay$ grep OSF */*/*e os/POSIX/m3makefile: "OSF" : "Digital Unix", os/POSIX/m3makefile:if equal(TARGET, "ALPHA_OSF") or equal(TARGET, "DS3100") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "TRUE") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "FALSE") jbook2:src jay$ pwd /dev2/cm3/m3-libs/libm3/src (recall, this use of Compiler.ThisPlatform in libm3 was a constraint on bootstrapping flexibility for a long time, and so pointless!) Or, more generally, a mapping of platform to platform-specific source, as occurs in a few places esp. in m3core. Often "narrowing" through word size, or endian, or Linux vs. FreeBSD etc. instead of complete target tuple. From jkrell at elego.de Fri Dec 31 08:36:08 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 8:36:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231073608.D63FCCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 08:36:08 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: remove FILE type leave only FILE_star type From jkrell at elego.de Fri Dec 31 15:15:48 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:15:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231141548.8B73F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:15:48 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExFrame.m3 RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTExStack.i3 Log message: one newline is enough at the end of files, don't need two From jkrell at elego.de Fri Dec 31 15:36:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:36:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231143656.009EFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:36:55 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExRep.i3 Log message: before PFx = UNTRACED REF EFx; EFx = RECORD ... after PFx = UNTRACED REF RECORD (* EFx *) ... Because the types EFx are never instantiated by Modula-3 code by value via these descriptions. Their sizes are not needed. In particular, the size of the jmpbuf is not needed, and specifying it is unnecessary porting work. Though the alignment is seemingly needed to compute the offset correctly, even though 128bit alignment isn't/can't be expressed, so the alignment isn't generally correct. That is left alone for now. Only the compiler instantiates these types, using special hardcoded values that don't derive from these files. (see m3middle/src/M3RT) From jkrell at elego.de Fri Dec 31 15:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231144653.1AF3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:46:52 Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTException.m3 Log message: delete files that have been dead since 5.1 see e.g.: http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_frame/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_stack/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u that removed them from the m3makefiles http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/common/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u added RTException to common I think RTExRep is buried in interfaces that don't have common names, i.e. RTExFrame, RTExStack (and can possibly be moved from interfaces into modules, if only consumed by one module, I'll check) From jkrell at elego.de Fri Dec 31 16:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231150425.42653CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:04:22 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 m3makefile cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.i3 Log message: merge interface RTExFrame into module RTExFrame merge interface RTExStack into module RTExStack both these modules export common interface RTException there are no users of interfaces RTExFrame, RTExStack and there probably never will be? They are very low level. It is concievable, I guess, that interface RTExStack exists/existed to support writing per-target stack walkers in Modula-3? Cross that bridge if it is ever rebuilt. (We aren't likely to write new stack walkers, let alone in Modula-3; we are most likely to reuse existing ones, libunwind/libgcc.) It is also concievable that RTExFrame might have uses, e.g. stack dumper written in Modula-3? Again, doesn't seem likely at the current time and pace. (Again, e are more likely to leverage m3cg -funwind-tables/libunwind/libgcc.) From jkrell at elego.de Fri Dec 31 16:23:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231152322.7ED152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:23:22 Modified files: cm3/scripts/: sysinfo.sh Log message: put back big uname switch, as $CM3 is set to something nonexistant so running it to grep for host: doesn't work. This should be revisited. From jkrell at elego.de Thu Dec 2 10:12:11 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:12:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091211.D16BB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:12:11 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: fold-const.c Log message: pessimize division folding enough so that we can probably use it see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46679 From jkrell at elego.de Thu Dec 2 10:19:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091927.122F5CC12B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:19:27 Modified files: cm3/m3-sys/m3cc/src/: m3makefile clean_marker.txt cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back to folding division enable checking on fast AMD64_LINUX and my machines: I386_DARWIN, AMD64_DARWIN, LINUXLIBC6, I386_OPENBSD This is not a great way to do this. I need to setup separate Hudson jobs for every platform, or maybe just "cross". It is ok for now. Certainly we won't release it this way! From jkrell at elego.de Thu Dec 2 10:36:59 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202093659.C8A5CCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:36:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: Let's not have the backend go and create threads and such as part of parallelizing loops. From jkrell at elego.de Thu Dec 2 17:04:23 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:04:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202160423.CAB92CC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:04:23 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: just add comment as to a change to be done later From jkrell at elego.de Thu Dec 2 17:21:08 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:21:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202162108.EEAADCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:21:08 Added files: cm3/m3-sys/m3middle/src/: TargetT.i3 Log message: speculative work in progress two goals: remove target knowledge from Target.m3, have it all come from config files use a TargetT.T variable in place of Target.i3 globals (or maybe Target.T) From hosking at cs.purdue.edu Thu Dec 2 17:32:17 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 11:32:17 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101202162108.EEAADCC37F@birch.elegosoft.com> References: <20101202162108.EEAADCC37F@birch.elegosoft.com> Message-ID: Umm, why? On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/02 17:21:08 > > Added files: > cm3/m3-sys/m3middle/src/: TargetT.i3 > > Log message: > speculative work in progress > two goals: > remove target knowledge from Target.m3, have it all > come from config files > use a TargetT.T variable in place of Target.i3 globals > (or maybe Target.T) From jkrell at elego.de Thu Dec 2 17:52:34 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:52:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165235.29E432474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:52:34 Modified files: cm3/m3-sys/m3front/src/exprs/: SetExpr.m3 Log message: Just always use Integer.size, not Target.Set_grain. From jay.krell at cornell.edu Thu Dec 2 17:52:18 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 2 Dec 2010 16:52:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: Which part? 1) So there is less to edit/add when adding a new target. I want the big case statement in Target.m3 gone. 2) Very long term, multi-threaded multi-targeting. Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. - Jay > From: hosking at cs.purdue.edu > Date: Thu, 2 Dec 2010 11:32:17 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > Log message: > > speculative work in progress > > two goals: > > remove target knowledge from Target.m3, have it all > > come from config files > > use a TargetT.T variable in place of Target.i3 globals > > (or maybe Target.T) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 2 17:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165317.0A5962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:53:16 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 TargetT.i3 Log message: set_grain and set_align are (now) never used and are always the same (Integer.size/align), remove them From hosking at cs.purdue.edu Thu Dec 2 18:38:46 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 12:38:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: OK. On Dec 2, 2010, at 11:52 AM, Jay K wrote: > Which part? > > 1) So there is less to edit/add when adding a new target. > I want the big case statement in Target.m3 gone. Still have to edit something. Just no longer M3 code. > 2) Very long term, multi-threaded multi-targeting. > Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Thu, 2 Dec 2010 11:32:17 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Umm, why? > > > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > > > Added files: > > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > > > Log message: > > > speculative work in progress > > > two goals: > > > remove target knowledge from Target.m3, have it all > > > come from config files > > > use a TargetT.T variable in place of Target.i3 globals > > > (or maybe Target.T) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Dec 4 02:04:19 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 2:04:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204010420.4059DCC395@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 02:04:19 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: Makefile.in configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in builtins.c configure configure.ac double-int.c double-int.h ipa-pure-const.c real.c real.h toplev.c tree-data-ref.c tree-scalar-evolution.c tree-ssa-dce.c tree-ssa-loop-ivcanon.c tree-ssa-loop-niter.c tree-ssa-loop.c tree.c tree.h cm3/m3-sys/m3cc/src/: clean_marker.txt m3makefile Removed files: cm3/m3-sys/m3cc/gcc/gmp/: AUTHORS COPYING COPYING.LIB ChangeLog INSTALL INSTALL.autoconf Makefile.am Makefile.in NEWS README acinclude.m4 aclocal.m4 assert.c config.guess config.in config.sub configfsf.guess configfsf.sub configure configure.in dumbmp.c errno.c gen-bases.c gmp-h.in gmp-impl.h install-sh longlong.h ltmain.sh memory.c missing mp_bpl.c mp_clz_tab.c tal-reent.c version.c cm3/m3-sys/m3cc/gcc/gmp/mpn/: Makefile.am Makefile.in README cm3/m3-sys/m3cc/gcc/gmp/mpn/generic/: add.c add_1.c add_n.c addmul_1.c cmp.c dc_divrem_n.c diveby3.c divrem_1.c divrem_2.c get_str.c gmp-mparam.h lshift.c mul.c mul_1.c mul_basecase.c mul_fft.c mul_n.c pre_divrem_1.c rshift.c sb_divrem_mn.c sqr_basecase.c sub.c sub_1.c sub_n.c submul_1.c tdiv_qr.c cm3/m3-sys/m3cc/gcc/gmp/mpz/: Makefile.am Makefile.in add.c add_ui.c aors.h aors_ui.h clear.c cmp.c export.c fdiv_q.c import.c init.c iset.c neg.c out_str.c realloc.c set.c set_ui.c sizeinbase.c sub.c sub_ui.c swap.c tdiv_qr.c cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-ssa-loop-unswitch.c Log message: at the cost of a few optimizations, remove gmp dependency also more lto/ppl/cloog removal From jkrell at elego.de Sat Dec 4 10:31:08 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:31:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093108.474182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:31:08 Added files: cm3/scripts/python/: targets.txt Log message: partial list of targets, to be augmented and used later (e.g. hudson task to build all boot archives, and later more) From jkrell at elego.de Sat Dec 4 10:32:10 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:32:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093210.E96152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:32:10 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: fix PA32_HPUX cross compiles, by using a more specific target From jkrell at elego.de Sat Dec 4 10:48:17 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:48:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204094817.7AD7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:48:17 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: AIX needs a version; pick 5.3 as that adds time64_t PPC64_AIX => powerpc, not powerpc64 (plus -maix64 or such, later...) From jkrell at elego.de Sat Dec 4 10:50:26 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204095028.012102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:50:26 Modified files: cm3/scripts/python/: targets.txt Log message: add PPC32_AIX, PPC64_AIX From jkrell at elego.de Mon Dec 6 21:13:09 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 6 Dec 2010 21:13:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101206201309.2EA4B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/06 21:13:09 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: builtins.c tree-ssa-ccp.c tree.h Log message: remove more code that is never used for Modula-3, rarely used by C, and never required; e.g. optimizing of strcpy, a function that should never be used From jkrell at elego.de Tue Dec 7 14:10:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:10:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131015.935192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:10:15 Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common ALPHA_LINUX Log message: initial copies from AMD64, unadorned ALPHA shall imply 64bit, as I believe there is only one 32bit Alpha platform From jkrell at elego.de Tue Dec 7 14:11:11 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131111.6629E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:11:11 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX ALPHA.common Log message: AMD64 to ALPHA From jkrell at elego.de Tue Dec 7 14:12:13 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131213.F0E7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:12:13 Removed files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common Log message: renaming from ALPHA to Alpha From jkrell at elego.de Tue Dec 7 14:13:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:13:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131303.5BD3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:13:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: oh, there was already Alpha64.common From jkrell at elego.de Tue Dec 7 14:16:23 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:16:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131623.AB06D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:16:23 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 14:22:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:22:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207132209.0DC982474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:22:09 Added files: cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 m3makefile Log message: add ALPHA_LINUX; initially copied from ALPHA_OSF until I have the system fully up and can look up its jumpbuf size From jkrell at elego.de Tue Dec 7 14:37:25 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:37:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207133725.CCFB42474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:37:25 Modified files: cm3/scripts/python/: targets.txt Log message: add ALPHA_OSF, ALPHA_LINUX From jkrell at elego.de Tue Dec 7 15:34:48 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:34:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207143448.216F12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:34:47 Modified files: cm3/m3-sys/m3middle/src/: Target.m3 cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 Log message: reduce ALPHA_LINUX jmpbuf size, and some whitespace changes From jkrell at elego.de Tue Dec 7 15:44:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144456.544642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:44:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: gcc -m64 not allowed; cm3cg -m64 not allowed; as --64 not allowed From jkrell at elego.de Tue Dec 7 15:46:53 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:46:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144653.9D57D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:46:53 Modified files: cm3/scripts/python/: pylib.py Log message: no --64 for ALPHA_LINUX assembler From jkrell at elego.de Tue Dec 7 16:00:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:00:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207150007.1AF0A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:00:07 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: let it compile for Linux/alpha, seems reasonable From jkrell at elego.de Tue Dec 7 16:18:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:18:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207151815.5D18C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:18:15 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: lame Alpha/Linux workaround From jkrell at elego.de Tue Dec 7 16:27:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152719.7A6412474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:19 Modified files: cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 16:27:58 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152758.DDEB72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:58 Modified files: cm3/scripts/regression/: defs.sh Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 22:51:51 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 22:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207215151.D0B972474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 22:51:51 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add ALPHA_LINUX (I thought I did this already.) From jkrell at elego.de Wed Dec 8 03:03:18 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:03:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020318.BD39C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:03:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: static void SignalHandlerC(int signo, siginfo_t *info, void *context) /* wrapper to workaround ALPHA_LINUX: /usr/bin/ld: ThreadPThreadC.o: gp-relative relocation against dynamic symbol ThreadPThread__SignalHandler */ { SignalHandler(signo, info, context); } From jkrell at elego.de Wed Dec 8 03:06:02 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020602.49EBC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:02 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in passes.c tree-pass.h tree-ssa-loop.c Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: remove tree-parloops.c entirely This is an optimization that would attempt to schedule iterations of a for loop across multiple threads -- but the backend doesn't necessarily know how to create threads. From jkrell at elego.de Wed Dec 8 03:06:26 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020626.1BC262474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:26 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: obnoxious, but clean just in case From jkrell at elego.de Wed Dec 8 07:20:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 7:20:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208062031.7256D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 07:20:31 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Alpha32.common Alpha64.common Log message: m3back_mieee = "-mieee", of course! From jkrell at elego.de Wed Dec 8 08:30:57 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 8:30:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208073057.615BA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 08:30:57 Modified files: cm3/m3-sys/cm3/src/: Utils.i3 UtilsPosix.m3 UtilsWin32.m3 m3makefile Removed files: cm3/m3-sys/cm3/src/: cm3unix.c Log message: use Unix.link in 5.8.6 and newer m3core no longer hack for building from earlier releases From jkrell at elego.de Thu Dec 9 07:25:03 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 9 Dec 2010 7:25:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101209062503.421D72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/09 07:25:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add link to bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46861 that I am working around (that I just reported) repros with system gcc (4.2) but not with 4.5.1 From jkrell at elego.de Fri Dec 10 12:23:33 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:23:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210112333.1A2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:23:33 Modified files: cm3/scripts/python/: pylib.py Log message: avoid double dash in Debian package file name From jkrell at elego.de Fri Dec 10 12:47:29 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:47:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114729.D1C3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:47:29 Modified files: cm3/scripts/: make-dist.sh Log message: remove "build platform" (e.g. "cygwin") from NT386 archive names slightly invasive in that the delimiting dashes are moved to BF, since just making it empty would otherwise produce double dashes From jkrell at elego.de Fri Dec 10 12:48:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:48:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114846.2718B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:48:46 Modified files: cm3/scripts/python/: make-dist.py Log message: possible fix for making Debian packages in make-dist.py (note that Hudson makes Debian packages through a slightly alternate, working route) From jkrell at elego.de Fri Dec 10 13:08:56 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 13:08:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210120856.C3F4C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 13:08:56 Modified files: cm3/scripts/python/: pylib.py Log message: try again From jkrell at elego.de Fri Dec 10 22:45:03 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 22:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210214503.869D52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 22:45:03 Modified files: cm3/scripts/python/: upload.sh Log message: .deb files too From jkrell at elego.de Sat Dec 11 13:03:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 11 Dec 2010 13:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101211120359.66AD32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/11 13:03:59 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add ALPHA_LINUX From jkrell at elego.de Sun Dec 12 06:53:23 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055324.5DC7D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:53:32 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055332.E41F22474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:32 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:59:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:59:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212060000.6DE222474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:59:59 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least -- don't pass -g/-gstabs though, that causes later linker error about unknown stabs type From jkrell at elego.de Wed Dec 15 13:03:58 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215120358.B4B1BCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:03:58 Added files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: new files -- like TInt and TWord, but negative values are non-silent errors to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 13:14:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121441.0CD11CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:14:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:15:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:15:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121553.C5BEFCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:15:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:22:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:22:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215122227.657E6CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:22:27 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From hosking at cs.purdue.edu Wed Dec 15 16:27:25 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 10:27:25 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215120358.B4B1BCC125@birch.elegosoft.com> References: <20101215120358.B4B1BCC125@birch.elegosoft.com> Message-ID: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 13:03:58 > > Added files: > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > Log message: > new files -- like TInt and TWord, but negative values are > non-silent errors > to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 17:10:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:10:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161047.751F7CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:10:47 Modified files: cm3/m3-sys/m3middle/src/: TInt.i3 TInt.m3 Log message: add Inc/Dec From jkrell at elego.de Wed Dec 15 17:12:45 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:12:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161245.4A7E5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:12:45 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: given align/bytes/pack of type INTEGER or CARDINAL, etc., add talign/tbytes/tpack of type Target.Int, Target.Cardinal, etc. From jkrell at elego.de Wed Dec 15 17:13:04 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:13:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161304.47365CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:13:04 Modified files: cm3/m3-sys/m3middle/src/: m3makefile Log message: compile TCardinal From jkrell at elego.de Wed Dec 15 17:17:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161741.9D2C4CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:17:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: remove New, add FromCardinal From jay.krell at cornell.edu Wed Dec 15 17:20:12 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 16:20:12 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> References: <20101215120358.B4B1BCC125@birch.elegosoft.com>, <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Message-ID: It's the same either way but I'd rather bury the range checks here, which is all this layer adds. Surely we don't need CARDINAL either. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 10:27:25 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. > > On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 13:03:58 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > > > Log message: > > new files -- like TInt and TWord, but negative values are > > non-silent errors > > to be used to replace CARDINAL in frontend > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Dec 15 17:21:32 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162132.4A9CB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:32 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:21:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162153.7B9912474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:22:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:22:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162215.CEF332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:22:15 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: whitespace From jkrell at elego.de Wed Dec 15 17:23:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:23:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162305.D27282474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:23:05 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:25:39 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:25:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162539.D2DB5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:25:39 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: fold common code From jkrell at elego.de Wed Dec 15 17:26:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:26:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162633.9B3A2CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:26:33 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 Log message: remove unused From hosking at cs.purdue.edu Wed Dec 15 20:41:44 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 14:41:44 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215162153.7B9912474003@birch.elegosoft.com> References: <20101215162153.7B9912474003@birch.elegosoft.com> Message-ID: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Jay, I'm not sure where you are going with all of this TCardinal stuff. What is the problem you are trying to solve? The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 17:21:53 > > Modified files: > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > Log message: > use correct comparison function From jay.krell at cornell.edu Wed Dec 15 22:11:40 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 21:11:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. Just that they are usually small. What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. The code in particular was what counts up functions in objects and multiplies by size of address to get offset. It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 14:41:44 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > What is the problem you are trying to solve? > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > Modified files: > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > Log message: > > use correct comparison function > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Dec 17 08:29:10 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 17 Dec 2010 8:29:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101217072910.292F7CC110@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/17 08:29:10 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: NEWS configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/config/: ChangeLog po.m4 cm3/m3-sys/m3cc/gcc-4.5/contrib/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/reghunt/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/regression/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/fixincludes/: ChangeLog fixincl.x inclhack.def cm3/m3-sys/m3cc/gcc-4.5/fixincludes/tests/base/: pthread.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: BASE-VER ChangeLog DATESTAMP Makefile.in bb-reorder.c builtins.c c-common.c c-common.h c-decl.c c-parser.c c-pretty-print.c c-tree.h c-typeck.c caller-save.c cfgexpand.c cfglayout.c cfgloopmanip.c cfgrtl.c combine.c config.gcc configure configure.ac convert.c cse.c dce.c df-core.c df-problems.c df-scan.c dwarf2out.c emit-rtl.c expmed.c expr.c fold-const.c function.c gcse.c gimplify.c haifa-sched.c ifcvt.c ipa-prop.c ipa-pure-const.c ira-color.c ira-conflicts.c ira-emit.c ira-lives.c ira.c optabs.c postreload.c reg-stack.c reginfo.c reload1.c reorg.c rtl.h rtlanal.c sched-deps.c sched-rgn.c sel-sched-ir.c sel-sched.c stmt.c stor-layout.c tree-cfg.c tree-complex.c tree-eh.c tree-flow.h tree-inline.c tree-loop-distribution.c tree-sra.c tree-ssa-copyrename.c tree-ssa-dce.c tree-ssa-live.c tree-ssa-loop-ivopts.c tree-ssa-loop-prefetch.c tree-ssa-math-opts.c tree-ssa-pre.c tree-ssa-reassoc.c tree-ssa-structalias.c tree-switch-conversion.c tree-vect-patterns.c tree-vect-slp.c tree-vect-stmts.c tree-vectorizer.h tree.h var-tracking.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/alpha/: alpha.c osf.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/arm/: arm.c arm.md linux-atomic.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: cygming.h darwin.h i386.c i386.md mingw32.h sse.md xmmintrin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/ia64/: ia64.c ia64.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/mips/: iris.h mips.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/pa/: pa.c pa.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rs6000/: aix.h linux64.h rs6000-protos.h rs6000.c rs6000.md sysv4.h x-aix cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rx/: predicates.md rx.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/s390/: s390.c s390.md t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/sparc/: constraints.md linux.h linux64.h sol2-gas.h sol2-unwind.h sol2.h sparc.c sparc.h t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/spu/: spu.c cm3/m3-sys/m3cc/gcc-4.5/gcc/doc/: aot-compile.1 cpp.1 cpp.info cppinternals.info extend.texi fsf-funding.7 g++.1 gc-analyze.1 gcc.1 gcc.info gccinstall.info gccint.info gcj-dbtool.1 gcj.1 gcj.info gcov.1 gfdl.7 gfortran.1 gij.1 gpl.7 grmic.1 invoke.texi jcf-dump.1 jv-convert.1 rebuild-gcj-db.1 sourcebuild.texi cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: ChangeLog lto-elf.c cm3/m3-sys/m3cc/gcc-4.5/include/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libcpp/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libgcc/: ChangeLog config.host cm3/m3-sys/m3cc/gcc-4.5/libgcc/config/libbid/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libiberty/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/lto-plugin/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/maintainer-scripts/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/zlib/: ChangeLog cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: upgrade from gcc 4.5.1 to gcc 4.5.2 From hosking at cs.purdue.edu Fri Dec 17 16:06:19 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 17 Dec 2010 10:06:19 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: <316D209C-29E2-4A00-86CA-A51F2DB92E49@cs.purdue.edu> Not true. CARDINAL is only ever used for values that should be in range on all architectures. 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 On Dec 15, 2010, at 4:11 PM, Jay K wrote: > I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) > should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. > Just that they are usually small. > What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. > The code in particular was what counts up functions in objects and multiplies by size of address to get offset. > It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Wed, 15 Dec 2010 14:41:44 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > > > What is the problem you are trying to solve? > > > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > > > Modified files: > > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > > > Log message: > > > use correct comparison function > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Dec 19 15:59:13 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145913.B107C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:13 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py cm3/scripts/regression/: defs.sh Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_OPENBSD cm3/m3-libs/m3core/src/C/ALPHA_OPENBSD/: Csetjmp.i3 m3makefile Log message: initial OpenBSD/alpha support still need to look into using hacked setjmp or sigaltstack From jkrell at elego.de Sun Dec 19 15:59:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145943.261642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:43 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add OpenBSD/alpha here too From jkrell at elego.de Sun Dec 19 16:05:12 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 16:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219150512.7D12B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 16:05:12 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: speculative OpenBSD/alpha changes should really find the setjmp/longjmp code.. From jkrell at elego.de Fri Dec 24 05:28:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:28:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224042846.BB8E82474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:28:46 Added files: cm3/scratch/macho/: btree.c btree.h getmacho.c hash.c hash.h macho.c macho.h Log message: scratch/macho (the most work needed to port the x86 backend is actually supporting other object files) From jkrell at elego.de Fri Dec 24 05:34:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:34:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224043455.F04422474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:34:55 Modified files: cm3/scratch/macho/: macho.h Log message: close unclosed comment From jkrell at elego.de Fri Dec 24 08:02:57 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:02:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070257.4BDFA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:02:57 Modified files: cm3/scratch/macho/: macho.c Log message: swap4 => swap32 swap8 => swap64 From jkrell at elego.de Fri Dec 24 08:04:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:04:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070442.9D75F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:04:42 Modified files: cm3/scratch/macho/: macho.c Log message: remove some pointer derefs From jkrell at elego.de Fri Dec 24 08:49:17 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:49:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224074917.4997C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:49:17 Added files: cm3/scratch/macho/: amd64.obj ppc32.obj ppc64.obj x86.obj amd64.exe ppc32.exe ppc64.exe x86.exe Log message: some test inputs From jkrell at elego.de Fri Dec 24 08:50:19 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:50:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224075019.9B6722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:50:19 Modified files: cm3/scratch/macho/: macho.c Log message: add support for enums (translating numbers to names) From jkrell at elego.de Fri Dec 24 09:33:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 9:33:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224083342.3D0D92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 09:33:42 Modified files: cm3/scratch/macho/: getmacho.c macho.c macho.h Log message: put functions/data in column 0 print segments From jkrell at elego.de Fri Dec 24 10:54:04 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 10:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224095404.870992474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 10:54:04 Modified files: cm3/scratch/macho/: macho.c Log message: macho_header64_t isn't particularly interesting, just one extra reserved uint32_t for alignment don't crash for file not specified or found From jkrell at elego.de Sat Dec 25 08:47:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 25 Dec 2010 8:47:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101225074743.729B62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/25 08:47:43 Modified files: cm3/scratch/macho/: macho.c Log message: dump a bit more From jkrell at elego.de Sun Dec 26 06:00:18 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050018.BAFC32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:18 Added files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: let's try to use Modula-3? From jkrell at elego.de Sun Dec 26 06:00:35 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050035.CF2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:35 Modified files: cm3/scratch/macho/: macho.h Log message: whitespace From jkrell at elego.de Sun Dec 26 07:25:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 7:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226062544.19FE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 07:25:43 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Added files: cm3/scratch/macho/src/: m3makefile Log message: work in progress: the .i3 file compiles From jkrell at elego.de Sun Dec 26 09:02:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080239.DBBDCCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:02:39 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c CsignalC.c CstdioC.c CstdlibC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Ugrp.c Unetdb.c UnixC.c UnixLink.c Usocket.c UstatC.c UtimeC.c Log message: This should deal more generally with the problem that NetBSD #defines identifiers, fake example: #define fopen fooopen: Cstdio__fooopen(...) { return fooopen(...); } instead of: Cstdio__fopen(...) { return foopen(...);} also sprinkle around M3_DLL_EXPORT, M3_DLL_LOCAL, __cdecl From jkrell at elego.de Sun Dec 26 09:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080422.C2A21CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:04:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove test code from previous revision From jkrell at elego.de Sun Dec 26 09:47:44 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226084744.8FD63CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:47:44 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: grammar in comments; whitespace From jkrell at elego.de Sun Dec 26 09:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226085058.0921ACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:50:57 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: comment only From jkrell at elego.de Sun Dec 26 11:26:37 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:26:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226102637.4C6EECC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:26:37 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: work in progress From jkrell at elego.de Sun Dec 26 11:33:05 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:33:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226103305.D95EA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:33:05 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a little better, given that we don't have const.. From jkrell at elego.de Sun Dec 26 11:43:27 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:43:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104327.A04D3CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:43:27 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: variation: better syntax for the arrays, not copying, but all CONST is lost, and still no offsetof From jkrell at elego.de Sun Dec 26 11:44:01 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:44:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104401.935CFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:44:01 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: no default offset/size From jkrell at elego.de Sun Dec 26 11:45:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:45:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104559.23665CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:45:59 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress, slight progress From jkrell at elego.de Sun Dec 26 19:50:52 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:50:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185052.CA827CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:50:52 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: cgraphunit.c system.h target-def.h target.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/: darwin.c darwin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: winnt.c cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: Make-lang.in config-lang.in Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: common.c common.h lang-specs.h lto-coff.c lto-coff.h lto-elf.c lto-endian.h lto-lang.c lto-macho.c lto-macho.h lto-tree.h lto.c lto.h Log message: system.h: all systems have: stddef.h limits.h abort realloc malloc calloc free strstr getwd (declared if they have it) getcwd (ditto) sbrk (ditto) getopt (ditto) getenv atof atol errno declared in errnor.h NULL trim more of LTO From jkrell at elego.de Sun Dec 26 19:53:03 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185303.217F62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:03 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in flags.h ipa-cp.c toplev.c tree.c varpool.c Log message: trim more LTO From jkrell at elego.de Sun Dec 26 19:53:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185339.756DACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:39 Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: lto-streamer.h Log message: trim more LTO From jkrell at elego.de Mon Dec 27 05:34:38 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 5:34:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227043438.338332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 05:34:38 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a different set of tradeoffs: we can at least index things as arrays but we still can't have VAR open arrays which stinks and we still have to make extra copies of things which also stinks, all very disappointing From jkrell at elego.de Mon Dec 27 06:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 6:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227055057.595772474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 06:50:57 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:39:46 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:39:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227073946.1E35A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:39:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:40:48 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074048.9A64FCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:40:48 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:41:22 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074122.E5076CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:41:22 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: didn't mean to check that in, but ok, fix it From jkrell at elego.de Mon Dec 27 10:49:11 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 10:49:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227094911.A983E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 10:49:11 Modified files: cm3/scratch/macho/src/: macho.m3 macho.i3 Log message: work in progress, almost done (up to where the C code was); remove 'macho_' prefixes From jkrell at elego.de Mon Dec 27 11:43:29 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 11:43:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227104329.2A92CCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 11:43:29 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c Log message: Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers I noticed calls to free() were missing some, and this whole area is both error-prone and almost completely untested: - it only matters when using user threads - and if thread switches occurs at just the right time This still leaves hazard in lots of custom wrappers. I suggest frontend handle this. allow NIL pointers in M3toC.Free*, silently do nothing with them (again here, we have VAR where CONST is really desired!) Upwd.c: use struct passwd and remove typedef struct passwd passwd_t I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas Uin.c: add M3_DLL_EXPORT From jkrell at elego.de Mon Dec 27 13:17:55 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:17:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227121756.117B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:17:55 Modified files: cm3/scripts/python/: pylib.py Log message: ship all config files, not just Target* and *common From jkrell at elego.de Mon Dec 27 13:33:20 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:33:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227123320.507F92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:33:20 Modified files: cm3/scripts/python/: pylib.py Log message: better config install/cleanup From jkrell at elego.de Mon Dec 27 13:45:34 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:45:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124535.01412CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:45:34 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: Some wrappers might be used specifically while waiting for other threads to progress. e.g. don't disable switching in sleep(). More wrappers to consider. Only matters for user threads.. From jkrell at elego.de Mon Dec 27 13:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124652.C9F15CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:46:52 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: go back a version From jkrell at elego.de Mon Dec 27 13:49:06 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:49:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124906.5E22CCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:49:06 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove new central disable/enable scheduling, pending more thought From jkrell at elego.de Mon Dec 27 13:55:27 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:55:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227125527.52615CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:55:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: provide macros for non-switching wrappers and use them for malloc/realloc/free From hosking at cs.purdue.edu Mon Dec 27 18:29:20 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:29:20 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227104329.2A92CCC126@birch.elegosoft.com> References: <20101227104329.2A92CCC126@birch.elegosoft.com> Message-ID: Umm, why? This is all unnecessary. 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 On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 11:43:29 > > Modified files: > cm3/m3-libs/m3core/src/: m3core.h > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > Log message: > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > I noticed calls to free() were missing some, and this > whole area is both error-prone and almost completely untested: > - it only matters when using user threads > - and if thread switches occurs at just the right time > > This still leaves hazard in lots of custom wrappers. > I suggest frontend handle this. > > allow NIL pointers in M3toC.Free*, silently do nothing with them > (again here, we have VAR where CONST is really desired!) > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > Uin.c: add M3_DLL_EXPORT From hosking at cs.purdue.edu Mon Dec 27 18:30:38 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:30:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227124535.01412CC127@birch.elegosoft.com> References: <20101227124535.01412CC127@birch.elegosoft.com> Message-ID: You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). 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 On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 13:45:34 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > Log message: > Some wrappers might be used specifically while waiting for > other threads to progress. e.g. don't disable switching in sleep(). > More wrappers to consider. > Only matters for user threads.. From jay.krell at cornell.edu Mon Dec 27 22:34:26 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:34:26 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227124535.01412CC127@birch.elegosoft.com>, Message-ID: The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Dec 27 22:36:19 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:36:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227104329.2A92CCC126@birch.elegosoft.com>, Message-ID: The NIL checks make it easier to use, if you can depend on newer version. Disable/EnableSwitching are sometimes missing on calls to free -- it is very error prone. They are used on malloc. I believe they are needed on free. I went back though and only disable/enable selectively. Still very error prone. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:29:20 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > This is all unnecessary. > > 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 > > > > > On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 11:43:29 > > > > Modified files: > > cm3/m3-libs/m3core/src/: m3core.h > > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > > > Log message: > > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > > > I noticed calls to free() were missing some, and this > > whole area is both error-prone and almost completely untested: > > - it only matters when using user threads > > - and if thread switches occurs at just the right time > > > > This still leaves hazard in lots of custom wrappers. > > I suggest frontend handle this. > > > > allow NIL pointers in M3toC.Free*, silently do nothing with them > > (again here, we have VAR where CONST is really desired!) > > > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > > > Uin.c: add M3_DLL_EXPORT > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:31:35 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:31:35 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <564348.46782.qm@web29708.mail.ird.yahoo.com> Hi all: I'm curious about how to implement the threads in user space by using the TSL instruction on uniprocessor where available and multiprocessor systems, that way would be like avoiding the system switching and getting the benefits of user threading in the shell for uniprocessor systems speeding it. See: http://www.chiark.greenend.org.uk/~theom/riscos/docs/ultimate/a252swp.txt This was the idea behind the ARM3 instruction set and later ones, coming for a problem with the OS performance (written on Modula-2+ FYI), though I'm not sure how this Pthread system works right now on them. Perhaps in FreeDOS this would be? not useless like it doesn't have any pthreads if I'm correct, then the? best approach would be like to get? the runtime to work? with just? the hardware help and no pthreads, Am I right? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:57:54 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:57:54 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <61484.55782.qm@web29714.mail.ird.yahoo.com> Hi all: I've read somewhere that cvsup rocks but the disk hit rate is too high, wondering it might be that we get to experiment with optical storage disk file system like the one in Acorn Archimedes Arx OS, perhaps its more appropriate to negotiate the cvsupd requests to the disk without hitting it but reading the optical disks data, doing so would be lesser time reads than magnetic ones, so that is less usage and the CPU would not waste much time going to system threads switching but just user space, which might be reasonable for the administrator point of view. And FMI besides the source code, is there any documentation available for read of dcvs folks? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Dec 28 02:41:50 2010 From: jay.krell at cornell.edu (Jay K) Date: Tue, 28 Dec 2010 01:41:50 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <61484.55782.qm@web29714.mail.ird.yahoo.com> References: , <61484.55782.qm@web29714.mail.ird.yahoo.com> Message-ID: Daniel: I have a low opinion of anything to do with cvs and I believe the way to do anything to improve cvs starts with completing replacing it, therefore it's not worth thinking much about it. In my opinion. Tony: "You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads)." I'm "confused". Are user threads meant to work or not? If so, then they should really definitely work, and not be fragile. I don't think support should be "too" half hearted. It need not be super efficient, but it should be super correct. If they don't need to work, then we should delete/disable/break without pause. Currently as far as I understand we are "forced" to use them on OpenBSD. Probably we should look at what the boehm gc does there though. Or drop support for OpenBSD until it has kernel threads? (And not consider supporting DJGPP? :) ) I don't entirely remember the rationale regarding pthreads on OpenBSD though. Part of the rationale might have been: "pthreads have unresolved problems, and are user threads anyway, so we might as well just use ours." If that was the final rationale, as I suspect, it might be worth more effort getting pthreads to work on OpenBSD, even if they are not great and are user threads. At least we'd unify our code. You know, we did have problems with pthreads on Darwin, FreeBSD, NetBSD too, but we worked through them instead of abandoning pthreads. (i.e. "portable suspend/resume, including getting suspended thread context" only works on Linux and Solaris, all the rest use custom code.) - Jay ________________________________ > Date: Mon, 27 Dec 2010 22:57:54 +0000 > From: dabenavidesd at yahoo.es > Subject: Re: [M3commit] CVS Update: cm3 > To: hosking at cs.purdue.edu; jkrell at elego.de; jay.krell at cornell.edu > CC: m3commit at elegosoft.com > > Hi all: > I've read somewhere that cvsup rocks but the disk hit rate is too high, > wondering it might be that we get to experiment with optical storage > disk file system like the one in Acorn Archimedes Arx OS, perhaps its > more appropriate to negotiate the cvsupd requests to the disk without > hitting it but reading the optical disks data, doing so would be lesser > time reads than magnetic ones, so that is less usage and the CPU would > not waste much time going to system threads switching but just user > space, which might be reasonable for the administrator point of view. > And FMI besides the source code, is there any documentation available > for read of dcvs folks? > Thanks in advance > > --- El lun, 27/12/10, Jay K escribi?: > > De: Jay K > Asunto: Re: [M3commit] CVS Update: cm3 > Para: "Tony" , "Jay Krell" > CC: m3commit at elegosoft.com > Fecha: lunes, 27 de diciembre, 2010 16:34 > > The code is frequently wrong for user threads. > So much so that cvsup had cloned some code in order to put in fixes > along these lines. > I did undo this though. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Mon, 27 Dec 2010 12:30:38 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > You are debasing the primary use-case, which is system threading, to > support what should be a deprecated target (user threads). > > > > 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 > > > > > > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > > > Modified files: > > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > > > Log message: > > > Some wrappers might be used specifically while waiting for > > > other threads to progress. e.g. don't disable switching in sleep(). > > > More wrappers to consider. > > > Only matters for user threads.. > > > > From jkrell at elego.de Tue Dec 28 11:13:46 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101346.74E012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:13:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: stack_grows_down is never used, remove it From jkrell at elego.de Tue Dec 28 11:19:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:19:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101909.E7B182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:19:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c ThreadInternal.i3 Log message: provide ThreadInternal.StackGrowsDown() to be possibly used by OpenBSD/pthread Yes, I know it is easily computed, and the existing computations will remain, but it'd be nice to have it implemented in one place and only one place. OpenBSD runs on HPPA, which I believe has a stack that grows up. FreeBSD and Darwin will retain their assumption and assertion of stack growing down. At this rate, I don't see foresee them ever having a stack that grows up. (Growth up is apparently obviously "more secure", but also rare.) From jkrell at elego.de Tue Dec 28 11:28:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:28:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228102808.ED8DD2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:28:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: eliminate casts by changing parameters from void* to char* From jkrell at elego.de Tue Dec 28 11:36:33 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:36:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103633.AE6D02474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:36:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: fprintf(stderr) before abort, initialize locals From jkrell at elego.de Tue Dec 28 11:39:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:39:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103903.C583E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:39:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: declare ThreadInternal__StackGrowsDown here From jkrell at elego.de Tue Dec 28 11:41:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:41:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228104119.B3F172474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:41:19 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: cosmetic: whitespace, naming of static function From jkrell at elego.de Tue Dec 28 11:52:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:52:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105209.F07722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:52:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Allow OpenBSD to have stack that doesn't grow down. This is hypothetical at this point, but would be part of - OpenBSD using pthreads, which I will try again shortly - OpenBSD/hppa (but I don't currently have any HPPA machines :( and the one I did have was I think 64bit only, so wouldn't run this anyway; however there are modern 64bit machines that can run 32bit OpenBSD/hppa) (what about NetBSD?) From jkrell at elego.de Tue Dec 28 11:53:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:53:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105356.886EB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:53:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: NetBSD specific code shouldn't be needed here any longer, now that m3core.h's M3WRAP macros avoid evaluating the wrapper name. Untested! (NetBSD doesn't have good representation among Modula-3 users seemingly.) From jkrell at elego.de Tue Dec 28 11:59:28 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:59:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105928.16A192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:59:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: whitespace: label goes in first column From jkrell at elego.de Tue Dec 28 12:01:41 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:01:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228110141.57A4F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:01:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadOpenBSD.c Log message: Not currently used, but I'll try shortly. - remove casts by changing parameters from void* to char* - don't assume stack grows down (e.g. HPPA?) (in general we don't hardcode stack direction, but we detect it at runtime -- in ThreadPThreadC.c -- but in the Apple and FreeBSD code we do, perhaps we shouldn't, but those systems run on relatively few architectures) From jkrell at elego.de Tue Dec 28 12:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115316.6D94C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:53:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Use __thread on Linux and Solaris. Doesn't compile on Apple. Segfaults on OpenBSD and NetBSD. Not tested on FreeBSD, AIX, Irix, HP-UX, etc., stick with pthread_get/setspecific. In future hope to eliminate this code anyway, in favor of gcc/libgcc stack walker or C++ exceptions (C++ backend). From jkrell at elego.de Tue Dec 28 12:56:12 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:56:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115612.1FEDE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:56:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: oops: and don't pthread_key_create when using __thread From jkrell at elego.de Tue Dec 28 13:00:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:00:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228120039.CB8532474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:00:39 Modified files: cm3/m3-libs/m3core/src/unix/: m3makefile cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 m3makefile Log message: remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jkrell at elego.de Tue Dec 28 13:19:22 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228121922.591602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:19:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: Try to avoid inlining of ThreadInternal__StackGrowsDown, ThreadInternal__StackGrowsDownHelper by use of __declspec(noinline) or __attribute__((noinline)) on compilers that support them. In particular, if ThreadInternal__StackGrowsDownHelper is inlined, then the locals aren't necessarily "in the expected relative locations" and the return value could be wrong. We should probably #ifdef here to force the answer. e.g. x86, amd64, sparc, alpha, ia64, vax, etc., all always grow down e.g. hppa grows up We might also try inhibiting inlining/optimization by using recursion? From jkrell at elego.de Tue Dec 28 13:20:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:20:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228122027.AB5852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:20:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: add comment as to why inlining to be avoided From jkrell at elego.de Tue Dec 28 13:32:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228123234.C041C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:32:34 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: use recursion to further fight inliner, though smart compiler could still through this From jkrell at elego.de Tue Dec 28 13:43:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228124309.602822474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:43:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: assert that stack grows down, except #ifdef __hppa__ From jkrell at elego.de Tue Dec 28 14:04:49 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:04:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130449.9EAEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:04:49 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h Log message: Fix for -enable-build-with-cxx -enable-checking with g++ 3.3. e.g. OpenBSD/x86 4.7 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:07:14 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:07:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130714.44BEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:07:14 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: system.h Log message: all systems have string.h and stdlib.h From jkrell at elego.de Tue Dec 28 14:24:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132434.6EB032474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:24:34 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: more fixing for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:27:59 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:27:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132759.EF37C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:27:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h tree.h ira-int.h Log message: oops, regarding http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:29:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132927.EC5FB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:29:27 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: move use of GCC_VERSION later, at least for clarify, after it will be #defined From jkrell at elego.de Tue Dec 28 14:36:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228133607.B29E12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:36:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/include/: ansidecl.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: #define ENABLE_CHECKING_GCC_VERSION just once, right after GCC_VERSION I'm still uneasy about the name of this, and then, given that it is difficult to name, if we should even capture it in a symbol or just repeat the checks. From jkrell at elego.de Tue Dec 28 14:43:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:43:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228134340.02F602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:43:39 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: clean again From jkrell at elego.de Tue Dec 28 15:11:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 15:11:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228141156.DFF162474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 15:11:56 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c Log message: This is a nonsense change that causes zero semantic change, however it works around a bug in g++ 3.3. Without this change, g++ 3.3 on OpenBSD/x86 4.7 crashes compiling these two functions. With this change, it does not crash. gcc 3.3 has no problem either way (C vs. C++ frontend). Odds are also likely that not using -enable-checking would also let this work, but I didn't try that. From jkrell at elego.de Tue Dec 28 22:44:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 22:44:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228214408.E56852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 22:44:08 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: sched-deps.c Log message: more nonsense that should workaround g++ 3.3 g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sbitmap.c -o sbitmap.o g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sched-deps.c -o sched-deps.o ../../gcc-4.5/gcc/sched-deps.c: In function `bool insn_use_p(rtx_def*, int)': ../../gcc-4.5/gcc/sched-deps.c:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. gmake: *** [sched-deps.o] Error 1 "/home/jay/dev2/cm3/m3-sys/m3cc/src/m3makefile", line 273: quake runtime error: exit 2: cd . && cd gcc && gmake MAKE=gmake AUTOCONF=: AUTOMAKE=: LEX='touch lex.yy.c' MAKEINFO=: s-modes insn-config.h m3cg From jkrell at elego.de Tue Dec 28 23:01:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 23:01:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228220107.7EE5A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 23:01:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: vec.h Log message: workaround g++ 3.3 problems more (fixes error in sched-deps.c) From jkrell at elego.de Wed Dec 29 07:18:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:18:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229061821.A8B942474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:18:21 Modified files: cm3/scripts/python/: pylib.py Log message: fix rmtree/isdir From jkrell at elego.de Wed Dec 29 07:34:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229063447.032E52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:34:46 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c sched-deps.c Log message: go back a version, the vec.h change probably suffices From jkrell at elego.de Wed Dec 29 08:04:08 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:04:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229070408.992242474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:04:08 Modified files: cm3/scripts/python/: pylib.py Log message: should fix CopyConfigForDevelopment, since yesteray's changes From jkrell at elego.de Wed Dec 29 08:23:03 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:23:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229072303.757072474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:23:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: add __cdecl From jkrell at elego.de Wed Dec 29 08:30:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:30:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229073047.F34292474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:30:47 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove commented out disable/enableswitching From jkrell at elego.de Wed Dec 29 08:47:34 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:47:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229074734.3AB8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:47:34 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: OpenBSD has this: /usr/include/sys/cdefs.h:#define __malloc __attribute__((__malloc__)) which interferes with: M3PASTE(M3MODULE, __##name) in We end up with Cstdlib____attribute__((__malloc__)) where we want Cstdlib__malloc for now M3WRAP_NO_SWITCHING takes m3name and cname separate, i.e., no more M3MODULE, no more pasting, but pass Cstdlib__malloc and malloc. Longer term, soon!, need to do this for the more heavily used macros. Another thing we could try is PASTE3(M3MODULE,_, _##name) in but this still runs the risk of single underscore: /usr/include/sys/cdefs.h:#define _malloc __attribute__((__malloc__)) or somesuch. It seems impossible to get name evaluated and pasted-without-evaluation. So we will stop using pasting. Note that M3WRAP1_ will have to change also, to take foo and _foo and select one, since "stop using pasting" I'll interpret strenuously and not even do _#foo, likely. From jkrell at elego.de Wed Dec 29 09:40:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 9:40:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229084033.8FE252474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 09:40:33 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Add some clarifying comments. On further thought/work, the token pasting will stay. As needed we still have two or three options short of "rewrite". - #undef __foo as needed, as problems are discovered We don't ahve to #undef __malloc as that has been worked around by moving a small number of special macros/uses to pass m3name and cname separately - move the pasting up a level to the numbered macros and pass Mmodule__foo, foo to the lower level as needed - use _foo as the intermediate instead of __foo The token pasting approach is just too attractive for the amount of repitition is removes. If push comes to shove, we can also checkin custom text files and process them with quake/awk/C/Modula-3. Probably quake. Really not a bad idea. Like how m3-win/import-libs works. From jkrell at elego.de Wed Dec 29 10:36:12 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 10:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229093612.AFF8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 10:36:12 Modified files: cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile Log message: Switch OpenBSD to pthreads! Beware, I did once see: --- p244 --- gcc 4.5 backend crash with 'fre' optimization cd ../src/p2/p244 && cm3 -silent -DM3TESTS >I386_OPENBSD/stdout.build.raw 2>I386_OPENBSD/stderr.build.raw *** *** runtime error: *** Thread client error: 22 *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 130 *** EINVAL PROCEDURE UnlockMutex (m: Mutex) = (* LL = m *) BEGIN IF m.mutex = NIL THEN InitMutex(m.mutex, m, CleanMutex) END; WITH r = pthread_mutex_unlock(m.mutex) DO IF r # 0 THEN DieI(ThisLine(), r) END; line 130 END; END UnlockMutex; something to watch out for, try to stress test, see if it can be made to occur often/consistently, and fixed. Maybe initialize mutexes up-front instead of on-demand? Death to user threads?? From jkrell at elego.de Wed Dec 29 12:19:01 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229111901.D3146CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:19:01 Modified files: cm3/m3-tools/cvsup/suplib/src/: GzipRd.m3 GzipWr.m3 Ugzip.i3 Ugzip.m3 Log message: call malloc/free more directly, without the TRY/FINALLY Enable/DisableSwitching From jkrell at elego.de Wed Dec 29 12:23:24 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112324.434B5CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:23:24 Added files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Log message: work in progress, this probably belongs in m3-libs/zlib From jkrell at elego.de Wed Dec 29 12:24:36 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:24:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112436.ACACECC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:24:36 Modified files: cm3/scratch/zlib/src/: zlib.m3 Log message: fix whitespace From jkrell at elego.de Wed Dec 29 12:25:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112527.EF2DE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:25:27 Modified files: cm3/scratch/zlib/src/: zlib.i3 Log message: remove tabs From jkrell at elego.de Wed Dec 29 12:52:14 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229115214.E9277CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:52:14 Modified files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Added files: cm3/scratch/zlib/src/: zconf.i3 Log message: work in progress, more faithful to the original From jkrell at elego.de Wed Dec 29 13:03:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:03:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229120317.E5781CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:03:17 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: 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 m3makefile tcontext.c Log message: remove get/set/make/swapcontext implementation for OpenBSD, now that using pthreads Death to user threads?! (No, deletes won't go any/much further. Systems with get/set/swapcontext or sigaltstack will likely just keep working if one fiddles with the m3makefile and rebuilds the entire system.) But still, no forseeable near future use, as long as OpenBSD pthreads holds up well enough... let's hope... From jkrell at elego.de Wed Dec 29 13:25:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:25:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122521.64C79CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:25:21 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: add fread, wrapper already present in CstdioC.c From jkrell at elego.de Wed Dec 29 13:28:37 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122837.1D3792474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:28:37 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Wed Dec 29 13:39:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229123931.F24852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:39:31 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress first versiont that is all converted and does start dumping correct content..but fails From jkrell at elego.de Wed Dec 29 13:41:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:41:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124117.D83E32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:41:17 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 13:49:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124915.6CA63CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:49:15 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: use initializers for lame simulation of ternary operator From jkrell at elego.de Wed Dec 29 13:51:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:51:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229125105.AC487CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:51:05 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 14:15:50 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131550.9EBE12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:15:50 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: some important fixes: argv[1] instead of argv[0], L instead of ADR(L) From jkrell at elego.de Wed Dec 29 14:19:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131946.DE0A2CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:19:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: save one heap alloc or one string copy by using a field width one wider From hosking at cs.purdue.edu Thu Dec 30 07:17:32 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 30 Dec 2010 01:17:32 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101228120039.CB8532474003@birch.elegosoft.com> References: <20101228120039.CB8532474003@birch.elegosoft.com> Message-ID: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Giving up on the stack walker will relegate it to bitrot. A shame! On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/28 13:00:39 > > Modified files: > cm3/m3-libs/m3core/src/unix/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > Removed files: > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > m3makefile > > Log message: > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jay.krell at cornell.edu Thu Dec 30 09:46:30 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 30 Dec 2010 08:46:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> References: <20101228120039.CB8532474003@birch.elegosoft.com>, <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Message-ID: Then please go ahead and make it work... The OSF/Alpha one hasn't been in use in many years. I tried it recently and it didn't work. I don't remember if that was with gcc 4.5 or 4.3. I couldn't get Solaris/sparc to work with gcc 4.5 even without optimization. There are two paths to progress. - the gcc/libgcc exception handling/stack walking support; you agreed to this..now just for someone to do it...not a small item - outputing C++ as intermediate code Or possibly something involving LLVM. (meanwhile, I'm playing around with dumping Mach-O files with the *possible* albeit unlikely goal of porting the integrated backend to more x86 targets, which would initially lock-in setjmp/longjmp, but is surely still fixable...) - Jay > From: hosking at cs.purdue.edu > Date: Thu, 30 Dec 2010 01:17:32 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Giving up on the stack walker will relegate it to bitrot. A shame! > > On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/28 13:00:39 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/: m3makefile > > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > > Removed files: > > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > > m3makefile > > > > Log message: > > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 30 13:46:39 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 13:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230124639.818B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 13:46:39 Modified files: cm3/scripts/python/: pylib.py Log message: If target isn't specified on the command line and $CM3_TARGET isn't set, then use cm3 -version 2>/dev/null | egrep " +host: +" > /dev/null, if it works, before going into uname. (remove spaces, newlines, carriage returns, and "host:"; probably should strengthen and take the first whitespace-delimited token after "host:", in case we later print more information here?) This fixes the ambiguity of I386_DARWIN vs. AMD64_DARWIN, and several others. LINUXLIBC6 vs. I386_LINUX NT386 vs. I386_NT vs. I386_CYGWIN etc. The two other aggressive uname users should do this too! scripts/sysinfo.sh scripts/regression/defs.sh From jkrell at elego.de Thu Dec 30 14:08:47 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:08:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230130847.B710E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:08:47 Modified files: cm3/scripts/python/: pylib.py Log message: save a process and save depending on egrep From jkrell at elego.de Thu Dec 30 14:10:13 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:10:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131013.186E92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:10:13 Modified files: cm3/scripts/python/: pylib.py Log message: and boom, no need for all the uname sniffing now, porting work reduced From jkrell at elego.de Thu Dec 30 14:12:15 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:12:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131215.5C149CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:12:15 Modified files: cm3/scripts/python/: pylib.py Log message: less picky about whitespace From jkrell at elego.de Thu Dec 30 14:18:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:18:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131827.7ECE0CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:18:27 Modified files: cm3/scripts/: sysinfo.sh Log message: replace big uname switch with: $CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//" Let's hope: - it works on Solaris where we have steady difficulty achieving portability of shell code - perl is everywhere (else I'm sure sed/awk could be used) This removes more porting work and host/target knowledge from the system. Still more to do. From jkrell at elego.de Thu Dec 30 14:21:33 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230132133.8FABC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:21:33 Modified files: cm3/scripts/: sysinfo-new.sh Log message: replace big uname switch with: `$CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//"` if $CM3_TARGET not set (the Python scripts all also allow target on command line besides in the environment, but the Sh scripts do not) From jkrell at elego.de Thu Dec 30 14:35:02 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:35:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230133502.67C02CC123@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:35:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: remove Compiler.ThisPlatform yet another piece of porting work gone There are no uses of this, and any uses would be somewhat dubious, and easy to replace with a compile time check of TARGET in Quake code. See this code for how: jbook2:src jay$ grep OSF */*/*e os/POSIX/m3makefile: "OSF" : "Digital Unix", os/POSIX/m3makefile:if equal(TARGET, "ALPHA_OSF") or equal(TARGET, "DS3100") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "TRUE") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "FALSE") jbook2:src jay$ pwd /dev2/cm3/m3-libs/libm3/src (recall, this use of Compiler.ThisPlatform in libm3 was a constraint on bootstrapping flexibility for a long time, and so pointless!) Or, more generally, a mapping of platform to platform-specific source, as occurs in a few places esp. in m3core. Often "narrowing" through word size, or endian, or Linux vs. FreeBSD etc. instead of complete target tuple. From jkrell at elego.de Fri Dec 31 08:36:08 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 8:36:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231073608.D63FCCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 08:36:08 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: remove FILE type leave only FILE_star type From jkrell at elego.de Fri Dec 31 15:15:48 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:15:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231141548.8B73F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:15:48 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExFrame.m3 RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTExStack.i3 Log message: one newline is enough at the end of files, don't need two From jkrell at elego.de Fri Dec 31 15:36:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:36:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231143656.009EFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:36:55 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExRep.i3 Log message: before PFx = UNTRACED REF EFx; EFx = RECORD ... after PFx = UNTRACED REF RECORD (* EFx *) ... Because the types EFx are never instantiated by Modula-3 code by value via these descriptions. Their sizes are not needed. In particular, the size of the jmpbuf is not needed, and specifying it is unnecessary porting work. Though the alignment is seemingly needed to compute the offset correctly, even though 128bit alignment isn't/can't be expressed, so the alignment isn't generally correct. That is left alone for now. Only the compiler instantiates these types, using special hardcoded values that don't derive from these files. (see m3middle/src/M3RT) From jkrell at elego.de Fri Dec 31 15:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231144653.1AF3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:46:52 Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTException.m3 Log message: delete files that have been dead since 5.1 see e.g.: http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_frame/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_stack/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u that removed them from the m3makefiles http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/common/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u added RTException to common I think RTExRep is buried in interfaces that don't have common names, i.e. RTExFrame, RTExStack (and can possibly be moved from interfaces into modules, if only consumed by one module, I'll check) From jkrell at elego.de Fri Dec 31 16:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231150425.42653CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:04:22 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 m3makefile cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.i3 Log message: merge interface RTExFrame into module RTExFrame merge interface RTExStack into module RTExStack both these modules export common interface RTException there are no users of interfaces RTExFrame, RTExStack and there probably never will be? They are very low level. It is concievable, I guess, that interface RTExStack exists/existed to support writing per-target stack walkers in Modula-3? Cross that bridge if it is ever rebuilt. (We aren't likely to write new stack walkers, let alone in Modula-3; we are most likely to reuse existing ones, libunwind/libgcc.) It is also concievable that RTExFrame might have uses, e.g. stack dumper written in Modula-3? Again, doesn't seem likely at the current time and pace. (Again, e are more likely to leverage m3cg -funwind-tables/libunwind/libgcc.) From jkrell at elego.de Fri Dec 31 16:23:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231152322.7ED152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:23:22 Modified files: cm3/scripts/: sysinfo.sh Log message: put back big uname switch, as $CM3 is set to something nonexistant so running it to grep for host: doesn't work. This should be revisited. From jkrell at elego.de Thu Dec 2 10:12:11 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:12:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091211.D16BB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:12:11 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: fold-const.c Log message: pessimize division folding enough so that we can probably use it see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46679 From jkrell at elego.de Thu Dec 2 10:19:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:19:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202091927.122F5CC12B@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:19:27 Modified files: cm3/m3-sys/m3cc/src/: m3makefile clean_marker.txt cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c Log message: go back to folding division enable checking on fast AMD64_LINUX and my machines: I386_DARWIN, AMD64_DARWIN, LINUXLIBC6, I386_OPENBSD This is not a great way to do this. I need to setup separate Hudson jobs for every platform, or maybe just "cross". It is ok for now. Certainly we won't release it this way! From jkrell at elego.de Thu Dec 2 10:36:59 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 10:36:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202093659.C8A5CCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 10:36:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: Let's not have the backend go and create threads and such as part of parallelizing loops. From jkrell at elego.de Thu Dec 2 17:04:23 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:04:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202160423.CAB92CC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:04:23 Modified files: cm3/m3-sys/cm3/src/: M3Build.m3 Log message: just add comment as to a change to be done later From jkrell at elego.de Thu Dec 2 17:21:08 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:21:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202162108.EEAADCC37F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:21:08 Added files: cm3/m3-sys/m3middle/src/: TargetT.i3 Log message: speculative work in progress two goals: remove target knowledge from Target.m3, have it all come from config files use a TargetT.T variable in place of Target.i3 globals (or maybe Target.T) From hosking at cs.purdue.edu Thu Dec 2 17:32:17 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 11:32:17 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101202162108.EEAADCC37F@birch.elegosoft.com> References: <20101202162108.EEAADCC37F@birch.elegosoft.com> Message-ID: Umm, why? On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/02 17:21:08 > > Added files: > cm3/m3-sys/m3middle/src/: TargetT.i3 > > Log message: > speculative work in progress > two goals: > remove target knowledge from Target.m3, have it all > come from config files > use a TargetT.T variable in place of Target.i3 globals > (or maybe Target.T) From jkrell at elego.de Thu Dec 2 17:52:34 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:52:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165235.29E432474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:52:34 Modified files: cm3/m3-sys/m3front/src/exprs/: SetExpr.m3 Log message: Just always use Integer.size, not Target.Set_grain. From jay.krell at cornell.edu Thu Dec 2 17:52:18 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 2 Dec 2010 16:52:18 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: Which part? 1) So there is less to edit/add when adding a new target. I want the big case statement in Target.m3 gone. 2) Very long term, multi-threaded multi-targeting. Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. - Jay > From: hosking at cs.purdue.edu > Date: Thu, 2 Dec 2010 11:32:17 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > Log message: > > speculative work in progress > > two goals: > > remove target knowledge from Target.m3, have it all > > come from config files > > use a TargetT.T variable in place of Target.i3 globals > > (or maybe Target.T) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 2 17:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 2 Dec 2010 17:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101202165317.0A5962474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/02 17:53:16 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 TargetT.i3 Log message: set_grain and set_align are (now) never used and are always the same (Integer.size/align), remove them From hosking at cs.purdue.edu Thu Dec 2 18:38:46 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 2 Dec 2010 12:38:46 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101202162108.EEAADCC37F@birch.elegosoft.com>, Message-ID: OK. On Dec 2, 2010, at 11:52 AM, Jay K wrote: > Which part? > > 1) So there is less to edit/add when adding a new target. > I want the big case statement in Target.m3 gone. Still have to edit something. Just no longer M3 code. > 2) Very long term, multi-threaded multi-targeting. > Globals are usually wrong, as they inhibit multi-threaded multi-x, for some x. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Thu, 2 Dec 2010 11:32:17 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Umm, why? > > > > On Dec 2, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/02 17:21:08 > > > > > > Added files: > > > cm3/m3-sys/m3middle/src/: TargetT.i3 > > > > > > Log message: > > > speculative work in progress > > > two goals: > > > remove target knowledge from Target.m3, have it all > > > come from config files > > > use a TargetT.T variable in place of Target.i3 globals > > > (or maybe Target.T) > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sat Dec 4 02:04:19 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 2:04:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204010420.4059DCC395@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 02:04:19 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: Makefile.in configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in builtins.c configure configure.ac double-int.c double-int.h ipa-pure-const.c real.c real.h toplev.c tree-data-ref.c tree-scalar-evolution.c tree-ssa-dce.c tree-ssa-loop-ivcanon.c tree-ssa-loop-niter.c tree-ssa-loop.c tree.c tree.h cm3/m3-sys/m3cc/src/: clean_marker.txt m3makefile Removed files: cm3/m3-sys/m3cc/gcc/gmp/: AUTHORS COPYING COPYING.LIB ChangeLog INSTALL INSTALL.autoconf Makefile.am Makefile.in NEWS README acinclude.m4 aclocal.m4 assert.c config.guess config.in config.sub configfsf.guess configfsf.sub configure configure.in dumbmp.c errno.c gen-bases.c gmp-h.in gmp-impl.h install-sh longlong.h ltmain.sh memory.c missing mp_bpl.c mp_clz_tab.c tal-reent.c version.c cm3/m3-sys/m3cc/gcc/gmp/mpn/: Makefile.am Makefile.in README cm3/m3-sys/m3cc/gcc/gmp/mpn/generic/: add.c add_1.c add_n.c addmul_1.c cmp.c dc_divrem_n.c diveby3.c divrem_1.c divrem_2.c get_str.c gmp-mparam.h lshift.c mul.c mul_1.c mul_basecase.c mul_fft.c mul_n.c pre_divrem_1.c rshift.c sb_divrem_mn.c sqr_basecase.c sub.c sub_1.c sub_n.c submul_1.c tdiv_qr.c cm3/m3-sys/m3cc/gcc/gmp/mpz/: Makefile.am Makefile.in add.c add_ui.c aors.h aors_ui.h clear.c cmp.c export.c fdiv_q.c import.c init.c iset.c neg.c out_str.c realloc.c set.c set_ui.c sizeinbase.c sub.c sub_ui.c swap.c tdiv_qr.c cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-ssa-loop-unswitch.c Log message: at the cost of a few optimizations, remove gmp dependency also more lto/ppl/cloog removal From jkrell at elego.de Sat Dec 4 10:31:08 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:31:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093108.474182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:31:08 Added files: cm3/scripts/python/: targets.txt Log message: partial list of targets, to be augmented and used later (e.g. hudson task to build all boot archives, and later more) From jkrell at elego.de Sat Dec 4 10:32:10 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:32:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204093210.E96152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:32:10 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: fix PA32_HPUX cross compiles, by using a more specific target From jkrell at elego.de Sat Dec 4 10:48:17 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:48:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204094817.7AD7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:48:17 Modified files: cm3/m3-sys/m3cc/src/: platforms.quake Log message: AIX needs a version; pick 5.3 as that adds time64_t PPC64_AIX => powerpc, not powerpc64 (plus -maix64 or such, later...) From jkrell at elego.de Sat Dec 4 10:50:26 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 4 Dec 2010 10:50:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101204095028.012102474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/04 10:50:26 Modified files: cm3/scripts/python/: targets.txt Log message: add PPC32_AIX, PPC64_AIX From jkrell at elego.de Mon Dec 6 21:13:09 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 6 Dec 2010 21:13:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101206201309.2EA4B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/06 21:13:09 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: builtins.c tree-ssa-ccp.c tree.h Log message: remove more code that is never used for Modula-3, rarely used by C, and never required; e.g. optimizing of strcpy, a function that should never be used From jkrell at elego.de Tue Dec 7 14:10:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:10:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131015.935192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:10:15 Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common ALPHA_LINUX Log message: initial copies from AMD64, unadorned ALPHA shall imply 64bit, as I believe there is only one 32bit Alpha platform From jkrell at elego.de Tue Dec 7 14:11:11 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:11:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131111.6629E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:11:11 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX ALPHA.common Log message: AMD64 to ALPHA From jkrell at elego.de Tue Dec 7 14:12:13 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:12:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131213.F0E7A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:12:13 Removed files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA.common Log message: renaming from ALPHA to Alpha From jkrell at elego.de Tue Dec 7 14:13:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:13:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131303.5BD3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:13:03 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: oh, there was already Alpha64.common From jkrell at elego.de Tue Dec 7 14:16:23 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:16:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207131623.AB06D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:16:23 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 14:22:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:22:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207132209.0DC982474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:22:09 Added files: cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 m3makefile Log message: add ALPHA_LINUX; initially copied from ALPHA_OSF until I have the system fully up and can look up its jumpbuf size From jkrell at elego.de Tue Dec 7 14:37:25 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 14:37:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207133725.CCFB42474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 14:37:25 Modified files: cm3/scripts/python/: targets.txt Log message: add ALPHA_OSF, ALPHA_LINUX From jkrell at elego.de Tue Dec 7 15:34:48 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:34:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207143448.216F12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:34:47 Modified files: cm3/m3-sys/m3middle/src/: Target.m3 cm3/m3-libs/m3core/src/C/ALPHA_LINUX/: Csetjmp.i3 Log message: reduce ALPHA_LINUX jmpbuf size, and some whitespace changes From jkrell at elego.de Tue Dec 7 15:44:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:44:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144456.544642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:44:56 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_LINUX Log message: gcc -m64 not allowed; cm3cg -m64 not allowed; as --64 not allowed From jkrell at elego.de Tue Dec 7 15:46:53 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 15:46:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207144653.9D57D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 15:46:53 Modified files: cm3/scripts/python/: pylib.py Log message: no --64 for ALPHA_LINUX assembler From jkrell at elego.de Tue Dec 7 16:00:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:00:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207150007.1AF0A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:00:07 Modified files: cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c Log message: let it compile for Linux/alpha, seems reasonable From jkrell at elego.de Tue Dec 7 16:18:15 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:18:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207151815.5D18C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:18:15 Modified files: cm3/m3-libs/m3core/src/unix/Common/: Uconstants.c Log message: lame Alpha/Linux workaround From jkrell at elego.de Tue Dec 7 16:27:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152719.7A6412474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:19 Modified files: cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 16:27:58 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 16:27:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207152758.DDEB72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 16:27:58 Modified files: cm3/scripts/regression/: defs.sh Log message: add ALPHA_LINUX From jkrell at elego.de Tue Dec 7 22:51:51 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 7 Dec 2010 22:51:51 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101207215151.D0B972474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/07 22:51:51 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add ALPHA_LINUX (I thought I did this already.) From jkrell at elego.de Wed Dec 8 03:03:18 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:03:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020318.BD39C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:03:18 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: static void SignalHandlerC(int signo, siginfo_t *info, void *context) /* wrapper to workaround ALPHA_LINUX: /usr/bin/ld: ThreadPThreadC.o: gp-relative relocation against dynamic symbol ThreadPThread__SignalHandler */ { SignalHandler(signo, info, context); } From jkrell at elego.de Wed Dec 8 03:06:02 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020602.49EBC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:02 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in passes.c tree-pass.h tree-ssa-loop.c Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: tree-parloops.c Log message: remove tree-parloops.c entirely This is an optimization that would attempt to schedule iterations of a for loop across multiple threads -- but the backend doesn't necessarily know how to create threads. From jkrell at elego.de Wed Dec 8 03:06:26 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 3:06:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208020626.1BC262474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 03:06:26 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: obnoxious, but clean just in case From jkrell at elego.de Wed Dec 8 07:20:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 7:20:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208062031.7256D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 07:20:31 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Alpha32.common Alpha64.common Log message: m3back_mieee = "-mieee", of course! From jkrell at elego.de Wed Dec 8 08:30:57 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 8 Dec 2010 8:30:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101208073057.615BA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/08 08:30:57 Modified files: cm3/m3-sys/cm3/src/: Utils.i3 UtilsPosix.m3 UtilsWin32.m3 m3makefile Removed files: cm3/m3-sys/cm3/src/: cm3unix.c Log message: use Unix.link in 5.8.6 and newer m3core no longer hack for building from earlier releases From jkrell at elego.de Thu Dec 9 07:25:03 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 9 Dec 2010 7:25:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101209062503.421D72474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/09 07:25:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: add link to bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46861 that I am working around (that I just reported) repros with system gcc (4.2) but not with 4.5.1 From jkrell at elego.de Fri Dec 10 12:23:33 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:23:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210112333.1A2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:23:33 Modified files: cm3/scripts/python/: pylib.py Log message: avoid double dash in Debian package file name From jkrell at elego.de Fri Dec 10 12:47:29 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:47:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114729.D1C3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:47:29 Modified files: cm3/scripts/: make-dist.sh Log message: remove "build platform" (e.g. "cygwin") from NT386 archive names slightly invasive in that the delimiting dashes are moved to BF, since just making it empty would otherwise produce double dashes From jkrell at elego.de Fri Dec 10 12:48:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 12:48:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210114846.2718B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 12:48:46 Modified files: cm3/scripts/python/: make-dist.py Log message: possible fix for making Debian packages in make-dist.py (note that Hudson makes Debian packages through a slightly alternate, working route) From jkrell at elego.de Fri Dec 10 13:08:56 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 13:08:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210120856.C3F4C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 13:08:56 Modified files: cm3/scripts/python/: pylib.py Log message: try again From jkrell at elego.de Fri Dec 10 22:45:03 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 10 Dec 2010 22:45:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101210214503.869D52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/10 22:45:03 Modified files: cm3/scripts/python/: upload.sh Log message: .deb files too From jkrell at elego.de Sat Dec 11 13:03:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 11 Dec 2010 13:03:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101211120359.66AD32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/11 13:03:59 Modified files: cm3/www/uploaded-archives/: targets.txt Log message: add ALPHA_LINUX From jkrell at elego.de Sun Dec 12 06:53:23 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055324.5DC7D2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:23 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:53:32 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:53:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212055332.E41F22474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:53:32 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least From jkrell at elego.de Sun Dec 12 06:59:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 12 Dec 2010 6:59:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101212060000.6DE222474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/12 06:59:59 Modified files: cm3/m3-sys/cminstall/src/config-no-install/: Darwin.common Log message: experiment: use C compiler to drive assemble, on Darwin/x86/amd64 at least -- don't pass -g/-gstabs though, that causes later linker error about unknown stabs type From jkrell at elego.de Wed Dec 15 13:03:58 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:03:58 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215120358.B4B1BCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:03:58 Added files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: new files -- like TInt and TWord, but negative values are non-silent errors to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 13:14:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:14:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121441.0CD11CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:14:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:15:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:15:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215121553.C5BEFCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:15:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From jkrell at elego.de Wed Dec 15 13:22:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 13:22:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215122227.657E6CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 13:22:27 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: work in progress From hosking at cs.purdue.edu Wed Dec 15 16:27:25 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 10:27:25 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215120358.B4B1BCC125@birch.elegosoft.com> References: <20101215120358.B4B1BCC125@birch.elegosoft.com> Message-ID: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 13:03:58 > > Added files: > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > Log message: > new files -- like TInt and TWord, but negative values are > non-silent errors > to be used to replace CARDINAL in frontend From jkrell at elego.de Wed Dec 15 17:10:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:10:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161047.751F7CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:10:47 Modified files: cm3/m3-sys/m3middle/src/: TInt.i3 TInt.m3 Log message: add Inc/Dec From jkrell at elego.de Wed Dec 15 17:12:45 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:12:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161245.4A7E5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:12:45 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 Log message: given align/bytes/pack of type INTEGER or CARDINAL, etc., add talign/tbytes/tpack of type Target.Int, Target.Cardinal, etc. From jkrell at elego.de Wed Dec 15 17:13:04 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:13:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161304.47365CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:13:04 Modified files: cm3/m3-sys/m3middle/src/: m3makefile Log message: compile TCardinal From jkrell at elego.de Wed Dec 15 17:17:41 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:17:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215161741.9D2C4CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:17:41 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 Log message: remove New, add FromCardinal From jay.krell at cornell.edu Wed Dec 15 17:20:12 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 16:20:12 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> References: <20101215120358.B4B1BCC125@birch.elegosoft.com>, <3F02213A-DD9E-4234-BFDF-C88A1FCBB2BA@cs.purdue.edu> Message-ID: It's the same either way but I'd rather bury the range checks here, which is all this layer adds. Surely we don't need CARDINAL either. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 10:27:25 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Surely the front-end should just emulate the compiler by using TInt and then range checking the result as necessary. I see no need for these additions to m3middle. > > On Dec 15, 2010, at 1:03 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 13:03:58 > > > > Added files: > > cm3/m3-sys/m3middle/src/: TCardinal.i3 TCardinal.m3 > > > > Log message: > > new files -- like TInt and TWord, but negative values are > > non-silent errors > > to be used to replace CARDINAL in frontend > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Wed Dec 15 17:21:32 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162132.4A9CB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:32 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:21:53 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:21:53 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162153.7B9912474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:21:53 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:22:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:22:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162215.CEF332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:22:15 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: whitespace From jkrell at elego.de Wed Dec 15 17:23:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:23:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162305.D27282474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:23:05 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: use correct comparison function From jkrell at elego.de Wed Dec 15 17:25:39 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:25:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162539.D2DB5CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:25:39 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.m3 Log message: fold common code From jkrell at elego.de Wed Dec 15 17:26:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 15 Dec 2010 17:26:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101215162633.9B3A2CC10F@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/15 17:26:33 Modified files: cm3/m3-sys/m3middle/src/: TCardinal.i3 Log message: remove unused From hosking at cs.purdue.edu Wed Dec 15 20:41:44 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Wed, 15 Dec 2010 14:41:44 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101215162153.7B9912474003@birch.elegosoft.com> References: <20101215162153.7B9912474003@birch.elegosoft.com> Message-ID: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Jay, I'm not sure where you are going with all of this TCardinal stuff. What is the problem you are trying to solve? The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/15 17:21:53 > > Modified files: > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > Log message: > use correct comparison function From jay.krell at cornell.edu Wed Dec 15 22:11:40 2010 From: jay.krell at cornell.edu (Jay K) Date: Wed, 15 Dec 2010 21:11:40 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. Just that they are usually small. What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. The code in particular was what counts up functions in objects and multiplies by size of address to get offset. It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. - Jay > From: hosking at cs.purdue.edu > Date: Wed, 15 Dec 2010 14:41:44 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > What is the problem you are trying to solve? > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > Modified files: > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > Log message: > > use correct comparison function > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Fri Dec 17 08:29:10 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 17 Dec 2010 8:29:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101217072910.292F7CC110@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/17 08:29:10 Modified files: cm3/m3-sys/m3cc/gcc-4.5/: NEWS configure configure.ac cm3/m3-sys/m3cc/gcc-4.5/config/: ChangeLog po.m4 cm3/m3-sys/m3cc/gcc-4.5/contrib/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/reghunt/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/contrib/regression/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/fixincludes/: ChangeLog fixincl.x inclhack.def cm3/m3-sys/m3cc/gcc-4.5/fixincludes/tests/base/: pthread.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: BASE-VER ChangeLog DATESTAMP Makefile.in bb-reorder.c builtins.c c-common.c c-common.h c-decl.c c-parser.c c-pretty-print.c c-tree.h c-typeck.c caller-save.c cfgexpand.c cfglayout.c cfgloopmanip.c cfgrtl.c combine.c config.gcc configure configure.ac convert.c cse.c dce.c df-core.c df-problems.c df-scan.c dwarf2out.c emit-rtl.c expmed.c expr.c fold-const.c function.c gcse.c gimplify.c haifa-sched.c ifcvt.c ipa-prop.c ipa-pure-const.c ira-color.c ira-conflicts.c ira-emit.c ira-lives.c ira.c optabs.c postreload.c reg-stack.c reginfo.c reload1.c reorg.c rtl.h rtlanal.c sched-deps.c sched-rgn.c sel-sched-ir.c sel-sched.c stmt.c stor-layout.c tree-cfg.c tree-complex.c tree-eh.c tree-flow.h tree-inline.c tree-loop-distribution.c tree-sra.c tree-ssa-copyrename.c tree-ssa-dce.c tree-ssa-live.c tree-ssa-loop-ivopts.c tree-ssa-loop-prefetch.c tree-ssa-math-opts.c tree-ssa-pre.c tree-ssa-reassoc.c tree-ssa-structalias.c tree-switch-conversion.c tree-vect-patterns.c tree-vect-slp.c tree-vect-stmts.c tree-vectorizer.h tree.h var-tracking.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/alpha/: alpha.c osf.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/arm/: arm.c arm.md linux-atomic.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: cygming.h darwin.h i386.c i386.md mingw32.h sse.md xmmintrin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/ia64/: ia64.c ia64.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/mips/: iris.h mips.c cm3/m3-sys/m3cc/gcc-4.5/gcc/config/pa/: pa.c pa.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rs6000/: aix.h linux64.h rs6000-protos.h rs6000.c rs6000.md sysv4.h x-aix cm3/m3-sys/m3cc/gcc-4.5/gcc/config/rx/: predicates.md rx.md cm3/m3-sys/m3cc/gcc-4.5/gcc/config/s390/: s390.c s390.md t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/sparc/: constraints.md linux.h linux64.h sol2-gas.h sol2-unwind.h sol2.h sparc.c sparc.h t-linux64 cm3/m3-sys/m3cc/gcc-4.5/gcc/config/spu/: spu.c cm3/m3-sys/m3cc/gcc-4.5/gcc/doc/: aot-compile.1 cpp.1 cpp.info cppinternals.info extend.texi fsf-funding.7 g++.1 gc-analyze.1 gcc.1 gcc.info gccinstall.info gccint.info gcj-dbtool.1 gcj.1 gcj.info gcov.1 gfdl.7 gfortran.1 gij.1 gpl.7 grmic.1 invoke.texi jcf-dump.1 jv-convert.1 rebuild-gcj-db.1 sourcebuild.texi cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: ChangeLog lto-elf.c cm3/m3-sys/m3cc/gcc-4.5/include/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libcpp/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libgcc/: ChangeLog config.host cm3/m3-sys/m3cc/gcc-4.5/libgcc/config/libbid/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/libiberty/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/lto-plugin/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/maintainer-scripts/: ChangeLog cm3/m3-sys/m3cc/gcc-4.5/zlib/: ChangeLog cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: upgrade from gcc 4.5.1 to gcc 4.5.2 From hosking at cs.purdue.edu Fri Dec 17 16:06:19 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Fri, 17 Dec 2010 10:06:19 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101215162153.7B9912474003@birch.elegosoft.com>, <5CDA5B70-8BD7-4DB8-BB0B-A87A57D06C0A@cs.purdue.edu> Message-ID: <316D209C-29E2-4A00-86CA-A51F2DB92E49@cs.purdue.edu> Not true. CARDINAL is only ever used for values that should be in range on all architectures. 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 On Dec 15, 2010, at 4:11 PM, Jay K wrote: > I think that iNTEGER and CARDINAL in general, in the front end (certainly NOT in Modula-3 in general) > should be Target.Int, Target.Cardinal. In general, though not always, target sorts of quantities are being manipulated. > Just that they are usually small. > What happened is I picked out some code at random in the frontend and started converting it to use Int/Cardinal. > The code in particular was what counts up functions in objects and multiplies by size of address to get offset. > It does matter hypothetically, but is a much bigger stretch than other place -- ie. object types with billions of functions. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Wed, 15 Dec 2010 14:41:44 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > Jay, I'm not sure where you are going with all of this TCardinal stuff. > > > > What is the problem you are trying to solve? > > > > The front-end doesn't use CARDINAL anywhere that is problematic for targeting 64-bit from 32-bit, so I don't understand why you will need to model it in any way using this new TCardinal. > > > > On Dec 15, 2010, at 5:21 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/15 17:21:53 > > > > > > Modified files: > > > cm3/m3-sys/m3middle/src/: TCardinal.m3 > > > > > > Log message: > > > use correct comparison function > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Sun Dec 19 15:59:13 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145913.B107C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:13 Modified files: cm3/m3-sys/m3middle/src/: Target.i3 Target.m3 cm3/scripts/: sysinfo-new.sh sysinfo.sh cm3/scripts/python/: pylib.py cm3/scripts/regression/: defs.sh Added files: cm3/m3-sys/cminstall/src/config-no-install/: ALPHA_OPENBSD cm3/m3-libs/m3core/src/C/ALPHA_OPENBSD/: Csetjmp.i3 m3makefile Log message: initial OpenBSD/alpha support still need to look into using hacked setjmp or sigaltstack From jkrell at elego.de Sun Dec 19 15:59:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 15:59:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219145943.261642474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 15:59:43 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: add OpenBSD/alpha here too From jkrell at elego.de Sun Dec 19 16:05:12 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 19 Dec 2010 16:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101219150512.7D12B2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/19 16:05:12 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/unix/Common/context/setjmp/: context.c Log message: speculative OpenBSD/alpha changes should really find the setjmp/longjmp code.. From jkrell at elego.de Fri Dec 24 05:28:46 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:28:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224042846.BB8E82474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:28:46 Added files: cm3/scratch/macho/: btree.c btree.h getmacho.c hash.c hash.h macho.c macho.h Log message: scratch/macho (the most work needed to port the x86 backend is actually supporting other object files) From jkrell at elego.de Fri Dec 24 05:34:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 5:34:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224043455.F04422474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 05:34:55 Modified files: cm3/scratch/macho/: macho.h Log message: close unclosed comment From jkrell at elego.de Fri Dec 24 08:02:57 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:02:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070257.4BDFA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:02:57 Modified files: cm3/scratch/macho/: macho.c Log message: swap4 => swap32 swap8 => swap64 From jkrell at elego.de Fri Dec 24 08:04:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:04:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224070442.9D75F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:04:42 Modified files: cm3/scratch/macho/: macho.c Log message: remove some pointer derefs From jkrell at elego.de Fri Dec 24 08:49:17 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:49:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224074917.4997C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:49:17 Added files: cm3/scratch/macho/: amd64.obj ppc32.obj ppc64.obj x86.obj amd64.exe ppc32.exe ppc64.exe x86.exe Log message: some test inputs From jkrell at elego.de Fri Dec 24 08:50:19 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 8:50:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224075019.9B6722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 08:50:19 Modified files: cm3/scratch/macho/: macho.c Log message: add support for enums (translating numbers to names) From jkrell at elego.de Fri Dec 24 09:33:42 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 9:33:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224083342.3D0D92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 09:33:42 Modified files: cm3/scratch/macho/: getmacho.c macho.c macho.h Log message: put functions/data in column 0 print segments From jkrell at elego.de Fri Dec 24 10:54:04 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 24 Dec 2010 10:54:04 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101224095404.870992474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/24 10:54:04 Modified files: cm3/scratch/macho/: macho.c Log message: macho_header64_t isn't particularly interesting, just one extra reserved uint32_t for alignment don't crash for file not specified or found From jkrell at elego.de Sat Dec 25 08:47:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sat, 25 Dec 2010 8:47:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101225074743.729B62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/25 08:47:43 Modified files: cm3/scratch/macho/: macho.c Log message: dump a bit more From jkrell at elego.de Sun Dec 26 06:00:18 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050018.BAFC32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:18 Added files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: let's try to use Modula-3? From jkrell at elego.de Sun Dec 26 06:00:35 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 6:00:35 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226050035.CF2732474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 06:00:35 Modified files: cm3/scratch/macho/: macho.h Log message: whitespace From jkrell at elego.de Sun Dec 26 07:25:43 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 7:25:43 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226062544.19FE92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 07:25:43 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Added files: cm3/scratch/macho/src/: m3makefile Log message: work in progress: the .i3 file compiles From jkrell at elego.de Sun Dec 26 09:02:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:02:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080239.DBBDCCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:02:39 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CerrnoC.c CsignalC.c CstdioC.c CstdlibC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: Uexec.c Ugrp.c Unetdb.c UnixC.c UnixLink.c Usocket.c UstatC.c UtimeC.c Log message: This should deal more generally with the problem that NetBSD #defines identifiers, fake example: #define fopen fooopen: Cstdio__fooopen(...) { return fooopen(...); } instead of: Cstdio__fopen(...) { return foopen(...);} also sprinkle around M3_DLL_EXPORT, M3_DLL_LOCAL, __cdecl From jkrell at elego.de Sun Dec 26 09:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226080422.C2A21CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:04:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove test code from previous revision From jkrell at elego.de Sun Dec 26 09:47:44 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:47:44 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226084744.8FD63CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:47:44 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: grammar in comments; whitespace From jkrell at elego.de Sun Dec 26 09:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 9:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226085058.0921ACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 09:50:57 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: comment only From jkrell at elego.de Sun Dec 26 11:26:37 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:26:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226102637.4C6EECC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:26:37 Modified files: cm3/scratch/macho/src/: macho.i3 macho.m3 Log message: work in progress From jkrell at elego.de Sun Dec 26 11:33:05 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:33:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226103305.D95EA2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:33:05 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a little better, given that we don't have const.. From jkrell at elego.de Sun Dec 26 11:43:27 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:43:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104327.A04D3CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:43:27 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: variation: better syntax for the arrays, not copying, but all CONST is lost, and still no offsetof From jkrell at elego.de Sun Dec 26 11:44:01 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:44:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104401.935CFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:44:01 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: no default offset/size From jkrell at elego.de Sun Dec 26 11:45:59 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 11:45:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226104559.23665CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 11:45:59 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress, slight progress From jkrell at elego.de Sun Dec 26 19:50:52 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:50:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185052.CA827CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:50:52 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: cgraphunit.c system.h target-def.h target.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/: darwin.c darwin.h cm3/m3-sys/m3cc/gcc-4.5/gcc/config/i386/: winnt.c cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: Make-lang.in config-lang.in Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/lto/: common.c common.h lang-specs.h lto-coff.c lto-coff.h lto-elf.c lto-endian.h lto-lang.c lto-macho.c lto-macho.h lto-tree.h lto.c lto.h Log message: system.h: all systems have: stddef.h limits.h abort realloc malloc calloc free strstr getwd (declared if they have it) getcwd (ditto) sbrk (ditto) getopt (ditto) getenv atof atol errno declared in errnor.h NULL trim more of LTO From jkrell at elego.de Sun Dec 26 19:53:03 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185303.217F62474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:03 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt cm3/m3-sys/m3cc/gcc-4.5/gcc/: Makefile.in flags.h ipa-cp.c toplev.c tree.c varpool.c Log message: trim more LTO From jkrell at elego.de Sun Dec 26 19:53:39 2010 From: jkrell at elego.de (Jay Krell) Date: Sun, 26 Dec 2010 19:53:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101226185339.756DACC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/26 19:53:39 Removed files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: lto-streamer.h Log message: trim more LTO From jkrell at elego.de Mon Dec 27 05:34:38 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 5:34:38 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227043438.338332474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 05:34:38 Modified files: cm3/scratch/macho/src/: m3makefile macho.m3 Log message: a different set of tradeoffs: we can at least index things as arrays but we still can't have VAR open arrays which stinks and we still have to make extra copies of things which also stinks, all very disappointing From jkrell at elego.de Mon Dec 27 06:50:57 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 6:50:57 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227055057.595772474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 06:50:57 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:39:46 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:39:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227073946.1E35A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:39:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:40:48 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:40:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074048.9A64FCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:40:48 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Mon Dec 27 08:41:22 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 8:41:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227074122.E5076CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 08:41:22 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: didn't mean to check that in, but ok, fix it From jkrell at elego.de Mon Dec 27 10:49:11 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 10:49:11 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227094911.A983E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 10:49:11 Modified files: cm3/scratch/macho/src/: macho.m3 macho.i3 Log message: work in progress, almost done (up to where the C code was); remove 'macho_' prefixes From jkrell at elego.de Mon Dec 27 11:43:29 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 11:43:29 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227104329.2A92CCC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 11:43:29 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c Log message: Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers I noticed calls to free() were missing some, and this whole area is both error-prone and almost completely untested: - it only matters when using user threads - and if thread switches occurs at just the right time This still leaves hazard in lots of custom wrappers. I suggest frontend handle this. allow NIL pointers in M3toC.Free*, silently do nothing with them (again here, we have VAR where CONST is really desired!) Upwd.c: use struct passwd and remove typedef struct passwd passwd_t I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas Uin.c: add M3_DLL_EXPORT From jkrell at elego.de Mon Dec 27 13:17:55 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:17:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227121756.117B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:17:55 Modified files: cm3/scripts/python/: pylib.py Log message: ship all config files, not just Target* and *common From jkrell at elego.de Mon Dec 27 13:33:20 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:33:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227123320.507F92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:33:20 Modified files: cm3/scripts/python/: pylib.py Log message: better config install/cleanup From jkrell at elego.de Mon Dec 27 13:45:34 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:45:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124535.01412CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:45:34 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: Some wrappers might be used specifically while waiting for other threads to progress. e.g. don't disable switching in sleep(). More wrappers to consider. Only matters for user threads.. From jkrell at elego.de Mon Dec 27 13:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124652.C9F15CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:46:52 Modified files: cm3/m3-libs/m3core/src/unix/Common/: UnixC.c Log message: go back a version From jkrell at elego.de Mon Dec 27 13:49:06 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:49:06 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227124906.5E22CCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:49:06 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove new central disable/enable scheduling, pending more thought From jkrell at elego.de Mon Dec 27 13:55:27 2010 From: jkrell at elego.de (Jay Krell) Date: Mon, 27 Dec 2010 13:55:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101227125527.52615CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/27 13:55:27 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: provide macros for non-switching wrappers and use them for malloc/realloc/free From hosking at cs.purdue.edu Mon Dec 27 18:29:20 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:29:20 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227104329.2A92CCC126@birch.elegosoft.com> References: <20101227104329.2A92CCC126@birch.elegosoft.com> Message-ID: Umm, why? This is all unnecessary. 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 On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 11:43:29 > > Modified files: > cm3/m3-libs/m3core/src/: m3core.h > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > Log message: > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > I noticed calls to free() were missing some, and this > whole area is both error-prone and almost completely untested: > - it only matters when using user threads > - and if thread switches occurs at just the right time > > This still leaves hazard in lots of custom wrappers. > I suggest frontend handle this. > > allow NIL pointers in M3toC.Free*, silently do nothing with them > (again here, we have VAR where CONST is really desired!) > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > Uin.c: add M3_DLL_EXPORT From hosking at cs.purdue.edu Mon Dec 27 18:30:38 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Mon, 27 Dec 2010 12:30:38 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101227124535.01412CC127@birch.elegosoft.com> References: <20101227124535.01412CC127@birch.elegosoft.com> Message-ID: You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). 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 On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/27 13:45:34 > > Modified files: > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > Log message: > Some wrappers might be used specifically while waiting for > other threads to progress. e.g. don't disable switching in sleep(). > More wrappers to consider. > Only matters for user threads.. From jay.krell at cornell.edu Mon Dec 27 22:34:26 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:34:26 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227124535.01412CC127@birch.elegosoft.com>, Message-ID: The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Mon Dec 27 22:36:19 2010 From: jay.krell at cornell.edu (Jay K) Date: Mon, 27 Dec 2010 21:36:19 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: References: <20101227104329.2A92CCC126@birch.elegosoft.com>, Message-ID: The NIL checks make it easier to use, if you can depend on newer version. Disable/EnableSwitching are sometimes missing on calls to free -- it is very error prone. They are used on malloc. I believe they are needed on free. I went back though and only disable/enable selectively. Still very error prone. - Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:29:20 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Umm, why? > This is all unnecessary. > > 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 > > > > > On Dec 27, 2010, at 11:43 AM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 11:43:29 > > > > Modified files: > > cm3/m3-libs/m3core/src/: m3core.h > > cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c M3toC.m3 > > cm3/m3-libs/m3core/src/unix/Common/: Uin.c Upwd.c > > > > Log message: > > Scheduler__DisableSwitching / Scheduler__EnableSwitching around wrappers > > > > I noticed calls to free() were missing some, and this > > whole area is both error-prone and almost completely untested: > > - it only matters when using user threads > > - and if thread switches occurs at just the right time > > > > This still leaves hazard in lots of custom wrappers. > > I suggest frontend handle this. > > > > allow NIL pointers in M3toC.Free*, silently do nothing with them > > (again here, we have VAR where CONST is really desired!) > > > > Upwd.c: use struct passwd and remove typedef struct passwd passwd_t > > I had generally done this, back end I discovered newer Solaris headers clash with such typedefs, alas > > > > Uin.c: add M3_DLL_EXPORT > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:31:35 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:31:35 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <564348.46782.qm@web29708.mail.ird.yahoo.com> Hi all: I'm curious about how to implement the threads in user space by using the TSL instruction on uniprocessor where available and multiprocessor systems, that way would be like avoiding the system switching and getting the benefits of user threading in the shell for uniprocessor systems speeding it. See: http://www.chiark.greenend.org.uk/~theom/riscos/docs/ultimate/a252swp.txt This was the idea behind the ARM3 instruction set and later ones, coming for a problem with the OS performance (written on Modula-2+ FYI), though I'm not sure how this Pthread system works right now on them. Perhaps in FreeDOS this would be? not useless like it doesn't have any pthreads if I'm correct, then the? best approach would be like to get? the runtime to work? with just? the hardware help and no pthreads, Am I right? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dabenavidesd at yahoo.es Mon Dec 27 23:57:54 2010 From: dabenavidesd at yahoo.es (Daniel Alejandro Benavides D.) Date: Mon, 27 Dec 2010 22:57:54 +0000 (GMT) Subject: [M3commit] CVS Update: cm3 In-Reply-To: Message-ID: <61484.55782.qm@web29714.mail.ird.yahoo.com> Hi all: I've read somewhere that cvsup rocks but the disk hit rate is too high, wondering it might be that we get to experiment with optical storage disk file system like the one in Acorn Archimedes Arx OS, perhaps its more appropriate to negotiate the cvsupd requests to the disk without hitting it but reading the optical disks data, doing so would be lesser time reads than magnetic ones, so that is less usage and the CPU would not waste much time going to system threads switching but just user space, which might be reasonable for the administrator point of view. And FMI besides the source code, is there any documentation available for read of dcvs folks? Thanks in advance --- El lun, 27/12/10, Jay K escribi?: De: Jay K Asunto: Re: [M3commit] CVS Update: cm3 Para: "Tony" , "Jay Krell" CC: m3commit at elegosoft.com Fecha: lunes, 27 de diciembre, 2010 16:34 The code is frequently wrong for user threads. So much so that cvsup had cloned some code in order to put in fixes along these lines. I did undo this though. ?- Jay > From: hosking at cs.purdue.edu > Date: Mon, 27 Dec 2010 12:30:38 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads). > > 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 > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > Log message: > > Some wrappers might be used specifically while waiting for > > other threads to progress. e.g. don't disable switching in sleep(). > > More wrappers to consider. > > Only matters for user threads.. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jay.krell at cornell.edu Tue Dec 28 02:41:50 2010 From: jay.krell at cornell.edu (Jay K) Date: Tue, 28 Dec 2010 01:41:50 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <61484.55782.qm@web29714.mail.ird.yahoo.com> References: , <61484.55782.qm@web29714.mail.ird.yahoo.com> Message-ID: Daniel: I have a low opinion of anything to do with cvs and I believe the way to do anything to improve cvs starts with completing replacing it, therefore it's not worth thinking much about it. In my opinion. Tony: "You are debasing the primary use-case, which is system threading, to support what should be a deprecated target (user threads)." I'm "confused". Are user threads meant to work or not? If so, then they should really definitely work, and not be fragile. I don't think support should be "too" half hearted. It need not be super efficient, but it should be super correct. If they don't need to work, then we should delete/disable/break without pause. Currently as far as I understand we are "forced" to use them on OpenBSD. Probably we should look at what the boehm gc does there though. Or drop support for OpenBSD until it has kernel threads? (And not consider supporting DJGPP? :) ) I don't entirely remember the rationale regarding pthreads on OpenBSD though. Part of the rationale might have been: "pthreads have unresolved problems, and are user threads anyway, so we might as well just use ours." If that was the final rationale, as I suspect, it might be worth more effort getting pthreads to work on OpenBSD, even if they are not great and are user threads. At least we'd unify our code. You know, we did have problems with pthreads on Darwin, FreeBSD, NetBSD too, but we worked through them instead of abandoning pthreads. (i.e. "portable suspend/resume, including getting suspended thread context" only works on Linux and Solaris, all the rest use custom code.) - Jay ________________________________ > Date: Mon, 27 Dec 2010 22:57:54 +0000 > From: dabenavidesd at yahoo.es > Subject: Re: [M3commit] CVS Update: cm3 > To: hosking at cs.purdue.edu; jkrell at elego.de; jay.krell at cornell.edu > CC: m3commit at elegosoft.com > > Hi all: > I've read somewhere that cvsup rocks but the disk hit rate is too high, > wondering it might be that we get to experiment with optical storage > disk file system like the one in Acorn Archimedes Arx OS, perhaps its > more appropriate to negotiate the cvsupd requests to the disk without > hitting it but reading the optical disks data, doing so would be lesser > time reads than magnetic ones, so that is less usage and the CPU would > not waste much time going to system threads switching but just user > space, which might be reasonable for the administrator point of view. > And FMI besides the source code, is there any documentation available > for read of dcvs folks? > Thanks in advance > > --- El lun, 27/12/10, Jay K escribi?: > > De: Jay K > Asunto: Re: [M3commit] CVS Update: cm3 > Para: "Tony" , "Jay Krell" > CC: m3commit at elegosoft.com > Fecha: lunes, 27 de diciembre, 2010 16:34 > > The code is frequently wrong for user threads. > So much so that cvsup had cloned some code in order to put in fixes > along these lines. > I did undo this though. > > - Jay > > > From: hosking at cs.purdue.edu > > Date: Mon, 27 Dec 2010 12:30:38 -0500 > > To: jkrell at elego.de > > CC: m3commit at elegosoft.com > > Subject: Re: [M3commit] CVS Update: cm3 > > > > You are debasing the primary use-case, which is system threading, to > support what should be a deprecated target (user threads). > > > > 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 > > > > > > > > > > On Dec 27, 2010, at 1:45 PM, Jay Krell wrote: > > > > > CVSROOT: /usr/cvs > > > Changes by: jkrell at birch. 10/12/27 13:45:34 > > > > > > Modified files: > > > cm3/m3-libs/m3core/src/unix/Common/: UnixC.c > > > > > > Log message: > > > Some wrappers might be used specifically while waiting for > > > other threads to progress. e.g. don't disable switching in sleep(). > > > More wrappers to consider. > > > Only matters for user threads.. > > > > From jkrell at elego.de Tue Dec 28 11:13:46 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:13:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101346.74E012474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:13:46 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: stack_grows_down is never used, remove it From jkrell at elego.de Tue Dec 28 11:19:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:19:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228101909.E7B182474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:19:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c ThreadInternal.i3 Log message: provide ThreadInternal.StackGrowsDown() to be possibly used by OpenBSD/pthread Yes, I know it is easily computed, and the existing computations will remain, but it'd be nice to have it implemented in one place and only one place. OpenBSD runs on HPPA, which I believe has a stack that grows up. FreeBSD and Darwin will retain their assumption and assertion of stack growing down. At this rate, I don't see foresee them ever having a stack that grows up. (Growth up is apparently obviously "more secure", but also rare.) From jkrell at elego.de Tue Dec 28 11:28:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:28:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228102808.ED8DD2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:28:08 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: eliminate casts by changing parameters from void* to char* From jkrell at elego.de Tue Dec 28 11:36:33 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:36:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103633.AE6D02474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:36:33 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadFreeBSD.c Log message: fprintf(stderr) before abort, initialize locals From jkrell at elego.de Tue Dec 28 11:39:03 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:39:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228103903.C583E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:39:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: declare ThreadInternal__StackGrowsDown here From jkrell at elego.de Tue Dec 28 11:41:19 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:41:19 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228104119.B3F172474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:41:19 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: cosmetic: whitespace, naming of static function From jkrell at elego.de Tue Dec 28 11:52:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:52:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105209.F07722474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:52:09 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Allow OpenBSD to have stack that doesn't grow down. This is hypothetical at this point, but would be part of - OpenBSD using pthreads, which I will try again shortly - OpenBSD/hppa (but I don't currently have any HPPA machines :( and the one I did have was I think 64bit only, so wouldn't run this anyway; however there are modern 64bit machines that can run 32bit OpenBSD/hppa) (what about NetBSD?) From jkrell at elego.de Tue Dec 28 11:53:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:53:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105356.886EB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:53:56 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: NetBSD specific code shouldn't be needed here any longer, now that m3core.h's M3WRAP macros avoid evaluating the wrapper name. Untested! (NetBSD doesn't have good representation among Modula-3 users seemingly.) From jkrell at elego.de Tue Dec 28 11:59:28 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 11:59:28 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228105928.16A192474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 11:59:28 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: whitespace: label goes in first column From jkrell at elego.de Tue Dec 28 12:01:41 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:01:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228110141.57A4F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:01:41 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadOpenBSD.c Log message: Not currently used, but I'll try shortly. - remove casts by changing parameters from void* to char* - don't assume stack grows down (e.g. HPPA?) (in general we don't hardcode stack direction, but we detect it at runtime -- in ThreadPThreadC.c -- but in the Apple and FreeBSD code we do, perhaps we shouldn't, but those systems run on relatively few architectures) From jkrell at elego.de Tue Dec 28 12:53:16 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:53:16 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115316.6D94C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:53:16 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: Use __thread on Linux and Solaris. Doesn't compile on Apple. Segfaults on OpenBSD and NetBSD. Not tested on FreeBSD, AIX, Irix, HP-UX, etc., stick with pthread_get/setspecific. In future hope to eliminate this code anyway, in favor of gcc/libgcc stack walker or C++ exceptions (C++ backend). From jkrell at elego.de Tue Dec 28 12:56:12 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 12:56:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228115612.1FEDE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 12:56:12 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c Log message: oops: and don't pthread_key_create when using __thread From jkrell at elego.de Tue Dec 28 13:00:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:00:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228120039.CB8532474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:00:39 Modified files: cm3/m3-libs/m3core/src/unix/: m3makefile cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 m3makefile Log message: remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jkrell at elego.de Tue Dec 28 13:19:22 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:19:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228121922.591602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:19:22 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: Try to avoid inlining of ThreadInternal__StackGrowsDown, ThreadInternal__StackGrowsDownHelper by use of __declspec(noinline) or __attribute__((noinline)) on compilers that support them. In particular, if ThreadInternal__StackGrowsDownHelper is inlined, then the locals aren't necessarily "in the expected relative locations" and the return value could be wrong. We should probably #ifdef here to force the answer. e.g. x86, amd64, sparc, alpha, ia64, vax, etc., all always grow down e.g. hppa grows up We might also try inhibiting inlining/optimization by using recursion? From jkrell at elego.de Tue Dec 28 13:20:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:20:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228122027.AB5852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:20:27 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: add comment as to why inlining to be avoided From jkrell at elego.de Tue Dec 28 13:32:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:32:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228123234.C041C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:32:34 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: use recursion to further fight inliner, though smart compiler could still through this From jkrell at elego.de Tue Dec 28 13:43:09 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 13:43:09 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228124309.602822474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 13:43:09 Modified files: cm3/m3-libs/m3core/src/thread/Common/: ThreadInternal.c Log message: assert that stack grows down, except #ifdef __hppa__ From jkrell at elego.de Tue Dec 28 14:04:49 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:04:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130449.9EAEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:04:49 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h Log message: Fix for -enable-build-with-cxx -enable-checking with g++ 3.3. e.g. OpenBSD/x86 4.7 See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:07:14 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:07:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228130714.44BEF2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:07:14 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: system.h Log message: all systems have string.h and stdlib.h From jkrell at elego.de Tue Dec 28 14:24:34 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:24:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132434.6EB032474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:24:34 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: more fixing for http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:27:59 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:27:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132759.EF37C2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:27:59 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: rtl.h tree.h ira-int.h Log message: oops, regarding http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46597 From jkrell at elego.de Tue Dec 28 14:29:27 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:29:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228132927.EC5FB2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:29:27 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: move use of GCC_VERSION later, at least for clarify, after it will be #defined From jkrell at elego.de Tue Dec 28 14:36:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:36:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228133607.B29E12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:36:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/include/: ansidecl.h cm3/m3-sys/m3cc/gcc-4.5/gcc/: ira-int.h rtl.h tree.h Log message: #define ENABLE_CHECKING_GCC_VERSION just once, right after GCC_VERSION I'm still uneasy about the name of this, and then, given that it is difficult to name, if we should even capture it in a symbol or just repeat the checks. From jkrell at elego.de Tue Dec 28 14:43:39 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 14:43:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228134340.02F602474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 14:43:39 Modified files: cm3/m3-sys/m3cc/src/: clean_marker.txt Log message: clean again From jkrell at elego.de Tue Dec 28 15:11:56 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 15:11:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228141156.DFF162474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 15:11:56 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c Log message: This is a nonsense change that causes zero semantic change, however it works around a bug in g++ 3.3. Without this change, g++ 3.3 on OpenBSD/x86 4.7 crashes compiling these two functions. With this change, it does not crash. gcc 3.3 has no problem either way (C vs. C++ frontend). Odds are also likely that not using -enable-checking would also let this work, but I didn't try that. From jkrell at elego.de Tue Dec 28 22:44:08 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 22:44:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228214408.E56852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 22:44:08 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: sched-deps.c Log message: more nonsense that should workaround g++ 3.3 g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sbitmap.c -o sbitmap.o g++ -c -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wmissing-format-attribute -fno-common -DHAVE_CONFIG_H -I. -I. -I../../gcc-4.5/gcc -I../../gcc-4.5/gcc/. -I../../gcc-4.5/gcc/../include -I../../gcc-4.5/gcc/../libcpp/include -I/usr/local/include ../../gcc-4.5/gcc/sched-deps.c -o sched-deps.o ../../gcc-4.5/gcc/sched-deps.c: In function `bool insn_use_p(rtx_def*, int)': ../../gcc-4.5/gcc/sched-deps.c:0: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See for instructions. gmake: *** [sched-deps.o] Error 1 "/home/jay/dev2/cm3/m3-sys/m3cc/src/m3makefile", line 273: quake runtime error: exit 2: cd . && cd gcc && gmake MAKE=gmake AUTOCONF=: AUTOMAKE=: LEX='touch lex.yy.c' MAKEINFO=: s-modes insn-config.h m3cg From jkrell at elego.de Tue Dec 28 23:01:07 2010 From: jkrell at elego.de (Jay Krell) Date: Tue, 28 Dec 2010 23:01:07 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101228220107.7EE5A2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/28 23:01:07 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: vec.h Log message: workaround g++ 3.3 problems more (fixes error in sched-deps.c) From jkrell at elego.de Wed Dec 29 07:18:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:18:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229061821.A8B942474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:18:21 Modified files: cm3/scripts/python/: pylib.py Log message: fix rmtree/isdir From jkrell at elego.de Wed Dec 29 07:34:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 7:34:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229063447.032E52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 07:34:46 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: haifa-sched.c sched-deps.c Log message: go back a version, the vec.h change probably suffices From jkrell at elego.de Wed Dec 29 08:04:08 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:04:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229070408.992242474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:04:08 Modified files: cm3/scripts/python/: pylib.py Log message: should fix CopyConfigForDevelopment, since yesteray's changes From jkrell at elego.de Wed Dec 29 08:23:03 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:23:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229072303.757072474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:23:03 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: add __cdecl From jkrell at elego.de Wed Dec 29 08:30:47 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:30:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229073047.F34292474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:30:47 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: remove commented out disable/enableswitching From jkrell at elego.de Wed Dec 29 08:47:34 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 8:47:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229074734.3AB8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 08:47:34 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/C/Common/: CstdlibC.c Log message: OpenBSD has this: /usr/include/sys/cdefs.h:#define __malloc __attribute__((__malloc__)) which interferes with: M3PASTE(M3MODULE, __##name) in We end up with Cstdlib____attribute__((__malloc__)) where we want Cstdlib__malloc for now M3WRAP_NO_SWITCHING takes m3name and cname separate, i.e., no more M3MODULE, no more pasting, but pass Cstdlib__malloc and malloc. Longer term, soon!, need to do this for the more heavily used macros. Another thing we could try is PASTE3(M3MODULE,_, _##name) in but this still runs the risk of single underscore: /usr/include/sys/cdefs.h:#define _malloc __attribute__((__malloc__)) or somesuch. It seems impossible to get name evaluated and pasted-without-evaluation. So we will stop using pasting. Note that M3WRAP1_ will have to change also, to take foo and _foo and select one, since "stop using pasting" I'll interpret strenuously and not even do _#foo, likely. From jkrell at elego.de Wed Dec 29 09:40:33 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 9:40:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229084033.8FE252474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 09:40:33 Modified files: cm3/m3-libs/m3core/src/: m3core.h Log message: Add some clarifying comments. On further thought/work, the token pasting will stay. As needed we still have two or three options short of "rewrite". - #undef __foo as needed, as problems are discovered We don't ahve to #undef __malloc as that has been worked around by moving a small number of special macros/uses to pass m3name and cname separately - move the pasting up a level to the numbered macros and pass Mmodule__foo, foo to the lower level as needed - use _foo as the intermediate instead of __foo The token pasting approach is just too attractive for the amount of repitition is removes. If push comes to shove, we can also checkin custom text files and process them with quake/awk/C/Modula-3. Probably quake. Really not a bad idea. Like how m3-win/import-libs works. From jkrell at elego.de Wed Dec 29 10:36:12 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 10:36:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229093612.AFF8F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 10:36:12 Modified files: cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c m3makefile cm3/m3-libs/m3core/src/unix/Common/context/: m3makefile Log message: Switch OpenBSD to pthreads! Beware, I did once see: --- p244 --- gcc 4.5 backend crash with 'fre' optimization cd ../src/p2/p244 && cm3 -silent -DM3TESTS >I386_OPENBSD/stdout.build.raw 2>I386_OPENBSD/stderr.build.raw *** *** runtime error: *** Thread client error: 22 *** file "../src/thread/PTHREAD/ThreadPThread.m3", line 130 *** EINVAL PROCEDURE UnlockMutex (m: Mutex) = (* LL = m *) BEGIN IF m.mutex = NIL THEN InitMutex(m.mutex, m, CleanMutex) END; WITH r = pthread_mutex_unlock(m.mutex) DO IF r # 0 THEN DieI(ThisLine(), r) END; line 130 END; END UnlockMutex; something to watch out for, try to stress test, see if it can be made to occur often/consistently, and fixed. Maybe initialize mutexes up-front instead of on-demand? Death to user threads?? From jkrell at elego.de Wed Dec 29 12:19:01 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:19:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229111901.D3146CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:19:01 Modified files: cm3/m3-tools/cvsup/suplib/src/: GzipRd.m3 GzipWr.m3 Ugzip.i3 Ugzip.m3 Log message: call malloc/free more directly, without the TRY/FINALLY Enable/DisableSwitching From jkrell at elego.de Wed Dec 29 12:23:24 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:23:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112324.434B5CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:23:24 Added files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Log message: work in progress, this probably belongs in m3-libs/zlib From jkrell at elego.de Wed Dec 29 12:24:36 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:24:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112436.ACACECC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:24:36 Modified files: cm3/scratch/zlib/src/: zlib.m3 Log message: fix whitespace From jkrell at elego.de Wed Dec 29 12:25:27 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:25:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229112527.EF2DE2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:25:27 Modified files: cm3/scratch/zlib/src/: zlib.i3 Log message: remove tabs From jkrell at elego.de Wed Dec 29 12:52:14 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 12:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229115214.E9277CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 12:52:14 Modified files: cm3/scratch/zlib/src/: m3makefile zlib.i3 zlib.m3 Added files: cm3/scratch/zlib/src/: zconf.i3 Log message: work in progress, more faithful to the original From jkrell at elego.de Wed Dec 29 13:03:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:03:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229120317.E5781CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:03:17 Modified files: cm3/m3-libs/m3core/src/: m3core.h cm3/m3-libs/m3core/src/runtime/POSIX/: RTSignalC.c cm3/m3-libs/m3core/src/thread/: m3makefile cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosixC.c cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThreadC.c cm3/m3-libs/m3core/src/unix/Common/: m3makefile Removed files: 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 m3makefile tcontext.c Log message: remove get/set/make/swapcontext implementation for OpenBSD, now that using pthreads Death to user threads?! (No, deletes won't go any/much further. Systems with get/set/swapcontext or sigaltstack will likely just keep working if one fiddles with the m3makefile and rebuilds the entire system.) But still, no forseeable near future use, as long as OpenBSD pthreads holds up well enough... let's hope... From jkrell at elego.de Wed Dec 29 13:25:21 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:25:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122521.64C79CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:25:21 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: add fread, wrapper already present in CstdioC.c From jkrell at elego.de Wed Dec 29 13:28:37 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:28:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229122837.1D3792474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:28:37 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress From jkrell at elego.de Wed Dec 29 13:39:31 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229123931.F24852474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:39:31 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: work in progress first versiont that is all converted and does start dumping correct content..but fails From jkrell at elego.de Wed Dec 29 13:41:17 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:41:17 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124117.D83E32474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:41:17 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 13:49:15 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:49:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229124915.6CA63CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:49:15 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: use initializers for lame simulation of ternary operator From jkrell at elego.de Wed Dec 29 13:51:05 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 13:51:05 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229125105.AC487CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 13:51:05 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: whitespace only From jkrell at elego.de Wed Dec 29 14:15:50 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:15:50 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131550.9EBE12474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:15:50 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: some important fixes: argv[1] instead of argv[0], L instead of ADR(L) From jkrell at elego.de Wed Dec 29 14:19:46 2010 From: jkrell at elego.de (Jay Krell) Date: Wed, 29 Dec 2010 14:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101229131946.DE0A2CC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/29 14:19:46 Modified files: cm3/scratch/macho/src/: macho.m3 Log message: save one heap alloc or one string copy by using a field width one wider From hosking at cs.purdue.edu Thu Dec 30 07:17:32 2010 From: hosking at cs.purdue.edu (Tony Hosking) Date: Thu, 30 Dec 2010 01:17:32 -0500 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <20101228120039.CB8532474003@birch.elegosoft.com> References: <20101228120039.CB8532474003@birch.elegosoft.com> Message-ID: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Giving up on the stack walker will relegate it to bitrot. A shame! On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > CVSROOT: /usr/cvs > Changes by: jkrell at birch. 10/12/28 13:00:39 > > Modified files: > cm3/m3-libs/m3core/src/unix/: m3makefile > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > Removed files: > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > m3makefile > > Log message: > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) From jay.krell at cornell.edu Thu Dec 30 09:46:30 2010 From: jay.krell at cornell.edu (Jay K) Date: Thu, 30 Dec 2010 08:46:30 +0000 Subject: [M3commit] CVS Update: cm3 In-Reply-To: <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> References: <20101228120039.CB8532474003@birch.elegosoft.com>, <41AC93C4-58E3-4FE0-9813-31675F3CFD8D@cs.purdue.edu> Message-ID: Then please go ahead and make it work... The OSF/Alpha one hasn't been in use in many years. I tried it recently and it didn't work. I don't remember if that was with gcc 4.5 or 4.3. I couldn't get Solaris/sparc to work with gcc 4.5 even without optimization. There are two paths to progress. - the gcc/libgcc exception handling/stack walking support; you agreed to this..now just for someone to do it...not a small item - outputing C++ as intermediate code Or possibly something involving LLVM. (meanwhile, I'm playing around with dumping Mach-O files with the *possible* albeit unlikely goal of porting the integrated backend to more x86 targets, which would initially lock-in setjmp/longjmp, but is surely still fixable...) - Jay > From: hosking at cs.purdue.edu > Date: Thu, 30 Dec 2010 01:17:32 -0500 > To: jkrell at elego.de > CC: m3commit at elegosoft.com > Subject: Re: [M3commit] CVS Update: cm3 > > Giving up on the stack walker will relegate it to bitrot. A shame! > > On Dec 28, 2010, at 1:00 PM, Jay Krell wrote: > > > CVSROOT: /usr/cvs > > Changes by: jkrell at birch. 10/12/28 13:00:39 > > > > Modified files: > > cm3/m3-libs/m3core/src/unix/: m3makefile > > cm3/m3-libs/m3core/src/unix/Common/: m3makefile > > Removed files: > > cm3/m3-libs/m3core/src/unix/osf-1.ALPHA_OSF/: Usignal.i3 > > m3makefile > > > > Log message: > > remove ALPHA_OSF Usignal.i3 since we have given up on our stack walker > > (I couldn't even get Solaris/sparc to work with gcc 4.5 recall.) > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jkrell at elego.de Thu Dec 30 13:46:39 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 13:46:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230124639.818B52474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 13:46:39 Modified files: cm3/scripts/python/: pylib.py Log message: If target isn't specified on the command line and $CM3_TARGET isn't set, then use cm3 -version 2>/dev/null | egrep " +host: +" > /dev/null, if it works, before going into uname. (remove spaces, newlines, carriage returns, and "host:"; probably should strengthen and take the first whitespace-delimited token after "host:", in case we later print more information here?) This fixes the ambiguity of I386_DARWIN vs. AMD64_DARWIN, and several others. LINUXLIBC6 vs. I386_LINUX NT386 vs. I386_NT vs. I386_CYGWIN etc. The two other aggressive uname users should do this too! scripts/sysinfo.sh scripts/regression/defs.sh From jkrell at elego.de Thu Dec 30 14:08:47 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:08:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230130847.B710E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:08:47 Modified files: cm3/scripts/python/: pylib.py Log message: save a process and save depending on egrep From jkrell at elego.de Thu Dec 30 14:10:13 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:10:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131013.186E92474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:10:13 Modified files: cm3/scripts/python/: pylib.py Log message: and boom, no need for all the uname sniffing now, porting work reduced From jkrell at elego.de Thu Dec 30 14:12:15 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:12:15 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131215.5C149CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:12:15 Modified files: cm3/scripts/python/: pylib.py Log message: less picky about whitespace From jkrell at elego.de Thu Dec 30 14:18:27 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:18:27 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230131827.7ECE0CC126@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:18:27 Modified files: cm3/scripts/: sysinfo.sh Log message: replace big uname switch with: $CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//" Let's hope: - it works on Solaris where we have steady difficulty achieving portability of shell code - perl is everywhere (else I'm sure sed/awk could be used) This removes more porting work and host/target knowledge from the system. Still more to do. From jkrell at elego.de Thu Dec 30 14:21:33 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:21:33 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230132133.8FABC2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:21:33 Modified files: cm3/scripts/: sysinfo-new.sh Log message: replace big uname switch with: `$CM3 -version 2>/dev/null | grep host: | perl -pi -e "s/ *host: *//"` if $CM3_TARGET not set (the Python scripts all also allow target on command line besides in the environment, but the Sh scripts do not) From jkrell at elego.de Thu Dec 30 14:35:02 2010 From: jkrell at elego.de (Jay Krell) Date: Thu, 30 Dec 2010 14:35:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101230133502.67C02CC123@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/30 14:35:02 Modified files: cm3/m3-libs/m3core/src/runtime/common/: Compiler.tmpl Log message: remove Compiler.ThisPlatform yet another piece of porting work gone There are no uses of this, and any uses would be somewhat dubious, and easy to replace with a compile time check of TARGET in Quake code. See this code for how: jbook2:src jay$ grep OSF */*/*e os/POSIX/m3makefile: "OSF" : "Digital Unix", os/POSIX/m3makefile:if equal(TARGET, "ALPHA_OSF") or equal(TARGET, "DS3100") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "TRUE") os/POSIX/m3makefile: MakeInterfaceForConstant("SocketPosix_IsUltrixOrOSF", "FALSE") jbook2:src jay$ pwd /dev2/cm3/m3-libs/libm3/src (recall, this use of Compiler.ThisPlatform in libm3 was a constraint on bootstrapping flexibility for a long time, and so pointless!) Or, more generally, a mapping of platform to platform-specific source, as occurs in a few places esp. in m3core. Often "narrowing" through word size, or endian, or Linux vs. FreeBSD etc. instead of complete target tuple. From jkrell at elego.de Fri Dec 31 08:36:08 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 8:36:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231073608.D63FCCC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 08:36:08 Modified files: cm3/m3-libs/m3core/src/C/Common/: Cstdio.i3 Log message: remove FILE type leave only FILE_star type From jkrell at elego.de Fri Dec 31 15:15:48 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:15:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231141548.8B73F2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:15:48 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExFrame.m3 RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTExStack.i3 Log message: one newline is enough at the end of files, don't need two From jkrell at elego.de Fri Dec 31 15:36:55 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:36:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231143656.009EFCC127@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:36:55 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 RTExRep.i3 Log message: before PFx = UNTRACED REF EFx; EFx = RECORD ... after PFx = UNTRACED REF RECORD (* EFx *) ... Because the types EFx are never instantiated by Modula-3 code by value via these descriptions. Their sizes are not needed. In particular, the size of the jmpbuf is not needed, and specifying it is unnecessary porting work. Though the alignment is seemingly needed to compute the offset correctly, even though 128bit alignment isn't/can't be expressed, so the alignment isn't generally correct. That is left alone for now. Only the compiler instantiates these types, using special hardcoded values that don't derive from these files. (see m3middle/src/M3RT) From jkrell at elego.de Fri Dec 31 15:46:52 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 15:46:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231144653.1AF3E2474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 15:46:52 Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExRep.i3 RTException.m3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExRep.i3 RTException.m3 Log message: delete files that have been dead since 5.1 see e.g.: http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_frame/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/ex_stack/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u that removed them from the m3makefiles http://dcvs.elegosoft.com/cgi-bin/cvsweb.cgi/cm3/m3-libs/m3core/src/runtime/common/m3makefile.diff?r1=1.1.1.1;r2=1.1.1.2;f=u added RTException to common I think RTExRep is buried in interfaces that don't have common names, i.e. RTExFrame, RTExStack (and can possibly be moved from interfaces into modules, if only consumed by one module, I'll check) From jkrell at elego.de Fri Dec 31 16:04:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:04:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231150425.42653CC125@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:04:22 Modified files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.m3 m3makefile cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.m3 m3makefile Removed files: cm3/m3-libs/m3core/src/runtime/ex_frame/: RTExFrame.i3 cm3/m3-libs/m3core/src/runtime/ex_stack/: RTExStack.i3 Log message: merge interface RTExFrame into module RTExFrame merge interface RTExStack into module RTExStack both these modules export common interface RTException there are no users of interfaces RTExFrame, RTExStack and there probably never will be? They are very low level. It is concievable, I guess, that interface RTExStack exists/existed to support writing per-target stack walkers in Modula-3? Cross that bridge if it is ever rebuilt. (We aren't likely to write new stack walkers, let alone in Modula-3; we are most likely to reuse existing ones, libunwind/libgcc.) It is also concievable that RTExFrame might have uses, e.g. stack dumper written in Modula-3? Again, doesn't seem likely at the current time and pace. (Again, e are more likely to leverage m3cg -funwind-tables/libunwind/libgcc.) From jkrell at elego.de Fri Dec 31 16:23:22 2010 From: jkrell at elego.de (Jay Krell) Date: Fri, 31 Dec 2010 16:23:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20101231152322.7ED152474003@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 10/12/31 16:23:22 Modified files: cm3/scripts/: sysinfo.sh Log message: put back big uname switch, as $CM3 is set to something nonexistant so running it to grep for host: doesn't work. This should be revisited.