Всем привет. Пытаюсь сгенерировать исполнимый файл, выводящий в терминал «Hello World» под Linux x86_64 путем вызова функции printf и с использованием типа релокации R_X86_64_PC32. Но при попытке запуска выкидывает «Symbol `printf’ causes overflow in R_X86_64_PC32 relocation». Аналогичная программа под Linux x86_32 с релокацией R_386_PC32 работает без проблем.
Исполнимые файлы, сгенерированные с помощью gcc, tcc или fasm, используют другие типы релокации, поэтому их дизассемблирование не может помочь в анализе проблемы - я бы хотел решить задачу используя именно указанный тип релокации.
Может кто-нибудь скинуть аналогичный исполнимый файл с выводом строки функцией printf и использованием релокации R_X86_64_PC32 для анализа?