Комментарии 8
Почему так происходит, мне выяснить не удалось, буду рад, если поделитесь информацией на этот счёт.
У glibc есть тяжелые проблемы с статической компоновкой. Слинковать можно, но она все равно пытается загружать какие-то динамические модули. И если не найдет их, падает.
Подробности не могу рассказать. Сам сталкивался, только когда пытался статически скомпилировать SQLite и fossil. Все получилось с MUSL. A я программирую только на ассемблере, где все это не нужно.
0
При тестировании было замечено, что программы статически скомпанованные с glibc, при запуске уходят в segfault, на данной инструкции:
movq %fs:0x28, %rax
Это обращение к TLS (thread local storage). C таким скриптом компоновщика TLS вряд ли будет работать.
0
Эту магию где нибудь преподают? Какие курсы нужно пройти чтобы начать понимать хотя бы что тут написано?
0
ну… робачевского прочитать, например. для старта вроде бы неплохо.
хотя я же не знаю с какого уровня вы стартуете, может быть вам с k&r нужно начать.
+1
0
В статье в начале жутко не хватает абзаца о том что такое «упаковка» и зачем она нужна :-)
+3
Возможно как отправная точка подошли бы исходники утилиты upx?
0
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Создание упаковщика x86_64 ELF файлов под linux