Как упражнение, чтобы более точно узнать, как работают c-программы и какой минимальный уровень контента должен существовать для программы, чтобы иметь возможность использовать libc, я взял на себя задачу попытаться запрограммировать в первую очередь на сборке x86 с использованием газа и л.д..
Как забавная небольшая проблема, я успешно собрал и связал несколько программ, связанных с различными самодельными динамическими библиотеками, но я не смог скомпоновать программу с нуля, чтобы использовать вызовы функций libc без непосредственного использования gcc.
Я понимаю соглашения о вызовах отдельных функций библиотеки c и тщательно проверял программы, составленные из gcc, используя objdump и readelf, но не получил нигде, насколько какая информация должна включать в файл газовой сборки и что параметры для вызова в ld для успешной ссылки на libc. Кто-нибудь может понять это?
Я запускаю Linux на машине x86.