From thielema at elego.de Mon Oct 1 16:49:00 2007 From: thielema at elego.de (Henning Thielemann) Date: Mon, 1 Oct 2007 16:49:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071001144905.56EF810D4498@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: thielema at birch. 07/10/01 16:49:00 Added files: cm3/m3-libs/synthesizer/: Makefile cm3/m3-libs/synthesizer/doc/: Overview Test cm3/m3-libs/synthesizer/example/chirp/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/echo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/entchen/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/filter/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/inout/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/oscillator/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/plot/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/rueckwaerts/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/sirene/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stereo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stream/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/src/: m3makefile cm3/m3-libs/synthesizer/src/basic/: Interpolation.i3 Interpolation.m3 Signal.i3 Signal.m3 m3makefile cm3/m3-libs/synthesizer/src/control/: ProcessControlConstant.i3 ProcessControlConstant.m3 ProcessControlExponential.i3 ProcessControlExponential.m3 ProcessControlLinear.i3 ProcessControlLinear.m3 SignalControl.i3 m3makefile cm3/m3-libs/synthesizer/src/inout/: ProcessInOut.i3 ProcessInOut.m3 ProcessLoad.i3 ProcessLoad.m3 ProcessPipeIn.i3 ProcessPipeIn.m3 ProcessPipeOut.i3 ProcessPipeOut.m3 ProcessPlay.i3 ProcessPlay.m3 ProcessPlaySolaris.m3 ProcessPlot.i3 ProcessPlot.m3 ProcessSave.i3 ProcessSave.m3 m3makefile cm3/m3-libs/synthesizer/src/process/: ProcessAmplifier.i3 ProcessAmplifier.m3 ProcessClip.i3 ProcessClip.m3 ProcessComplexLowPass.i3 ProcessComplexLowPass.m3 ProcessConcat.i3 ProcessConcat.m3 ProcessDelay.i3 ProcessDelay.m3 ProcessEcho.i3 ProcessEcho.m3 ProcessExponential.i3 ProcessExponential.m3 ProcessFrequencyModulation.i3 ProcessFrequencyModulation.m3 ProcessLinear.i3 ProcessLinear.m3 ProcessLowPass.i3 ProcessLowPass.m3 ProcessMixer.i3 ProcessMixer.m3 ProcessMultiOutput.i3 ProcessMultiOutput.m3 ProcessPhaseModulation.i3 ProcessPhaseModulation.m3 ProcessReverse.i3 ProcessReverse.m3 ProcessSplit.i3 ProcessSplitList.m3 ProcessSplitPQ.m3 ProcessSplitSeq.m3 ProcessStateVariableFilter.i3 ProcessStateVariableFilter.m3 ProcessWhiteNoise.i3 ProcessWhiteNoise.m3 m3makefile cm3/m3-libs/synthesizer/src/process/oscillator/: ProcessOscillator.i3 ProcessOscillator.m3 ProcessOscillatorModulated.i3 ProcessOscillatorModulated.m3 ProcessOscillatorSine.i3 ProcessOscillatorSine.m3 ProcessOscillatorSineModulated.i3 ProcessOscillatorSineModulated.m3 WaveSaw.i3 WaveSaw.m3 WaveSine.i3 WaveSine.m3 WaveSquare.i3 WaveSquare.m3 WaveTriangle.i3 WaveTriangle.m3 m3makefile cm3/m3-libs/synthesizer/test/src/: Main.m3 TestControl.i3 TestControl.m3 TestModulation.i3 TestModulation.m3 TestSplit.i3 TestSplit.m3 m3makefile m3overrides m3testbuild Log message: imported from my Darcs repository; the Darcs repository will be still the primary versioning repository From rodney at elego.de Tue Oct 2 22:45:36 2007 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 2 Oct 2007 22:45:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002204536.6E35A10D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/02 22:45:36 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h infcall.c m3-eval.c m3-lang.h Log message: The compilers handle large function results, e.g. records, by passing, at the machine code level, an extra reference mode parameter. Previously, m3gdb always assumed this was the last parameter. But for some targets, (e.g. WIN32), the compilers put this parameter on the left. Add m3gdb support for these parameters in either location. NOTE" No opportunity to test this for WIN32, etc. From rodney at elego.de Wed Oct 3 00:02:45 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002220245.4C22310D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:02:45 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-eval.c m3-valprint.c value.c Log message: 1) Properly display NIL values of procedure variables. 2) Liberalize to allow assignment and parameter passing of values of procedure type. There is no type checking, and a warning is emitted to this effect. From rodney at elego.de Wed Oct 3 00:19:46 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002221948.3519710D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:19:46 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-valprint.c Log message: Fix to display array values in braces, like Modula-3 constructors, instead of brackets. From rodney at elego.de Thu Oct 4 00:16:52 2007 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 4 Oct 2007 0:16:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071003221652.16FC210D449A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/04 00:16:51 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-lang.c m3-util.c Log message: Generalize the symbol lookup rules to fix broken lookup of global procedures, caused by recent changes in the way CM3 emits stabs entries for these. From hosking at elego.de Fri Oct 5 22:40:26 2007 From: hosking at elego.de (Antony Hosking) Date: Fri, 5 Oct 2007 22:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071005204026.C6CED10D449C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/05 22:40:26 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-sys/cminstall/src/config/: I386_DARWIN LINUXLIBC6 PPC_DARWIN SOLgnu SOLsun Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.m3 Log message: Fixes to pthread-based threading on Solaris. Quick summary: - Make sure we use the /usr/lib/lwp versions of the thread libraries. These work properly with the signal-based (same as LINUXLIBC6) mechanism for stopping threads. - Delete the old support for stopping Solaris threads using thr_suspend. - Remove now no-longer needed caching of sp around blocking pthread calls (LWP threads are capable of receiving signals while blocked on a mutex). - Fix config files to compile and link to the proper libraries. - Fix config files to ensure that things like Cerrno.c get compiled for thread-safe execution. From hosking at elego.de Sat Oct 6 16:31:03 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 6 Oct 2007 16:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071006143103.698E510D44A1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/06 16:31:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Argh! Forgot to grab saved sp from sigsuspend'ed threads during ProcessStacks. From rodney at elego.de Mon Oct 8 23:44:49 2007 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 8 Oct 2007 23:44:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071008214449.1760210D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/08 23:44:49 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: inferior.h infrun.c linespec.c m3-eval.c m3-lang.c m3-lang.h m3-token.c m3-util.c m3-util.h m3-valprint.c solib.c symtab.c target.h cm3/m3-sys/m3gdb/gdb/gdb/doc/: observer.texi Log message: A group of (internally) related changes: 1) Rework detection of PM3/CM3 compiler to work earlier, positively detect when it's not modula-3 at all, work on stripped executables, and be more robust. 2) Detect which threads implementation and which garbage collector implementation is used. This can only work after libm3core.so has been loaded (after a 'start' command or hitting a breakpoint in user code), or if libm3core is statically linked in. 3) Add to the 'info m3' command to show the new information. 4) Change the 'start' command to go through the runtime's initialization before stopping. It used to stop before any of this, and that meant lots of m3gdb commands would not work. Now it stops just before executing _any_ of the module body code blocks. By this time, libm3core.so is loaded, so things work about as well as ever later. NOTE: This uses a breakpoint at a place in the runtime (either RunMainBodies, for PM3 and friends, or RunMainBody, for CM3). If libm3core is dynamically linked, this will require the user to go through the ritual of allowing the breakpoint to be made pending until the libm3core is loaded. 5) When the VM-synchronized GC is used, automatically disable it, as it would otherwise cause numerous false debugger stops. This is the equivalent of manually adding @M3novm to the command line arguments, which you can also do redundantly and harmlessly. 6) When PThreads are used, automatically set m3gdb to silently pass SIG64 to the program. Otherwise, this also would cause false stops. 7) Fix a bug in handling the linespec .1, meaning the beginning of the module initialization block. From hosking at elego.de Thu Oct 11 07:49:13 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 7:49:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011054918.E284010D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 07:49:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix deadlock by GC thread with stopped threads holding heap lock. From hosking at elego.de Thu Oct 11 08:00:47 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 8:00:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011060047.747C810D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 08:00:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Slightly cleaner version of suspended flag. This code should be safe because suspended is set to TRUE only while all other threads are stopped. In effect it is private to the GC thread which stops all other threads before setting suspended to TRUE, and sets it back to FALSE before starting all other threads. From hosking at elego.de Thu Oct 11 16:30:23 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 16:30:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011143031.76C1110D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 16:30:23 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Give explicit initial value to suspended. From hosking at elego.de Thu Oct 11 22:11:42 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201142.9A19010D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:42 Modified files: cm3/m3-sys/cminstall/src/config/: SOLsun Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Thu Oct 11 22:11:59 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201204.DC49410D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:59 Modified files: cm3/m3-sys/cminstall/src/config/: SOLgnu Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Sat Oct 13 07:41:40 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 13 Oct 2007 7:41:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013054140.A01E910D44CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/13 07:41:40 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Use Compiler.ThisFile() and Compiler.ThisLine() instead of hardwired literals. From hosking at elego.de Sun Oct 14 00:00:20 2007 From: hosking at elego.de (Antony Hosking) Date: Sun, 14 Oct 2007 0:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013220020.5379B10D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/14 00:00:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Finally got back to reworking things to avoid global locks on mutex/condition operations. We still have an explicit queue for conditions and an explicit waitCond to signal when alerting threads waiting on a condition. But, there is no longer the global cm lock. This means that only threads that explicitly interact on the same mutexes/conditions need to synchronize. This should be much more scalable. For those of you brave enough to try things at the Modula-3 bleeding edge, please let me know if you come across any problems. From hosking at elego.de Mon Oct 15 15:42:13 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134213.E279210D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: Icky carriage returns. From hosking at elego.de Mon Oct 15 15:42:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134237.C11BD10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: Add MyHeapState declaration. From hosking at elego.de Mon Oct 15 19:48:30 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:48:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015174830.87EA410D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:48:30 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Umman.i3 Log message: off_t needed for mmap. From hosking at elego.de Mon Oct 15 19:51:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:51:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015175137.56F2B10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:51:37 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Utypes.i3 Log message: Fix int64_t to be long_long. From neels at elego.de Wed Oct 17 00:30:14 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 0:30:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071016223014.2965510D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: neels at birch. 07/10/17 00:30:14 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: PathnamePosix.m3 Log message: PathnamePosix.m3 rejected special characters, because it limited the character range to ASCII. Instead of keeping a list of legal characters, Pathname now keeps a list of illegal characters and thus allows the whole CHAR range. From hosking at elego.de Mon Oct 22 16:05:21 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:05:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140521.2C1DC10D44E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:05:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Make sure p gets invoked twice per thread in ProcessStacks to match *hacked* assumption in RTHeapStats.m3. Also reorder to process register state after stacks. From hosking at elego.de Mon Oct 22 16:09:03 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140903.6B7C910D44E4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:09:03 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF.ProcessStacks should only be called with all other threads are stopped. Make sure to SuspendOthers/ResumeOthers around calls to ProcessStacks. From hosking at elego.de Mon Oct 22 23:01:39 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 23:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022210139.7BC6F10D44EA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 23:01:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF not Thread. From jkrell at elego.de Wed Oct 24 14:40:24 2007 From: jkrell at elego.de (Jay Krell) Date: Wed, 24 Oct 2007 14:40:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071024124030.A11D010D44FA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 07/10/24 14:40:24 Modified files: cm3/m3-sys/m3middle/src/: M3ID.i3 Log message: fix typo in comment From hosking at elego.de Wed Oct 31 16:10:46 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:10:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031151046.B0CC010D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:10:46 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: Ustat.i3 Utypes.i3 Log message: Fix nlink_t=long. From hosking at elego.de Wed Oct 31 16:31:26 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:31:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031153126.A419A10D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:31:26 Modified files: cm3/m3-lectern/lecterntohtml/src/: FSPosixExtras.m3 Log message: Fix to no longer use asLong. From thielema at elego.de Mon Oct 1 16:49:00 2007 From: thielema at elego.de (Henning Thielemann) Date: Mon, 1 Oct 2007 16:49:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071001144905.56EF810D4498@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: thielema at birch. 07/10/01 16:49:00 Added files: cm3/m3-libs/synthesizer/: Makefile cm3/m3-libs/synthesizer/doc/: Overview Test cm3/m3-libs/synthesizer/example/chirp/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/echo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/entchen/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/filter/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/inout/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/oscillator/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/plot/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/rueckwaerts/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/sirene/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stereo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stream/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/src/: m3makefile cm3/m3-libs/synthesizer/src/basic/: Interpolation.i3 Interpolation.m3 Signal.i3 Signal.m3 m3makefile cm3/m3-libs/synthesizer/src/control/: ProcessControlConstant.i3 ProcessControlConstant.m3 ProcessControlExponential.i3 ProcessControlExponential.m3 ProcessControlLinear.i3 ProcessControlLinear.m3 SignalControl.i3 m3makefile cm3/m3-libs/synthesizer/src/inout/: ProcessInOut.i3 ProcessInOut.m3 ProcessLoad.i3 ProcessLoad.m3 ProcessPipeIn.i3 ProcessPipeIn.m3 ProcessPipeOut.i3 ProcessPipeOut.m3 ProcessPlay.i3 ProcessPlay.m3 ProcessPlaySolaris.m3 ProcessPlot.i3 ProcessPlot.m3 ProcessSave.i3 ProcessSave.m3 m3makefile cm3/m3-libs/synthesizer/src/process/: ProcessAmplifier.i3 ProcessAmplifier.m3 ProcessClip.i3 ProcessClip.m3 ProcessComplexLowPass.i3 ProcessComplexLowPass.m3 ProcessConcat.i3 ProcessConcat.m3 ProcessDelay.i3 ProcessDelay.m3 ProcessEcho.i3 ProcessEcho.m3 ProcessExponential.i3 ProcessExponential.m3 ProcessFrequencyModulation.i3 ProcessFrequencyModulation.m3 ProcessLinear.i3 ProcessLinear.m3 ProcessLowPass.i3 ProcessLowPass.m3 ProcessMixer.i3 ProcessMixer.m3 ProcessMultiOutput.i3 ProcessMultiOutput.m3 ProcessPhaseModulation.i3 ProcessPhaseModulation.m3 ProcessReverse.i3 ProcessReverse.m3 ProcessSplit.i3 ProcessSplitList.m3 ProcessSplitPQ.m3 ProcessSplitSeq.m3 ProcessStateVariableFilter.i3 ProcessStateVariableFilter.m3 ProcessWhiteNoise.i3 ProcessWhiteNoise.m3 m3makefile cm3/m3-libs/synthesizer/src/process/oscillator/: ProcessOscillator.i3 ProcessOscillator.m3 ProcessOscillatorModulated.i3 ProcessOscillatorModulated.m3 ProcessOscillatorSine.i3 ProcessOscillatorSine.m3 ProcessOscillatorSineModulated.i3 ProcessOscillatorSineModulated.m3 WaveSaw.i3 WaveSaw.m3 WaveSine.i3 WaveSine.m3 WaveSquare.i3 WaveSquare.m3 WaveTriangle.i3 WaveTriangle.m3 m3makefile cm3/m3-libs/synthesizer/test/src/: Main.m3 TestControl.i3 TestControl.m3 TestModulation.i3 TestModulation.m3 TestSplit.i3 TestSplit.m3 m3makefile m3overrides m3testbuild Log message: imported from my Darcs repository; the Darcs repository will be still the primary versioning repository From rodney at elego.de Tue Oct 2 22:45:36 2007 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 2 Oct 2007 22:45:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002204536.6E35A10D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/02 22:45:36 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h infcall.c m3-eval.c m3-lang.h Log message: The compilers handle large function results, e.g. records, by passing, at the machine code level, an extra reference mode parameter. Previously, m3gdb always assumed this was the last parameter. But for some targets, (e.g. WIN32), the compilers put this parameter on the left. Add m3gdb support for these parameters in either location. NOTE" No opportunity to test this for WIN32, etc. From rodney at elego.de Wed Oct 3 00:02:45 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002220245.4C22310D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:02:45 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-eval.c m3-valprint.c value.c Log message: 1) Properly display NIL values of procedure variables. 2) Liberalize to allow assignment and parameter passing of values of procedure type. There is no type checking, and a warning is emitted to this effect. From rodney at elego.de Wed Oct 3 00:19:46 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002221948.3519710D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:19:46 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-valprint.c Log message: Fix to display array values in braces, like Modula-3 constructors, instead of brackets. From rodney at elego.de Thu Oct 4 00:16:52 2007 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 4 Oct 2007 0:16:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071003221652.16FC210D449A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/04 00:16:51 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-lang.c m3-util.c Log message: Generalize the symbol lookup rules to fix broken lookup of global procedures, caused by recent changes in the way CM3 emits stabs entries for these. From hosking at elego.de Fri Oct 5 22:40:26 2007 From: hosking at elego.de (Antony Hosking) Date: Fri, 5 Oct 2007 22:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071005204026.C6CED10D449C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/05 22:40:26 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-sys/cminstall/src/config/: I386_DARWIN LINUXLIBC6 PPC_DARWIN SOLgnu SOLsun Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.m3 Log message: Fixes to pthread-based threading on Solaris. Quick summary: - Make sure we use the /usr/lib/lwp versions of the thread libraries. These work properly with the signal-based (same as LINUXLIBC6) mechanism for stopping threads. - Delete the old support for stopping Solaris threads using thr_suspend. - Remove now no-longer needed caching of sp around blocking pthread calls (LWP threads are capable of receiving signals while blocked on a mutex). - Fix config files to compile and link to the proper libraries. - Fix config files to ensure that things like Cerrno.c get compiled for thread-safe execution. From hosking at elego.de Sat Oct 6 16:31:03 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 6 Oct 2007 16:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071006143103.698E510D44A1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/06 16:31:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Argh! Forgot to grab saved sp from sigsuspend'ed threads during ProcessStacks. From rodney at elego.de Mon Oct 8 23:44:49 2007 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 8 Oct 2007 23:44:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071008214449.1760210D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/08 23:44:49 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: inferior.h infrun.c linespec.c m3-eval.c m3-lang.c m3-lang.h m3-token.c m3-util.c m3-util.h m3-valprint.c solib.c symtab.c target.h cm3/m3-sys/m3gdb/gdb/gdb/doc/: observer.texi Log message: A group of (internally) related changes: 1) Rework detection of PM3/CM3 compiler to work earlier, positively detect when it's not modula-3 at all, work on stripped executables, and be more robust. 2) Detect which threads implementation and which garbage collector implementation is used. This can only work after libm3core.so has been loaded (after a 'start' command or hitting a breakpoint in user code), or if libm3core is statically linked in. 3) Add to the 'info m3' command to show the new information. 4) Change the 'start' command to go through the runtime's initialization before stopping. It used to stop before any of this, and that meant lots of m3gdb commands would not work. Now it stops just before executing _any_ of the module body code blocks. By this time, libm3core.so is loaded, so things work about as well as ever later. NOTE: This uses a breakpoint at a place in the runtime (either RunMainBodies, for PM3 and friends, or RunMainBody, for CM3). If libm3core is dynamically linked, this will require the user to go through the ritual of allowing the breakpoint to be made pending until the libm3core is loaded. 5) When the VM-synchronized GC is used, automatically disable it, as it would otherwise cause numerous false debugger stops. This is the equivalent of manually adding @M3novm to the command line arguments, which you can also do redundantly and harmlessly. 6) When PThreads are used, automatically set m3gdb to silently pass SIG64 to the program. Otherwise, this also would cause false stops. 7) Fix a bug in handling the linespec .1, meaning the beginning of the module initialization block. From hosking at elego.de Thu Oct 11 07:49:13 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 7:49:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011054918.E284010D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 07:49:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix deadlock by GC thread with stopped threads holding heap lock. From hosking at elego.de Thu Oct 11 08:00:47 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 8:00:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011060047.747C810D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 08:00:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Slightly cleaner version of suspended flag. This code should be safe because suspended is set to TRUE only while all other threads are stopped. In effect it is private to the GC thread which stops all other threads before setting suspended to TRUE, and sets it back to FALSE before starting all other threads. From hosking at elego.de Thu Oct 11 16:30:23 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 16:30:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011143031.76C1110D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 16:30:23 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Give explicit initial value to suspended. From hosking at elego.de Thu Oct 11 22:11:42 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201142.9A19010D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:42 Modified files: cm3/m3-sys/cminstall/src/config/: SOLsun Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Thu Oct 11 22:11:59 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201204.DC49410D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:59 Modified files: cm3/m3-sys/cminstall/src/config/: SOLgnu Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Sat Oct 13 07:41:40 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 13 Oct 2007 7:41:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013054140.A01E910D44CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/13 07:41:40 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Use Compiler.ThisFile() and Compiler.ThisLine() instead of hardwired literals. From hosking at elego.de Sun Oct 14 00:00:20 2007 From: hosking at elego.de (Antony Hosking) Date: Sun, 14 Oct 2007 0:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013220020.5379B10D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/14 00:00:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Finally got back to reworking things to avoid global locks on mutex/condition operations. We still have an explicit queue for conditions and an explicit waitCond to signal when alerting threads waiting on a condition. But, there is no longer the global cm lock. This means that only threads that explicitly interact on the same mutexes/conditions need to synchronize. This should be much more scalable. For those of you brave enough to try things at the Modula-3 bleeding edge, please let me know if you come across any problems. From hosking at elego.de Mon Oct 15 15:42:13 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134213.E279210D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: Icky carriage returns. From hosking at elego.de Mon Oct 15 15:42:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134237.C11BD10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: Add MyHeapState declaration. From hosking at elego.de Mon Oct 15 19:48:30 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:48:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015174830.87EA410D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:48:30 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Umman.i3 Log message: off_t needed for mmap. From hosking at elego.de Mon Oct 15 19:51:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:51:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015175137.56F2B10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:51:37 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Utypes.i3 Log message: Fix int64_t to be long_long. From neels at elego.de Wed Oct 17 00:30:14 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 0:30:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071016223014.2965510D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: neels at birch. 07/10/17 00:30:14 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: PathnamePosix.m3 Log message: PathnamePosix.m3 rejected special characters, because it limited the character range to ASCII. Instead of keeping a list of legal characters, Pathname now keeps a list of illegal characters and thus allows the whole CHAR range. From hosking at elego.de Mon Oct 22 16:05:21 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:05:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140521.2C1DC10D44E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:05:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Make sure p gets invoked twice per thread in ProcessStacks to match *hacked* assumption in RTHeapStats.m3. Also reorder to process register state after stacks. From hosking at elego.de Mon Oct 22 16:09:03 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140903.6B7C910D44E4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:09:03 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF.ProcessStacks should only be called with all other threads are stopped. Make sure to SuspendOthers/ResumeOthers around calls to ProcessStacks. From hosking at elego.de Mon Oct 22 23:01:39 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 23:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022210139.7BC6F10D44EA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 23:01:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF not Thread. From jkrell at elego.de Wed Oct 24 14:40:24 2007 From: jkrell at elego.de (Jay Krell) Date: Wed, 24 Oct 2007 14:40:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071024124030.A11D010D44FA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 07/10/24 14:40:24 Modified files: cm3/m3-sys/m3middle/src/: M3ID.i3 Log message: fix typo in comment From hosking at elego.de Wed Oct 31 16:10:46 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:10:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031151046.B0CC010D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:10:46 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: Ustat.i3 Utypes.i3 Log message: Fix nlink_t=long. From hosking at elego.de Wed Oct 31 16:31:26 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:31:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031153126.A419A10D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:31:26 Modified files: cm3/m3-lectern/lecterntohtml/src/: FSPosixExtras.m3 Log message: Fix to no longer use asLong. From thielema at elego.de Mon Oct 1 16:49:00 2007 From: thielema at elego.de (Henning Thielemann) Date: Mon, 1 Oct 2007 16:49:00 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071001144905.56EF810D4498@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: thielema at birch. 07/10/01 16:49:00 Added files: cm3/m3-libs/synthesizer/: Makefile cm3/m3-libs/synthesizer/doc/: Overview Test cm3/m3-libs/synthesizer/example/chirp/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/echo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/entchen/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/filter/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/inout/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/oscillator/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/plot/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/rueckwaerts/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/sirene/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stereo/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/example/stream/src/: Main.m3 m3makefile m3overrides m3testbuild cm3/m3-libs/synthesizer/src/: m3makefile cm3/m3-libs/synthesizer/src/basic/: Interpolation.i3 Interpolation.m3 Signal.i3 Signal.m3 m3makefile cm3/m3-libs/synthesizer/src/control/: ProcessControlConstant.i3 ProcessControlConstant.m3 ProcessControlExponential.i3 ProcessControlExponential.m3 ProcessControlLinear.i3 ProcessControlLinear.m3 SignalControl.i3 m3makefile cm3/m3-libs/synthesizer/src/inout/: ProcessInOut.i3 ProcessInOut.m3 ProcessLoad.i3 ProcessLoad.m3 ProcessPipeIn.i3 ProcessPipeIn.m3 ProcessPipeOut.i3 ProcessPipeOut.m3 ProcessPlay.i3 ProcessPlay.m3 ProcessPlaySolaris.m3 ProcessPlot.i3 ProcessPlot.m3 ProcessSave.i3 ProcessSave.m3 m3makefile cm3/m3-libs/synthesizer/src/process/: ProcessAmplifier.i3 ProcessAmplifier.m3 ProcessClip.i3 ProcessClip.m3 ProcessComplexLowPass.i3 ProcessComplexLowPass.m3 ProcessConcat.i3 ProcessConcat.m3 ProcessDelay.i3 ProcessDelay.m3 ProcessEcho.i3 ProcessEcho.m3 ProcessExponential.i3 ProcessExponential.m3 ProcessFrequencyModulation.i3 ProcessFrequencyModulation.m3 ProcessLinear.i3 ProcessLinear.m3 ProcessLowPass.i3 ProcessLowPass.m3 ProcessMixer.i3 ProcessMixer.m3 ProcessMultiOutput.i3 ProcessMultiOutput.m3 ProcessPhaseModulation.i3 ProcessPhaseModulation.m3 ProcessReverse.i3 ProcessReverse.m3 ProcessSplit.i3 ProcessSplitList.m3 ProcessSplitPQ.m3 ProcessSplitSeq.m3 ProcessStateVariableFilter.i3 ProcessStateVariableFilter.m3 ProcessWhiteNoise.i3 ProcessWhiteNoise.m3 m3makefile cm3/m3-libs/synthesizer/src/process/oscillator/: ProcessOscillator.i3 ProcessOscillator.m3 ProcessOscillatorModulated.i3 ProcessOscillatorModulated.m3 ProcessOscillatorSine.i3 ProcessOscillatorSine.m3 ProcessOscillatorSineModulated.i3 ProcessOscillatorSineModulated.m3 WaveSaw.i3 WaveSaw.m3 WaveSine.i3 WaveSine.m3 WaveSquare.i3 WaveSquare.m3 WaveTriangle.i3 WaveTriangle.m3 m3makefile cm3/m3-libs/synthesizer/test/src/: Main.m3 TestControl.i3 TestControl.m3 TestModulation.i3 TestModulation.m3 TestSplit.i3 TestSplit.m3 m3makefile m3overrides m3testbuild Log message: imported from my Darcs repository; the Darcs repository will be still the primary versioning repository From rodney at elego.de Tue Oct 2 22:45:36 2007 From: rodney at elego.de (Rodney M. Bates) Date: Tue, 2 Oct 2007 22:45:36 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002204536.6E35A10D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/02 22:45:36 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: gdbtypes.h infcall.c m3-eval.c m3-lang.h Log message: The compilers handle large function results, e.g. records, by passing, at the machine code level, an extra reference mode parameter. Previously, m3gdb always assumed this was the last parameter. But for some targets, (e.g. WIN32), the compilers put this parameter on the left. Add m3gdb support for these parameters in either location. NOTE" No opportunity to test this for WIN32, etc. From rodney at elego.de Wed Oct 3 00:02:45 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:02:45 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002220245.4C22310D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:02:45 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-eval.c m3-valprint.c value.c Log message: 1) Properly display NIL values of procedure variables. 2) Liberalize to allow assignment and parameter passing of values of procedure type. There is no type checking, and a warning is emitted to this effect. From rodney at elego.de Wed Oct 3 00:19:46 2007 From: rodney at elego.de (Rodney M. Bates) Date: Wed, 3 Oct 2007 0:19:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071002221948.3519710D44B7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/03 00:19:46 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-valprint.c Log message: Fix to display array values in braces, like Modula-3 constructors, instead of brackets. From rodney at elego.de Thu Oct 4 00:16:52 2007 From: rodney at elego.de (Rodney M. Bates) Date: Thu, 4 Oct 2007 0:16:52 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071003221652.16FC210D449A@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/04 00:16:51 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: m3-lang.c m3-util.c Log message: Generalize the symbol lookup rules to fix broken lookup of global procedures, caused by recent changes in the way CM3 emits stabs entries for these. From hosking at elego.de Fri Oct 5 22:40:26 2007 From: hosking at elego.de (Antony Hosking) Date: Fri, 5 Oct 2007 22:40:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071005204026.C6CED10D449C@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/05 22:40:26 Modified files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.i3 m3makefile cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 m3makefile cm3/m3-sys/cminstall/src/config/: I386_DARWIN LINUXLIBC6 PPC_DARWIN SOLgnu SOLsun Removed files: cm3/m3-libs/m3core/src/runtime/SOLgnu/: RTMachine.m3 cm3/m3-libs/m3core/src/runtime/SOLsun/: RTMachine.m3 Log message: Fixes to pthread-based threading on Solaris. Quick summary: - Make sure we use the /usr/lib/lwp versions of the thread libraries. These work properly with the signal-based (same as LINUXLIBC6) mechanism for stopping threads. - Delete the old support for stopping Solaris threads using thr_suspend. - Remove now no-longer needed caching of sp around blocking pthread calls (LWP threads are capable of receiving signals while blocked on a mutex). - Fix config files to compile and link to the proper libraries. - Fix config files to ensure that things like Cerrno.c get compiled for thread-safe execution. From hosking at elego.de Sat Oct 6 16:31:03 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 6 Oct 2007 16:31:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071006143103.698E510D44A1@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/06 16:31:03 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Argh! Forgot to grab saved sp from sigsuspend'ed threads during ProcessStacks. From rodney at elego.de Mon Oct 8 23:44:49 2007 From: rodney at elego.de (Rodney M. Bates) Date: Mon, 8 Oct 2007 23:44:49 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071008214449.1760210D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: rodney at birch. 07/10/08 23:44:49 Modified files: cm3/m3-sys/m3gdb/gdb/gdb/: inferior.h infrun.c linespec.c m3-eval.c m3-lang.c m3-lang.h m3-token.c m3-util.c m3-util.h m3-valprint.c solib.c symtab.c target.h cm3/m3-sys/m3gdb/gdb/gdb/doc/: observer.texi Log message: A group of (internally) related changes: 1) Rework detection of PM3/CM3 compiler to work earlier, positively detect when it's not modula-3 at all, work on stripped executables, and be more robust. 2) Detect which threads implementation and which garbage collector implementation is used. This can only work after libm3core.so has been loaded (after a 'start' command or hitting a breakpoint in user code), or if libm3core is statically linked in. 3) Add to the 'info m3' command to show the new information. 4) Change the 'start' command to go through the runtime's initialization before stopping. It used to stop before any of this, and that meant lots of m3gdb commands would not work. Now it stops just before executing _any_ of the module body code blocks. By this time, libm3core.so is loaded, so things work about as well as ever later. NOTE: This uses a breakpoint at a place in the runtime (either RunMainBodies, for PM3 and friends, or RunMainBody, for CM3). If libm3core is dynamically linked, this will require the user to go through the ritual of allowing the breakpoint to be made pending until the libm3core is loaded. 5) When the VM-synchronized GC is used, automatically disable it, as it would otherwise cause numerous false debugger stops. This is the equivalent of manually adding @M3novm to the command line arguments, which you can also do redundantly and harmlessly. 6) When PThreads are used, automatically set m3gdb to silently pass SIG64 to the program. Otherwise, this also would cause false stops. 7) Fix a bug in handling the linespec .1, meaning the beginning of the module initialization block. From hosking at elego.de Thu Oct 11 07:49:13 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 7:49:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011054918.E284010D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 07:49:13 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Fix deadlock by GC thread with stopped threads holding heap lock. From hosking at elego.de Thu Oct 11 08:00:47 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 8:00:47 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011060047.747C810D44B6@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 08:00:47 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Slightly cleaner version of suspended flag. This code should be safe because suspended is set to TRUE only while all other threads are stopped. In effect it is private to the GC thread which stops all other threads before setting suspended to TRUE, and sets it back to FALSE before starting all other threads. From hosking at elego.de Thu Oct 11 16:30:23 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 16:30:23 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011143031.76C1110D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 16:30:23 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Give explicit initial value to suspended. From hosking at elego.de Thu Oct 11 22:11:42 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:42 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201142.9A19010D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:42 Modified files: cm3/m3-sys/cminstall/src/config/: SOLsun Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Thu Oct 11 22:11:59 2007 From: hosking at elego.de (Antony Hosking) Date: Thu, 11 Oct 2007 22:11:59 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071011201204.DC49410D44B8@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/11 22:11:59 Modified files: cm3/m3-sys/cminstall/src/config/: SOLgnu Log message: Make sure runtime linker picks up thread libraries from /usr/lib/lwp. From hosking at elego.de Sat Oct 13 07:41:40 2007 From: hosking at elego.de (Antony Hosking) Date: Sat, 13 Oct 2007 7:41:40 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013054140.A01E910D44CD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/13 07:41:40 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadPosix.m3 Log message: Use Compiler.ThisFile() and Compiler.ThisLine() instead of hardwired literals. From hosking at elego.de Sun Oct 14 00:00:20 2007 From: hosking at elego.de (Antony Hosking) Date: Sun, 14 Oct 2007 0:00:20 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071013220020.5379B10D44C7@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/14 00:00:20 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Finally got back to reworking things to avoid global locks on mutex/condition operations. We still have an explicit queue for conditions and an explicit waitCond to signal when alerting threads waiting on a condition. But, there is no longer the global cm lock. This means that only threads that explicitly interact on the same mutexes/conditions need to synchronize. This should be much more scalable. For those of you brave enough to try things at the Modula-3 bleeding edge, please let me know if you come across any problems. From hosking at elego.de Mon Oct 15 15:42:13 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:13 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134213.E279210D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:13 Modified files: cm3/m3-libs/m3core/src/thread/WIN32/: ThreadF.i3 Log message: Icky carriage returns. From hosking at elego.de Mon Oct 15 15:42:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 15:42:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015134237.C11BD10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 15:42:37 Modified files: cm3/m3-libs/m3core/src/thread/POSIX/: ThreadF.i3 Log message: Add MyHeapState declaration. From hosking at elego.de Mon Oct 15 19:48:30 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:48:30 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015174830.87EA410D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:48:30 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Umman.i3 Log message: off_t needed for mmap. From hosking at elego.de Mon Oct 15 19:51:37 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 15 Oct 2007 19:51:37 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071015175137.56F2B10D44DF@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/15 19:51:37 Modified files: cm3/m3-libs/m3core/src/unix/freebsd-4/: Utypes.i3 Log message: Fix int64_t to be long_long. From neels at elego.de Wed Oct 17 00:30:14 2007 From: neels at elego.de (Neels Janosch Hofmeyr) Date: Wed, 17 Oct 2007 0:30:14 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071016223014.2965510D44B5@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: neels at birch. 07/10/17 00:30:14 Modified files: cm3/m3-libs/libm3/src/os/POSIX/: PathnamePosix.m3 Log message: PathnamePosix.m3 rejected special characters, because it limited the character range to ASCII. Instead of keeping a list of legal characters, Pathname now keeps a list of illegal characters and thus allows the whole CHAR range. From hosking at elego.de Mon Oct 22 16:05:21 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:05:21 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140521.2C1DC10D44E9@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:05:21 Modified files: cm3/m3-libs/m3core/src/thread/PTHREAD/: ThreadPThread.m3 Log message: Make sure p gets invoked twice per thread in ProcessStacks to match *hacked* assumption in RTHeapStats.m3. Also reorder to process register state after stacks. From hosking at elego.de Mon Oct 22 16:09:03 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 16:09:03 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022140903.6B7C910D44E4@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 16:09:03 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF.ProcessStacks should only be called with all other threads are stopped. Make sure to SuspendOthers/ResumeOthers around calls to ProcessStacks. From hosking at elego.de Mon Oct 22 23:01:39 2007 From: hosking at elego.de (Antony Hosking) Date: Mon, 22 Oct 2007 23:01:39 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071022210139.7BC6F10D44EA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/22 23:01:39 Modified files: cm3/m3-libs/m3core/src/runtime/common/: RTHeapStats.m3 Log message: ThreadF not Thread. From jkrell at elego.de Wed Oct 24 14:40:24 2007 From: jkrell at elego.de (Jay Krell) Date: Wed, 24 Oct 2007 14:40:24 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071024124030.A11D010D44FA@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: jkrell at birch. 07/10/24 14:40:24 Modified files: cm3/m3-sys/m3middle/src/: M3ID.i3 Log message: fix typo in comment From hosking at elego.de Wed Oct 31 16:10:46 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:10:46 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031151046.B0CC010D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:10:46 Modified files: cm3/m3-libs/m3core/src/unix/solaris-2-x/: Ustat.i3 Utypes.i3 Log message: Fix nlink_t=long. From hosking at elego.de Wed Oct 31 16:31:26 2007 From: hosking at elego.de (Antony Hosking) Date: Wed, 31 Oct 2007 16:31:26 () Subject: [M3commit] CVS Update: cm3 Message-ID: <20071031153126.A419A10D44FD@birch.elegosoft.com> CVSROOT: /usr/cvs Changes by: hosking at birch. 07/10/31 16:31:26 Modified files: cm3/m3-lectern/lecterntohtml/src/: FSPosixExtras.m3 Log message: Fix to no longer use asLong.