The toolchain and psxscl now seamlessly support SEH exception handling,
which can be used by C++, ObjC, and other front-ends. The exception
filter resides in psxscl, which means that changes and additional
functionality in the translation layer between the system's SEH
mechanism and the compiler-provided exception handling (libstdc++ or
otherwise) does not require a rebuild of the toolchain or any of the
mdso and midipix-specific custom import libraries: finalized the abi,
adding proper .linkonce support.
Completed initial work on sbpython2/sbpython3, thereby providing an a
clean, external, sofort-based method for (cross-)building the Python
Finished overhaul of mpackage, the midipix distro bits.
Completed overhaul of the sofort build system, now supporting custom
configuration, generic build- and host-related tests, and a variety of
enhanced tests to detect target properties.
slibtool now fully supports suffixed suffixes (used by OSX).
Added support for advisory file locking.
important recent additions to the framework's extended interfaces (xfi),
as well as the framework's internals, include: path conversion functions,
fixed-sized, cached buffer regions, temporary ofd objects, API-based
shared objects, object directory getdents support, and many more.
sysv message queues are now completed and integrated within the framework.
similar to the implementation of sysv semaphores, the sysv message queues
are composed of ntctty as the backend, ntapi as the client-side component,
and psxscl as the system call translation layer around the latter.
sysv semaphores are now complete and integrated with ntctty as a
backend, ntapi as the client-side component, and psxscl as a translation
layer around the latter. providing a rarely-used, yet required interface,
the sysv semaphore implementation demonstrate ntctty's power as an
extensible subsystem. the midipix sysv semaphores are fast, robust,
and correctly support SEM_UNDO across execve(2) invocations.
known as the 'midipix dso scanvenger',
is now complete and fully functional.
import libraries generated by mdso do not use the .idata section,
but rather the custom sections .dsometa (library headers), .dsosyms
(__imp_foo), and .dsostrs ("foo"). the use of custom sections makes
it possible for the loader (libpsxscl.so) to be in full charge of
path-independent library loading, and also allows marking a library
as a system library, thereby ensuring its loading from the operating
system's designated library directory (aka %system32%).
with the implementation of
pe_load_framework_loader(), the statically linked part of the framework's
loader is now complete. in a top-level framework process, the loader (libpsxscl.so)
is found according to the logic that was recently described on the
it's all relative!
the dynamic loader functions in libpemagine, which are responsible for loading
the framework's loader at process initialization, are now complete and working.
The implementation is based on a clean, framework-neutral API/ABI, and could
thus easily be used in a variety of execution environments.
we now have a mailing list!
many thanks to daurnimator for providing the daemon and helping set up the
slibtool: a surrogate libtool
implementation, written in C
is working very nicely not only for this project, but also for all other
supported targets (linux, bsd, etc.); build once, use with all native and cross
compilation of libtool-based packages. slibtool alpha has now been
and is currently at version
sofort: portable software
is out! the project provides a fast-and-skinny build system, along with a
thread-safe and very powerful argument vector parser and usage screen generator.
this project has already generated the skeleton for four different
midipix-related tools (perk, mdso, apimagic, and elfbites).
internal release, a working bash, colorful bugs, and lots of fun. for links to
the internal tarballs please join the project's freenode irc channel (#midipix).