У меня есть функция, которую я копирую в кучу, я хочу, чтобы все вызовы других функций в этой функции генерировали коды операций 9A или FF для абсолютных вызовов вместо стандартного кода операции E8, который является относительным вызовом, по очевидным причинам.
ARM и некоторые другие платформы, кажется, имеют опцию -mlong-Call, которая, кажется, делает что-то похожее, но это не доступно для x86
В x86-64 есть опция -mcmodel = large, которая также генерирует другие коды операций, она недоступна для x86 при компиляции с -m32
Как этого добиться на x86 с помощью gcc / gas?
Задача ещё не решена.
Других решений пока нет …