Provided by: manpages-ru-dev_4.21.0-2_all
ИМЯ
getunwind - копирует раскрученные данные в буфер вызывающего
LIBRARY
Standard C library (libc, -lc)
СИНТАКСИС
#include <linux/unwind.h> #include <sys/syscall.h> /* определения констант SYS_* */ #include <unistd.h> [[deprecated]] long syscall(SYS_getunwind, void buf[.buf_size], size_t buf_size);
ОПИСАНИЕ
Note: this system call is obsolete. Специальный системный вызов getunwind() для IA-64 копирует раскрученные данные кадра вызова ядра в буфер, указанный в buf, и возвращает размер раскрученных данных; эти данные описывают шлюзовую страницу (gate page, код ядра, который отображается в адресное пространство пользователя). Размер буфера buf задаётся в buf_size. Данные копируются только, если значение buf_size больше или равно размеру раскрученных данных и значение buf не равно NULL; в противном случае, данные не копируются и вызов завершается без ошибки, возвращая размер, который необходим для хранения раскрученных данных. В начале раскрученных данных содержится таблица раскрутки. После неё хранится связанная с раскруткой информация в произвольном порядке. В таблице раскрутки содержатся записи в следующем виде: u64 start; (64-битный адрес начала функции) u64 end; (64-битный адрес конца функции) u64 info; (смещение относительно BUF на раскрученную информацию) Запись, у которой значение start равно нулю, указывает на конец таблицы. Подробности формата смотрите в руководстве IA-64 Software Conventions and Runtime Architecture.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении getunwind() возвращает размер раскрученных данных. При ошибке возвращается -1, а в errno задаётся причина ошибки.
ОШИБКИ
Вызов getunwind() завершается с ошибкой EFAULT, если раскрученную информацию невозможно сохранить в пространство, указанное buf.
ВЕРСИИ
Данный системный вызов доступен в Linux начиная с версии 2.4.
СТАНДАРТЫ
Данный системный вызов есть только в Linux и доступен только на архитектуре IA-64.
ЗАМЕЧАНИЯ
Данный системный вызов устарел. Современным способом получить раскрученные данные ядра является работа через vdso(7).
СМ. ТАКЖЕ
getauxval(3)
ПЕРЕВОД
Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Vladislav <ivladislavefimov@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com> Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.