NOM¶
getunwind - Copier les données unwind vers le tampon de l'appelant
SYNOPSIS¶
#include <syscall.h>
#include <linux/unwind.h>
long getunwind(void *buf, size_t buf_size);
Remarque : il n'existe pas de fonction glibc autour de cet appel
système ; consultez
NOTES.
DESCRIPTION¶
Remarque : cette fonction est obsolète.
L'appel système
getunwind() spécifique à IA-64 copie
les données unwind de la trame d'appel du noyau vers le tampon
pointé par
buf et renvoie la taille des données
unwind ; ces données décrivent la page gate (le code du
noyau qui est projeté dans l'espace utilisateur).
La taille du tampon
buf est indiquée dans
buf_size. Les
données ne sont copiées que si
buf_size est plus grand ou
égal à la taille des données unwind et que
buf
n'est pas NULL ; sinon, aucune donnée n'est copiée et
l'appel réussit, en renvoyant la taille qui aurait été
nécessaire pour stocker les données unwind.
La première partie des données unwind contient une table unwind.
Le reste contient les renseignements unwind associés, sans ordre
particulier. La table unwind contient des entrées sous la forme
suivante :
u64 start; (adresse 64 bits du début de fonction)
u64 end; (adresse 64 bits de fin de fonction)
u64 info; (offset relatif au tampon des renseignements unwind)
Une entrée dont la valeur
start est zéro indique la fin de
la table. Pour plus de renseignements sur le format, consultez le manuel
IA-64 Software Conventions and Runtime Architecture.
VALEUR RENVOYÉE¶
S'il réussit,
getunwind() renvoie la taille de table unwind. En
cas d'erreur, il renvoie -1 et remplit
errno avec la valeur d'erreur.
ERREURS¶
getunwind() échoue avec l'erreur
EFAULT si les
renseignements unwind ne peuvent pas être stockés dans l'espace
indiqué par
buf.
VERSIONS¶
Cet appel système est disponible depuis Linux 2.4.
Cet appel système est spécifique à Linux et n'est
disponible que sur l'architecture IA-64.
NOTES¶
Cet appel système est maintenant obsolète. La façon moderne
d'obtenir les données unwind du noyau est avec le DSO gate. L'adresse
de l'en-tête ELF pour ce DSO est passée au niveau utilisateur
à l'aide de
AT_SYSINFO_EHDR (consultez
getauxval(3)).
La glibc ne fournit pas de fonction autour de cet appel système ;
dans l'éventualité où vous voudriez quand même
l'appeler, utilisez
syscall(2).
VOIR AUSSI¶
getauxval(3)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».