Pull to refresh

Comments 2

Это надо отдать литературному редактору, перед выкладкой. Тема весьма интересная, статья показывает четко как происходит адресация в зависимости от модели при генерации как обычных бинарей так и so. Но прочитать это — мозги сломать.

«RIP-относительная адресация относительна очередной команде, таким образом сдвиг необходимо запатчить в команду mov таким образом, чтобы он соответствовал 0х3с. Нас интересует вторая релокация, R_X86_64_PC32, она указывает на операнд mov по адресу 0x38 и означает следующее: берем значение символа, добавляем слагаемое и вычитаем указываемый релокацией сдвиг.»
Я читал раз пять, пытаясь вникнуть в процесс расчета адреса. Может я тугодум? :)

Вот про ABI было бы очень интересно. Какие регистры гарантировано есть в AMD64, например ymm и zmm может не быть, если не поддерживается процессором. И почему у microsoft и у system v такие разные abi. Тем временем в дикой природе ARM x64 наблюдается всё чаще.
Sign up to leave a comment.