В настоящее время я использую некоторую схему замены кода в 32-битном формате, где код, который перемещается в другую позицию, считывает переменные и указатель класса. Поскольку x86_64 не поддерживает абсолютную адресацию, у меня возникают проблемы с получением правильных адресов для переменных в новой позиции кода. Проблема в деталях заключается в том, что из-за копирования относительная адресация указателя инструкций отличается от адреса во время компиляции.
Так есть ли способ использовать абсолютную адресацию в x86_64 или другой способ получить адреса переменных, не относительных указателя инструкций?
Что-то вроде: leaq variable (%% rax), %% rbx
также может помочь. Я только хочу, чтобы он не зависел от указателя инструкции.