Man page - getunwind(2)

Packages contains this manual

Available languages:

en fr ru ro

Manual

getunwind

НАИМЕНОВАНИЕ
БИБЛИОТЕКА
ОБЗОР
ОПИСАНИЕ
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
ОШИБКИ
СТАНДАРТЫ
ИСТОРИЯ
СМОТРИТЕ ТАКЖЕ
ПЕРЕВОД

НАИМЕНОВАНИЕ

getunwind - копирует раскрученные данные в буфер вызывающего

БИБЛИОТЕКА

Стандартная библиотека языка C ( 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 on IA-64.

ИСТОРИЯ

Linux 2.4.

Данный системный вызов устарел. Современным способом получить раскрученные данные ядра является работа через 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> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков .