File: arch_prctl.2

package info (click to toggle)
manpages-es 1.55-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,472 kB
  • ctags: 6
  • sloc: sh: 1,349; makefile: 63
file content (128 lines) | stat: -rw-r--r-- 3,811 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) 2003 Andi Kleen
.\"
.\" Permission is granted to make and distribute verbatim copies of this
.\" manual provided the copyright notice and this permission notice are
.\" preserved on all copies.
.\"
.\" Permission is granted to copy and distribute modified versions of this
.\" manual under the conditions for verbatim copying, provided that the
.\" entire resulting derived work is distributed under the terms of a
.\" permission notice identical to this one
.\" 
.\" Since the Linux kernel and libraries are constantly changing, this
.\" manual page may be incorrect or out-of-date.  The author(s) assume no
.\" responsibility for errors or omissions, or for damages resulting from
.\" the use of the information contained herein.  The author(s) may not
.\" have taken the same level of care in the production of this manual,
.\" which is licensed free of charge, as they might when working
.\" professionally.
.\" 
.\" Formatted or processed versions of this manual, if unaccompanied by
.\" the source, must acknowledge the copyright and authors of this work.
.\" 
.\" Traducido por Miguel Pérez Ibars <mpi79470@alu.um.es> el 5-julio-2004
.\" 
.TH ARCH_PRCTL 2 "2 febrero 2003" "Linux 2.4.20" "Manual del Programador de Linux"
.SH NOMBRE
arch_prctl \- Fija el estado de un hilo para una arquitectura específica.
.SH SINOPSIS
.B #include <asm/prctl.h>
.sp
.B #include <sys/prctl.h>
.sp
.BI "int arch_prctl(int code, unsigned long addr)"
.SH DESCRIPCIÓN
La función
.B arch_prctl
fija el estado de un hilo o proceso para una arquitectura específica.
.I code
escoge una subfunción
y le pasa el argumento
.I addr.
.LP
Las subfunciones para la arquitectura x86-64 son:
.TP
.B ARCH_SET_FS
Establece la base de 64 bits para el registro
.I FS
a
.IR addr .
.TP
.B ARCH_GET_FS
Devuelve el valor de base de 64 bits para el registro FS del hilo actual en la
variable
.I unsigned long
apuntada por el parámetro
.I address 
.TP
.B ARCH_SET_GS
Establece la base de 64 bits para el registro
.I GS
a
.IR addr .
.TP
.B ARCH_GET_GS
Devuelve el valor de base 64 bits para el registro GS del hilo actual
en la variable
.I unsigned long
apuntada por el parámetro
.I address.
.SH OBSERVACIONES
En la actualidad
.I arch_prctl
es soportada solamente por la plataforma Linux/x86-64 para programas de 64 bits.

La base de 64 bits cambia cuando se carga un nuevo selector de segmento de 32 bits.

.B ARCH_SET_GS
está deshabilitado en algunos núcleos.

Los cambios de contexto para las bases de segmento de 64 bits son bastante
costosos. Una alternativa más rápida sería fijar una base de 32 bits usando
un selector de segmento configurando un LDT con
.BR modify_ldt (2)
o usando la llamada al sistema
.BR set_thread_area (2)
en un núcleo 2.5.
.B arch_prctl
solamente se necesita cuando se quieren establecer bases mayores de 4GB.
La memoria en los primeros 2GB del espacio de direcciones puede ser asignada usando
.BR mmap (2)
con la opción
.I MAP_32BIT.

No existe el prototipo de
.I arch_prctl
en glibc 2.2. Es tarea del programador declararlo por sí mismo.
Este inconveniente será subsanado en versiones futuras de glibc.

.I FS 
puede estar ya usado por la biblioteca de hilos.
.SH ERRORES
.TP
.B EINVAL
.I code 
no es un subcomando válido.
.TP
.B EPERM
.I addr
está fuera del espacio de direcciones.
.TP
.B EFAULT
.I addr 
apunta a una dirección no asignada o que está fuera del espacio de direcciones del proceso.
.SH AUTOR
Página de manual escrita por Andi Kleen.
.SH CONFORME A
.I arch_prctl
es una extensión de Linux/x86-64 y no debería emplearse en programas
que se pretenden que sean portables.
.SH "VÉASE TAMBIÉN"
.BR mmap (2),
.BR modify_ldt (2),
.BR prctl (2),
.BR set_thread_area (2)
.sp
Manual del Programador de AMD X86-64