Я действительно новичок в программировании (в целом - это жалко), и в этом приложении возникла какая-то сборка, связанная с Python, которую я взламываю на 64-битную версию.
По сути, код выглядит так:
#define FUNCTION(name) \
.globl _##name; \
_##name: \
jmp *(_p_##name)
.text
FUNCTION(name)
Насколько я могу судить, синтаксис FUNCTION (имя) используется примерно 50 раз для определения заголовков для внешней библиотеки Python (я не собираюсь делать вид, что полностью его понимаю, я просто исправляю ошибки).
Поскольку я компилирую для x86_64, GCC выдает следующую ошибку для каждого экземпляра FUNCTION (имя):
32-разрядная абсолютная адресация не поддерживается для x86-64
не может выполнить 4-байтовое перемещение со знаком
Как бы я решил "исправить" это для запуска на x86_64?