A crash was introduced by the prior commit, ee255d2. I tested that the kernel still did build with gcc, but I failed to test whether it also still runs. Turns out that apparently changing the pointers to static made it so gcc put the structure into the init data segment and implicitly called memcpy to put it on the stack. That's wrong, however. We depend on #define to convert all calls in init to the init text copies of memcpy etc. The implicit call by gcc however attempts to call the HMA text copy of memcpy which happens to be at another offset. The fix is to make the entire array of structs static so that memory for it is allocated only in the init data segment, not on the stack. This seems to work for both gcc and OpenWatcom (no warnings, it builds, it runs).
fd kernel
FreeDOS kernel - current 0xFD version is 2.43 (2043)
The FreeDOS kernel implements the core MS/PC-DOS (R) compatible functions. It is derived from Pat Villani's DOS-C kernel and released under the GPL v2. Please see http://www.freedos.org/ for more details about the FreeDOS (TM) Project. This was originally a branch based on 2042 SVN 0xFD kernel; the full svn history has since been added to git (see other branches) and current development of release kernels are available here. Please fork and submit a Pull Request!
Compiled kernels ready to use (just copy kernel.sys over an existing install) are available at http://www.fdos.org/kernel/testing/git/ - also available are the source archive and fdpkg compatible packages. *** TODO update links/upload archives
This version of the kernel is intended only for 8086+ or 80386+ IBM compatible computers in continuation of the goals of the FreeDOS Project. Please see http://www.fdos.org/kernel for my 0xDC kernel that is work on merging back in some of the original portability aspects and other supported features at the cost of some compatibility with older hardware/software.
Please feel free to email me - PerditionC@gmail.com