LINUX.ORG.RU

Перспектива назначать др имена срршным статическим билиотекам др имена и собирать динамически не очень радует

placement_new ★★
() автор топика

Вообще говоря, так:

g++ -static -Wl,-Bdynamic -lfoo

Но ввиду того, что современный набор ГНУтых утилит полон багов и фич, не соберется. Вернее, соберется, но запускаться не будет (типа, нет такой команды).

Можешь вызвать загрузчик явно, на x86 Линуксе оно будет такое:

/lib/ld-linux.so.2 ./a.out

на x86-64 -- такое:

/lib64/ld-linux-x86-64.so.2 ./a.out

Если не упало, (на большинстве x86-64 систем оно ссегфолтится), то заметь, что libc6 туда затащилось динамически:

/lib/ld-linux.so.2 --list ./a.out

Если ТАКОЕ тебя устраивает -- что ж, можешь пинком добавить загрузчик в файл:

g++ -static -Wl,-Bdynamic -lfoo -Wl,-Bstatic -Wl,-dynamic-linker /lib/ld-linux.so.2

Полученное творение почти везде ссегфолтится или выругается на несоответствие версии libc6 или ядра.

Удачи! :-)

Die-Hard ★★★★★
()
Ответ на: комментарий от Die-Hard

Вдогонку -- во избежание, /lib/ld-linux.so.2 лучше добавить через -Wl,:

g++ -static -Wl,-Bdynamic -lfoo -Wl,-Bstatic -Wl,-dynamic-linker -Wl,/lib/ld-linux.so.2

Die-Hard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.