cleanup from head: remove all the platform-specific Cstdio.i3, Cstring.i3 only dormant/dead platforms in this commit (detail)
from head: m3unix.h => m3core.h; "more mechanical wrappers via macros" (detail)
bring over from head changes so that file sizes are 64bits even on 32bit platforms; but rd/wr are still 32bits This will again hit bootstrap problems, of an even sort of newer type because of the the cm3/src/WebFile.m3 change; stay tuned (detail)
copy from head: LONGINT, LONGCARD, and atomics come along for the ride (detail)
Specifically what this does is when using older toolsets, it turns building of anything "shared" into "not shared".
This way these config files can deal less with the vagaries of older toolsets.
The point being, when mixing these config files with older tools, only to handle building cm3.
"old toolset" is defined as "not defining install_symbolic_link"
Perhaps we should have something like cm3 -DBOOT or cm3 -DNO_SHARED to better encapsulate this.
Note that this is placed in such a way that it doesn't affect all targets. But probably it should.
Also this disabled building "shared" on Interix, pending more investigation. (This is what head does.) (detail)
new files from head (branching incompatible with sequential numbers so it behooves us to at least keep the directory listing in sync) (detail)
merge from head: wrap in HasTrestle and one line m3overrides files (detail)
copy from head: m3unix.h => m3core.h; use macros for mechanical wrappers (detail)
copy from head: change get/set to direct access via an unsafe pointer (detail)
copy minor changes from head: BYTE to UINT8, <*UNALIGNED*> TO (*UNALIGNED*) (nonexistant pragma to comment, BYTESIZE would be wrong here due to padding/alignment and isn't used (detail)
workaround for building with old tools (e.g. LINUXLIBC6 5.4.0) and partial merge with head (mainly whitespace, also stuff under ifdef) (detail)
file GenLE.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head: delete all RTThread.m3 files (detail)
file RTIOc.c was added on branch release_branch_cm3_5_8 on 2010-02-17 10:40:13 +0000 (detail)
wholesale copy of m3front from head to release (detail)
merge from head: no more use of Upthread (define things locally) (detail)
file m3makefile was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
new files from head, not active in release, may or may not become so (detail)
file CstdlibC.c was added on branch release_branch_cm3_5_8 on 2009-12-07 08:00:56 +0000 (detail)
file m3makefile was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:06 +0000 (detail)
copy from head plus minor changes RTThread vs. ThreadInternal stop vs. limit in parameter names
several changes from head: movement of some fields from Thread.T (traced) to Thread.Activation (untraced) LockMutex/UnlockMutex is just EnterCriticalSection/LeaveCriticalSection reads from global slots array are lockless (this is how Self() translates from untraced to traced)
stack boundary is accurately known (not tested on Win9x)
InitialStackBase removed in favor of something more efficient (not tested on Win9x)
hack to verify stack addresses removed (removal of VerifySP function)
some x86-isms factored into #ifdefed C the size and the fields of CONTEXT
static locks changed back to variables instead of functions (really this could go either way)
write into traced objects "immediately" before taking giant lock to greatly mitigate deadlock (what is the right fix here? To merge giantlock and heaplock??) (to check that allocator only uses locks and not conditions, now that locks don't use giantlock?) (detail)
copy from head: move OpenBSD lines up so that OpenBSD/sparc64 uses them instead of the Sparc lines (detail)
file GenNot.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head: delete all the RTThreadC.c files delete SOLgnu/RTMachineASM.s (moved into RTStackC.c) delete SOLsun/RTMachineASM.s (moved into RTStackC.c) (detail)
port race condition fix from head: don't return pthread handle from thread_create instead, in new thread, store pthread_self It isn't clear otherwise if the handle gets stored before it is used. I had seen the pthread_detach call fail previously. (detail)
file GenRotate.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head (nudged by Peter's mail): have AutoFlush always copy all the fields copying not all of them is a micro optimization and more importantly, hard to know the correctness of some functions Foo where already implemented as LOCK UnsafeFoo this seems like a good pattern; do it more (detail)
file stdout.pgm was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
copy from head: #define _REENTRANT on Interix (detail)
remove dependency on TextExtras.CIEqual from newer releases (detail)
unimportant reconciliation with head (can we just delete all the old cross/boot/core stuff?) (detail)
minor partial merge from head -- add do-nothing DisableVM for slightly improved source compatibility with older cm3 (slightly easier building of old cm3 against new m3core, which I sometimes run into investigating historical behavior and when things changed, which is a scenario that doesn't work well and is only a very minor improvement to) (detail)
COPY from head removal of various user threading support most of this had to do with poking jmp_buf just right, but we now use get/set/make/swapcontext instead which abstracts that, except for OpenBSD (and possibly old Darwin) where we do the work in #ifdef'ed C also manually compute numbers instead of using Word.Shift deletes to follow (detail)
file stdout.pgm was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:05 +0000 (detail)
more of the cvsup fix, oops You can get away without this, as long as the child doesn't run so long as to need garbage collection. (detail)
merge from head: #define _REENTRANT on Interix and don't declare errno (detail)
file GenShift.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
change default to not use -noentry This is safer and what people expect. It mathes historical behavior. => no warnings/errors/bugs when linking with C++ with globals with contrutors controllable with a new environment variable CM3_LINK_NO_ENTRY=0 or 1 or a new quake variable LINK_NO_ENTRY=TRUE or FALSE
-noentry is a nice small optimization, esp. if/when we can completely eliminate our dependency on the C runtime, but that isn't yet
new enviroment/quake variable: CM3_NO_SYMBOLS/NO_SYMBOLS default is to produce symbols (with -Z7, though -Zi can be faster, makes little difference since this is for C/C++) setting CM3_NO_SYMBOLS=1 is useful when "bootstrapping backwards", that is, going backwards in Visual C++ compiler/linker version since older tools often reject .objs/.libs from newer tools (Now I can use Modula-3 5.1.3a and use older than Visual C++ 5.0)
Ordinarily I discourage symbols with "no" in their name, as it can lead to double negatives, which is unnecessarily confusing. Perhaps that should be the case here, esp. for symbols. Less clear for "entry" since "entry"="some string" makes sense to name the entry point. (detail)
copy from head: remove -defaultlib:libc, add appendBytes that I think I might need, fold common code (albeit using unsafe, can we have it both ways? eliminate redundancy and keep safety?) (detail)
merge from head: timespec_t => timespec_T to avoid warning due to newer Sun headers having the same typedef (detail)
from head: retry upon EAGAIN like bash (in bash's case, it seems to help on Interix, since I see a warning often) (detail)
file Main.m3 was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
from head: fix longint div and presumably mod (detail)
manually apply pervasiv diff from head: ThreadInternal => RTThread This is one of the largest pieces differing between head and release and making it "difficult" to port changes. (detail)
from head: #define __DARWIN_UNIX03 0 here too, so we can likely compile on older systems such as 10.4 (detail)
per http://duriansoftware.com/joe/PSA:-avoiding-the-%22ucontext-routines-are-deprecated%22-error-on-Mac-OS-X-Snow-Leopard.html
#include sys/ucontext.h on Darwin instead of ucontext.h We aren't actually after the deprecated ucontext functions, but the (apparently) non-deprecated ucontext data structures (detail)
file GenAnd.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
forgot this earlier: from head: calling conventions, optimize, libcmt.lib compat (detail)
copy from head, several changes, we'll see if this clears up SOLgnu and SOLsun (detail)
copy from head: no more giant lock, move some code back to Modula-3 from C (detail)
fix readability (subjective) and syntax error on Solaris (http://modula3.elegosoft.com:8080/view/SOLgnu/job/boot-solgnu/19/console) (detail)
file GenGE.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
m3staloneback not needed in many places -- just tool/std -- it isn't any special part of front/back/boot/core -- it isn't actually used anywhere, it also doesn't need to be filtered out of non-Win32 platforms, since it should build and work everywhere (just, again, we don't use it) (detail)
file GenLT.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head: calling convention We should Word.RoundUp Word.RoundUpPowerOf2 and inlining that? (detail)
file Main.m3 was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:05 +0000 (detail)
copy from head: replace assembly with setjmp/longjmp remove locals that are initialized but not further used remove userthread support in RTMachine.i3, we use make/get/set/swapcontext now (detail)
copy from head: delete all the RTThreadC.c files delete SOLgnu/RTMachineASM.s (moved into RTStackC.c) delete SOLsun/RTMachineASM.s (moved into RTStackC.c) (detail)
replace contents with comment indicating the file is dead and where the replacement is (detail)
file LCard.i3 was added on branch release_branch_cm3_5_8 on 2010-01-16 13:42:05 +0000 (detail)
libdump, fix_nl also not needed in upgrade/cross stuff add m3staloneback back to 'core' group, because in fact 'core' is never used, useless, no need to mess with it (should just remove it, pylib.py should be updated to use the other data files..) (detail)
from head: provide functions: configure_assembler configure_c_compiler configure_linker
that config files can provide do to fancier stuff, and should end up setting SYSTEM_ASM, SYSTEM_CC, SYSTEM_LD (if you don't mind configuring in every run)
defaults: assembler: do nothing c_compiler: do nothing linker: call configure_c_compiler and then use SYSTEM_CC
file ThreadApple.c was added on branch release_branch_cm3_5_8 on 2009-12-07 07:55:40 +0000 (detail)
unimportant reconciliation with head (tempting to just delete the file..) (detail)
I forgot to mention: I'm really just guessing here. It seems to work. (detail)
remove $id and pad out banner to 80 columns like nearby (detail)
file m3core.h was added on branch release_branch_cm3_5_8 on 2009-12-09 14:17:47 +0000 (detail)
file GenXor.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:18 +0000 (detail)
port from head: rename parameter in function pointer type from "stop" to "limit" note that there are still "start, stop" pairs, in addition to the "start, limit" pairs (detail)
file FSUnixC.c was added on branch release_branch_cm3_5_8 on 2010-04-04 10:36:22 +0000 (detail)
copy from head: quash a bunch of warnings, and libcmt/msvcr compat (detail)
file CstringC.c was added on branch release_branch_cm3_5_8 on 2009-12-07 08:00:56 +0000 (detail)
copy from head: just a insignificant reordering (detail)
copy from head: use sigsetjmp instead of setjmp openbsd/sparc64 support we'll stop using this code shortly anyway (detail)
make all, now that the no symbols option is in (detail)
partial merge from head use pthread_detach_self() C function that does pthread_detach(pthread_self()) instead of relying on act.handle, which should work; hm? some cosmetic commenting drop traced refs by storing NIL, shouldn't make a difference stackbase was already managed roughly like head (detail)
from head: adaptions for Win32, mostly #define _DLL, _MT, also stat vs. _fstat, etc. head makes a fair amount of this available on Win32, release does not currently (detail)
copy from head: calling convention and optimize small stuff (detail)
file GenTimes.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:18 +0000 (detail)
Mentor crashes starting up. Even if I go back a week or a month in the release branch. (I haven't yet tested RC2, RC3, RC4, etc.) If we use the "Posix" scroller stuff, no problem. So do that for now. Probably some problem in the scroller code around locking. There were others recently (even on X) (detail)
bring over from head changes so that file sizes are 64bits even on 32bit platforms; but rd/wr are still 32bits This will again hit bootstrap problems, of an even sort of newer type because of the the cm3/src/WebFile.m3 change; stay tuned (detail)
copy from head: add return types to functions (void) (detail)
local scripts for making multiple per-Visual C++ version distributions (the .zips don't include Visual C++ version so I won't provide them for now, the code looks like it would) (detail)
copy from head: #define _REENTRANT on Interix, I think this code is dead anyway (detail)
file m3makefile was added on branch release_branch_cm3_5_8 on 2010-02-17 05:44:30 +0000 (detail)
file WinUser.pl was added on branch release_branch_cm3_5_8 on 2009-12-20 12:50:42 +0000 (detail)
more careful merging from head assert => M3_STATIC_ASSERT new assertions about times and sockets, not yet taken advantage of (head takes advantage of them, to reduce Usysdep.i3) (detail)
merge from head: wrap pthread_mutex_lock and pthread_mutex_unlock in C (detail)
copy documentation updates from head, mostly regarding LONGINT/ORD/VAL (detail)
partial merge with release: mklib is portable enough, doesn't need a filter (it can compile/link on all platforms, even with old m3core, though it might not work esp. on big endian hosts) (detail)
file GenLE.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file stderr.build was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
from head: don't use libm3 File.T.status().size, so it can vary between INTEGER in old versions and LONGINT in new versions (This is only a problem for a small part of the system, that has to work with old libm3.) (detail)
file GenNot.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head: remove lock acquire/release from condition wait credit another reference for the algorithm add SetState calls to match pthread better handling of low resources assert that counters are actually booleans like pthread (detail)
skip some steps which I don't think are needed use 'x86' more in place of 'NT386' (even this maybe is too verbose? cm3-min-version.msi (x86 implied?) cm3-all-version.msi (x86 implied?) or cm3-version.msi (all) cm3-amd64-version (hypothetial) or cm3-x86-version.msi (all) cm3-amd64-version.msi (hypothetical) or cm3-min-version-timestamp.msi etc.? (detail)
copy from head: remove setjmp abstraction and just handle IA64 and use regular setjmp (the only one Windows head, there's no signal mask, though this code could be used with Cygwin, hm) (detail)
copy from head, for #include <architecture/ppc/cframe.h> (detail)
port from head -- make ThreadContext private -- it is after all the most unportable thing in Win32 let alone Modula-3 libraries! (the MSDN documentation says 'see header files for the fields' or somesuch) (detail)
copy from head: mainly don't make msi and all for older Visual C++ (should be command line parameters) (detail)
darn a little sloppy this time; previously all the release versions were good; copy from head again: in particular the fix to not leak all the critical sections as well take the Win32-idiomatic join implementation, and using RegisterFinalCleanup to run the cleanup (detail)
actually remove the use of File.T.status().size (detail)
file GenOr.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file stdout.build was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
forgot this: partial merge from head: compile RTMiscC.c (not copying head because I didn't test the RTIO floating point support) (detail)
copy/merge from head -- #include arpa/inet.h (detail)
from head: minor hack to avoid using VAL to convert from LONGINT, in order to work with older compilers that do already support LONGINT, but with slightly older implementation (detail)
file RTMiscC.c was added on branch release_branch_cm3_5_8 on 2009-12-11 10:53:45 +0000 (detail)
file GenDivide.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
COPY from head, I thought I got this earlier (detail)
from head: fixes in case anyone wants to compile as C++ extern C, "new" (20 year old) function style (detail)
partial merge from head: add calling conventions (detail)
bring files from head notice no change to the *3 files, so most of this goes unused when running binaries built against the release *.i3 files, but for binaries from head, there will be some extra exports that might let them work and some existing wrappers are "rewritten" as well (detail)
I thought I commited this file already, oops. (detail)
COPY from head: PPC64_DARWIN support remove PIC building some SPARC bootstraps don't put cm3cg in NT386 packages stamp NT386 package files with Visual C++ version remove leading underscore from ConvertFromCygwinPath, ConvertToCygwinPath so they are public remove 'base' and 'core' package sets some Interix stuff (which I think isn't needed anywhere) support for editing in -debug switch (detail)
file GenGT.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
merge from head: make the static mutexes and condition variables variables instead of functions (detail)
minor merge with head wrt the cm3 vs. MxConfig predefines (SL, CR, EOL, M3_PROFILING) (detail)
also filter out m3cc manually, and slight reformat (detail)
chmod 755 setup.cmd I had around, not sure it is needed, and a newline (detail)
fix this crash starting up mentor in win32 specific code: *** *** runtime error: *** Attempt to reference an illegal memory location. *** pc = 0x12b16a8 = GetAttributes + 0x1ed in ..\src\lego\WIN32\ScrollerVBTCl ass.m3 ***
Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x2e2f670 0x846ced SystemError + 0x66 in ..\src\runtime\NT386\RTSignal.m3 0x2e2f720 0x12b16a8 GetAttributes + 0x1ed in ..\src\lego\WIN32\ScrollerVBTClas s.m3 0x2e2f7f8 0x12e95c8 AddView + 0x101e(!) in ..\src\lego\ViewportVBT.m3 0x2e2f844 0x12e762e Init + 0x30e in ..\src\lego\ViewportVBT.m3 0x2e2f964 0x1234fc7 pViewport + 0x512 in ..\src\FormsVBT.m3 0x2e2f9c4 0x12234b1 Item + 0x48b in ..\src\FormsVBT.m3 0x2e2f9f0 0x124107a OneChild + 0xf8 in ..\src\FormsVBT.m3 0x2e2faf8 0x1227520 pShape + 0x19c in ..\src\FormsVBT.m3 0x2e2fb58 0x12234b1 Item + 0x48b in ..\src\FormsVBT.m3 0x2e2fb84 0x124107a OneChild + 0xf8 in ..\src\FormsVBT.m3 ......... ......... ... more frames ...
Really it'd be super nice if we could unfork these two directories. They are mostly the same, except the Posix directory gets more attentin fix this crash starting up mentor in win32 specific code: *** *** runtime error: *** Attempt to reference an illegal memory location. *** pc = 0x12b16a8 = GetAttributes + 0x1ed in ..\src\lego\WIN32\ScrollerVBTCl ass.m3 ***
Stack trace: FP PC Procedure --------- --------- ------------------------------- 0x2e2f670 0x846ced SystemError + 0x66 in ..\src\runtime\NT386\RTSignal.m3 0x2e2f720 0x12b16a8 GetAttributes + 0x1ed in ..\src\lego\WIN32\ScrollerVBTClas s.m3 0x2e2f7f8 0x12e95c8 AddView + 0x101e(!) in ..\src\lego\ViewportVBT.m3 0x2e2f844 0x12e762e Init + 0x30e in ..\src\lego\ViewportVBT.m3 0x2e2f964 0x1234fc7 pViewport + 0x512 in ..\src\FormsVBT.m3 0x2e2f9c4 0x12234b1 Item + 0x48b in ..\src\FormsVBT.m3 0x2e2f9f0 0x124107a OneChild + 0xf8 in ..\src\FormsVBT.m3 0x2e2faf8 0x1227520 pShape + 0x19c in ..\src\FormsVBT.m3 0x2e2fb58 0x12234b1 Item + 0x48b in ..\src\FormsVBT.m3 0x2e2fb84 0x124107a OneChild + 0xf8 in ..\src\FormsVBT.m3 ......... ......... ... more frames ...
Really it'd be super nice if we could unfork these two directories. They are mostly the same, except the Posix directory gets more attention and bug fixes while the Win32 one languishes. Surely they can share more code? (detail)
file m3-defn-complete.pdf was added on branch release_branch_cm3_5_8 on 2010-01-14 12:48:13 +0000 (detail)
copy from head: shorten comment by 2 characters (detail)
copy from head: crude but effective platform sniffing -- if it contains '64' or 'ALPHA' it is 64bit, if it contains 'NT386' it is NT386 (what about I386_NT?), if it contains '32' it is not 64bit ('other') (detail)
merge from head: just always use 'THREAD_LOCAL_SLOW' (detail)
file Main.m3 was added on branch release_branch_cm3_5_8 on 2010-02-17 05:44:29 +0000 (detail)
copy from head: #define _REENTRANT on Interix (detail)
remove the noentry stuff -- it is just too esoteric (detail)
file Main.m3 was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:06 +0000 (detail)
Trivial and so far moot copy/merge from head. - move #defines get/set/make/swapcontext Uucontext__get/set/make/swapcontext from .c to .h, so that over in ThreadPosix.c they can #include context.h and get them - only store the stack pointer for the first call to setjmp, not both
These only matter if we port more stuff from head and then only for OpenBSD or (untested) pre-10.5 Darwin/PPC. (There is the minor matter of 10.4 Darwin/Intel.) (detail)
copy ord/val/longint documentation change from head (detail)
copy from head: brand tracing in @M3tracelinker (detail)
#error for OpenBSD, it doesn't work and anyone working on it can remove the #error (detail)
from head: likely fix so we can successfully compile on a larger variety of Darwin hosts (e.g. 10.4), otherwise I was frequently broken; most recently seen on PPC64, but I've seen it I386 and PPC also. #define __DARWIN_UNIX03 0 (detail)
file stderr.pgm was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:05 +0000 (detail)
copy from head: fixes for C++ compilation: const, extern C, explicit return type, ANSI style functions (20 years..) (detail)
unimportant reconciliation with head (getting a little more interesting, but it is only whitespace and 'all' works for 'realclean' but not generally for 'buildship', 'std' is the useful one) (detail)
copy from head -- remove unused import of Uucontext, so that Uucontext can be deleted (detail)
file Main.m3 was added on branch release_branch_cm3_5_8 on 2010-02-17 05:44:37 +0000 (detail)
file m3makefile was added on branch release_branch_cm3_5_8 on 2010-02-17 05:44:38 +0000 (detail)
port from head: very small change that makes debugging sometimes much better (break right into debugger, don't waste time trying to suspend threads and dump stacks, the debugger does a much better job of suspending threads and usually (if you have symbols) of dumping stacks) If you aren't using a debugger, then no change.
The thing about RestoreHandlers can probably just be removed since in my brief experience the DebugBreak works fine before it.
Really it can probably just go like this: If debugger debugbreak ELSE suspend others, maybe dumpstack one of the important parts restore handlers probably can be removed Exit(-1) also important though maybe should be TerminateProcess which is much quicker/cleaner doesn't run all the dllmains
though currently I just made the small change of moving the debugbreak much earlier (detail)
file GenXor.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:18 +0000 (detail)
copy from head: change / to SL and also mention m3core.h note that usually now we use / instead of SL, but for some directories it might still be good to use SL for case of bootstrapping with older m3core, it might (if the paths are just passed through to the underlying functtions though, it doesn't matter) (detail)
copy from head: remove some parens, and use sensible 3.6 definition of PRTL_CRITICAL_SECTION; I should check if we're inserting 'barrier' uses unnecessarily here (detail)
from head: SYSTEM_LIBS{"Z"} = ["-lz"]
but cvsup does this anyway:
if equal(TARGET, "PPC_DARWIN") or equal(TARGET, "I386_DARWIN") or equal(TARGET, "AMD64_DARWIN") or equal(TARGET, "SOLgnu") or equal(TARGET, "SOLsun") SYSTEM_LIBS{"LIBC"} += "-lz" end
which is fairly sufficient (besides its findlib code)
(The reason I don't embrace general expansion of SYSTEM_LIBS is because we really need an autoconfiguration method, and not just at install time, but it should adapt as user installs additional libraries. In the absence of a complete solution, I mostly leave it alone.) (detail)
file GenModule.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file m3makefile was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:10 +0000 (detail)
stake a claim on these test case numbers in release branch, in case new tests do come along in this brach -- sequential numbering is not compatible with branching and we've gotten into trouble here before..not likely to enable these tests in this branch (detail)
remove tempnam, tmpnam, strcpy, strcat to avoid OpenBSD linker warnings (they aren't in the .i3 files; this was for possible improved compat between head and release) (detail)
remove support for old configuration files (detail)
from head: we can't use File.T.status().size because it varies between INTEGER and LONGINT, and we need to be able to build cm3 against either old or new (detail)
copy from head: SPARC64_OPENBSD uses user threads (detail)
very slight undo: my version of head had a local change, oops, skip_lib should delete the .sa file when building non-shared, this rarely exists, but it can happen e.g. when switching a library from shared to non-shared and building incrementally (detail)
copy from head: quash warnings, calling convention, double semicolon, and libcmt/msvcr compat (detail)
file Interix.common was added on branch release_branch_cm3_5_8 on 2010-04-03 21:41:40 +0000 (detail)
file GenExtract.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
COPY wholesale from head including use pthread_suspend/resume_np on FreeBSD instead of signal/semaphore (and pthread_attr_getstack) similar attempts on OpenBSD, but it doesn't work movement of C and assembly code (esp. for Apple and Solaris) (detail)
file GenInsert.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
from head: VAL(filesize, INTEGER) to fix compilation (detail)
file FSUtilsUnsafe.c was added on branch release_branch_cm3_5_8 on 2010-01-15 14:42:00 +0000 (detail)
minor merge with head wrt the cm3 vs. MxConfig predefines (SL, CR, EOL, M3_PROFILING) (detail)
merge from head: just always use 'THREAD_LOCAL_SLOW' (detail)
from head: go back to VAL: VAL(INTEGER, INTEGER) is legal, there's no dependency here on LONGINT if the underlying library doesn't use it (detail)
copy from head: use wrappers, be compatible with msvcrt.lib and libcmt.lib on Windows (detail)
copy from head to address ucontext deprecation on Snow Leopard? (they give and they take away, these APIs were only added in 10.4 or 10.5, and then deprecated in 10.6; make up your minds..) (detail)
from head: forgot a call to configure_linker, some Interix dynamic linking stuff (detail)
file GenAnd.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file GenOr.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file GenMod.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
Trivial merge/copy from head: remove external pragamas on interfaces, add one functions to correlate (just on vfork -- in our current scheme functions need their own anyway to affect the rename, except that vfork cannot be wrapped without violating Posix spec (and we never use vfork, we use fork instead, fork is just as fast (or slow, Cygwin) on all our platforms, vfork is left here just for some sort of compat..though it isn't even exactly compatible (NetBSD?))))) (detail)
file GenGT.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
file GenRotate.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
cover more of the stack for the GC to find references; this seems to significantly reduce the problems, but not eliminate them; the detach often fails still, r=3, and capturing local handle := me.handle and then asserting they match often finds the local handle = NIL (detail)
partial merge from head: remove cas/casp (compare and swap, compare and swap predicate (boolean return)) (detail)
from head: do link statically, libc's name changes in every release and you can never copy dynamically linked executables across releases; maybe the kernel stays compatible, maybe (detail)
file WinUser.txt was added on branch release_branch_cm3_5_8 on 2009-12-20 12:50:42 +0000 (detail)
very small whitespace diff (looking around here while reconciling head and release, I don't think Hudson runs this) (detail)
file stderr.pgm was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:05 +0000 (detail)
port from head: just a comment, but it reduces the head vs. release diffs (detail)
from head: be tolerant of fairly arbitrary echos from sysinfo.sh, by filtering ^CM3_; this is part of scripts reconciliation between head and release (detail)
file stderr.build was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:05 +0000 (detail)
do run the clean step don't build 'all' with older tools, let alone package it (detail)
file finally.c was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:06 +0000 (detail)
file RTProcessC.c was added on branch release_branch_cm3_5_8 on 2010-03-28 10:34:45 +0000 (detail)
copy from head: shorter by using 'IMPORT FROM' (detail)
file stdout.pgm was added on branch release_branch_cm3_5_8 on 2010-02-10 10:03:05 +0000 (detail)
copy from head: put slash in .msi path, 'std' => 'all' (detail)
remove support for old configuration files (detail)
file GenShift.mg was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:18 +0000 (detail)
don't bother checking if file exists before deleting it, just delete it (detail)
fix bug where hand.obj doesn't always get shipped and then e.g. the Juno splashscreen is messed up (it's deeper than that though when it occurs, various set operations are broken) only people building m3core would see this, sometimes (detail)
file WinConstants.c was added on branch release_branch_cm3_5_8 on 2009-12-20 12:50:42 +0000 (detail)
copy from head: always ansi not k&r, quash warnings on NT, be libcmt/msvc compatible by #undef _DLL (skirting what you are supposed/allowed to do but it is ok), calling conventions (detail)
file UtilsC.c was added on branch release_branch_cm3_5_8 on 2010-01-15 13:17:39 +0000 (detail)
MyFPState should return floatState not heapState! (detail)
remove newline from middle of short comment (detail)
don't have BroadcastHeap take heap lock, its caller already should (right?); this can go either way, really, since it is a recursive lock..let's see, the pthread version can go either way..let's change the BOOLEAN to an INTEGER so we are sure that writes to it are atomic then we should be ok (detail)
partial merge from head: for now just the added lines (detail)
from head: reduce dependency on newer m3core (detail)
from head: implement configure_c_compiler to account for: newer compiler says: cc: Warning: -xarch=v8plus is deprecated, use -m32 -xarch=sparc instead cc: Warning: -xarch=generic64 is deprecated, use -m64 to create 64-bit programs (detail)
file FSUtilsUnsafe.i3 was added on branch release_branch_cm3_5_8 on 2010-01-15 14:42:00 +0000 (detail)
merge from head: m3unix.h => m3core.h; #if 0 assert(stack_grows_down) (detail)
copy from head: add const and return the pthread_unlock_mutex return value (!) (fixes Solaris but is a general bug) (detail)
remove $Id$, it makes for noisy diffs one newline at ends of files is enough, some had two, remove one one had zero, add one (detail)
forgot a file copying from head to remove TextExtras use (detail)
file stdout.build was added on branch release_branch_cm3_5_8 on 2009-12-15 11:56:05 +0000 (detail)
file stdout.pgm was added on branch release_branch_cm3_5_8 on 2010-02-17 05:44:31 +0000 (detail)
remove readonly on proc so we can more easily partial merge head and release (detail)
file GenInsert.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
copy from head: eliminate dependency on Usignal (detail)
mostly from head: remove dash from version 'pre-', 'std' => 'all', save some newlines (detail)
copy from head and: change RTThread back to ThreadInternal change limit to stop fixes AMD64_LINUX p007 hang (detail)
switch OpenBSD/x86 to user threads (which need to be merged/copied as well) (detail)
copy from head: NIL check vs. range check (detail)
copy from head (nudged by Peter's mail): have AutoFlush always copy all the fields copying not all of them is a micro optimization and more importantly, hard to know the correctness of some functions Foo where already implemented as LOCK UnsafeFoo this seems like a good pattern; do it more (detail)
file GenMod.ig was added on branch release_branch_cm3_5_8 on 2010-01-15 11:02:17 +0000 (detail)
minor merge with head wrt the cm3 vs. MxConfig predefines (SL, CR, EOL, M3_PROFILING) (detail)
unimportant reconciliation with head (very very tempting to just delete the file..nobody uses this cross build stuff; I have done many cross builds, and not using this stuff..and these *.sh variations build more than needed..) (detail)