Проект SoLo развивает загрузчик системных so-библиотек для полностью статических Linux-программ
Опубликован проект SoLo, позволяющий полностью статическим Linux-программам, собранным с musl, загружать через dlopen() установленные в системе glibc-библиотеки, в первую очередь GPU-драйверы. Обычно статическая сборка несовместима с драйверами Vulkan и OpenGL, которые дистрибутивы поставляют в виде разделяемых библиотек, собранных с glibc. SoLo снимает это ограничение при помощи встроенного в исполняемый файл загрузчика ELF и прослойки, транслирующей вызовы glibc в musl-рантайм процесса — сам glibc в процесс не загружается, второго libc в процессе не появляется. Код написан на C++ и распространяется под лицензией MIT. В репозиторий входит наглядный пример: статический исполняемый файл, в котором нет ни интерпретатора, ни динамической секции, штатным для … Читать далее Проект SoLo развивает загрузчик системных so-библиотек для полностью статических Linux-программ
