Я работаю над очень низкой встроенной системой ресурсов, используя ядро linux в качестве ОС. Существуют любые дистрибутивы или POSIX/GNU toolchain, только ядро, загруженное в память, и пользовательский процесс инициализации.Статическая ссылка ld.so (ld.a?)
До сих пор я использовал статически связанные двоичные файлы, но теперь мне тоже нужны общие объекты. Чтобы сохранить простоту и сохранить ресурсы, мне нужна ld.so функциональность, статически связанная внутри каждого двоичного файла.
Существует какое-либо портативное решение, которое позволяет мне статически связывать общий загрузчик объектов внутри моего приложения?
Я просто задал этот вопрос в мультовой комнате чата, и кто-то указал, что в статическом бинарнике уже есть бит libc, но не все. И, скорее всего, загруженной библиотеке понадобятся недостающие бит. Я попробовал статическую ссылку с dlopen с муслисом и получил «dlopen failed: Dynamic loading not supported». –
Решено использовать 'musl', но вы должны скомпилировать динамически. 'libc.so' содержит все необходимые символы, поэтому вы должны установить его как динамический компоновщик в файле' gcc.specs'. – user3368561