Provided by: manpages-ru-dev_4.27.0-1_all 

НАИМЕНОВАНИЕ
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 или
более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских
переводчиков.
Справочные страницы Linux 6.9.1 2 мая 2024 г. getunwind(2)