Infinity is a platform-independent system for executables and shared libraries to expose functionality to debug, monitoring, and analysis tooling. It grew from a need for GDB to be able to debug multithreaded applications without requiring libthread_db. Other systems exist that use the libthread_db paradigm, for example librtld_db and OPMD; Infinity was designed to replace this entire class of library-tool interface with something more portable and robust.
In Infinity, executable and shared library files contain Infinity notes in addition to their regular contents. Each Infinity note is a platform-independent function that note-consuming tools can load and execute. The set of notes in an executable or shared library forms an API of Infinity functions that software-development tools can use.
Patches for glibc and GDB to allow thread-debugging without libthread_db are expected to be produced by December 2016.
Full-system preview releases will be made periodically in the meantime. The second full-system preview release (Second Wind) was released November 9, 2016.
Sign up to the mailing list and say hello if you want to help. Send an empty email to email@example.com to subscribe.
If you're good with compilers I'd love for I8Language to be nicer to write. I have some ideas but I don't know how to implement them. Even hints would be great...
And definitely mention if you’re writing software that uses Infinity notes.