Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       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⟩.