Получить виртуальный адрес конкретной инструкции в ядре LinuxLinux

Anonymous
Получить виртуальный адрес конкретной инструкции в ядре Linux

Сообщение Anonymous »

Недавно я работал над заданием, которое требовало от меня получения адреса определенной инструкции в сегменте кода ядра Linux. Я пытался сделать это с помощью меток как значений, предоставленных gcc. вот так:

Код: Выделить всё

u64 address;

noinline void foo()
{
address = (u64) && label;
// some code

label: // the virtual address I want
// some code
}
Но значение адреса неверно, оно задано как &foo. Я предполагаю, что причина ошибки в том, что адрес не является статической константой (это глобальное значение), и это процедура присваивания, а не процедура инициализации.
Хотелось бы знать есть ли способ «получить виртуальный адрес любой инструкции и сохранить его в переменной» в ядре Linux.

Подробнее здесь: https://stackoverflow.com/questions/784 ... nux-kernel

Вернуться в «Linux»