From jkrell at elego.de Sun Nov 3 08:27:01 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 8:27:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103072701.952DB5DED75@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 08:27:01 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: config.gcc Log message: don't require -enable-obsolete From jkrell at elego.de Sun Nov 3 18:49:08 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 18:49:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103174908.D71075DECAC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 18:49:08 Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/i386/: openbsd64.h Log message: OpenBSD/amd64 support from http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic/patch-gcc_config_i386_openbsd64_h?rev=1.1.1.1;content-type=text%2Fplain (mostly C/C++ related but not entirely?, and the file is needed unless we edit elsewhere..) From jkrell at elego.de Sun Nov 3 19:00:34 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103180034.6042B5DED3D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:00:34 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: We don't need exec-stack.h as we don't create trampolines, as we implement nested functions a different way. Perhaps we should reuse gcc's way. There is no good solution there though. gcc's is very flawed and ours is too. In the gcc case, they require producing executable code at runtime, on the stack, which these days/decades has gotten more and more difficult in the face of "security". In our code, we require that function pointers aren't necessarily the same "flat" thing as in C/C++. For us, whenever we go to call a function pointer, we first read the bytes therein and look for a marker integer value of -1, and if we see it, we interpret the following integers as a struct -- frame pointer and actual pointer. The problem with this approach is, besides being slower, it depends on -1 being invalid code, which really isn't clearly correct. The marker value and size should probably be target-specific. For example, most 64bit targets should have a 4 byte marker. i.e. most targets have a 4 byte instruction. The read should avoid crossing a page, which is easy for non-x86 targets. x86: maximum instruction size is 15 bytes and instructions can cross a page. Imagine a function near the end of a page, at the end of a valid virtual address range. The function might end before the end of the page, but the check for a closure could read beyond the end of page and access violate. From jkrell at elego.de Sun Nov 3 19:28:55 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:28:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103182856.0F31D5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:28:55 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/mips/: mips.c Log message: initialize locals -- language ought to optionally do this.. From jkrell at elego.de Sun Nov 3 19:31:03 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103183103.7A57E5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:31:03 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: no change, but amend previous comment I don't think we read beyond end of page looking for marker. I think we check alignment first and if pointer isn't integer-aligned, we assume it isn't a closure, without looking for the signature bytes. From jkrell at elego.de Sun Nov 3 19:40:02 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:40:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184002.BF25F5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:40:02 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: sysv4.h Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: openbsd.h openbsd1.h Log message: more patches from: http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic From jkrell at elego.de Sun Nov 3 19:45:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:45:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184518.5A2AE5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:45:18 Modified files: ./: PickleTestWideChar.m3 Log message: Uncomment TextClass.Flatten call, which only exists in head and unicode branch. Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:48:48 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:48:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184849.017F55DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:48:48 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184918.458665DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:18 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:56 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184956.E88735DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:56 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: fix typo From jkrell at elego.de Mon Nov 4 05:59:48 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 5:59:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104045948.5B78E5DED22@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 05:59:48 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: - move everyone to 4.7 by default, except ARM_DARWIN - remove -enable-obsolete, config.gcc patched instead From jkrell at elego.de Mon Nov 4 07:09:01 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 7:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104060901.436EB5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 07:09:01 Modified files: cm3/m3-sys/m3quake/src/: QMachine.m3 ./: QMachine.m3 cm3/m3-sys/cm3/src/: Main.m3 Makefile.i3 Makefile.m3 Log message: Silently allow assignment to readonly variables, as long as the new value is equivalent; the old value is kept (remember -- new and old are equivalent, not necessarily the same value -- it is a structural/recursive equivalence) Does Quake allow recursive data structurs? If so, assigning a recursive value to or from a readonly value will recurse forever. The fix for that would be to hash up any references seen during the walk and stop upon a repeat. Evaluate -Dfoo=bar on the command line earlier These get written to m3make.args. That is why the change to allow readonly variables to be written. This way, you can say cm3 -DTARGET=foo. Consider not writing to m3make.args. From jkrell at elego.de Mon Nov 4 08:39:31 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 8:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104073931.CD98F5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 08:39:30 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/arm/: arm.h Log message: default to hardfloat not sure where I got this from From rodney at elego.de Mon Nov 4 21:35:01 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:35:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203501.94E6A5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:35:01 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: Tag: devel_unicode PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:36:41 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203641.4DCB25DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:36:41 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:52:32 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:52:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205232.DA61D5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:52:32 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: Tag: devel_unicode ConvertPacking.m3 PklAction.i3 Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From rodney at elego.de Mon Nov 4 21:53:49 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:53:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205349.A1C185DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:53:49 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: BuiltinSpecials2.m3 ConvertPacking.i3 ConvertPacking.m3 Pickle2.i3 Pickle2.m3 PickleRd.i3 PickleStubs.i3 PickleStubs.m3 PklAction.i3 PklTipeMap.i3 PklTipeMap.m3 m3makefile Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From jkrell at elego.de Tue Nov 5 02:52:14 2013 From: jkrell at elego.de (Jay Krell) Date: Tue, 5 Nov 2013 2:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131105015214.F286E5DED00@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/05 02:52:14 Modified files: cm3/m3-sys/m3cc/src/: buildmany.sh m3makefile platforms.quake Log message: fix name of IA64_VMS to that which is recognized and works add more ARM_LINUX variants: ARM6_LINUX, ARMV6_LINUX, ARM7_LINUX, ARMV7_LINUX I would favor omitting "V" for brevity. Is the vfp part correct for v7? Notice that OpenBSD now has an armv7 port, so this armv7 thing is spreading. Also we need to have common code for prefixes/suffixes like: SPARC64_, _LINUX, _AIX, _IRIX, etc. From rodney at elego.de Sat Nov 16 19:05:12 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 16 Nov 2013 19:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116180512.1EC275DF546@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/16 19:05:12 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PklFpMap.i3 PklFpMap.m3 Log message: Rework, cleanup, and generalize recognition of foreign fingerprints. From rodney at elego.de Sun Nov 17 00:02:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 17 Nov 2013 0:02:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116230222.9A8465DF54D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/17 00:02:22 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTPacking.i3 RTPacking.m3 RTTipe.i3 RTTipe.m3 Log message: Initial changes to compiler and libraries to make WIDECHAR big enough for current Unicode. Language: LAST(WIDECHAR) = 16_10FFFF Unicode escapes in char and text literals: W'\U10FFFF' = VAL ( ORD ( 16_10FFFF ) , WIDECHAR ) Legal in nonwide literals, but value must be in range, e.g. \U0000FF. Implementation: BITSIZE(WIDECHAR) = 32 These are hard-coded in the compiler (m3front, m3cc(gcc-4.7) Library changes (m3core) adapt on recompilation to the WIDECHAR range of the compiler used to compile them. Debugger adapts at its runtime to the WIDECHAR size of the code it is debugging, but everything in the link closure needs to be recompiled by a compiler with the same WIDECHAR size. To bootstrap: 1) Compile m3front and m3cc with an older compiler. 2) Compile m3core with the compiler produced by step 1) From rodney at elego.de Tue Nov 19 02:18:25 2013 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 19 Nov 2013 2:18:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131119011825.2C2EA5DF5B3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/19 02:18:25 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PickleWr.i3 Log message: Forward compatability with pickles written with Unicode-sized WIDECHAR From rodney at elego.de Sat Nov 30 21:06:31 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:06:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130200631.67BAA5DF5F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:06:31 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniCodec.i3 UniCodec.m3 UnsafeUniCodec.i3 UnsafeUniCodec.m3 Log message: Comments From rodney at elego.de Sat Nov 30 21:40:20 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:40:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130204020.2693A5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:40:20 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniRd.i3 UniRd.m3 UniWr.i3 UnsafeUniRd.i3 UnsafeUniRd.m3 UnsafeUniWr.i3 Log message: Comments From rodney at elego.de Sat Nov 30 21:56:10 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:56:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130205610.14A7C5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:56:10 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode Rd.m3 Log message: Comments and formatting From jkrell at elego.de Sun Nov 3 08:27:01 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 8:27:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103072701.952DB5DED75@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 08:27:01 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: config.gcc Log message: don't require -enable-obsolete From jkrell at elego.de Sun Nov 3 18:49:08 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 18:49:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103174908.D71075DECAC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 18:49:08 Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/i386/: openbsd64.h Log message: OpenBSD/amd64 support from http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic/patch-gcc_config_i386_openbsd64_h?rev=1.1.1.1;content-type=text%2Fplain (mostly C/C++ related but not entirely?, and the file is needed unless we edit elsewhere..) From jkrell at elego.de Sun Nov 3 19:00:34 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103180034.6042B5DED3D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:00:34 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: We don't need exec-stack.h as we don't create trampolines, as we implement nested functions a different way. Perhaps we should reuse gcc's way. There is no good solution there though. gcc's is very flawed and ours is too. In the gcc case, they require producing executable code at runtime, on the stack, which these days/decades has gotten more and more difficult in the face of "security". In our code, we require that function pointers aren't necessarily the same "flat" thing as in C/C++. For us, whenever we go to call a function pointer, we first read the bytes therein and look for a marker integer value of -1, and if we see it, we interpret the following integers as a struct -- frame pointer and actual pointer. The problem with this approach is, besides being slower, it depends on -1 being invalid code, which really isn't clearly correct. The marker value and size should probably be target-specific. For example, most 64bit targets should have a 4 byte marker. i.e. most targets have a 4 byte instruction. The read should avoid crossing a page, which is easy for non-x86 targets. x86: maximum instruction size is 15 bytes and instructions can cross a page. Imagine a function near the end of a page, at the end of a valid virtual address range. The function might end before the end of the page, but the check for a closure could read beyond the end of page and access violate. From jkrell at elego.de Sun Nov 3 19:28:55 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:28:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103182856.0F31D5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:28:55 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/mips/: mips.c Log message: initialize locals -- language ought to optionally do this.. From jkrell at elego.de Sun Nov 3 19:31:03 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103183103.7A57E5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:31:03 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: no change, but amend previous comment I don't think we read beyond end of page looking for marker. I think we check alignment first and if pointer isn't integer-aligned, we assume it isn't a closure, without looking for the signature bytes. From jkrell at elego.de Sun Nov 3 19:40:02 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:40:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184002.BF25F5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:40:02 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: sysv4.h Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: openbsd.h openbsd1.h Log message: more patches from: http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic From jkrell at elego.de Sun Nov 3 19:45:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:45:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184518.5A2AE5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:45:18 Modified files: ./: PickleTestWideChar.m3 Log message: Uncomment TextClass.Flatten call, which only exists in head and unicode branch. Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:48:48 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:48:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184849.017F55DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:48:48 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184918.458665DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:18 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:56 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184956.E88735DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:56 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: fix typo From jkrell at elego.de Mon Nov 4 05:59:48 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 5:59:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104045948.5B78E5DED22@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 05:59:48 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: - move everyone to 4.7 by default, except ARM_DARWIN - remove -enable-obsolete, config.gcc patched instead From jkrell at elego.de Mon Nov 4 07:09:01 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 7:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104060901.436EB5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 07:09:01 Modified files: cm3/m3-sys/m3quake/src/: QMachine.m3 ./: QMachine.m3 cm3/m3-sys/cm3/src/: Main.m3 Makefile.i3 Makefile.m3 Log message: Silently allow assignment to readonly variables, as long as the new value is equivalent; the old value is kept (remember -- new and old are equivalent, not necessarily the same value -- it is a structural/recursive equivalence) Does Quake allow recursive data structurs? If so, assigning a recursive value to or from a readonly value will recurse forever. The fix for that would be to hash up any references seen during the walk and stop upon a repeat. Evaluate -Dfoo=bar on the command line earlier These get written to m3make.args. That is why the change to allow readonly variables to be written. This way, you can say cm3 -DTARGET=foo. Consider not writing to m3make.args. From jkrell at elego.de Mon Nov 4 08:39:31 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 8:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104073931.CD98F5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 08:39:30 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/arm/: arm.h Log message: default to hardfloat not sure where I got this from From rodney at elego.de Mon Nov 4 21:35:01 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:35:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203501.94E6A5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:35:01 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: Tag: devel_unicode PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:36:41 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203641.4DCB25DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:36:41 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:52:32 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:52:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205232.DA61D5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:52:32 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: Tag: devel_unicode ConvertPacking.m3 PklAction.i3 Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From rodney at elego.de Mon Nov 4 21:53:49 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:53:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205349.A1C185DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:53:49 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: BuiltinSpecials2.m3 ConvertPacking.i3 ConvertPacking.m3 Pickle2.i3 Pickle2.m3 PickleRd.i3 PickleStubs.i3 PickleStubs.m3 PklAction.i3 PklTipeMap.i3 PklTipeMap.m3 m3makefile Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From jkrell at elego.de Tue Nov 5 02:52:14 2013 From: jkrell at elego.de (Jay Krell) Date: Tue, 5 Nov 2013 2:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131105015214.F286E5DED00@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/05 02:52:14 Modified files: cm3/m3-sys/m3cc/src/: buildmany.sh m3makefile platforms.quake Log message: fix name of IA64_VMS to that which is recognized and works add more ARM_LINUX variants: ARM6_LINUX, ARMV6_LINUX, ARM7_LINUX, ARMV7_LINUX I would favor omitting "V" for brevity. Is the vfp part correct for v7? Notice that OpenBSD now has an armv7 port, so this armv7 thing is spreading. Also we need to have common code for prefixes/suffixes like: SPARC64_, _LINUX, _AIX, _IRIX, etc. From rodney at elego.de Sat Nov 16 19:05:12 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 16 Nov 2013 19:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116180512.1EC275DF546@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/16 19:05:12 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PklFpMap.i3 PklFpMap.m3 Log message: Rework, cleanup, and generalize recognition of foreign fingerprints. From rodney at elego.de Sun Nov 17 00:02:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 17 Nov 2013 0:02:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116230222.9A8465DF54D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/17 00:02:22 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTPacking.i3 RTPacking.m3 RTTipe.i3 RTTipe.m3 Log message: Initial changes to compiler and libraries to make WIDECHAR big enough for current Unicode. Language: LAST(WIDECHAR) = 16_10FFFF Unicode escapes in char and text literals: W'\U10FFFF' = VAL ( ORD ( 16_10FFFF ) , WIDECHAR ) Legal in nonwide literals, but value must be in range, e.g. \U0000FF. Implementation: BITSIZE(WIDECHAR) = 32 These are hard-coded in the compiler (m3front, m3cc(gcc-4.7) Library changes (m3core) adapt on recompilation to the WIDECHAR range of the compiler used to compile them. Debugger adapts at its runtime to the WIDECHAR size of the code it is debugging, but everything in the link closure needs to be recompiled by a compiler with the same WIDECHAR size. To bootstrap: 1) Compile m3front and m3cc with an older compiler. 2) Compile m3core with the compiler produced by step 1) From rodney at elego.de Tue Nov 19 02:18:25 2013 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 19 Nov 2013 2:18:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131119011825.2C2EA5DF5B3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/19 02:18:25 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PickleWr.i3 Log message: Forward compatability with pickles written with Unicode-sized WIDECHAR From rodney at elego.de Sat Nov 30 21:06:31 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:06:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130200631.67BAA5DF5F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:06:31 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniCodec.i3 UniCodec.m3 UnsafeUniCodec.i3 UnsafeUniCodec.m3 Log message: Comments From rodney at elego.de Sat Nov 30 21:40:20 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:40:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130204020.2693A5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:40:20 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniRd.i3 UniRd.m3 UniWr.i3 UnsafeUniRd.i3 UnsafeUniRd.m3 UnsafeUniWr.i3 Log message: Comments From rodney at elego.de Sat Nov 30 21:56:10 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:56:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130205610.14A7C5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:56:10 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode Rd.m3 Log message: Comments and formatting From jkrell at elego.de Sun Nov 3 08:27:01 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 8:27:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103072701.952DB5DED75@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 08:27:01 Modified files: cm3/m3-sys/m3cc/gcc-4.5/gcc/: config.gcc Log message: don't require -enable-obsolete From jkrell at elego.de Sun Nov 3 18:49:08 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 18:49:08 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103174908.D71075DECAC@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 18:49:08 Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/i386/: openbsd64.h Log message: OpenBSD/amd64 support from http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic/patch-gcc_config_i386_openbsd64_h?rev=1.1.1.1;content-type=text%2Fplain (mostly C/C++ related but not entirely?, and the file is needed unless we edit elsewhere..) From jkrell at elego.de Sun Nov 3 19:00:34 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:00:34 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103180034.6042B5DED3D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:00:34 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: We don't need exec-stack.h as we don't create trampolines, as we implement nested functions a different way. Perhaps we should reuse gcc's way. There is no good solution there though. gcc's is very flawed and ours is too. In the gcc case, they require producing executable code at runtime, on the stack, which these days/decades has gotten more and more difficult in the face of "security". In our code, we require that function pointers aren't necessarily the same "flat" thing as in C/C++. For us, whenever we go to call a function pointer, we first read the bytes therein and look for a marker integer value of -1, and if we see it, we interpret the following integers as a struct -- frame pointer and actual pointer. The problem with this approach is, besides being slower, it depends on -1 being invalid code, which really isn't clearly correct. The marker value and size should probably be target-specific. For example, most 64bit targets should have a 4 byte marker. i.e. most targets have a 4 byte instruction. The read should avoid crossing a page, which is easy for non-x86 targets. x86: maximum instruction size is 15 bytes and instructions can cross a page. Imagine a function near the end of a page, at the end of a valid virtual address range. The function might end before the end of the page, but the check for a closure could read beyond the end of page and access violate. From jkrell at elego.de Sun Nov 3 19:28:55 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:28:55 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103182856.0F31D5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:28:55 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/mips/: mips.c Log message: initialize locals -- language ought to optionally do this.. From jkrell at elego.de Sun Nov 3 19:31:03 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103183103.7A57E5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:31:03 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: config.gcc Log message: no change, but amend previous comment I don't think we read beyond end of page looking for marker. I think we check alignment first and if pointer isn't integer-aligned, we assume it isn't a closure, without looking for the signature bytes. From jkrell at elego.de Sun Nov 3 19:40:02 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:40:02 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184002.BF25F5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:40:02 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: sysv4.h Added files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/rs6000/: openbsd.h openbsd1.h Log message: more patches from: http://www.openbsd.org/cgi-bin/cvsweb/ports/lang/gcc/4.7/patches/Attic From jkrell at elego.de Sun Nov 3 19:45:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:45:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184518.5A2AE5DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:45:18 Modified files: ./: PickleTestWideChar.m3 Log message: Uncomment TextClass.Flatten call, which only exists in head and unicode branch. Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:48:48 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:48:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184849.017F55DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:48:48 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:18 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:18 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184918.458665DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:18 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: initialize some locals From jkrell at elego.de Sun Nov 3 19:49:56 2013 From: jkrell at elego.de (Jay Krell) Date: Sun, 3 Nov 2013 19:49:56 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131103184956.E88735DED46@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/03 19:49:56 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/: ira-conflicts.c Log message: fix typo From jkrell at elego.de Mon Nov 4 05:59:48 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 5:59:48 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104045948.5B78E5DED22@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 05:59:48 Modified files: cm3/m3-sys/m3cc/src/: m3makefile Log message: - move everyone to 4.7 by default, except ARM_DARWIN - remove -enable-obsolete, config.gcc patched instead From jkrell at elego.de Mon Nov 4 07:09:01 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 7:09:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104060901.436EB5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 07:09:01 Modified files: cm3/m3-sys/m3quake/src/: QMachine.m3 ./: QMachine.m3 cm3/m3-sys/cm3/src/: Main.m3 Makefile.i3 Makefile.m3 Log message: Silently allow assignment to readonly variables, as long as the new value is equivalent; the old value is kept (remember -- new and old are equivalent, not necessarily the same value -- it is a structural/recursive equivalence) Does Quake allow recursive data structurs? If so, assigning a recursive value to or from a readonly value will recurse forever. The fix for that would be to hash up any references seen during the walk and stop upon a repeat. Evaluate -Dfoo=bar on the command line earlier These get written to m3make.args. That is why the change to allow readonly variables to be written. This way, you can say cm3 -DTARGET=foo. Consider not writing to m3make.args. From jkrell at elego.de Mon Nov 4 08:39:31 2013 From: jkrell at elego.de (Jay Krell) Date: Mon, 4 Nov 2013 8:39:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104073931.CD98F5DED51@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/04 08:39:30 Modified files: cm3/m3-sys/m3cc/gcc-4.7/gcc/config/arm/: arm.h Log message: default to hardfloat not sure where I got this from From rodney at elego.de Mon Nov 4 21:35:01 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:35:01 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203501.94E6A5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:35:01 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: Tag: devel_unicode PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:36:41 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:36:41 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104203641.4DCB25DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:36:41 Modified files: cm3/m3-libs/libm3/tests/pickle/src/: PickleTestWideChar.m3 Log message: 1) Properly report nonexistent read file, 2) Fix bug in displayed expected results when actual value is wrong. From rodney at elego.de Mon Nov 4 21:52:32 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:52:32 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205232.DA61D5DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:52:32 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: Tag: devel_unicode ConvertPacking.m3 PklAction.i3 Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From rodney at elego.de Mon Nov 4 21:53:49 2013 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 4 Nov 2013 21:53:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131104205349.A1C185DED7D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/04 21:53:49 Modified files: cm3/m3-libs/libm3/src/pickle/ver2/: BuiltinSpecials2.m3 ConvertPacking.i3 ConvertPacking.m3 Pickle2.i3 Pickle2.m3 PickleRd.i3 PickleStubs.i3 PickleStubs.m3 PklAction.i3 PklTipeMap.i3 PklTipeMap.m3 m3makefile Log message: Rework to properly narrow packed fields and elements of WIDECHAR type from full Unicode values > 16_FFFF to 16-bits (16_FFFD). From jkrell at elego.de Tue Nov 5 02:52:14 2013 From: jkrell at elego.de (Jay Krell) Date: Tue, 5 Nov 2013 2:52:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131105015214.F286E5DED00@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 13/11/05 02:52:14 Modified files: cm3/m3-sys/m3cc/src/: buildmany.sh m3makefile platforms.quake Log message: fix name of IA64_VMS to that which is recognized and works add more ARM_LINUX variants: ARM6_LINUX, ARMV6_LINUX, ARM7_LINUX, ARMV7_LINUX I would favor omitting "V" for brevity. Is the vfp part correct for v7? Notice that OpenBSD now has an armv7 port, so this armv7 thing is spreading. Also we need to have common code for prefixes/suffixes like: SPARC64_, _LINUX, _AIX, _IRIX, etc. From rodney at elego.de Sat Nov 16 19:05:12 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 16 Nov 2013 19:05:12 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116180512.1EC275DF546@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/16 19:05:12 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PklFpMap.i3 PklFpMap.m3 Log message: Rework, cleanup, and generalize recognition of foreign fingerprints. From rodney at elego.de Sun Nov 17 00:02:22 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sun, 17 Nov 2013 0:02:22 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131116230222.9A8465DF54D@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/17 00:02:22 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTPacking.i3 RTPacking.m3 RTTipe.i3 RTTipe.m3 Log message: Initial changes to compiler and libraries to make WIDECHAR big enough for current Unicode. Language: LAST(WIDECHAR) = 16_10FFFF Unicode escapes in char and text literals: W'\U10FFFF' = VAL ( ORD ( 16_10FFFF ) , WIDECHAR ) Legal in nonwide literals, but value must be in range, e.g. \U0000FF. Implementation: BITSIZE(WIDECHAR) = 32 These are hard-coded in the compiler (m3front, m3cc(gcc-4.7) Library changes (m3core) adapt on recompilation to the WIDECHAR range of the compiler used to compile them. Debugger adapts at its runtime to the WIDECHAR size of the code it is debugging, but everything in the link closure needs to be recompiled by a compiler with the same WIDECHAR size. To bootstrap: 1) Compile m3front and m3cc with an older compiler. 2) Compile m3core with the compiler produced by step 1) From rodney at elego.de Tue Nov 19 02:18:25 2013 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 19 Nov 2013 2:18:25 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131119011825.2C2EA5DF5B3@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/19 02:18:25 Added files: cm3/m3-libs/libm3/src/pickle/ver2/: PickleWr.i3 Log message: Forward compatability with pickles written with Unicode-sized WIDECHAR From rodney at elego.de Sat Nov 30 21:06:31 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:06:31 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130200631.67BAA5DF5F2@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:06:31 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniCodec.i3 UniCodec.m3 UnsafeUniCodec.i3 UnsafeUniCodec.m3 Log message: Comments From rodney at elego.de Sat Nov 30 21:40:20 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:40:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130204020.2693A5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:40:20 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode UniRd.i3 UniRd.m3 UniWr.i3 UnsafeUniRd.i3 UnsafeUniRd.m3 UnsafeUniWr.i3 Log message: Comments From rodney at elego.de Sat Nov 30 21:56:10 2013 From: rodney at elego.de (Rodney M. Bates) Date: Sat, 30 Nov 2013 21:56:10 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20131130205610.14A7C5DF5CA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 13/11/30 21:56:10 Modified files: cm3/m3-libs/libm3/src/rw/: Tag: devel_unicode Rd.m3 Log message: Comments and formatting