Получить виртуальный адрес конкретной инструкции в ядре 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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