[M3devel] 5.8.6 LINUXLIBC6 breakage, kernel 2.6.23, glibc-2.6-4
jay.krell at cornell.edu
Thu Apr 21 21:21:20 CEST 2011
I forgot to reply to this point, which keep coming up:
> starts blurring the line between what is and is not Modula-3. This could
> turn out to be a problem if Modula-3 is in future again ported to systems
> without complete, modern C environments. By "problem" I mean an extra
> bifurcation of application programs: some programs for "POSIX Modula-3"
Cvsup won't work in such a system without a certain amount of work.
Such a system requires a fairly significant amount of work.
Nothing discussed here really touches on the work required.
Such a system needs threads implemented in *some* fashion.
Either pthreads, or sigaltstack, or jmpbuf smashing, or somehow natively in Modula-3,
but ultimately, you need assembly and/or processor-specificness *somewhere*.
You must save restore registers somewhere. You must setup a stack somewhere. You need preemption somehow (well,
maybe not -- "cooperative suspend").
And you need to provide for file I/O somewhere, depending on what sort of program you want to run.
And socket I/O, ditto.
And keyboard/video/mouse/console functionality, ditto.
You can use more or less of the facilities of the underlying system,
giving you more or less functionality for free/cheap, obligating
you to implement more or less of the functionality you require or desire.
Modula-3 layers on top of Posix and Win32, with more or less thickness and state.
Modula-3 was kind of interesting in that it provided threads with a
certain amount of portability without requiring an underlying threading
capability, with just
timers for preemption and setjmp/longjmp for context save/restore.
This is still somewhat interesting, e.g. maybe for DJGPP, but pthreads and Win32 threads are widespread now, and providing these
features isn't particularly valuable or differentiating.
You know -- why use Modula-3? One of the reasons in the past was maybe for portable threading. That is still a reason, but
portable threading is not as difficult to write for one's self these days, merely by layering over pthreads and Win32.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the M3devel