1 .\" $OpenBSD: elf.5,v 1.12 2003/10/27 20:23:58 jmc Exp $
2 .\"Copyright (c) 1999 Jeroen Ruigrok van der Werven
3 .\"All rights reserved.
5 .\"Redistribution and use in source and binary forms, with or without
6 .\"modification, are permitted provided that the following conditions
8 .\"1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\"2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\"THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\"ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\"ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\"FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\"DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\"OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\"HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\"LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\"OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 .\" $FreeBSD: src/share/man/man5/elf.5,v 1.21 2001/10/01 16:09:23 ru Exp $
28 .\" Slightly adapted - aeb, 2004-01-01
29 .\" 2005-07-15, Mike Frysinger <vapier@gentoo.org>, various fixes
30 .\" 2007-10-11, Mike Frysinger <vapier@gentoo.org>, various fixes
31 .\" 2007-12-08, mtk, Converted from mdoc to man macros
33 .\" Japanese Version Copyright (c) 2004-2005 Yuichi SATO
34 .\" all rights reserved.
35 .\" Translated Thu Dec 16 02:17:58 JST 2004
36 .\" by Yuichi SATO <ysato444@yahoo.co.jp>
37 .\" Updated & Modified Sat Sep 10 02:29:40 JST 2005 by Yuichi SATO
38 .\" Updated 2008-02-12, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.77
40 .TH ELF 5 2007-12-28 "Linux" "Linux Programmer's Manual"
42 .\"O elf \- format of Executable and Linking Format (ELF) files
44 elf \- ¼Â¹Ô²Äǽ¥ê¥ó¥¯¥Õ¥©¡¼¥Þ¥Ã¥È (ELF) ¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È
48 .\" .B #include <elf_abi.h>
55 .\"O defines the format of ELF executable binary files.
58 ¤Ï ELF ¼Â¹Ô²Äǽ¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Î¥Õ¥©¡¼¥Þ¥Ã¥È¤òÄêµÁ¤¹¤ë¡£
59 .\"O Amongst these files are
60 .\"O normal executable files, relocatable object files, core files and shared
62 ¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤È¤·¤Æ¤Ï¡¢Ä̾ï¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¡¦
63 ºÆÇÛÃÖ²Äǽ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¡¦¥³¥¢¥Õ¥¡¥¤¥ë¡¦¶¦Í¥é¥¤¥Ö¥é¥ê¤¬¤¢¤ë¡£
65 .\"O An executable file using the ELF file format consists of an ELF header,
66 .\"O followed by a program header table or a section header table, or both.
67 ELF ¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤ò»È¤¦¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ï¡¢
68 ELF ¥Ø¥Ã¥À¤Î¸å¤Ë¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Þ¤¿¤Ï
69 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë (¤Þ¤¿¤Ï¤½¤ÎξÊý) ¤¬Â³¤¯¹½À®¤Ç¤¢¤ë¡£
70 .\"O The ELF header is always at offset zero of the file.
71 ELF ¥Ø¥Ã¥À¤Ï¾ï¤Ë¥Õ¥¡¥¤¥ë¤Î¥ª¥Õ¥»¥Ã¥È 0 ¤Ë¤¢¤ë¡£
72 .\"O The program header
73 .\"O table and the section header table's offset in the file are defined in the
75 ¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤È¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î
76 ¥Õ¥¡¥¤¥ëÆâ¤Ç¤Î¥ª¥Õ¥»¥Ã¥È¤Ï¡¢ELF ¥Ø¥Ã¥À¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
77 .\"O The two tables describe the rest of the particularities of
79 ¤³¤Î 2 ¤Ä¤Î¥Æ¡¼¥Ö¥ë¤Ï¥Õ¥¡¥¤¥ë¤Î»Ä¤ê¤ÎÉôʬ¤Î¾ÜºÙ¤òµ½Ò¤¹¤ë¡£
81 .\"O .\" Applications which wish to process ELF binary files for their native
82 .\"O .\" architecture only should include
83 .\"O .\" .I <elf_abi.h>
84 .\"O .\" in their source code.
85 .\" ¥Í¥¤¥Æ¥£¥Ö¤Ê¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Î ELF ¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤ò½èÍý¤·¤¿¤¤
86 .\" ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥½¡¼¥¹¥³¡¼¥É¤Ë
88 .\" ¤ò´Þ¤á¤ë¤À¤±¤Ç¤è¤¤¡£
89 .\"O .\" These applications should need to refer to
90 .\"O .\" all the types and structures by their generic names
92 .\"O .\" and to the macros by
94 .\" ¤³¤ì¤é¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥¸¥§¥Í¥ê¥Ã¥¯Ì¾
95 .\" all the types and structures by their generic names
97 .\" ¤Ë¤è¤Ã¤ÆÁ´¤Æ¤Î·¿¤È¹½Â¤ÂΤò»²¾È¤·¤¿¤ê¡¢
99 .\" ¤Ë¤è¤Ã¤Æ¥Þ¥¯¥í¤ò»²¾È¤·¤¿¤ê¤¹¤ë¤¹¤Ù¤¤Ç¤¢¤ë¡£
100 .\"O .\" Applications written this way can be compiled on any architecture,
101 .\"O .\" regardless of whether the host is 32-bit or 64-bit.
102 .\" ¤³¤Î¤è¤¦¤Ë¤·¤Æ½ñ¤«¤ì¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢
103 .\" ¥Û¥¹¥È¤¬ 32 ¥Ó¥Ã¥È¤« 64 ¥Ó¥Ã¥È¤«¤Ë´Ø¤ï¤é¤º¡¢
104 .\" ¤É¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã¾å¤Ç¤â¥³¥ó¥Ñ¥¤¥ë¤Ç¤¤ë¡£
106 .\"O .\" Should an application need to process ELF files of an unknown
107 .\"O .\" architecture, then the application needs to explicitly use either
111 .\"O .\" type and structure names.
112 .\" ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬Ì¤ÃΤΥ¢¡¼¥¥Æ¥¯¥Á¥ã¤Î ELF ¥Õ¥¡¥¤¥ë¤ò
113 .\" ½èÍý¤¹¤ëɬÍפ¬¤¢¤ë¾ì¹ç¡¢¤½¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÌÀ¼¨Åª¤Ë
117 .\" ¤È¤¤¤¦·¿Ì¾¤È¹½Â¤ÂÎ̾¤ò»È¤¦É¬Íפ¬¤¢¤ë¡£
118 .\"O .\" Likewise, the macros need to be identified by
121 .\"O .\" "ELF64_xxx".
126 .\" ¤Ç¼±Ê̤µ¤ì¤ëɬÍפ¬¤¢¤ë¡£
128 .\"O This header file describes the above mentioned headers as C structures
129 .\"O and also includes structures for dynamic sections, relocation sections and
131 ¤³¤Î¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë¤Ï¾åµ¤Î¥Ø¥Ã¥À¤ò C ¸À¸ì¤Î¹½Â¤ÂΤǵ½Ò¤·¡¢
132 ¤Þ¤¿Æ°Åª¥»¥¯¥·¥ç¥ó¡¦ºÆÇÛÃÖ²Äǽ¥»¥¯¥·¥ç¥ó¡¦¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î¹½Â¤ÂΤâ
135 .\"O The following types are used for N-bit architectures (N=32,64,
146 °Ê²¼¤Î·¿¤Ï N ¥Ó¥Ã¥È¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ç»È¤ï¤ì¤ë (N=32,64 ¤Ç¤¢¤ê
162 .\"O ElfN_Addr Unsigned program address, uintN_t
163 ElfN_Addr Éä¹æ¤Ê¤·¤Î¥×¥í¥°¥é¥à¥¢¥É¥ì¥¹, uintN_t
164 .\"O ElfN_Off Unsigned file offset, uintN_t
165 ElfN_Off Éä¹æ¤Ê¤·¤Î¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È, uintN_t
166 .\"O ElfN_Section Unsigned section index, uint16_t
167 ElfN_Section Éä¹æ¤Ê¤·¤Î¥»¥¯¥·¥ç¥ó¥¤¥ó¥Ç¥Ã¥¯¥¹, uint16_t
168 .\"O ElfN_Versym Unsigned version symbol information, uint16_t
169 ElfN_Versym Éä¹æ¤Ê¤·¤Î¥Ð¡¼¥¸¥ç¥ó¥·¥ó¥Ü¥ë¾ðÊó, uint16_t
170 Elf_Byte unsigned char
176 .\"O .\" Elf32_Size Unsigned object size
177 .\" Elf32_Size Éä¹æ¤Ê¤·¤Î¥ª¥Ö¥¸¥§¥¯¥È¥µ¥¤¥º
181 .\"O (Note: The *BSD terminology is a bit different.
185 .\"O twice as large as
186 .\"O .IR Elf32_Half ,
191 .\"O In order to avoid confusion these types are replaced by explicit ones
193 (Ãí°Õ: *BSD ¤Ç¤ÎÍѸì¤Ï¾¯¤·°Û¤Ê¤ë¡£
202 º®Íð¤òÈò¤±¤ë¤¿¤á¡¢°Ê²¼¤Ç¤Ï¡¢¤³¤ì¤é¤Î·¿¤Ï¥µ¥¤¥º¤¬¼«ÌÀ¤Ê·¿¤ËÃÖ¤´¹¤¨¤Æ¤¢¤ë¡£)
204 .\"O All data structures that the file format defines follow the
206 .\"O size and alignment guidelines for the relevant class.
207 ¤³¤Î¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤¬ÄêµÁ¤¹¤ëÁ´¤Æ¤Î¥Ç¡¼¥¿¹½Â¤ÂΤϡ¢
210 ¥µ¥¤¥º¤ÈÇÛÃ֤λؿˤ˽¾¤¦¡£
212 .\"O data structures contain explicit padding to ensure 4-byte alignment
213 .\"O for 4-byte objects, to force structure sizes to a multiple of 4, etc.
214 ɬÍפʾì¹ç¡¢¥Ç¡¼¥¿¹½Â¤ÂΤǤÏÌÀ¼¨Åª¤Ê¥Ñ¥Ç¥£¥ó¥° (padding, µÍ¤á¹þ¤ß)
215 ¤¬¹Ô¤Ê¤ï¤ì¤ë¡£¤³¤ì¤Ï 4 ¥Ð¥¤¥È¥ª¥Ö¥¸¥§¥¯¥È¤ËÂФ¹¤ë
216 4 ¥Ð¥¤¥ÈÇÛÃÖ¤òÊݾڤ¹¤ë¤¿¤á¤ä¡¢
217 ¹½Â¤ÂΤΥµ¥¤¥º¤ò 4 ¤ÎÇÜ¿ô¤Ë¤¹¤ë¤¿¤á¤Ê¤É¤Ç¤¢¤ë¡£
219 .\"O The ELF header is described by the type
222 .\"O .IR Elf64_Ehdr :
234 unsigned char e_ident[EI_NIDENT];
243 uint16_t e_phentsize;
245 uint16_t e_shentsize;
252 .\"O The fields have the following meanings:
253 ¥Õ¥£¡¼¥ë¥É¤Ï°Ê²¼¤Î°ÕÌ£¤ò»ý¤Ä:
254 .\" .Bl -tag -width "e_phentsize"
257 .\"O This array of bytes specifies to interpret the file,
258 .\"O independent of the processor or the file's remaining contents.
259 ¤³¤Î¥Ð¥¤¥ÈÇÛÎó¤Ï¡¢¥×¥í¥»¥Ã¥µ¤ä¥Õ¥¡¥¤¥ë¤Î¾¤ÎÉôʬ¤Ë¤Ï°Í¸¤»¤º¤Ë¡¢
260 ¥Õ¥¡¥¤¥ë¤ò²ò¼á (interpret) ¤¹¤ë¤¿¤á¤Ë»ØÄꤵ¤ì¤ë¡£
261 .\"O Within this array everything is named by macros, which start with
264 .\"O and may contain values which start with the prefix
266 ¤³¤ÎÇÛÎóÆâ¤Î¤¹¤Ù¤Æ¤Î¤â¤Î¤Ï¡¢ÀÜƬ¼
268 ¤Ç»Ï¤Þ¤ë¥Þ¥¯¥í¤Î̾Á°¤¬ÉÕ¤¡¢ÀÜƬ¼
271 .\"O The following macros are defined:
272 °Ê²¼¤Î¥Þ¥¯¥í¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
274 .\" .Bl -tag -width "EI_VERSION" \" EI_ABIVERSION
277 .\"O The first byte of the magic number.
278 .\"O It must be filled with
280 ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¡¼¤ÎÂè 1 ¥Ð¥¤¥È¡£
282 ¤ÇËä¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
286 .\"O The second byte of the magic number.
287 .\"O It must be filled with
289 ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¡¼¤ÎÂè 2 ¥Ð¥¤¥È¡£
291 ¤ÇËä¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
295 .\"O The third byte of the magic number.
296 .\"O It must be filled with
298 ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¡¼¤ÎÂè 3 ¥Ð¥¤¥È¡£
300 ¤ÇËä¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
304 .\"O The fourth byte of the magic number.
305 .\"O It must be filled with
307 ¥Þ¥¸¥Ã¥¯¥Ê¥ó¥Ð¡¼¤ÎÂè 4 ¥Ð¥¤¥È¡£
309 ¤ÇËä¤á¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
313 .\"O The fifth byte identifies the architecture for this binary:
314 Âè 5 ¥Ð¥¤¥È¤Ï¡¢¤³¤Î¥Ð¥¤¥Ê¥ê¤Î¥¢¡¼¥¥Æ¥¯¥Á¥ã¤ò¼¨¤¹:
316 .\" .Bl -tag -width "ELFCLASSNONE" -compact
320 .\"O This class is invalid.
321 ¤³¤Î¥¯¥é¥¹¤ÏÉÔÀµ¤Ç¤¢¤ë¡£
324 .\"O This defines the 32-bit architecture.
325 32 ¥Ó¥Ã¥È¥¢¡¼¥¥Æ¥¯¥Á¥ã¤òÄêµÁ¤¹¤ë¡£
326 .\"O It supports machines with files
327 .\"O and virtual address spaces up to 4 Gigabytes.
328 ¥Õ¥¡¥¤¥ë¤È²¾ÁÛ¥¢¥É¥ì¥¹¶õ´Ö¤¬ 4 ¥®¥¬¥Ð¥¤¥È¤Þ¤Ç¤Î¥Þ¥·¥ó¤ò¥µ¥Ý¡¼¥È¤¹¤ë¡£
331 .\"O This defines the 64-bit architecture.
332 64 ¥Ó¥Ã¥È¥¢¡¼¥¥Æ¥¯¥Á¥ã¤òÄêµÁ¤¹¤ë¡£
338 .\"O The sixth byte specifies the data encoding of the processor-specific
339 .\"O data in the file.
340 .\"O Currently these encodings are supported:
341 Âè 6 ¥Ð¥¤¥È¤Ï¥Õ¥¡¥¤¥ëÆâ¤Î¥×¥í¥»¥Ã¥µ¸Çͥǡ¼¥¿¤Î
342 ¥Ç¡¼¥¿¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤ò»ØÄꤹ¤ë¡£
343 ¸½ºß¤Î¤È¤³¤í°Ê²¼¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë:
344 .\" .Bl -tag -width "ELFDATA2LSB" -compact
349 .\"O Unknown data format.
350 ÉÔÌÀ¤Ê¥Ç¡¼¥¿¥Õ¥©¡¼¥Þ¥Ã¥È¡£
353 .\"O Two's complement, little-endian.
354 2 ¤ÎÊä¿ô¡¢¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó¡£
357 .\"O Two's complement, big-endian.
358 2 ¤ÎÊä¿ô¡¢¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¡£
365 .\"O The version number of the ELF specification:
366 ELF »ÅÍͤΥС¼¥¸¥ç¥óÈÖ¹æ:
367 .\" .Bl -tag -width "EV_CURRENT" -compact
371 .\"O Invalid version.
375 .\"O Current version.
382 .\"O This byte identifies the operating system
383 .\"O and ABI to which the object is targeted.
384 ¤³¤Î¥Ð¥¤¥È¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¿¡¼¥²¥Ã¥È¤È¤Ê¤ë
385 ¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È ABI ¤ò¼¨¤¹¡£
386 .\"O Some fields in other ELF structures have flags
387 .\"O and values that have platform-specific meanings;
388 ¾¤Î ELF ¹½Â¤ÂΤΥե£¡¼¥ë¥É¤Ë¤Ï¡¢
389 ¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¸ÇͤΰÕÌ£¤ò»ý¤Ä¥Õ¥é¥°¤äÃͤò»ý¤Ä¤â¤Î¤â¤¢¤ë;
390 .\"O the interpretation of those fields is determined by the value of this byte.
392 ¤³¤ì¤é¤Î¥Õ¥£¡¼¥ë¥É¤Î²ò¼á¤Ï¡¢¤³¤Î¥Ð¥¤¥È¤ÎÃͤˤè¤Ã¤Æ·èÄꤵ¤ì¤ë¡£
394 .\" .Bl -tag -width "ELFOSABI_STANDALONE" -compact
399 .\"O Same as ELFOSABI_SYSV
400 ELFOSABI_SYSV ¤ÈƱ¤¸¡£
406 .\" synonym: ELFOSABI_NONE
420 .\" .BR ELFOSABI_HURD
424 .\" .BR ELFOSABI_86OPEN
425 .\" 86Open Common IA32 ABI.
431 .\" .It Dv ELFOSABI_MONTEREY
432 .\" Monterey project ABI.
454 .\"O ARM architecture ABI.
455 ARM ¥¢¡¼¥¥Æ¥¯¥Á¥ã ABI.
458 .BR ELFOSABI_STANDALONE
459 .\"O Stand-alone (embedded) ABI.
460 ¥¹¥¿¥ó¥É¥¢¥í¥ó (ÁȤ߹þ¤ß) ABI.
467 .\"O This byte identifies the version of the ABI
468 .\"O to which the object is targeted.
469 ¤³¤Î¥Ð¥¤¥È¤Ï¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¿¡¼¥²¥Ã¥È¤È¤·¤Æ¤¤¤ë ABI ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤¹¡£
470 .\"O This field is used to distinguish among incompatible versions of an ABI.
471 ¤³¤Î¥Õ¥£¡¼¥ë¥É¤Ï¸ß´¹À¤Î¤Ê¤¤ ABI ¤Î¥Ð¡¼¥¸¥ç¥ó¤ò¶èÊ̤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£
472 .\"O The interpretation of this version number
473 .\"O is dependent on the ABI identified by the
476 ¤³¤Î¥Ð¡¼¥¸¥ç¥óÈÖ¹æ¤Î²ò¼á¤Ï¡¢
478 ¥Õ¥£¡¼¥ë¥É¤Ç¼±Ê̤µ¤ì¤ë ABI ¤Ë°Í¸¤¹¤ë¡£
479 .\"O Applications conforming to this specification use the value 0.
480 ¤³¤Î»ÅÍͤ˽àµò¤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢ÃÍ 0 ¤ò»È¤¦¡£
483 .\"O Start of padding.
484 .\"O These bytes are reserved and set to zero.
486 .\"O which read them should ignore them.
490 .\"O the future if currently unused bytes are given meanings.
492 ¤³¤ì¤é¤Î¥Ð¥¤¥È¤ÏͽÌ󤵤ì¤Æ¤ª¤ê¡¢0 ¤ËÀßÄꤵ¤ì¤Æ¤¤¤ë¡£
493 ¤³¤ì¤é¤òÆɤ߹þ¤à¥×¥í¥°¥é¥à¤Ï¡¢¤³¤ì¤é¤Î¥Ð¥¤¥È¤ò̵»ë¤¹¤Ù¤¤Ç¤¢¤ë¡£
494 ¸½ºß»È¤ï¤ì¤Æ¤¤¤Ê¤¤¥Ð¥¤¥È¤Ë°ÕÌ£¤¬Í¿¤¨¤é¤ì¤ë¾ì¹ç¡¢
496 ¤ÎÃͤϾÍèÊѹ¹¤µ¤ì¤ë¤«¤â¤·¤ì¤Ê¤¤¡£
499 .\"O Start of architecture identification.
500 ¥¢¡¼¥¥Æ¥¯¥Á¥ã ID ¤Î³«»Ï¡£
512 .\"O This member of the structure identifies the object file type:
513 ¤³¤Î¹½Â¤ÂΤΥá¥ó¥Ð¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¥¿¥¤¥×¤ò¼¨¤¹:
515 .\" .Bl -tag -width "ET_NONE" -compact
519 .\"O An unknown type.
523 .\"O A relocatable file.
527 .\"O An executable file.
531 .\"O A shared object.
542 .\"O This member specifies the required architecture for an individual file.
544 ¤³¤Î¥á¥ó¥Ð¤Ï¸Ä¡¹¤Î¥Õ¥¡¥¤¥ë¤ËɬÍפȤµ¤ì¤ë¥¢¡¼¥¥Æ¥¯¥Á¥ã¤ò»ØÄꤹ¤ë¡£
547 .\" .Bl -tag -width "EM_MIPS_RS4_BE" -compact
551 .\"O An unknown machine.
560 Sun Microsystems SPARC.
583 .\"O MIPS RS3000 (big-endian only).
584 MIPS RS3000 (¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¤ß)¡£
588 .\" .It Dv EM_MIPS_RS4_BE
589 .\"O .\" MIPS RS4000 (big-endian only). Deprecated.
590 .\" MIPS RS4000 (¥Ó¥Ã¥°¥¨¥ó¥Ç¥£¥¢¥ó¤Î¤ß)¡£Èó¿ä¾©¡£
592 .\"O .\" EM_MIPS_RS3_LE (MIPS R3000 little-endian)
593 .\" EM_MIPS_RS3_LE (MIPS R3000 ¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó)¡£
601 .\"O SPARC with enhanced instruction set.
602 ³Èĥ̿Î᥻¥Ã¥ÈÉÕ¤ SPARC¡£
618 Advanced RISC Machines
643 .\" Compaq [DEC] Alpha.
644 .\" .It Dv EM_ALPHA_EXP
645 .\"O .\" Compaq [DEC] Alpha with enhanced instruction set.
646 .\" ³Èĥ̿Î᥻¥Ã¥ÈÉÕ¤ Compaq [DEC] Alpha¡£
652 .\"O This member identifies the file version:
653 ¤³¤Î¥á¥ó¥Ð¤Ï¥Õ¥¡¥¤¥ë¥Ð¡¼¥¸¥ç¥ó¤ò¼¨¤¹:
654 .\" .Bl -tag -width "EV_CURRENT" -compact
659 .\"O Invalid version.
663 .\"O Current version.
670 .\"O This member gives the virtual address to which the system first transfers
671 .\"O control, thus starting the process.
672 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢¥·¥¹¥Æ¥à¤¬ºÇ½é¤ËÀ©¸æ¤òÅϤ¹¡¢
673 ¤Ä¤Þ¤ê¥×¥í¥»¥¹¤ò³«»Ï¤¹¤ë²¾ÁÛ¥¢¥É¥ì¥¹¤ò»ØÄꤹ¤ë¡£
674 .\"O If the file has no associated entry
675 .\"O point, this member holds zero.
676 ¥Õ¥¡¥¤¥ë¤Ë¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤¬´ØÏ¢ÉÕ¤±¤é¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
677 ¤³¤Î¥á¥ó¥Ð¤Ë¤Ï 0 ¤¬Æþ¤ë¡£
680 .\"O This member holds the program header table's file offset in bytes.
682 .\"O the file has no program header table, this member holds zero.
683 ¤³¤Î¥á¥ó¥Ð¤Ï¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î
684 ¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
685 ¥Õ¥¡¥¤¥ë¤Ë¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¾ì¹ç¡¢
686 ¤³¤Î¥á¥ó¥Ð¤Ë¤Ï 0 ¤¬Æþ¤ë¡£
689 .\"O This member holds the section header table's file offset in bytes.
691 .\"O file has no section header table this member holds zero.
692 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î
693 ¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
694 ¥Õ¥¡¥¤¥ë¤Ë¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¾ì¹ç¡¢
695 ¤³¤Î¥á¥ó¥Ð¤Ë¤Ï 0 ¤¬Æþ¤ë¡£
698 .\"O This member holds processor-specific flags associated with the file.
699 .\"O Flag names take the form EF_`machine_flag'.
700 .\"O Currently no flags have been defined.
701 ¤³¤Î¥á¥ó¥Ð¤Ï¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥×¥í¥»¥Ã¥µ¸ÇͤΥե饰¤òÊÝ»ý¤¹¤ë¡£
702 ¥Õ¥é¥°¤Î̾Á°¤Ï EF_`machine_flag' ¤È¤¤¤¦·Á¼°¤Ç¤¢¤ë¡£
703 ¸½ºß¤Î¤È¤³¤í¥Õ¥é¥°¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
706 .\"O This member holds the ELF header's size in bytes.
707 ¤³¤Î¥á¥ó¥Ð¤Ï ELF ¥Ø¥Ã¥À¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
710 .\"O This member holds the size in bytes of one entry in the file's program header
711 .\"O table; all entries are the same size.
712 ¤³¤Î¥á¥ó¥Ð¤Ï¤³¤Î¥Õ¥¡¥¤¥ë¤Î¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î
713 1 ¥¨¥ó¥È¥ê¤¢¤¿¤ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë;
714 Á´¤Æ¤Î¥¨¥ó¥È¥ê¤ÏƱ¤¸¥µ¥¤¥º¤Ç¤¢¤ë¡£
717 .\"O This member holds the number of entries in the program header
719 ¤³¤Î¥á¥ó¥Ð¤Ï¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Î¿ô¤òÊÝ»ý¤¹¤ë¡£
720 .\"O Thus the product of
724 .\"O gives the table's size
730 ¤ÎÀѤ¬¥Æ¡¼¥Ö¥ë¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤Ë¤Ê¤ë¡£
731 .\"O If a file has no program header,
733 .\"O holds the value zero.
734 ¥Õ¥¡¥¤¥ë¤Ë¥×¥í¥°¥é¥à¥Ø¥Ã¥À¤¬¤Ê¤¤¾ì¹ç¡¢
739 .\"O This member holds a sections header's size in bytes.
740 .\"O A section header is one
741 .\"O entry in the section header table; all entries are the same size.
742 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
743 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤Ï¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î 1 ¤Ä¤Î¥¨¥ó¥È¥ê¤Ç¤¢¤ë;
744 Á´¤Æ¤Î¥¨¥ó¥È¥ê¤ÏƱ¤¸¥µ¥¤¥º¤Ç¤¢¤ë¡£
747 .\"O This member holds the number of entries in the section header table.
748 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ë¤¢¤ë¥¨¥ó¥È¥ê¤Î¿ô¤òÊÝ»ý¤¹¤ë¡£
754 .\"O gives the section header table's size in bytes.
759 ¤ÎÀѤϥ»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤Ë¤Ê¤ë¡£
760 .\"O If a file has no section
763 .\"O holds the value of zero.
764 ¥Õ¥¡¥¤¥ë¤Ë¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¾ì¹ç¡¢
769 .\"O This member holds the section header table index of the entry associated
770 .\"O with the section name string table.
771 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó̾ʸ»úÎó¥Æ¡¼¥Ö¥ë¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿¥¨¥ó¥È¥ê¤Î
772 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊÝ»ý¤¹¤ë¡£
773 .\"O If the file has no section name string
774 .\"O table, this member holds the value
776 ¥Õ¥¡¥¤¥ë¤Ë¥»¥¯¥·¥ç¥ó̾ʸ»úÎó¥Æ¡¼¥Ö¥ë¤¬¤Ê¤¤¾ì¹ç¡¢
782 .\" .Bl -tag -width "SHN_LORESERVE"
785 .\"O This value marks an undefined, missing, irrelevant, or otherwise meaningless
786 .\"O section reference.
787 ¤³¤ÎÃͤÏ̤ÄêµÁ¡¦Â¸ºß¤·¤Ê¤¤¡¦Ìµ´Ø·¸¤½¤Î¾¡¢
788 °ÕÌ£¤Î¤Ê¤¤¥»¥¯¥·¥ç¥ó¤Î»²¾È¤Ç¤¢¤ë¤³¤È¤òɽ¤¹¡£
789 .\"O For example, a symbol
791 .\"O relative to section number
793 .\"O is an undefined symbol.
794 Î㤨¤Ð¡¢¥»¥¯¥·¥ç¥óÈÖ¹æ
796 ¤Ë´ØÏ¢¤Å¤±¤Æ¡ÖÄêµÁ¡×¤µ¤ì¤¿¥·¥ó¥Ü¥ë¤Ï¡¢¡Ö̤ÄêµÁ¡×¤Ê¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£
797 .\"nakano ¤³¤³¤Î "defined" ¤ÏÄ̾ï¤Îʸ¤Î°ìÉô¤Ç¤Ï¡©
800 .\"O This value specifies the lower bound of the range of reserved indices.
801 ¤³¤ÎÃͤÏͽÌóºÑ¤ß¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹ÈϰϤβ¼¸Â¤ò»ØÄꤹ¤ë¡£
804 .\"O Values greater than or equal to
806 .\"O are reserved for processor-specific semantics.
809 °Ê²¼¤ÎÃͤϡ¢¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
812 .\"O Values less than or equal to
814 .\"O are reserved for processor-specific semantics.
817 °Ê¾å¤ÎÃͤϡ¢¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
818 .\"sato: SHN_{HI,LO}PROC ¤ÎÀâÌÀ¤Ï¡¢¸¶Ê¸¤Î´Ö°ã¤¤¤é¤·¤¤¡£
821 .\"O This value specifies absolute values for the corresponding reference.
823 .\"O example, symbols defined relative to section number
825 .\"O have absolute values and are not affected by relocation.
826 ¤³¤ÎÃͤÏÂбþ¤¹¤ë»²¾È¤ÎÀäÂÐÃͤò»ØÄꤹ¤ë¡£
827 Î㤨¤Ð¡¢¥»¥¯¥·¥ç¥óÈÖ¹æ
829 ¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥·¥ó¥Ü¥ë¤ÏÀäÂÐÃͤòÊÝ»ý¤·¡¢ºÆÇÛÃ֤˱ƶÁ¤µ¤ì¤Ê¤¤¡£
832 .\"O Symbols defined relative to this section are common symbols, such as Fortran
833 .\"O COMMON or unallocated C external variables.
834 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ë´ØÏ¢¤·¤ÆÄêµÁ¤µ¤ì¤¿¥·¥ó¥Ü¥ë¤Ï¡¢
835 Fortran ¤Î COMMON ¤ä C ¤Î̤³ä¤êÅö¤Æ external ÊÑ¿ô¤Î¤è¤¦¤Ê¡¢
839 .\"O This value specifies the upper bound of the range of reserved
841 .\"O .BR SHN_LORESERVE
843 .\"O .BR SHN_HIRESERVE ,
844 .\"O inclusive; the values do
845 .\"O not reference the section header table.
846 ¤³¤ÎÃͤÏͽÌ󤵤줿¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÎÈϰϤξå¸Â¤ò»ØÄꤹ¤ë¡£
851 ¤³¤ÎÃͤϥ»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤ò»²¾È¤·¤Ê¤¤¡£
852 .\"O That is, the section header table
855 .\"O contain entries for the reserved indices.
856 ¤Ä¤Þ¤ê¡¢¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ï
857 ͽÌ󤵤줿¥¤¥ó¥Ç¥Ã¥¯¥¹¤Î¥¨¥ó¥È¥ê¤ò
863 .\"O An executable or shared object file's program header table is an array of
864 .\"O structures, each describing a segment or other information the system needs
865 .\"O to prepare the program for execution.
866 ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ï¡¢
867 ¥·¥¹¥Æ¥à¤Ë¤è¤ë¥×¥í¥°¥é¥à¼Â¹Ô½àÈ÷¤ËɬÍפʡ¢
868 ¥»¥°¥á¥ó¥ÈÅù¤Î¾ðÊó¤òµ½Ò¤¹¤ë¹½Â¤ÂΤÎÇÛÎó¤Ç¤¢¤ë¡£
871 .\"O contains one or more
873 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î
878 .\"O Program headers are meaningful only for executable and shared object files.
879 ¥×¥í¥°¥é¥à¥Ø¥Ã¥À¤Ï¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤È¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ç¤Î¤ß°ÕÌ£¤ò»ý¤Ä¡£
880 .\"O A file specifies its own program header size with the ELF header's
885 ¥Õ¥¡¥¤¥ë¤Ï¼«¿È¤Î¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥µ¥¤¥º¤ò ELF ¥Ø¥Ã¥À¤Î
890 .\"O The ELF program header is described by the type
894 .\"O depending on the architecture:
895 ELF ¥×¥í¥°¥é¥à¥Ø¥Ã¥À¤Ï
900 (¤É¤Á¤é¤Ë¤Ê¤ë¤«¤Ï¥¢¡¼¥¥Æ¥¯¥Á¥ã°Í¸):
932 .\"O The main difference between the 32-bit and the 64-bit program header lies
933 .\"O in the location of the
935 .\"O member in the total struct.
936 32 ¥Ó¥Ã¥È¤È 64 ¥Ó¥Ã¥È¤Î¥×¥í¥°¥é¥à¥Ø¥Ã¥À¤Î¼ç¤Ê°ã¤¤¤Ï¡¢¹½Â¤ÂΤˤª¤±¤ë
939 .\" .Bl -tag -width "p_offset"
942 .\"O This member of the Phdr struct tells what kind of segment this array
943 .\"O element describes or how to interpret the array element's information.
944 Phdr ¹½Â¤ÂΤΤ³¤Î¥á¥ó¥Ð¤Ï¡¢
945 ¤³¤ÎÇÛÎóÍ×ÁǤ¬¤É¤Î¤è¤¦¤Ê¼ïÎà¤Î¥»¥°¥á¥ó¥È¤òµ½Ò¤·¤Æ¤¤¤ë¤«¡¢
946 ¤Þ¤¿¤Ï¤³¤ÎÇÛÎóÍ×ÁǤξðÊó¤ò¤É¤Î¤è¤¦¤Ë²ò¼á¤¹¤ë¤«¡¢¤òɽ¤¹¡£
947 .\" .Bl -tag -width "PT_DYNAMIC"
951 .\"O The array element is unused and the other members' values are undefined.
952 .\"O This lets the program header have ignored entries.
953 ¤³¤ÎÇÛÎóÍ×ÁǤϻÈÍѤµ¤ì¤Æ¤ª¤é¤º¡¢¤½¤Î¾¤Î¥á¥ó¥Ð¤ÎÃͤÏ̤ÄêµÁ¤Ç¤¢¤ë¡£
954 ¤³¤ì¤Ë¤è¤ê¡¢¤³¤Î¥×¥í¥°¥é¥à¥Ø¥Ã¥À¤Î¥¨¥ó¥È¥ê¤Ï̵»ë¤µ¤ì¤ë¡£
957 .\"O The array element specifies a loadable segment, described by
965 ¤Çµ½Ò¤µ¤ì¤ë¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤ò»ØÄꤹ¤ë¡£
966 .\"O The bytes from the file are mapped to the beginning of the memory
968 ¤³¤Î¥Õ¥¡¥¤¥ë¤«¤é¤Î¥Ð¥¤¥È¥Ç¡¼¥¿¤¬¡¢¤³¤Î¥á¥â¥ê¥»¥°¥á¥ó¥È¤ÎÀèƬ¤«¤é¥Þ¥Ã¥×¤µ¤ì¤ë¡£
970 .\"Osato: ¤³¤ÎÌõ¤Ï¼«¿È¤Ê¤·¡£¾¯¤·°ÕÌõµ¤Ì£¤«¤â¤·¤ì¤Ê¤¤¡£
972 .\"O If the segment's memory size
974 .\"O is larger than the file size
975 .\"O .IR Sy p_filesz ,
978 .\"O bytes are defined to hold the value 0 and to follow the segment's
979 .\"O initialized area.
980 ¥»¥°¥á¥ó¥È¤Î¥á¥â¥ê¥µ¥¤¥º
985 ¡Ö;¤Ã¤¿¡×¥Ð¥¤¥È¤ÏÃÍ 0 ¤È¤Ê¤ê¡¢
986 ¤½¤Î¥»¥°¥á¥ó¥È½é´ü²½¥Ç¡¼¥¿¤Î¸å¤í¤ËÃÖ¤«¤ì¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë¡£
987 .\"O The file size may not be larger than the memory size.
988 ¥Õ¥¡¥¤¥ë¥µ¥¤¥º¤Ï¥á¥â¥ê¥µ¥¤¥º¤è¤êÂ礤¯¤Æ¤Ï¤¤¤±¤Ê¤¤¡£
989 .\"O Loadable segment entries in the program header table appear in ascending
990 .\"O order, sorted on the
993 ¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Î¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¥¨¥ó¥È¥ê¤Ï¡¢
995 ¥á¥ó¥Ð¤Î¾º½ç¤Ë¥½¡¼¥È¤µ¤ì¤Æ½Ð¸½¤¹¤ë¡£
998 .\"O The array element specifies dynamic linking information.
999 ¤³¤ÎÇÛÎóÍ×ÁǤÏưŪ¥ê¥ó¥¯¾ðÊó¤ò»ØÄꤹ¤ë¡£
1002 .\"O The array element specifies the location and size of a null-terminated
1003 .\"O pathname to invoke as an interpreter.
1004 ¤³¤ÎÇÛÎóÍ×ÁǤϡ¢¥¤¥ó¥¿¥×¥ê¥¿¤È¤·¤Æµ¯Æ°¤µ¤ì¤ë¥Ñ¥¹Ì¾ (NULL ʸ»ú½ªÃ¼)
1005 ¤Î°ÌÃ֤ȥµ¥¤¥º¤ò»ØÄꤹ¤ë¡£
1006 .\"O This segment type is meaningful
1007 .\"O only for executable files (though it may occur for shared objects).
1008 ¤³¤Î¥»¥°¥á¥ó¥È·¿¤Ï (¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤â¤¢¤ë¤«¤âÃΤì¤Ê¤¤¤¬)
1009 ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ç¤Î¤ß°ÕÌ£¤ò»ý¤Ä¡£
1010 .\"O However it may not occur more than once in a file.
1011 ¤¿¤À¤·¡¢¤³¤Î¥»¥°¥á¥ó¥È·¿¤Ï 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë 2 ²ó°Ê¾å½Ð¸½¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
1012 .\"O If it is present, it must precede any loadable segment entry.
1013 ¤â¤·Â¸ºß¤¹¤ë¾ì¹ç¡¢¤³¤Î¥»¥°¥á¥ó¥È·¿¤Ï
1014 Á´¤Æ¤Î¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¥¨¥ó¥È¥ê¤è¤êÁ°¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
1017 .\"O The array element specifies the location and size for auxiliary information.
1018 ¤³¤ÎÇÛÎóÍ×ÁǤÏÊä¾ðÊó (auxiliary information) ¤Î°ÌÃ֤ȥµ¥¤¥º¤ò»ØÄꤹ¤ë¡£
1021 .\"O This segment type is reserved but has unspecified semantics.
1023 .\"O contain an array element of this type do not conform to the ABI.
1024 ¤³¤Î¥»¥°¥á¥ó¥È·¿¤ÏͽÌ󤵤ì¤Æ¤¤¤ë¤¬¡¢°ÕÌ£¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
1025 ¤³¤Î·¿¤ÎÇÛÎóÍ×ÁǤòÊÝ»ý¤¹¤ë¥×¥í¥°¥é¥à¤Ï ABI ¤Ë½àµò¤·¤Ê¤¤¡£
1028 .\"O The array element, if present, specifies the location and size of the program
1029 .\"O header table itself, both in the file and in the memory image of the program.
1030 ¤³¤ÎÇÛÎóÍ×ÁǤϡ¢¤â¤·Â¸ºß¤·¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢
1031 ¥Õ¥¡¥¤¥ë¤ª¤è¤Ó¥×¥í¥°¥é¥à¤Î¥á¥â¥ê¥¤¥á¡¼¥¸ÁÐÊý¤Ë¤ª¤±¤ë
1032 ¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¼«¿È¤Î°ÌÃ֤ȥµ¥¤¥º¤ò»ØÄꤹ¤ë¡£
1033 .\"O This segment type may not occur more than once in a file.
1034 ¤³¤Î¥»¥°¥á¥ó¥È·¿¤Ï 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Ë 2 ²ó°Ê¾å½Ð¸½¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
1035 .\"O Moreover, it may
1036 .\"O only occur if the program header table is part of the memory image of the
1038 ¤µ¤é¤Ë¡¢¤³¤Î¥»¥°¥á¥ó¥È·¿¤¬Â¸ºß¤·¤Æ¤â¤è¤¤¤Î¤Ï¡¢¥×¥í¥°¥é¥à¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤¬
1039 ¥×¥í¥°¥é¥à¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤Î°ìÉô¤Ç¤¢¤ë¾ì¹ç¤Î¤ß¤Ç¤¢¤ë¡£
1040 .\"O If it is present, it must precede any loadable segment entry.
1041 ¤â¤·Â¸ºß¤¹¤ë¾ì¹ç¡¢¤³¤ì¤ÏÁ´¤Æ¤Î¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¥¨¥ó¥È¥ê¤è¤ê
1042 Á°¤Ë¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
1045 .\"O Values greater than or equal to
1047 .\"O are reserved for processor-specific semantics.
1050 °Ê²¼¤ÎÃÍ¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1053 .\"O Values less than or equal to
1055 .\"O are reserved for processor-specific semantics.
1058 °Ê¾å¤ÎÃÍ¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1059 .\"sato: PT_{HI,LO}PROC ¤ÎÀâÌÀ¤Ï¡¢¸¶Ê¸¤Î´Ö°ã¤¤¤é¤·¤¤¡£
1062 .\"O GNU extension which is used by the Linux kernel to control the state of the
1063 .\"O stack via the flags set in the
1066 GNU ³ÈÄ¥¤Ç¤¢¤ê¡¢Linux ¥«¡¼¥Í¥ë¤¬
1068 ¤Î¥á¥ó¥Ð¡¼¤Ë¥»¥Ã¥È¤µ¤ì¤¿¥Õ¥é¥°·Ðͳ¤Ç¥¹¥¿¥Ã¥¯¤Î¾õÂÖ¤òÀ©¸æ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¡£
1073 .\"O This member holds the offset from the beginning of the file at which
1074 .\"O the first byte of the segment resides.
1075 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢¥»¥°¥á¥ó¥È¤ÎÀèƬ¥Ð¥¤¥È¤¬¤¢¤ë
1076 (¥Õ¥¡¥¤¥ëÀèƬ¤«¤é¤Î) ¥ª¥Õ¥»¥Ã¥È¤òÊÝ»ý¤¹¤ë¡£
1079 .\"O This member holds the virtual address at which the first byte of the
1080 .\"O segment resides in memory.
1081 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢¥»¥°¥á¥ó¥È¤ÎÀèƬ¥Ð¥¤¥È¤¬¤¢¤ë
1082 ¥á¥â¥ê¤Î²¾ÁÛ¥¢¥É¥ì¥¹¤òÊÝ»ý¤¹¤ë¡£
1085 .\"O On systems for which physical addressing is relevant, this member is
1086 .\"O reserved for the segment's physical address.
1087 ʪÍý¥¢¥É¥ì¥¹¤¬°ÕÌ£¤ò¤â¤Ä¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
1088 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥°¥á¥ó¥È¤ÎʪÍý¥¢¥É¥ì¥¹¤È¤·¤ÆͽÌ󤵤ì¤Æ¤¤¤ë¡£
1092 .\"O not used and must be zero.
1093 BSD ¤Ç¤Ï¤³¤Î¥á¥ó¥Ð¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£0 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
1096 .\"O This member holds the number of bytes in the file image of the segment.
1097 .\"O It may be zero.
1098 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥°¥á¥ó¥È¤Î¥Õ¥¡¥¤¥ë¥¤¥á¡¼¥¸¤Î¥Ð¥¤¥È¿ô¤òÊÝ»ý¤¹¤ë¡£
1102 .\"O This member holds the number of bytes in the memory image of the segment.
1103 .\"O It may be zero.
1104 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥°¥á¥ó¥È¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤Î¥Ð¥¤¥È¿ô¤òÊÝ»ý¤¹¤ë¡£
1108 .\"O This member holds a bitmask of flags relevant to the segment:
1109 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥°¥á¥ó¥È¤Ë´ØÏ¢¤¹¤ë¥Õ¥é¥°¤Î¥Ó¥Ã¥È¥Þ¥Ã¥×¤òÊÝ»ý¤¹¤ë:
1110 .\" .Bl -tag -width "PF_X" -compact
1115 .\"O An executable segment.
1116 ¼Â¹Ô²Äǽ¥»¥°¥á¥ó¥È¡£
1119 .\"O A writable segment.
1120 ½ñ¤¹þ¤ß²Äǽ¥»¥°¥á¥ó¥È.
1123 .\"O A readable segment.
1124 Æɤ߹þ¤ß²Äǽ¥»¥°¥á¥ó¥È¡£
1129 .\"O A text segment commonly has the flags
1133 ¥Æ¥¥¹¥È¥»¥°¥á¥ó¥È¤Ï°ìÈ̤˥ե饰
1138 .\"O A data segment commonly has
1143 ¥Ç¡¼¥¿¥»¥°¥á¥ó¥È¤Ï°ìÈ̤Ë
1150 .\"O This member holds the value to which the segments are aligned in memory
1151 .\"O and in the file.
1152 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢¥»¥°¥á¥ó¥È¤¬¥á¥â¥ê¤ª¤è¤Ó¥Õ¥¡¥¤¥ë¤Ë¤ª¤¤¤ÆÇÛÃÖ (align)
1153 ¤µ¤ì¤ëÃͤòÊÝ»ý¤¹¤ë¡£
1154 .\"nakano align ¤ÎÄêÌõ¤Ï¤¢¤ê¤Þ¤·¤¿¤Ã¤±¡©
1155 .\"O Loadable process segments must have congruent values for
1159 .\"O modulo the page size.
1160 ¥í¡¼¥É²Äǽ¥×¥í¥»¥¹¥»¥°¥á¥ó¥È¤Ï¡¢¥Ú¡¼¥¸¥µ¥¤¥º¤òË¡¤È¤·¤Æ
1164 ¤È¹çƱ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
1165 (ÌõÃí:¡Öp_vaddr mod ¥Ú¡¼¥¸¥µ¥¤¥º = p_offset mod ¥Ú¡¼¥¸¥µ¥¤¥º¡×
1166 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£¡£
1167 .\"nakano ¤³¤¦¤¤¤¦¾ì¹ç¤ÏÉáÄÌ congruent "with" ¤À¤±¤É¡Ä
1168 .\"O Values of zero and one mean no alignment is required.
1169 0 ¤È 1 ¤È¤¤¤¦ÃͤÏÇÛÃÖ¤¬É¬Íפʤ¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
1172 .\"O should be a positive, integral power of two, and
1180 ¤ÏÀµ¤Ç 2 ¤ÎÀ°¿ô¾è¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
1186 ¤È¹çƱ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
1187 (ÌõÃí:¡Öp_vaddr mod p_align = p_offset mod p_align¡×¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£
1190 .\"O A file's section header table lets one locate all the file's sections.
1191 ¥Õ¥¡¥¤¥ë¤Î¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ë¤Ï¡¢
1192 Á´¤Æ¤Î¥Õ¥¡¥¤¥ë¥»¥¯¥·¥ç¥ó¤Î¾ì½ê¤¬µ½Ò¤µ¤ì¤Æ¤¤¤ë¡£
1194 .\"Osato: let ¤¬Ìõ¤·¤Å¤é¤¤¤Î¤Ç°ÕÌõµ¤Ì£¤Ë¤¹¤ë¡£
1197 .\"O section header table is an array of
1202 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ï
1206 ¹½Â¤ÂΤÎÇÛÎó¤Ç¤¢¤ë¡£
1210 .\"O member gives the byte offset from the beginning of the file to the section
1214 ¥á¥ó¥Ð¤Ï¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤«¤é
1215 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ø¤Î¥Ð¥¤¥È¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ë¡£
1217 .\"O holds the number of entries the section header table contains.
1218 .\"O .IR e_shentsize
1219 .\"O holds the size in bytes of each entry.
1221 ¤Ï¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤Ë´Þ¤Þ¤ì¤ë¥¨¥ó¥È¥ê¤Î¿ô¤òÊÝ»ý¤¹¤ë¡£
1223 ¤Ï³Æ¥¨¥ó¥È¥ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
1225 .\"O A section header table index is a subscript into this array.
1227 .\"O header table indices are reserved.
1228 .\"O An object file does not have sections for
1229 .\"O these special indices:
1230 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï¡¢¤³¤ÎÇÛÎó¤ÎÍ×ÁǤò»ØÄꤹ¤ë¡£
1231 ¤¤¤¯¤Ä¤«¤Î¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ÏͽÌ󤵤ì¤Æ¤¤¤ë¡£
1232 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï¡¢¤³¤ì¤é¤ÎÆÃÊ̤ʥ¤¥ó¥Ç¥Ã¥¯¥¹¤ËÂбþ¤¹¤ë
1233 ¥»¥¯¥·¥ç¥ó¤ò»ý¤¿¤Ê¤¤:
1234 .\" .Bl -tag -width "SHN_LORESERVE"
1237 .\"O This value marks an undefined, missing, irrelevant or otherwise meaningless
1238 .\"O section reference.
1239 ¤³¤ÎÃͤÏ̤ÄêµÁ¡¦ÉÔÌÀ¡¦Ìµ´Ø·¸¡¦Ìµ°ÕÌ£¤Ê¥»¥¯¥·¥ç¥ó»²¾È¤Î°õ¤È¤Ê¤ë¡£
1242 .\"O This value specifies the lower bound of the range of reserved indices.
1243 ¤³¤ÎÃͤÏͽÌóºÑ¤ß¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Îΰè¤Î²¼¸Â¤ò»ØÄꤹ¤ë¡£
1246 .\"O Values greater than or equal to
1248 .\"O are reserved for processor-specific semantics.
1251 °Ê²¼¤ÎÃÍ¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1254 .\"O Values less than or equal to
1256 .\"O are reserved for processor-specific semantics.
1259 °Ê¾å¤ÎÃÍ¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1260 .\"sato: SHN_{HI,LO}PROC ¤ÎÀâÌÀ¤Ï¡¢¸¶Ê¸¤Î´Ö°ã¤¤¤é¤·¤¤¡£
1263 .\"O This value specifies the absolute value for the corresponding reference.
1264 ¤³¤ÎÃͤÏÂбþ¤¹¤ë»²¾È¤ÎÀäÂÐÃͤò»ØÄꤹ¤ë¡£
1266 .\"O example, a symbol defined relative to section number
1268 .\"O has an absolute value and is not affected by relocation.
1269 Î㤨¤Ð¡¢¥»¥¯¥·¥ç¥óÈÖ¹æ
1271 ¤Ë´ØÏ¢¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Ï¡¢
1272 ÀäÂÐÃͤòÊÝ»ý¤·¤Æ¤¤¤ë¤Î¤Ç¡¢ºÆÇÛÃ֤˱ƶÁ¤µ¤ì¤Ê¤¤¡£
1273 .\"nakano "relative to" ¤¬¤Á¤ç¤Ã¤ÈÌõ¤·¤Ë¤¯¤¤¡£
1274 .\"nakano Íפ¹¤ë¤Ë SHN_ABS ¤Î¥»¥¯¥·¥ç¥ó¤Ë¤ÏÀäÂÐÃͤ¬ store ¤µ¤ì¤ë¡¢
1275 .\"nakano ¸å½Ò¤Î SHN_COMMON ¤Ë¤Ï global ÊÑ¿ô¤¬ store ¤µ¤ì¤ë¡¢
1276 .\"nakano ¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¤·¤ç¤¦¤¬¡£
1279 .\"O Symbols defined relative to this section are common symbols, such as FORTRAN
1280 .\"O COMMON or unallocated C external variables.
1281 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ë´ØÏ¢¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Ï¡¢
1282 FORTRAN ¤Î COMMON ¤ä C ¤Î̤³ä¤êÅö¤Æ³°ÉôÊÑ¿ô¤Î¤è¤¦¤Ê¶¦ÄÌ¥·¥ó¥Ü¥ë¤Ç¤¢¤ë¡£
1285 .\"O This value specifies the upper bound of the range of reserved indices.
1286 ¤³¤ÎÃͤÏͽÌóºÑ¤ß¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹Îΰè¤Î¾å¸Â¤ò»ØÄꤹ¤ë¡£
1288 .\"O system reserves indices between
1289 .\"O .BR SHN_LORESERVE
1291 .\"O .BR SHN_HIRESERVE ,
1297 ¤ò´Þ¤àÈϰϤòͽÌ󤹤롣
1298 .\"O The section header table does not contain entries for the
1299 .\"O reserved indices.
1300 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¤ÏͽÌ󤵤줿¥¤¥ó¥Ç¥Ã¥¯¥¹¤ËÂбþ¤¹¤ë¥¨¥ó¥È¥ê¤ò»ý¤¿¤Ê¤¤¡£
1303 .\"O The section header has the following structure:
1304 ¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤Ï°Ê²¼¤Î¹½Â¤ÂΤò»ý¤Ä:
1313 Elf32_Off sh_offset;
1317 uint32_t sh_addralign;
1318 uint32_t sh_entsize;
1330 Elf64_Off sh_offset;
1334 uint64_t sh_addralign;
1335 uint64_t sh_entsize;
1340 .\"O No real differences exist between the 32-bit and 64-bit section headers.
1341 32 ¥Ó¥Ã¥È¤È 64 ¥Ó¥Ã¥È¤Î¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤Ë¤Ï¼ÂºÝ¤Î°ã¤¤¤Ï¤Ê¤¤¡£
1342 .\" .Bl -tag -width "sh_addralign"
1345 .\"O This member specifies the name of the section.
1346 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó̾¤òÄê¤á¤ë¡£
1347 .\"O Its value is an index
1348 .\"O into the section header string table section, giving the location of
1349 .\"O a null-terminated string.
1350 ¤³¤ÎÃͤϥ»¥¯¥·¥ç¥ó¥Ø¥Ã¥Àʸ»úÎó¥Æ¡¼¥Ö¥ë¥»¥¯¥·¥ç¥ó¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ç¤¢¤ê¡¢
1351 NULL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿Ê¸»úÎó¤Î¾ì½ê¤ò¼¨¤¹¡£
1354 .\"O This member categorizes the section's contents and semantics.
1355 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¤ÎÆâÍƤȰÕÌ£¤¬´Þ¤Þ¤ì¤ë¥«¥Æ¥´¥ê¤ò¼¨¤¹¡£
1356 .\" .Bl -tag -width "SHT_PROGBITS"
1360 .\"O This value marks the section header as inactive.
1361 ¤³¤ÎÃͤϥ»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤¬ÉÔ³èÀ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£
1363 .\"O have an associated section.
1364 ¤³¤ì¤Ï´ØÏ¢¤¹¤ë¥»¥¯¥·¥ç¥ó¤ò»ý¤¿¤Ê¤¤¡£
1365 .\"O Other members of the section header
1366 .\"O have undefined values.
1367 ¤³¤Î¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¤Î¾¤Î¥á¥ó¥Ð¤Ï¡¢Ì¤ÄêµÁ¤ÎÃͤò»ý¤Ä¡£
1370 .\"O This section holds information defined by the program, whose
1371 .\"O format and meaning are determined solely by the program.
1372 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¤Ë¤è¤êÄêµÁ¤µ¤ì¤ë¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
1373 ¤³¤Î¾ðÊó¤Î·Á¼°¤È°ÕÌ£¤Ï¡¢¤Ò¤È¤¨¤Ë¥×¥í¥°¥é¥à¤Ë¤è¤Ã¤Æ·èÄꤵ¤ì¤ë¡£
1376 .\"O This section holds a symbol table.
1377 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1380 .\"O provides symbols for link editing, though it may also be used
1381 .\"O for dynamic linking.
1384 ¤Ï¥ê¥ó¥¯ÊÔ½¸¤Î¤¿¤á¤Î¥·¥ó¥Ü¥ë¤òÄ󶡤¹¤ë¤¬¡¢
1385 ưŪ¥ê¥ó¥¯¤Ë¤â»È¤ï¤ì¤ë¡£
1386 .\"O As a complete symbol table, it may contain
1387 .\"O many symbols unnecessary for dynamic linking.
1388 ´°Á´¤Ê¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤È¤·¤Æ¡¢Æ°Åª¥ê¥ó¥¯¤Ë¤ÏÉÔÍפÊ
1389 ¿¤¯¤Î¥·¥ó¥Ü¥ë¤òÊÝ»ý¤Ç¤¤ë¡£
1390 .\"O An object file can
1394 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤â
1396 ¥»¥¯¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1399 .\"O This section holds a string table.
1400 .\"O An object file may have multiple
1401 .\"O string table sections.
1402 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ïʸ»úÎó¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1403 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤Îʸ»úÎó¥Æ¡¼¥Ö¥ë¥»¥¯¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1406 .\"O This section holds relocation entries with explicit addends, such
1409 .\"O for the 32-bit class of object files.
1410 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏÌÀ¼¨Åª¤Ê²Ã¿ô (addend) ¤ò»ý¤ÄºÆÇÛÃÖ¥¨¥ó¥È¥ê¤òÊÝ»ý¤¹¤ë¡£
1411 ºÆÇÛÃÖ¥¨¥ó¥È¥ê¤Î·¿¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î 32 ¥Ó¥Ã¥È¥¯¥é¥¹¤Ç¤Ï
1414 .\"O An object may have multiple
1415 .\"O relocation sections.
1416 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤ÎºÆÇÛÃÖ¥»¥¯¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1419 .\"O This section holds a symbol hash table.
1420 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1421 .\"O An object participating in
1422 .\"O dynamic linking must contain a symbol hash table.
1423 ưŪ¥ê¥ó¥¯¤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Ï¡¢
1424 ¥·¥ó¥Ü¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤ò´Þ¤ó¤Ç¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
1425 .\"O An object file may
1426 .\"O have only one hash table.
1427 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤Î¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¤ß¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1430 .\"O This section holds information for dynamic linking.
1431 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏưŪ¥ê¥ó¥¯¤Î¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
1432 .\"O An object file may
1433 .\"O have only one dynamic section.
1434 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï 1 ¤Ä¤ÎưŪ¥»¥¯¥·¥ç¥ó¤Î¤ß¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1437 .\"O This section holds information that marks the file in some way.
1438 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ë¤Ë²¿¤é¤«¤Î°õ¤òÉÕ¤±¤ë¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
1441 .\"O A section of this type occupies no space in the file but otherwise
1443 .\"O .BR SHT_PROGBITS .
1444 ¤³¤Î¥¿¥¤¥×¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ë¤ÎÎΰè¤ò»È¤ï¤Ê¤¤¤È¤¤¤¦°Ê³°¤Ï¡¢
1447 .\"O Although this section contains no bytes, the
1449 .\"O member contains the conceptual file offset.
1450 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï 1 ¥Ð¥¤¥È¤â´Þ¤Þ¤Ê¤¤¤¬¡¢
1452 ¥á¥ó¥Ð¤Ï³µÇ°Åª¤Ê¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È¤ò»ý¤Ä¡£
1455 .\"O This section holds relocation offsets without explicit addends, such
1458 .\"O for the 32-bit class of object files.
1459 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏÌÀ¼¨Åª¤Ê²Ã¿ô¤ò»ý¤¿¤Ê¤¤ºÆÇÛÃÖ¥ª¥Õ¥»¥Ã¥È¤òÊÝ»ý¤¹¤ë¡£
1460 ºÆÇÛÃÖ¥ª¥Õ¥»¥Ã¥È¤Î·¿¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î 32 ¥Ó¥Ã¥È¥¯¥é¥¹¤Ç¤Ï
1463 .\"O An object file may have multiple
1464 .\"O relocation sections.
1465 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤ÏÊ£¿ô¤ÎºÆÇÛÃÖ¥»¥¯¥·¥ç¥ó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
1468 .\"O This section is reserved but has unspecified semantics.
1469 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏͽÌ󤵤ì¤Æ¤¤¤ë¤¬¡¢°ÕÌ£¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
1472 .\"O This section holds a minimal set of dynamic linking symbols.
1473 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏưŪ¥ê¥ó¥¯¥·¥ó¥Ü¥ë¤ÎºÇ¾®¥»¥Ã¥È¤òÊÝ»ý¤¹¤ë¡£
1475 .\"O object file can also contain a
1478 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï
1480 ¥»¥¯¥·¥ç¥ó¤â´Þ¤à¤³¤È¤¬¤Ç¤¤ë¡£
1483 .\"O This value up to and including
1485 .\"O is reserved for processor-specific semantics.
1488 °Ê²¼¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1491 .\"O This value down to and including
1493 .\"O is reserved for processor-specific semantics.
1496 °Ê¾å¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1499 .\"O This value specifies the lower bound of the range of indices reserved for
1500 .\"O application programs.
1501 ¤³¤ÎÃͤϥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î¤¿¤á¤ËͽÌ󤵤ì¤ë
1502 ¥¤¥ó¥Ç¥Ã¥¯¥¹ÈϰϤβ¼¸Â¤ò»ØÄꤹ¤ë¡£
1505 .\"O This value specifies the upper bound of the range of indices reserved for
1506 .\"O application programs.
1507 ¤³¤ÎÃͤϥ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥°¥é¥à¤Î¤¿¤á¤ËͽÌ󤵤ì¤ë
1508 ¥¤¥ó¥Ç¥Ã¥¯¥¹ÈϰϤξå¸Â¤ò»ØÄꤹ¤ë¡£
1509 .\"O Section types between
1513 .\"O may be used by the application, without conflicting with current or future
1514 .\"O system-defined section types.
1518 ¤Î´Ö¤Î¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤Ï¡¢
1519 ¸½ºß¤Þ¤¿¤Ï¾Íè¤Î¥·¥¹¥Æ¥àÄêµÁ¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤È¾×Æͤ¹¤ë¤³¤È¤Ê¤¯¡¢
1520 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£
1525 .\"O Sections support one-bit flags that describe miscellaneous attributes.
1526 ÍÍ¡¹¤Ê°À¤òµ½Ò¤¹¤ë¤¿¤á¤Î 1 ¥Ó¥Ã¥È¤Î¥Õ¥é¥°¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥»¥¯¥·¥ç¥ó¡£
1527 .\"O If a flag bit is set in
1529 .\"O the attribute is
1531 .\"O for the section.
1534 ¤ËÀßÄꤵ¤ì¤¿¾ì¹ç¡¢¤½¤Î¥»¥¯¥·¥ç¥ó¤Ë¤Ä¤¤¤Æ¤Î°À¤Ï
1537 .\"O Otherwise, the attribute is
1539 .\"O or does not apply.
1540 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢Â°À¤¬
1542 ¤Ç¤¢¤ë¤«Â°À¤¬Å¬ÍѤµ¤ì¤Ê¤¤¡£
1543 .\"O Undefined attributes are set to zero.
1544 ̤ÄêµÁ¤Î°À¤Ï 0 ¤ËÀßÄꤵ¤ì¤ë¡£
1545 .\" .Bl -tag -width "SHF_EXECINSTR" -compact
1549 .\"O This section contains data that should be writable during process
1551 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥»¥¹¼Â¹ÔÃæ¤Ë½ñ¤¹þ¤ß²Äǽ¤Ê¥Ç¡¼¥¿¤ò´Þ¤à¡£
1554 .\"O This section occupies memory during process execution.
1555 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥»¥¹¼Â¹ÔÃæ¤Ë¥á¥â¥ê¤ò»ÈÍѤ¹¤ë¡£
1557 .\"O sections do not reside in the memory image of an object file.
1558 À©¸æ¥»¥¯¥·¥ç¥ó¤ÎÃæ¤Ë¤Ï¡¢¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤Ë¤Ï
1559 ¸ºß¤·¤Ê¤¤¤â¤Î¤â¤¢¤ë¡£
1561 .\"O attribute is off for those sections.
1562 ¤½¤¦¤·¤¿¥»¥¯¥·¥ç¥ó¤Î¾ì¹ç¡¢¤³¤Î°À¤Ï¥ª¥Õ¤Ç¤¢¤ë¡£
1565 .\"O This section contains executable machine instructions.
1566 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¼Â¹Ô²Äǽ¤Ê¥Þ¥·¥óÌ¿Îá¤ò´Þ¤à¡£
1569 .\"O All bits included in this mask are reserved for processor-specific
1571 ¤³¤Î¥Þ¥¹¥¯¤Ë´Þ¤Þ¤ì¤ëÁ´¤Æ¤Î¥Ó¥Ã¥È¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
1576 .\"O If this section appears in the memory image of a process, this member
1577 .\"O holds the address at which the section's first byte should reside.
1578 .\"O Otherwise, the member contains zero.
1579 ¤³¤Î¥»¥¯¥·¥ç¥ó¤¬¥×¥í¥»¥¹¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤Ë¤¢¤ë¾ì¹ç¡¢
1580 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¤ÎºÇ½é¤Î¥Ð¥¤¥È¤¬Â¸ºß¤¹¤ë¥¢¥É¥ì¥¹¤òÊÝ»ý¤¹¤ë¡£
1581 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤³¤Î¥á¥ó¥Ð¤Ï 0 ¤Ç¤¢¤ë¡£
1584 .\"O This member's value holds the byte offset from the beginning of the file
1585 .\"O to the first byte in the section.
1586 ¤³¤Î¥á¥ó¥Ð¤ÎÃͤϡ¢¥Õ¥¡¥¤¥ë¤ÎÀèƬ¤«¤é¥»¥¯¥·¥ç¥ó¤ÎºÇ½é¤Î¥Ð¥¤¥È¤Ø¤Î
1587 ¥Ð¥¤¥È¥ª¥Õ¥»¥Ã¥È¤òÊÝ»ý¤¹¤ë¡£
1588 .\"O One section type,
1589 .\"O .BR SHT_NOBITS ,
1590 .\"O occupies no space in the file, and its
1592 .\"O member locates the conceptual placement in the file.
1595 ¤Ï¥Õ¥¡¥¤¥ë¤ÎÎΰè¤òÁ´¤¯»ÈÍѤ»¤º¡¢¤³¤Î¥¿¥¤¥×¤Î
1597 ¥á¥ó¥Ð¤Ï¥Õ¥¡¥¤¥ë¤Î³µÇ°Åª¤Ê°ÌÃÖ¤ò¼¨¤¹¡£
1598 .\"nakano conceptual placement ¤È¤Ï¡©
1601 .\"O This member holds the section's size in bytes.
1602 ¤³¤Î¥á¥ó¥Ð¤Ï¥»¥¯¥·¥ç¥ó¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òÊÝ»ý¤¹¤ë¡£
1603 .\"O Unless the section type
1605 .\"O .BR SHT_NOBITS ,
1606 .\"O the section occupies
1608 .\"O bytes in the file.
1611 ¤Ç¤Ê¤¤¸Â¤ê¡¢¤½¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Õ¥¡¥¤¥ëÃæ¤Î
1614 .\"O A section of type
1616 .\"O may have a nonzero size, but it occupies no space in the file.
1619 ¤Î¥»¥¯¥·¥ç¥ó¤Ï¥µ¥¤¥º¤¬ 0 ¤Ç¤Ê¤¤¤¬¡¢¥Õ¥¡¥¤¥ë¤ÎÎΰè¤ò»ÈÍѤ·¤Ê¤¤¡£
1622 .\"O This member holds a section header table index link, whose interpretation
1623 .\"O depends on the section type.
1624 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¥ê¥ó¥¯¤òÊÝ»ý¤¹¤ë¡£
1625 ¤³¤Î²ò¼á¤Ï¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤Ë°Í¸¤¹¤ë¡£
1628 .\"O This member holds extra information, whose interpretation depends on the
1630 ¤³¤Î¥á¥ó¥Ð¤ÏÄɲþðÊó¤òÊÝ»ý¤¹¤ë¡£
1631 ¤³¤Î²ò¼á¤Ï¥»¥¯¥·¥ç¥ó¥¿¥¤¥×¤Ë°Í¸¤¹¤ë¡£
1634 .\"O Some sections have address alignment constraints.
1635 ¥¢¥É¥ì¥¹ÇÛÃÖ¤ËÀ©Ì󤬤¢¤ë¥»¥¯¥·¥ç¥ó¤â¤¢¤ë¡£
1636 .\"O If a section holds a
1637 .\"O doubleword, the system must ensure doubleword alignment for the entire
1639 ¥»¥¯¥·¥ç¥ó¤¬ÇÜŸì (doubleword) ¤òÊÝ»ý¤¹¤ë¾ì¹ç¡¢
1640 ¥·¥¹¥Æ¥à¤ÏÁ´¤Æ¤Î¥»¥¯¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÇÜŸì¤ÎÇÛÃÖ¤òÊݾڤ·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
1641 .\"O That is, the value of
1643 .\"O must be congruent to zero, modulo the value of
1644 .\"O .BR sh_addralign .
1649 ¤ÎÃͤòË¡¤È¤·¤Æ 0 ¤È¹çƱ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤
1650 (ÌõÃí:¡Ösh_addr mod sh_addralign = 0 ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤)¡£
1651 .\"O Only zero and positive integral powers of two are allowed.
1652 2 ¤Î 0 ¾è¤ÈÀµ¤ÎÀ°¿ô¾è¤Î¤ß¤¬µö²Ä¤µ¤ì¤ë¡£
1654 .\"O or one mean the section has no alignment constraints.
1655 0 ¤Þ¤¿¤Ï 1 ¤Ï¥»¥¯¥·¥ç¥ó¤ÎÇÛÃÖ¤ËÀ©Ì󤬤ʤ¤¤³¤È¤ò°ÕÌ£¤¹¤ë¡£
1658 .\"O Some sections hold a table of fixed-sized entries, such as a symbol table.
1659 ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î¤è¤¦¤Ê¸ÇÄꥵ¥¤¥º¥¨¥ó¥È¥ê¤Î¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë
1661 .\"O For such a section, this member gives the size in bytes for each entry.
1662 ¤³¤Î¤è¤¦¤Ê¥»¥¯¥·¥ç¥ó¤Ç¤Ï¡¢
1663 ¤³¤Î¥á¥ó¥Ð¤Ï³Æ¥¨¥ó¥È¥ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì) ¤òɽ¤¹¡£
1664 .\"O This member contains zero if the section does not hold a table of
1665 .\"O fixed-size entries.
1666 ¤³¤Î¥á¥ó¥Ð¤¬ 0 ¤Î¾ì¹ç¡¢
1667 ¤½¤Î¥»¥¯¥·¥ç¥ó¤Ï¸ÇÄꥵ¥¤¥º¥¨¥ó¥È¥ê¤Î¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤·¤Ê¤¤¡£
1670 .\"O Various sections hold program and control information:
1671 ¤µ¤Þ¤¶¤Þ¤Ê¥»¥¯¥·¥ç¥ó¤Ë¥×¥í¥°¥é¥à¾ðÊó¡¦À©¸æ¾ðÊó¤¬ÊÝ»ý¤µ¤ì¤ë:
1672 .\" .Bl -tag -width ".shstrtab"
1675 .\"O This section holds uninitialized data that contributes to the program's
1678 .\"Osato: contribute ¤¬¤¦¤Þ¤¯Ìõ¤»¤Ê¤¤¡£
1680 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤ë
1681 Èó½é´ü²½¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¡£
1682 .\"O By definition, the system initializes the data with zeros
1683 .\"O when the program begins to run.
1684 ÄêµÁ¾å¡¢¥·¥¹¥Æ¥à¤Ï¥×¥í¥°¥é¥à¤Î¼Â¹Ô³«»Ï»þ¤Ë¡¢¥Ç¡¼¥¿¤ò 0 ¤Ç½é´ü²½¤¹¤ë¡£
1685 .\"O This section is of type
1686 .\"O .BR SHT_NOBITS .
1687 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1690 .\"O The attribute types are
1693 .\"O .BR SHF_WRITE .
1701 .\"O This section holds version control information.
1702 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Ð¡¼¥¸¥ç¥óÀ©¸æ¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
1703 .\"O This section is of type
1704 .\"O .BR SHT_PROGBITS .
1705 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1708 .\"O No attribute types are used.
1709 °À¥¿¥¤¥×¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
1712 .\"O This section holds initialized pointers to the C++ constructor functions.
1713 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï C++ ¥³¥ó¥¹¥È¥é¥¯¥¿´Ø¿ô¤Ø¤Î½é´ü²½¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤¹¤ë¡£
1714 .\"O This section is of type
1715 .\"O .BR SHT_PROGBITS .
1716 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1719 .\"O The attribute types are
1722 .\"O .BR SHF_WRITE .
1730 .\"O This section holds initialized data that contribute to the program's
1732 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤ë
1733 ½é´ü²½ºÑ¤ß¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¡£
1734 .\"O This section is of type
1735 .\"O .BR SHT_PROGBITS .
1736 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1739 .\"O The attribute types are
1742 .\"O .BR SHF_WRITE .
1750 .\"O This section holds initialized data that contribute to the program's
1752 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¤Î¥á¥â¥ê¥¤¥á¡¼¥¸¤ËÇÛÃÖ¤µ¤ì¤ë
1753 ½é´ü²½ºÑ¤ß¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¡£
1754 .\"O This section is of type
1755 .\"O .BR SHT_PROGBITS .
1756 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1759 .\"O The attribute types are
1762 .\"O .BR SHF_WRITE .
1770 .\"O This section holds information for symbolic debugging.
1771 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥Ç¥Ð¥Ã¥°ÍѤξðÊó¤òÊÝ»ý¤¹¤ë¡£
1773 .\"O are unspecified.
1774 ¤½¤ÎÆâÍƤϻØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
1775 .\"O This section is of type
1776 .\"O .BR SHT_PROGBITS .
1777 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1780 .\"O No attribute types are used.
1781 °À¥¿¥¤¥×¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
1784 .\"O This section holds initialized pointers to the C++ destructor functions.
1785 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï C++ ¥Ç¥¹¥È¥é¥¯¥¿´Ø¿ô¤Ø¤Î½é´ü²½¤µ¤ì¤¿¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤¹¤ë¡£
1786 .\"O This section is of type
1787 .\"O .BR SHT_PROGBITS .
1788 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1791 .\"O The attribute types are
1794 .\"O .BR SHF_WRITE .
1802 .\"O This section holds dynamic linking information.
1803 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏưŪ¥ê¥ó¥¯¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
1804 .\"O The section's attributes
1805 .\"O will include the
1808 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î°À¤Ï
1813 .\"O bit is set is processor-specific.
1815 ¥Ó¥Ã¥È¤¬ÀßÄꤵ¤ì¤ë¤«Èݤ«¤Ï¥×¥í¥»¥Ã¥µ¤Ë¤è¤ë¡£
1816 .\"O This section is of type
1817 .\"O .BR SHT_DYNAMIC .
1818 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1821 .\"O See the attributes above.
1822 ¾åµ¤Î°À¤ò»²¾È¤¹¤ë¤³¤È¡£
1825 .\"O This section holds strings needed for dynamic linking, most commonly
1826 .\"O the strings that represent the names associated with symbol table entries.
1827 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏưŪ¥ê¥ó¥¯¤ËɬÍפÊʸ»úÎó¤òÊÝ»ý¤¹¤ë¡£
1828 ºÇ¤â°ìÈÌŪ¤Ë¤Ï¡¢¤³¤Îʸ»úÎó¤Ï¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤È
1829 ´ØÏ¢¤Å¤±¤é¤ì¤¿Ì¾Á°¤òɽ¤¹¡£
1830 .\"O This section is of type
1831 .\"O .BR SHT_STRTAB .
1832 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1835 .\"O The attribute type used is
1836 .\"O .BR SHF_ALLOC .
1837 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1842 .\"O This section holds the dynamic linking symbol table.
1843 ¤³¤Î¥»¥¯¥·¥ç¥ó¤ÏưŪ¥ê¥ó¥¯¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1844 .\"O This section is of type
1845 .\"O .BR SHT_DYNSYM .
1846 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1849 .\"O The attribute used is
1850 .\"O .BR SHF_ALLOC .
1851 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1856 .\"O This section holds executable instructions that contribute to the process
1857 .\"O termination code.
1858 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥»¥¹½ªÎ»¥³¡¼¥É¤ËÃÖ¤«¤ì¤ë¼Â¹Ô²Äǽ̿Îá¤òÊÝ»ý¤¹¤ë¡£
1859 .\"O When a program exits normally the system arranges to
1860 .\"O execute the code in this section.
1861 ¥×¥í¥»¥¹¤¬Àµ¾ï¤Ë½ªÎ»¤·¤¿¾ì¹ç¡¢¥·¥¹¥Æ¥à¤Ï¤³¤Î¥»¥¯¥·¥ç¥ó¤Ë¤¢¤ë
1862 ¥³¡¼¥É¤òÇÛÃÖ¤·¤Æ¼Â¹Ô¤¹¤ë¡£
1863 .\"O This section is of type
1864 .\"O .BR SHT_PROGBITS .
1865 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1868 .\"O The attributes used are
1871 .\"O .BR SHF_EXECINSTR .
1872 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1879 .\"O This section holds the version symbol table, an array of
1882 .\"O This section is of type
1883 .\"O .BR SHT_GNU_versym .
1884 .\"O The attribute type used is
1885 .\"O .BR SHF_ALLOC .
1886 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Ð¡¼¥¸¥ç¥ó¡¦¥·¥ó¥Ü¥ë¡¦¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1890 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1893 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1898 .\"O This section holds the version symbol definitions, a table of
1901 .\"O This section is of type
1902 .\"O .BR SHT_GNU_verdef .
1903 .\"O The attribute type used is
1904 .\"O .BR SHF_ALLOC .
1905 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Ð¡¼¥¸¥ç¥ó¥·¥ó¥Ü¥ë¤ÎÄêµÁ¤òÊÝ»ý¤¹¤ë¡£
1908 ¹½Â¤ÂΤΥơ¼¥Ö¥ë¤Ç¤¢¤ë¡£
1909 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1912 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1917 .\"O This section holds the version symbol needed elements, a table of
1918 .\"O .I ElfN_Verneed
1920 .\"O This section is of
1922 .\"O .BR SHT_GNU_versym .
1923 .\"O The attribute type used is
1924 .\"O .BR SHF_ALLOC .
1925 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥Ð¡¼¥¸¥ç¥ó¥·¥ó¥Ü¥ë¤¬É¬ÍפȤ¹¤ëÍ×ÁǤòÊÝ»ý¤¹¤ë¡£
1928 ¹½Â¤ÂΤΥơ¼¥Ö¥ë¤Ç¤¢¤ë¡£
1929 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1932 »ÈÍѤµ¤ì¤ë°À¥¿¥¤¥×¤Ï
1937 .\"O This section holds the global offset table.
1938 .\"O This section is of type
1939 .\"O .BR SHT_PROGBITS .
1940 .\"O The attributes are processor-specific.
1941 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥°¥í¡¼¥Ð¥ë¥ª¥Õ¥»¥Ã¥È¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1942 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1945 °À¤Ï¥×¥í¥»¥Ã¥µËè¤Ë°Û¤Ê¤ë¡£
1948 .\"O This section holds a symbol hash table.
1949 .\"O This section is of type
1951 .\"O The attribute used is
1952 .\"O .BR SHF_ALLOC .
1953 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
1954 ¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
1962 .\"O This section holds executable instructions that contribute to the process
1963 .\"O initialization code.
1964 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥»¥¹½é´ü²½¥³¡¼¥É¤ËÇÛÃÖ¤µ¤ì¤ë¼Â¹Ô²Äǽ̿Îá¤òÊÝ»ý¤¹¤ë¡£
1965 .\"O When a program starts to run the system arranges to
1966 .\"O execute the code in this section before calling the main program entry point.
1967 ¥×¥í¥°¥é¥à¤¬¼Â¹Ô¤ò³«»Ï¤¹¤ë¤È¡¢
1968 ¥·¥¹¥Æ¥à¤Ï¥á¥¤¥ó¥×¥í¥°¥é¥à¥¨¥ó¥È¥ê¥Ý¥¤¥ó¥È¤ò¸Æ¤Ó½Ð¤¹Á°¤Ë¡¢
1969 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ë¤¢¤ë¥³¡¼¥É¤òÇÛÃÖ¤·¤Æ¼Â¹Ô¤¹¤ë¡£
1970 .\"O This section is of type
1971 .\"O .BR SHT_PROGBITS .
1972 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¤Î¥¿¥¤¥×¤Ï
1975 .\"O The attributes used are
1978 .\"O .BR SHF_EXECINSTR .
1986 .\"O This section holds the pathname of a program interpreter.
1987 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¥¤¥ó¥¿¥×¥ê¥¿¤Î¥Ñ¥¹Ì¾¤òÊÝ»ý¤¹¤ë¡£
1988 .\"O If the file has
1989 .\"O a loadable segment that includes the section, the section's attributes will
1993 ¥Õ¥¡¥¤¥ë¤Ë¤³¤Î¥»¥¯¥·¥ç¥ó¤ò´Þ¤à¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤¬¤¢¤ë¾ì¹ç¡¢
1994 ¤½¤Î¥»¥¯¥·¥ç¥ó¤Î°À¤Ë¤Ï
1997 .\"O Otherwise, that bit will be off.
1998 ¤½¤ì°Ê³°¤Î¾ì¹ç¤³¤Î¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ë¤Ê¤ë¡£
1999 .\"O This section is of type
2000 .\"O .BR SHT_PROGBITS .
2001 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2006 .\"O This section holds line number information for symbolic debugging, which
2007 .\"O describes the correspondence between the program source and the machine code.
2008 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ê¥Ã¥¯¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤Î¹ÔÈÖ¹æ¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
2009 ¤³¤³¤Ë¤Ï¥×¥í¥°¥é¥à¥½¡¼¥¹¥³¡¼¥É¤È¥Þ¥·¥ó¥³¡¼¥É¤ÎÂбþ´Ø·¸¤¬µ½Ò¤µ¤ì¤ë¡£
2010 .\"O The contents are unspecified.
2011 ÆâÍƤϻØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
2012 .\"O This section is of type
2013 .\"O .BR SHT_PROGBITS .
2014 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2017 .\"O No attribute types are used.
2018 °À¥¿¥¤¥×¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
2021 .\"O This section holds information in the
2023 .\"O format described below.
2024 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï°Ê²¼¤Ëµ½Ò¤µ¤ì¤Æ¤¤¤ë
2026 ·Á¼°¤Ç¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
2027 .\"O This section is of type
2029 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2032 .\"O No attribute types are used.
2033 °À¥¿¥¤¥×¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
2035 .\"O native executables usually contain a
2036 .\"O .IR .note.openbsd.ident
2037 .\"O section to identify themselves, for the kernel to bypass any compatibility
2038 .\"O ELF binary emulation tests when loading the file.
2041 ¥Í¥¤¥Æ¥£¥Ö¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Ï¼«¿È¤ò¼±Ê̤¹¤ë¤¿¤á¤Ë
2042 .IR .note.openbsd.ident
2044 ¤³¤ì¤Ë¤è¤ê¥«¡¼¥Í¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤ò¥í¡¼¥É¤¹¤ëºÝ¤Ë
2045 ¸ß´¹ ELF ¥Ð¥¤¥Ê¥ê¥¨¥ß¥å¥ì¡¼¥·¥ç¥ó¥Æ¥¹¥È¤ò²óÈò¤Ç¤¤ë¡£
2048 .\"O This section is used in Linux object files for declaring stack attributes.
2049 .\"O This section is of type
2050 .\"O .BR SHT_PROGBITS .
2051 .\"O The only attribute used is
2052 .\"O .BR SHF_EXECINSTR .
2053 .\"O This indicates to the GNU linker that the object file requires an
2054 .\"O executable stack.
2055 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï Linux ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ç
2056 ¥¹¥¿¥Ã¥¯Â°À¤òÀë¸À¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£
2057 ¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2059 ¤Ç¤¢¤ë¡£»ÈÍѤµ¤ì¤ë°À¤Ï
2061 ¤À¤±¤Ç¤¢¤ë¡£¤³¤Î°À¤Ï GNU ¥ê¥ó¥«¤ËÂФ·¤Æ
2062 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤¬¼Â¹Ô²Äǽ¤Ê¥¹¥¿¥Ã¥¯ (executable stack) ¤òɬÍפȤ¹¤ë
2066 .\"O This section holds the procedure linkage table.
2067 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¼ê³¤ (procedure) ¥ê¥ó¥¯¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
2068 .\"O This section is of type
2069 .\"O .BR SHT_PROGBITS .
2070 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2073 .\"O The attributes are processor-specific.
2074 °À¤Ï¥×¥í¥»¥Ã¥µËè¤Ë°Û¤Ê¤ë¡£
2077 .\"O This section holds relocation information as described below.
2078 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï°Ê²¼¤Ëµ½Ò¤µ¤ì¤ëºÆÇÛÃÖ¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
2080 .\"O has a loadable segment that includes relocation, the section's attributes
2081 .\"O will include the
2084 ¥Õ¥¡¥¤¥ë¤¬ºÆÇÛÃÖ¤ò´Þ¤à¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
2085 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î°À¤Ï
2088 .\"O Otherwise the bit will be off.
2089 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤½¤Î¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ç¤¢¤ë¡£
2092 .\"O is supplied by the section to which the relocations apply.
2095 ¤ÏºÆÇÛÃÖ¤¬Å¬ÍѤµ¤ì¤ë¥»¥¯¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤ë¡£
2096 .\"O Thus a relocation
2099 .\"O normally would have the name
2100 .\"O .BR .rel.text .
2103 ¤Ë¤Ä¤¤¤Æ¤ÎºÆÇÛÃÖ¥»¥¯¥·¥ç¥ó¤Ï¡¢Ä̾ï¤Ï
2106 .\"O This section is of type
2108 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2113 .\"O This section holds relocation information as described below.
2114 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï°Ê²¼¤Ëµ½Ò¤µ¤ì¤ëºÆÇÛÃÖ¾ðÊó¤òÊÝ»ý¤¹¤ë¡£
2116 .\"O has a loadable segment that includes relocation, the section's attributes
2117 .\"O will include the
2120 ¥Õ¥¡¥¤¥ë¤¬ºÆÇÛÃÖ¤ò´Þ¤à¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤ò»ý¤Ã¤Æ¤¤¤ë¾ì¹ç¡¢
2121 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î°À¤Ï
2124 .\"O Otherwise the bit will be off.
2125 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤½¤Î¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ç¤¢¤ë¡£
2128 .\"O is supplied by the section to which the relocations apply.
2131 ¤ÏºÆÇÛÃÖ¤¬Å¬ÍѤµ¤ì¤ë¥»¥¯¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤ë¡£
2132 .\"O Thus a relocation
2135 .\"O normally would have the name
2136 .\"O .BR .rela.text .
2139 ¤Ë¤Ä¤¤¤Æ¤ÎºÆÇÛÃÖ¥»¥¯¥·¥ç¥ó¤Ï¡¢Ä̾ï¤Ï
2142 .\"O This section is of type
2144 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2149 .\"O This section holds read-only data that typically contributes to a
2150 .\"O nonwritable segment in the process image.
2151 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Î¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¡£
2152 ¤³¤Î¥Ç¡¼¥¿¤Ï¥×¥í¥»¥¹¥¤¥á¡¼¥¸¤Ë¤ª¤±¤ë½ñ¤¹þ¤ßÉÔ²Äǽ¤Ê¥»¥°¥á¥ó¥È¤ËÃÖ¤«¤ì¤ë¡£
2153 .\"O This section is of type
2154 .\"O .BR SHT_PROGBITS .
2155 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2158 .\"O The attribute used is
2159 .\"O .BR SHF_ALLOC .
2165 .\"O This section holds read-only data that typically contributes to a
2166 .\"O nonwritable segment in the process image.
2167 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥ê¡¼¥É¥ª¥ó¥ê¡¼¤Î¥Ç¡¼¥¿¤òÊÝ»ý¤¹¤ë¡£
2168 ¤³¤Î¥Ç¡¼¥¿¤Ï¥×¥í¥»¥¹¥¤¥á¡¼¥¸¤Ë¤ª¤±¤ë½ñ¤¹þ¤ßÉÔ²Äǽ¤Ê¥»¥°¥á¥ó¥È¤ËÃÖ¤«¤ì¤ë¡£
2169 .\"O This section is of type
2170 .\"O .BR SHT_PROGBITS .
2171 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2174 .\"O The attribute used is
2175 .\"O .BR SHF_ALLOC .
2181 .\"O This section holds section names.
2182 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥»¥¯¥·¥ç¥ó̾¤òÊÝ»ý¤¹¤ë¡£
2183 .\"O This section is of type
2184 .\"O .BR SHT_STRTAB .
2185 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2188 .\"O No attribute types are used.
2189 °À¥¿¥¤¥×¤Ï»ÈÍѤµ¤ì¤Ê¤¤¡£
2192 .\"O This section holds strings, most commonly the strings that represent the
2193 .\"O names associated with symbol table entries.
2194 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ïʸ»úÎó¤òÊÝ»ý¤¹¤ë¡£
2195 ºÇ¤â°ìÈÌŪ¤Ê¤Î¤Ï¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿
2196 ̾Á°¤òɽ¤¹Ê¸»úÎó¤Ç¤¢¤ë¡£
2197 .\"O If the file has a loadable
2198 .\"O segment that includes the symbol string table, the section's attributes
2199 .\"O will include the
2202 ¥Õ¥¡¥¤¥ë¤¬¥·¥ó¥Ü¥ëʸ»úÎó¥Æ¡¼¥Ö¥ë¤ò´Þ¤à¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤ò»ý¤Ä¾ì¹ç¡¢
2206 .\"O Otherwise the bit will be off.
2207 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¤½¤Î¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ç¤¢¤ë¡£
2208 .\"O This section is of type
2209 .\"O .BR SHT_STRTAB .
2210 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2215 .\"O This section holds a symbol table.
2216 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤òÊÝ»ý¤¹¤ë¡£
2217 .\"O If the file has a loadable segment
2218 .\"O that includes the symbol table, the section's attributes will include
2222 ¥Õ¥¡¥¤¥ë¤¬¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤ò´Þ¤à¥í¡¼¥É²Äǽ¥»¥°¥á¥ó¥È¤ò»ý¤Ä¾ì¹ç¡¢
2226 .\"O Otherwise the bit will be off.
2227 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥Ó¥Ã¥È¤Ï¥ª¥Õ¤Ç¤¢¤ë¡£
2228 .\"O This section is of type
2229 .\"O .BR SHT_SYMTAB .
2230 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2235 .\"O This section holds the
2237 .\"O or executable instructions, of a program.
2238 ¤³¤Î¥»¥¯¥·¥ç¥ó¤Ï¥×¥í¥°¥é¥à¤Î
2240 ¤Þ¤¿¤Ï¼Â¹Ô²Äǽ̿Îá¤òÊÝ»ý¤¹¤ë¡£
2241 .\"O This section is of type
2242 .\"O .BR SHT_PROGBITS .
2243 ¥»¥¯¥·¥ç¥ó¤Î¥¿¥¤¥×¤Ï
2246 .\"O The attributes used are
2249 .\"O .BR SHF_EXECINSTR .
2257 .\"O String table sections hold null-terminated character sequences, commonly
2258 .\"O called strings.
2259 ʸ»úÎó¥Æ¡¼¥Ö¥ë¥»¥¯¥·¥ç¥ó¤Ï NULL ʸ»ú¤Ç½ªÃ¼¤µ¤ì¤¿¥¥ã¥é¥¯¥¿ÇÛÎó
2260 (Ä̾ïʸ»úÎó¤È¸Æ¤Ð¤ì¤ë¤â¤Î) ¤òÊÝ»ý¤¹¤ë¡£
2261 .\"O The object file uses these strings to represent symbol
2262 .\"O and section names.
2263 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï¤³¤ì¤é¤Îʸ»úÎó¤ò
2264 ¥·¥ó¥Ü¥ë̾¤È¥»¥¯¥·¥ç¥ó̾¤òɽ¤¹¤¿¤á¤Ë»È¤¦¡£
2265 .\"O One references a string as an index into the string
2267 ʸ»úÎó¤Ï¡¢Ê¸»úÎó¥Æ¡¼¥Ö¥ë¥»¥¯¥·¥ç¥ó¤Ø¤Î¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¤·¤Æ»²¾È¤µ¤ì¤ë¡£
2268 .\"O The first byte, which is index zero, is defined to hold
2269 .\"O a null byte (\(aq\\0\(aq).
2270 ¥¤¥ó¥Ç¥Ã¥¯¥¹ 0 ¤ÎºÇ½é¤Î¥Ð¥¤¥È¤Ï¡¢NULL ¥Ð¥¤¥È (\(aq\\0\(aq) ¤ò
2271 ÊÝ»ý¤¹¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
2272 .\"O Similarly, a string table's last byte is defined to
2273 .\"O hold a null byte, ensuring null termination for all strings.
2274 ƱÍͤËʸ»úÎó¥Æ¡¼¥Ö¥ë¤ÎºÇ¸å¤Î¥Ð¥¤¥È¤â NULL ʸ»ú¤òÊÝ»ý¤¹¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£
2275 ¤³¤ì¤ÏÁ´¤Æ¤Îʸ»úÎó¤¬ NULL ¥Ð¥¤¥È¤Ç½ªÃ¼¤µ¤ì¤Æ¤¤¤ë¤³¤È¤òÊݾڤ¹¤ë¤¿¤á¤Ç¤¢¤ë¡£
2277 .\"O An object file's symbol table holds information needed to locate and
2278 .\"O relocate a program's symbolic definitions and references.
2280 .\"O index is a subscript into this array.
2281 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ï¡¢
2282 ¥×¥í¥°¥é¥à¤Î¥·¥ó¥Ü¥ëÄêµÁ¤È»²¾È¤òÇÛÃÖ¤Þ¤¿¤ÏºÆÇÛÃÖ¤¹¤ë¤Î¤Ë
2283 ɬÍפʾðÊó¤òÊÝ»ý¤¹¤ë¡£
2289 Elf32_Addr st_value;
2291 unsigned char st_info;
2292 unsigned char st_other;
2302 unsigned char st_info;
2303 unsigned char st_other;
2305 Elf64_Addr st_value;
2311 .\"O The 32-bit and 64-bit versions have the same members, just in a different
2313 32 ¥Ó¥Ã¥ÈÈÇ¤È 64 ¥Ó¥Ã¥ÈÈǤÏƱ¤¸¥á¥ó¥Ð¤ò»ý¤Á¡¢Ã±¤Ë½çÈÖ¤¬°Û¤Ê¤ë¤À¤±¤Ç¤¢¤ë¡£
2314 .\" .Bl -tag -width "st_value"
2317 .\"O This member holds an index into the object file's symbol string table,
2318 .\"O which holds character representations of the symbol names.
2319 ¤³¤Î¥á¥ó¥Ð¤Ï¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î¥·¥ó¥Ü¥ëʸ»úÎó¥Æ¡¼¥Ö¥ë¤Î
2320 ¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊÝ»ý¤¹¤ë¡£
2321 ¥·¥ó¥Ü¥ëʸ»úÎó¥Æ¡¼¥Ö¥ë¤Ï¥·¥ó¥Ü¥ë̾¤Îʸ»úɽ¸½¤òÊÝ»ý¤¹¤ë¡£
2323 .\"O is nonzero, it represents a string table index that gives the symbol
2325 ¤³¤ÎÃͤ¬ 0 ¤Ç¤Ê¤¤¾ì¹ç¡¢¥·¥ó¥Ü¥ë̾¤òÆÀ¤ë¤¿¤á¤Îʸ»ú¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òɽ¤¹¡£
2326 .\"O Otherwise, the symbol table has no name.
2327 ¤½¤ì°Ê³°¤Î¾ì¹ç¡¢¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Ï̾Á°¤ò»ý¤¿¤Ê¤¤¡£
2330 .\"O This member gives the value of the associated symbol.
2331 ¤³¤Î¥á¥ó¥Ð¤Ï´ØÏ¢¤Å¤±¤é¤ì¤¿¥·¥ó¥Ü¥ë¤ÎÃͤòɽ¤¹¡£
2334 .\"O Many symbols have associated sizes.
2335 .\"O This member holds zero if the symbol
2336 .\"O has no size or an unknown size.
2337 ¿¤¯¤Î¥·¥ó¥Ü¥ë¤Ë¤Ï¤½¤ì¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥µ¥¤¥º¤¬¤¢¤ë¡£
2338 ¥·¥ó¥Ü¥ë¤¬¥µ¥¤¥º¤ò»ý¤¿¤Ê¤¤¾ì¹ç¡¢¤Þ¤¿¤Ï¥µ¥¤¥º¤¬ÉÔÌÀ¤Ê¾ì¹ç¡¢
2339 ¤³¤Î¥á¥ó¥Ð¤Ï 0 ¤Ç¤¢¤ë¡£
2342 .\"O This member specifies the symbol's type and binding attributes:
2343 ¤³¤Î¥á¥ó¥Ð¤Ï¥·¥ó¥Ü¥ë¤Î¥¿¥¤¥×¤È¥Ð¥¤¥ó¥Ç¥£¥ó¥° (binding) °À¤ò»ØÄꤹ¤ë:
2347 .\"O The symbol's type is not defined.
2348 ¥·¥ó¥Ü¥ë¤Î¥¿¥¤¥×¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
2351 .\"O The symbol is associated with a data object.
2352 ¥·¥ó¥Ü¥ë¤Ï¥Ç¡¼¥¿¥ª¥Ö¥¸¥§¥¯¥È¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¡£
2355 .\"O The symbol is associated with a function or other executable code.
2356 ¥·¥ó¥Ü¥ë¤Ï´Ø¿ô¤Þ¤¿¤Ï¤½¤Î¾¤Î¼Â¹Ô¥³¡¼¥É¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¡£
2359 .\"O The symbol is associated with a section.
2360 ¥·¥ó¥Ü¥ë¤Ï¥»¥¯¥·¥ç¥ó¤Ë´ØÏ¢¤Å¤±¤é¤ì¤Æ¤¤¤ë¡£
2361 .\"O Symbol table entries of
2362 .\"O this type exist primarily for relocation and normally have
2365 ¤³¤Î¥¿¥¤¥×¤Î¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ï¡¢
2366 ¼ç¤È¤·¤ÆºÆÇÛÃ֤Τ¿¤á¤Ë¸ºß¤·¡¢Ä̾ï¤Ï
2368 ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò»ý¤Ä¡£
2371 .\"O By convention, the symbol's name gives the name of the source file
2372 .\"O associated with the object file.
2373 ´·Îã¤È¤·¤Æ¡¢¥·¥ó¥Ü¥ë¤Î̾Á°¤Ï
2374 ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ë´ØÏ¢¤Å¤±¤é¤ì¤¿¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤹ¤ë¡£
2375 .\"O A file symbol has
2377 .\"O bindings, its section index is
2379 .\"O and it precedes the other
2381 .\"O symbols of the file, if it is present.
2384 ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò»ý¤Á¡¢¤½¤Î¥»¥¯¥·¥ç¥ó¥¤¥ó¥Ç¥Ã¥¯¥¹¤Ï
2387 ¥Õ¥¡¥¤¥ë¥·¥ó¥Ü¥ë¤Ï¡¢¥Õ¥¡¥¤¥ë¤Ë¾¤Î
2389 ¥·¥ó¥Ü¥ë¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¤½¤ì¤è¤ê¤âÀè¤ËÍè¤ë¡£
2392 .\"O This value up to and including
2394 .\"O is reserved for processor-specific semantics.
2397 °Ê²¼¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
2400 .\"O This value down to and including
2402 .\"O is reserved for processor-specific semantics.
2405 °Ê¾å¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
2407 .\" .Bl -tag -width "STB_GLOBAL"
2410 .\"O Local symbols are not visible outside the object file containing their
2412 ¶É½êŪ¥·¥ó¥Ü¥ë¤Ï¤½¤ÎÄêµÁ¤ò´Þ¤à¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î³°¤«¤é¤Ï¸«¤¨¤Ê¤¤¡£
2413 .\"O Local symbols of the same name may exist in multiple files
2414 .\"O without interfering with each other.
2415 Ʊ¤¸Ì¾Á°¤Î¶É½êŪ¥·¥ó¥Ü¥ë¤Ï¡¢¤ª¸ß¤¤¤Ë±Æ¶Á¤ò¼õ¤±¤ë¤³¤È¤Ê¤¯¡¢
2416 Ê£¿ô¤Î¥Õ¥¡¥¤¥ë¤Ë¸ºß¤Ç¤¤ë¡£
2419 .\"O Global symbols are visible to all object files being combined.
2421 .\"O definition of a global symbol will satisfy another file's undefined
2422 .\"O reference to the same symbol.
2423 Âç°èŪ¥·¥ó¥Ü¥ë¤Ï·ë¤Ó¤Ä¤±¤é¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é¸«¤¨¤ë¡£
2424 1 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤ÇÂç°èŪ¥·¥ó¥Ü¥ë¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤é¡¢
2425 ¾¤Î¥Õ¥¡¥¤¥ë¤Ç¤ÏƱ¤¸¥·¥ó¥Ü¥ë¤Ø¤Î»²¾È¤Ï̤ÄêµÁ¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
2428 .\"O Weak symbols resemble global symbols, but their definitions have lower
2430 ¼å¥·¥ó¥Ü¥ë¤ÏÂç°èŪ¥·¥ó¥Ü¥ë¤Ë»÷¤Æ¤¤¤ë¤¬¡¢¤½¤ÎÄêµÁ¤ÏÍ¥ÀèÅÙ¤¬Ä㤤¡£
2433 .\"O This value up to and including
2435 .\"O is reserved for processor-specific semantics.
2438 °Ê²¼¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
2441 .\"O This value down to and including
2443 .\"O is reserved for processor-specific semantics.
2446 °Ê¾å¤ÎÈÏ°Ï¤Ï¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤ËͽÌ󤵤ì¤Æ¤¤¤ë¡£
2448 .\"O There are macros for packing and unpacking the binding and type fields:
2449 ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¥¿¥¤¥×¥Õ¥£¡¼¥ë¥É¤ò
2450 ¥Ñ¥Ã¥¯¤·¤¿¤ê¥¢¥ó¥Ñ¥Ã¥¯¤·¤¿¤ê¤¹¤ë¥Þ¥¯¥í¤¬¤¢¤ë:
2452 .BR ELF32_ST_BIND (info)
2455 .BR ELF64_ST_BIND (info)
2456 .\"O extract a binding from an
2460 ¤ÎÃͤ«¤é¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤ò¼è¤ê½Ð¤¹¡£
2462 .BR ELF32_ST_TYPE (info)
2465 .BR ELF64_ST_TYPE (info)
2467 .\"O extract a type from an
2471 ¤ÎÃͤ«¤é¥¿¥¤¥×¤ò¼è¤ê½Ð¤¹¡£
2473 .BR ELF32_ST_INFO "(bind, type)"
2476 .BR ELF64_ST_INFO "(bind, type)"
2478 .\"O convert a binding and a type into an
2481 ¥Ð¥¤¥ó¥Ç¥£¥ó¥°¤È¥¿¥¤¥×¤ò
2488 .\"O This member defines the symbol visibility.
2489 ¤³¤Î¥á¥ó¥Ð¤Ï¥·¥ó¥Ü¥ë¤Î visibility (¸«¤¨¤ëÈÏ°Ï) ¤òµ¬Äꤹ¤ë¡£
2490 .\" .Bl -tag -width "STV_PROTECTED"
2495 .\"O Default symbol visibility rules.
2496 ¥Ç¥Õ¥©¥ë¥È¤Î¥·¥ó¥Ü¥ë visibility ¥ë¡¼¥ë¡£
2499 .\"O Processor-specific hidden class.
2500 ¥×¥í¥»¥Ã¥µ¸Çͤᣤ·¥¯¥é¥¹¡£
2503 .\"O Symbol is unavailable in other modules.
2504 ¥·¥ó¥Ü¥ë¤Ï¾¤Î¥â¥¸¥å¡¼¥ë¤«¤é¤ÏÍøÍѤǤ¤Ê¤¤¡£
2507 .\"O Not preemptible, not exported.
2508 ²£¼è¤ê¤Ç¤¤º (not preemptible)¡¢¸ø³«¤µ¤ì¤Ê¤¤¡£
2511 .\"O There are macros for extracting the visibility type:
2512 visibility ¼ïÊ̤òÃê½Ð¤¹¤ë¤¿¤á¤Î¥Þ¥¯¥í¤¬¤¢¤ë¡£
2514 .\"O .BR ELF32_ST_VISIBILITY (other)
2516 .\"O .BR ELF64_ST_VISIBILITY (other)
2517 .BR ELF32_ST_VISIBILITY (other)
2519 .BR ELF64_ST_VISIBILITY (other)
2524 .\"O Every symbol table entry is
2526 .\"O in relation to some section.
2527 ³Æ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Ï¡¢¤¤¤¯¤Ä¤«¤Î¥»¥¯¥·¥ç¥ó¤Ë´ØÏ¢¤·¤Æ
2529 .\"O This member holds the relevant section
2530 .\"O header table index.
2531 ¤³¤Î¥á¥ó¥Ð¤Ï´ØÏ¢¤¹¤ë¥»¥¯¥·¥ç¥ó¥Ø¥Ã¥À¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤òÊÝ»ý¤¹¤ë¡£
2534 .\"O Relocation is the process of connecting symbolic references with
2535 .\"O symbolic definitions.
2536 ºÆÇÛÃ֤ϥ·¥ó¥Ü¥ë»²¾È¤È¥·¥ó¥Ü¥ëÄêµÁ¤ò·ë¹ç¤¹¤ë¥×¥í¥»¥¹¤Ç¤¢¤ë¡£
2537 .\"O Relocatable files must have information that
2538 .\"O describes how to modify their section contents, thus allowing executable
2539 .\"O and shared object files to hold the right information for a process's
2541 ºÆÇÛÃÖ²Äǽ¥Õ¥¡¥¤¥ë¤Ï¥»¥¯¥·¥ç¥ó¤ÎÆâÍƤò¤É¤Î¤è¤¦¤Ë½¤Àµ¤¹¤ë¤«¤Ë´Ø¤¹¤ë
2542 ¾ðÊó¤ò»ý¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
2543 ¤³¤ì¤Ë¤è¤ê¡¢¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤È¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Ï
2544 ¥×¥í¥»¥¹¤Î¥×¥í¥°¥é¥à¥¤¥á¡¼¥¸¤Ë¤Ä¤¤¤Æ¤ÎÀµ¤·¤¤¾ðÊó¤ò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë¡£
2545 .\"O Relocation entries are these data.
2546 ºÆÇÛÃÖ¥¨¥ó¥È¥ê¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¡£
2548 .\"O Relocation structures that do not need an addend:
2549 ²Ã¿ô¤òɬÍפȤ·¤Ê¤¤ºÆÇÛÃÖ¹½Â¤ÂΡ£
2554 Elf32_Addr r_offset;
2563 Elf64_Addr r_offset;
2569 .\"O Relocation structures that need an addend:
2570 ²Ã¿ô¤òɬÍפȤ¹¤ëºÆÇÛÃÖ¹½Â¤ÂΡ£
2575 Elf32_Addr r_offset;
2585 Elf64_Addr r_offset;
2591 .\" .Bl -tag -width "r_offset"
2594 .\"O This member gives the location at which to apply the relocation action.
2595 ¤³¤Î¥á¥ó¥Ð¤ÏºÆÇÛÃÖÆ°ºî¤¬Å¬ÍѤµ¤ì¤ë°ÌÃÖ¤òÍ¿¤¨¤ë¡£
2596 .\"O For a relocatable file, the value is the byte offset from the beginning
2597 .\"O of the section to the storage unit affected by the relocation.
2598 ºÆÇÛÃÖ²Äǽ¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¡¢¤³¤ÎÃͤϥ»¥¯¥·¥ç¥ó¤ÎÀèƬ¤«¤é
2599 ºÆÇÛÃ֤DZƶÁ¤ò¼õ¤±¤ë³ÊǼñ°Ì (storage unit) ¤Þ¤Ç¤Î¥Ð¥¤¥È¥ª¥Õ¥»¥Ã¥È¤Ç¤¢¤ë¡£
2601 .\"O executable file or shared object, the value is the virtual address of
2602 .\"O the storage unit affected by the relocation.
2603 ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤Þ¤¿¤Ï¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤Î¾ì¹ç¡¢
2604 ¤³¤ÎÃͤϺÆÇÛÃ֤DZƶÁ¤ò¼õ¤±¤ë³ÊǼñ°Ì¤Î²¾ÁÛ¥¢¥É¥ì¥¹¤Ç¤¢¤ë¡£
2607 .\"O This member gives both the symbol table index with respect to which the
2608 .\"O relocation must be made and the type of relocation to apply.
2609 ¤³¤Î¥á¥ó¥Ð¤Ï¡¢ºÆÇÛÃÖ¤¬¹Ô¤ï¤ì¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤È¡¢
2610 ŬÍѤµ¤ì¤ëºÆÇÛÃ֤Υ¿¥¤¥×¤ÎξÊý¤òÍ¿¤¨¤ë¡£
2612 .\"O types are processor specific.
2613 ºÆÇÛÃÖ¥¿¥¤¥×¤Ï¥×¥í¥»¥Ã¥µËè¤Ë°Û¤Ê¤ë¡£
2614 .\"O When the text refers to a relocation
2615 .\"O entry's relocation type or symbol table index, it means the result of
2617 .\"O .BR ELF_[32|64]_R_TYPE
2619 .\"O .BR ELF[32|64]_R_SYM ,
2620 .\"O respectively, to the entry's
2623 ¥Æ¥¥¹¥È¤¬ºÆÇÛÃÖ¥¨¥ó¥È¥ê¤ÎºÆÇÛÃÖ¥¿¥¤¥×
2624 ¤Þ¤¿¤Ï¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¤¥ó¥Ç¥Ã¥¯¥¹¤ò»²¾È¤·¤Æ¤¤¤ë¾ì¹ç¡¢
2627 ¥á¥ó¥Ð¤ËÂФ·¤Æ¡¢¤½¤ì¤¾¤ì
2628 .BR ELF_[32|64]_R_TYPE
2630 .BR ELF[32|64]_R_SYM
2631 ¤òŬÍѤ·¤¿·ë²Ì¤ò°ÕÌ£¤¹¤ë¡£
2634 .\"O This member specifies a constant addend used to compute the value to be
2635 .\"O stored into the relocatable field.
2636 ¤³¤Î¥á¥ó¥Ð¤ÏÄê¿ô¤Î²Ã¿ô¤ò»ØÄꤹ¤ë¡£
2637 ¤³¤Î²Ã¿ô¤ÏºÆÇÛÃÖ²Äǽ¥Õ¥£¡¼¥ë¥É¤Ë³ÊǼ¤µ¤ì¤ëÃͤò·×»»¤¹¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë¡£
2640 .\"O The .dynamic section contains a series of structures that hold relevant
2641 .\"O dynamic linking information.
2642 .\"O The d_tag member controls the interpretation
2644 \&.dynamic ¥»¥¯¥·¥ç¥ó¤Ï¡¢´ØÏ¢¤¹¤ëưŪ¥ê¥ó¥¯¾ðÊó¤òÊÝ»ý¤·¤Æ¤¤¤ë
2645 °ìÏ¢¤Î¹½Â¤ÂΤòÊÝ»ý¤¹¤ë¡£
2646 d_tag ¥á¥ó¥Ð¤Ï d_un ¤Î²ò¼á¤òÀ©¸æ¤¹¤ë¡£
2657 extern Elf32_Dyn _DYNAMIC[];
2670 extern Elf64_Dyn _DYNAMIC[];
2673 .\" .Bl -tag -width "d_tag"
2676 .\"O This member may have any of the following values:
2677 ¤³¤Î¥á¥ó¥Ð¤Ï°Ê²¼¤ÎÃͤò»ý¤Ä¤³¤È¤¬¤Ç¤¤ë:
2678 .\" .Bl -tag -width "DT_SYMBOLIC"
2682 .\"O Marks end of dynamic section
2683 ưŪ¥»¥¯¥·¥ç¥ó¤Î½ª¤ê¤Î¥Þ¡¼¥¯
2686 .\"O String table offset to name of a needed library
2687 ɬÍפʥ饤¥Ö¥é¥ê¤Î̾Á°¤Ø¤Îʸ»úÎó¥Æ¡¼¥Ö¥ë¥ª¥Õ¥»¥Ã¥È
2690 .\"O Size in bytes of PLT relocs
2691 PLT ºÆÇÛÃÖ (reloc) ¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2694 .\"O Address of PLT and/or GOT
2695 PLT ¤È GOT (¤Þ¤¿¤Ï²¿¤ì¤«°ìÊý) ¤Î¥¢¥É¥ì¥¹
2698 .\"O Address of symbol hash table
2699 ¥·¥ó¥Ü¥ë¥Ï¥Ã¥·¥å¥Æ¡¼¥Ö¥ë¤Î¥¢¥É¥ì¥¹
2702 .\"O Address of string table
2703 ʸ»úÎó¥Æ¡¼¥Ö¥ë¤Î¥¢¥É¥ì¥¹
2706 .\"O Address of symbol table
2707 ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¤Î¥¢¥É¥ì¥¹
2710 .\"O Address of Rela relocs table
2711 Rela ºÆÇÛÃ֥ơ¼¥Ö¥ë¤Î¥¢¥É¥ì¥¹
2714 .\"O Size in bytes of Rela table
2715 Rela ¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2718 .\"O Size in bytes of a Rela table entry
2719 Rela ¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2722 .\"O Size in bytes of string table
2723 ʸ»úÎó¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2726 .\"O Size in bytes of a symbol table entry
2727 ¥·¥ó¥Ü¥ë¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2730 .\"O Address of the initialization function
2731 ½é´ü²½´Ø¿ô¤Î¥¢¥É¥ì¥¹
2734 .\"O Address of the termination function
2738 .\"O String table offset to name of shared object
2739 ¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤Î̾Á°¤Ø¤Îʸ»úÎó¥Æ¡¼¥Ö¥ë¥ª¥Õ¥»¥Ã¥È
2742 .\"O String table offset to library search path (deprecated)
2743 ¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤Ø¤Îʸ»úÎó¥Æ¡¼¥Ö¥ë¥ª¥Õ¥»¥Ã¥È (¿ä¾©¤µ¤ì¤Ê¤¤)
2746 .\"O Alert linker to search this shared object before the executable for symbols
2747 ¥ê¥ó¥«¤¬¥·¥ó¥Ü¥ë¤Î¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤è¤êÁ°¤Ë
2748 ¤³¤Î¶¦Í¥ª¥Ö¥¸¥§¥¯¥È¤ò¸¡º÷¤·¤¿¾ì¹ç¤Ï¡¢·Ù¹ð¤ò½Ð¤¹¡£
2751 .\"O Address of Rel relocs table
2752 Rel ºÆÇÛÃ֥ơ¼¥Ö¥ë¤Î¥¢¥É¥ì¥¹
2755 .\"O Size in bytes of Rel table
2756 Rel ¥Æ¡¼¥Ö¥ë¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2759 .\"O Size in bytes of a Rel table entry
2760 Rel ¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¤Î¥µ¥¤¥º (¥Ð¥¤¥Èñ°Ì)
2763 .\"O Type of reloc the PLT refers (Rela or Rel)
2764 PLT ¤¬»²¾È¤¹¤ëºÆÇÛÃ֥ơ¼¥Ö¥ë¤Î¥¿¥¤¥× (Rela ¤Þ¤¿¤Ï Rel)
2767 .\"O Undefined use for debugging
2768 ¥Ç¥Ð¥Ã¥°¤Î¤¿¤á¤Ë»ÈÍѤµ¤ì¤Æ¤¤¤ë¡£ÆâÍƤÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
2771 .\"O Absence of this indicates no relocs should apply to a nonwritable segment
2772 ¤³¤ì¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢
2773 ½ñ¤¹þ¤ßÉԲĤΥ»¥°¥á¥ó¥È¤Ë¤ÏºÆÇÛÃÖ¤ÏŬÍѤµ¤ì¤Ê¤¤¡£
2776 .\"O Address of reloc entries solely for the PLT
2777 PLT ÀìÍѤκÆÇÛÃÖ¥¨¥ó¥È¥ê¤Î¥¢¥É¥ì¥¹
2780 .\"O Instruct dynamic linker to process all relocs before transferring control to
2782 ¼Â¹Ô²Äǽ¥Õ¥¡¥¤¥ë¤ËÀ©¸æ¤ò¾ù¤ëÁ°¤Ë¡¢
2783 Á´¤Æ¤ÎºÆÇÛÃÖ¤ò½èÍý¤¹¤ë¤è¤¦¤ËưŪ¥ê¥ó¥«¤Ë»Ø¼¨¤¹¤ë¡£
2786 .\"O String table offset to library search path
2787 ¥é¥¤¥Ö¥é¥ê¸¡º÷¥Ñ¥¹¤Ø¤Îʸ»úÎó¥Æ¡¼¥Ö¥ë¥ª¥Õ¥»¥Ã¥È
2790 .\"O Start of processor-specific semantics
2791 ¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤Î³«»Ï
2794 .\"O End of processor-specific semantics
2795 ¥×¥í¥»¥Ã¥µ¸ÇͤΰÕÌ£¤Î½ªÎ»
2800 .\"O This member represents integer values with various interpretations.
2801 ¤³¤Î¥á¥ó¥Ð¤ÏÍÍ¡¹¤Ê°ÕÌ£¤Ë²ò¼á¤µ¤ì¤ëÀ°¿ôÃͤǤ¢¤ë¡£
2804 .\"O This member represents program virtual addresses.
2805 .\"O When interpreting
2806 .\"O these addresses, the actual address should be computed based on the
2807 .\"O original file value and memory base address.
2808 .\"O Files do not contain
2809 .\"O relocation entries to fixup these addresses.
2810 ¤³¤Î¥á¥ó¥Ð¤Ï¥×¥í¥°¥é¥à¤Î²¾ÁÛ¥¢¥É¥ì¥¹¤òɽ¤¹¡£
2811 ¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤ò²ò¼á¤¹¤ëºÝ¤Ë¡¢
2812 ¼ÂºÝ¤Î¥¢¥É¥ì¥¹¤Ï¸µ¡¹¤Î¥Õ¥¡¥¤¥ë¤ÎÃͤÈ
2813 ¥á¥â¥ê¤Î´ðÄ쥢¥É¥ì¥¹¤«¤é·×»»¤µ¤ì¤ë¡£
2814 ¥Õ¥¡¥¤¥ë¤Ë¤Ï¤³¤ì¤é¤Î¥¢¥É¥ì¥¹¤ò½¤Àµ¤¹¤ë¤¿¤á¤Î
2815 ºÆÇÛÃÖ¥¨¥ó¥È¥ê¤ò´Þ¤á¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£
2818 .\"O Array containing all the dynamic structures in the .dynamic section.
2819 .\"O This is automatically populated by the linker.
2820 \&.dynamic ¥»¥¯¥·¥ç¥ó¤Ë¤¢¤ëÁ´¤Æ¤ÎưŪ¹½Â¤ÂΤò´Þ¤àÇÛÎó¡£
2821 ¤³¤ì¤Ï¼«Æ°Åª¤Ë¥ê¥ó¥«¤ËÅϤµ¤ì¤ë¡£
2826 .\"O .\" ELF support first appeared in
2827 .\"O .\" OpenBSD 1.2 ,
2828 .\"O .\" although not all supported platforms use it as the native
2829 .\"O .\" binary file format.
2831 .\" ELF ¤Î¥µ¥Ý¡¼¥È¤Ï
2833 .\" ¤Ç½é¤á¤ÆÅо줷¤¿¡£
2834 .\" ¤·¤«¤·¡¢¤³¤ì¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥×¥é¥Ã¥È¥Õ¥©¡¼¥à¤ÎÁ´¤Æ¤¬
2835 .\" ¥Í¥¤¥Æ¥£¥Ö¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¥Õ¥©¡¼¥Þ¥Ã¥È¤È¤·¤Æ»È¤Ã¤Æ¤¤¤¿Ìõ¤Ç¤Ï¤Ê¤¤¡£
2836 .\"O ELF first appeared in
2838 ELF ¤Ï System V ¤Ç½é¤á¤ÆÅо줷¤¿¡£
2839 .\"O ELF in itself first appeared in
2844 .\"O The ELF format is an adopted standard.
2845 ELF ¥Õ¥©¡¼¥Þ¥Ã¥È¤ÏºÎÂò¤µ¤ì¤¿É¸½à¤Ç¤¢¤ë¡£
2846 .\"O .\" .SH AUTHORS
2848 .\"O .\" The original version of this manual page was written by
2849 .\"O .\" .An Jeroen Ruigrok van der Werven
2850 .\"O .\" .Aq asmodai@FreeBSD.org
2851 .\"O .\" with inspiration from BSDi's
2855 .\" ¤³¤Î man ¥Ú¡¼¥¸¤Î¸µ¡¹¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢BSDi ¤Î
2858 .\" man ¥Ú¡¼¥¸¤Ë»É·ã¤ò¼õ¤±¤Æ
2859 .\" .An Jeroen Ruigrok van der Werven
2860 .\" .Aq asmodai@FreeBSD.org
2872 .IR "Elf-64 Object File Format" .
2874 Santa Cruz Operation,
2875 .IR "System V Application Binary Interface" .
2877 Unix System Laboratories,
2879 .IR "Executable and Linking Format (ELF)" .