]> git.wh0rd.org - patches.git/blame - elf.5.updates.patch
more random patches. who knows.
[patches.git] / elf.5.updates.patch
CommitLineData
b53d1f41
MF
1--- man5/elf.5
2+++ man5/elf.5
3@@ -584,6 +584,11 @@
4 Values less than or equal to
5 .Sy PT_LOPROC
6 are reserved for processor-specific semantics.
7+.It PT_GNU_STACK
8+GNU extension which is used by the Linux kernel to control the state of the
9+stack via the flags set in the
10+.Sy p_flags
11+member.
12 .El
13 .Pp
14 .It Dv p_offset
15@@ -606,7 +611,7 @@
16 This member holds the number of bytes in the memory image of the segment.
17 It may be zero.
18 .It Dv p_flags
19-This member holds flags relevant to the segment:
20+This member holds a bitmask of flags relevant to the segment:
21 .Pp
22 .Bl -tag -width "PF_X" -compact
23 .It Dv PF_X
24@@ -998,6 +1003,25 @@
25 .Sy SHF_ALLOC
26 and
27 .Sy SHF_EXECINSTR .
28+.It .gnu.version
29+This section holds the version symbol table, an array of ElfN_Half elements.
30+This section is of type
31+.Sy SHT_GNU_versym .
32+The attribute type used is
33+.Sy SHF_ALLOC .
34+.It .gnu.version_d
35+This section holds the version symbol definitons, a table of ElfN_Verdef
36+structures. This section is of type
37+.Sy SHT_GNU_verdef .
38+The attribute type used is
39+.Sy SHF_ALLOC .
40+.It .gnu.version_r
41+This section holds the version symbol needed elements, a table of
42+ElfN_Verneed structures. This section is of
43+type
44+.Sy SHT_GNU_versym .
45+The attribute type used is
46+.Sy SHF_ALLOC .
47 .It .got
48 This section holds the global offset table.
49 This section is of type
50@@ -1049,6 +1073,14 @@
51 .Sy .note.openbsd.ident
52 section to identify themselves, for the kernel to bypass any compatibility
53 ELF binary emulation tests when loading the file.
54+.It .note.GNU-stack
55+This section is used in Linux object files for declaring stack attributes.
56+This section is of type
57+.Sy SHT_PROGBITS .
58+The only attribute used is
59+.Sy SHF_EXECINSTR .
60+This indicates to the GNU linker that the object file requires an
61+executable stack.
62 .It .plt
63 This section holds the procedure linkage table.
64 This section is of type
65@@ -1271,7 +1301,23 @@
66 .El
67 .Pp
68 .It Dv st_other
69-This member currently holds zero and has no defined meaning.
70+This member defines the symbol visibility.
71+.Bl -tag -width "STV_PROTECTED"
72+.It Dv STV_DEFAULT
73+Default symbol visibility rules.
74+.It Dv STV_INTERNAL
75+Processor specific hidden class.
76+.It Dv STV_HIDDEN
77+Symbol is unavailable in other modules.
78+.It Dv STV_PROTECTED
79+Not preemptible, not exported.
80+.Pp
81+There are macros for extracting the visibility type:
82+.Pp
83+.Fn ELF32_ST_VISIBILITY other
84+or
85+.Fn ELF64_ST_VISIBILITY other
86+.El
87 .It Dv st_shndx
88 Every symbol table entry is
89 .Dq defined