OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.65
[linuxjm/LDP_man-pages.git] / po4a / ld / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2014-04-24 00:51+0900\n"
10 "PO-Revision-Date: 2014-04-20 06:58+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/dl_iterate_phdr.3:25
20 #, no-wrap
21 msgid "DL_ITERATE_PHDR"
22 msgstr "DL_ITERATE_PHDR"
23
24 #. type: TH
25 #: build/C/man3/dl_iterate_phdr.3:25
26 #, no-wrap
27 msgid "2007-05-18"
28 msgstr "2007-05-18"
29
30 #. type: TH
31 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/end.3:26
32 #: build/C/man8/ld.so.8:5 build/C/man8/ldconfig.8:22 build/C/man8/sln.8:25
33 #, no-wrap
34 msgid "GNU"
35 msgstr "GNU"
36
37 #. type: TH
38 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dlopen.3:35
39 #: build/C/man5/elf.5:35 build/C/man3/end.3:26 build/C/man8/ld.so.8:5
40 #: build/C/man8/ldconfig.8:22 build/C/man1/ldd.1:14
41 #: build/C/man7/rtld-audit.7:28 build/C/man8/sln.8:25
42 #, no-wrap
43 msgid "Linux Programmer's Manual"
44 msgstr "Linux Programmer's Manual"
45
46 #. type: SH
47 #: build/C/man3/dl_iterate_phdr.3:26 build/C/man3/dlopen.3:36
48 #: build/C/man5/elf.5:36 build/C/man3/end.3:27 build/C/man8/ld.so.8:6
49 #: build/C/man8/ldconfig.8:23 build/C/man1/ldd.1:15
50 #: build/C/man7/rtld-audit.7:29 build/C/man8/sln.8:26
51 #, no-wrap
52 msgid "NAME"
53 msgstr "名前"
54
55 #. type: Plain text
56 #: build/C/man3/dl_iterate_phdr.3:28
57 msgid "dl_iterate_phdr - walk through list of shared objects"
58 msgstr "dl_iterate_phdr - 共有オブジェクトのリストを辿る"
59
60 #. type: SH
61 #: build/C/man3/dl_iterate_phdr.3:28 build/C/man3/dlopen.3:39
62 #: build/C/man5/elf.5:38 build/C/man3/end.3:29 build/C/man8/ld.so.8:8
63 #: build/C/man8/ldconfig.8:25 build/C/man1/ldd.1:17
64 #: build/C/man7/rtld-audit.7:31 build/C/man8/sln.8:28
65 #, no-wrap
66 msgid "SYNOPSIS"
67 msgstr "書式"
68
69 #. type: Plain text
70 #: build/C/man3/dl_iterate_phdr.3:32
71 #, no-wrap
72 msgid ""
73 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
74 "B<#include E<lt>link.hE<gt>>\n"
75 msgstr ""
76 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
77 "B<#include E<lt>link.hE<gt>>\n"
78
79 #. type: Plain text
80 #: build/C/man3/dl_iterate_phdr.3:37
81 #, no-wrap
82 msgid ""
83 "B<int dl_iterate_phdr(>\n"
84 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
85 "B<                           size_t >I<size>B<, void *>I<data>B<,>\n"
86 "B<          void *>I<data>B<;>\n"
87 msgstr ""
88 "B<int dl_iterate_phdr(>\n"
89 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
90 "B<                           size_t >I<size>B<, void *>I<data>B<,>\n"
91 "B<          void *>I<data>B<;>\n"
92
93 #. type: SH
94 #: build/C/man3/dl_iterate_phdr.3:38 build/C/man3/dlopen.3:51
95 #: build/C/man5/elf.5:43 build/C/man3/end.3:35 build/C/man8/ld.so.8:18
96 #: build/C/man8/ldconfig.8:54 build/C/man1/ldd.1:19
97 #: build/C/man7/rtld-audit.7:35 build/C/man8/sln.8:32
98 #, no-wrap
99 msgid "DESCRIPTION"
100 msgstr "説明"
101
102 #. type: Plain text
103 #: build/C/man3/dl_iterate_phdr.3:43
104 msgid ""
105 "The B<dl_iterate_phdr>()  function allows an application to inquire at run "
106 "time to find out which shared objects it has loaded."
107 msgstr ""
108 "B<dl_iterate_phdr>()  関数を使うと、アプリケーションは実行時に どの共有オブ"
109 "ジェクトをロードしたかを見つけることができる。"
110
111 #. type: Plain text
112 #: build/C/man3/dl_iterate_phdr.3:53
113 msgid ""
114 "The B<dl_iterate_phdr>()  function walks through the list of an "
115 "application's shared objects and calls the function I<callback> once for "
116 "each object, until either all shared objects have been processed or "
117 "I<callback> returns a nonzero value."
118 msgstr ""
119 "B<dl_iterate_phdr>()  関数はアプリケーションの共有オブジェクトのリストを辿"
120 "り、 各オブジェクトに対して関数 I<callback> を 1 回ずつ呼び出す。 これは全て"
121 "の共有オブジェクトが処理されるか、 I<callback> が 0 以外の値を返すまで行われ"
122 "る。"
123
124 #. type: Plain text
125 #: build/C/man3/dl_iterate_phdr.3:70
126 msgid ""
127 "Each call to I<callback> receives three arguments: I<info>, which is a "
128 "pointer to a structure containing information about the shared object; "
129 "I<size>, which is the size of the structure pointed to by I<info>; and "
130 "I<data>, which is a copy of whatever value was passed by the calling program "
131 "as the second argument (also named I<data>)  in the call to "
132 "B<dl_iterate_phdr>()."
133 msgstr ""
134 "各々の I<callback> 呼び出しは 3 つの引き数を受け取る: I<info> は共有オブジェ"
135 "クトの情報を保持する構造体へのポインタである。 I<size> は I<info> で指される"
136 "構造体のサイズである。 I<data> は呼び出し元プログラムから B<dl_iterate_phdr>"
137 "()  の呼び出しの (同じく I<data> という名前の) 第 2 引き数として渡される値の"
138 "コピーである。"
139
140 #. type: Plain text
141 #: build/C/man3/dl_iterate_phdr.3:74
142 msgid "The I<info> argument is a structure of the following type:"
143 msgstr "I<info> 引き数は、以下のような型の構造体である。"
144
145 #. type: Plain text
146 #: build/C/man3/dl_iterate_phdr.3:86
147 #, no-wrap
148 msgid ""
149 "struct dl_phdr_info {\n"
150 "    ElfW(Addr)        dlpi_addr;  /* Base address of object */\n"
151 "    const char       *dlpi_name;  /* (Null-terminated) name of\n"
152 "                                     object */\n"
153 "    const ElfW(Phdr) *dlpi_phdr;  /* Pointer to array of\n"
154 "                                     ELF program headers\n"
155 "                                     for this object */\n"
156 "    ElfW(Half)        dlpi_phnum; /* # of items in I<dlpi_phdr> */\n"
157 "};\n"
158 msgstr ""
159 "struct dl_phdr_info {\n"
160 "    ElfW(Addr)        dlpi_addr;  /* オブジェクトのベースアドレス */\n"
161 "    const char       *dlpi_name;  /* (null 文字で終端された)\n"
162 "                                     オブジェクト名 */\n"
163 "    const ElfW(Phdr) *dlpi_phdr;  /* このオブジェクトの\n"
164 "                                     ELF プログラムヘッダの\n"
165 "                                     配列へのポインタ */\n"
166 "    ElfW(Half)        dlpi_phnum; /* I<dlpi_phdr> のアイテム数 */\n"
167 "};\n"
168
169 #. type: Plain text
170 #: build/C/man3/dl_iterate_phdr.3:98
171 msgid ""
172 "(The I<ElfW>()  macro definition turns its argument into the name of an ELF "
173 "data type suitable for the hardware architecture.  For example, on a 32-bit "
174 "platform, ElfW(Addr) yields the data type name Elf32_Addr.  Further "
175 "information on these types can be found in the I<E<lt>elf.hE<gt>> and "
176 "I<E<lt>link.hE<gt>> header files.)"
177 msgstr ""
178 "(I<ElfW>()  マクロ定義は引き数をハードウェアアーキテクチャに適した ELF データ"
179 "型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
180 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
181 "ダファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
182
183 #. type: Plain text
184 #: build/C/man3/dl_iterate_phdr.3:109
185 msgid ""
186 "The I<dlpi_addr> field indicates the base address of the shared object (i."
187 "e., the difference between the virtual memory address of the shared object "
188 "and the offset of that object in the file from which it was loaded).  The "
189 "I<dlpi_name> field is a null-terminated string giving the pathname from "
190 "which the shared object was loaded."
191 msgstr ""
192 "I<dlpi_addr> フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ"
193 "ジェクトの仮想メモリアドレスと、 ファイル (このファイルから共有オブジェクトが"
194 "ロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 "
195 "I<dlpi_name> は null 文字で終端された文字列であり、 このパス名のファイルから"
196 "共有オブジェクトがロードされる。"
197
198 #. type: Plain text
199 #: build/C/man3/dl_iterate_phdr.3:124
200 msgid ""
201 "To understand the meaning of the I<dlpi_phdr> and I<dlpi_phnum> fields, we "
202 "need to be aware that an ELF shared object consists of a number of segments, "
203 "each of which has a corresponding program header describing the segment.  "
204 "The I<dlpi_phdr> field is a pointer to an array of the program headers for "
205 "this shared object.  The I<dlpi_phnum> field indicates the size of this "
206 "array."
207 msgstr ""
208 "I<dlpi_phdr> と I<dlpi_phnum> フィールドの意味を理解するには、 ELF 共有オブ"
209 "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対"
210 "応するプログラムヘッダ (そのセグメントを説明する) を持っていることを知ってい"
211 "る必要がある。 I<dlpi_phdr> フィールドは、この共有オブジェクトのプログラム"
212 "ヘッダの配列へのポインタである。 I<dlpi_phnum> は、この配列のサイズを表す。"
213
214 #. type: Plain text
215 #: build/C/man3/dl_iterate_phdr.3:126
216 msgid "These program headers are structures of the following form:"
217 msgstr "これらのプログラムヘッダは以下のような形式の構造体である:"
218
219 #. type: Plain text
220 #: build/C/man3/dl_iterate_phdr.3:139
221 #, no-wrap
222 msgid ""
223 "typedef struct {\n"
224 "    Elf32_Word  p_type;    /* Segment type */\n"
225 "    Elf32_Off   p_offset;  /* Segment file offset */\n"
226 "    Elf32_Addr  p_vaddr;   /* Segment virtual address */\n"
227 "    Elf32_Addr  p_paddr;   /* Segment physical address */\n"
228 "    Elf32_Word  p_filesz;  /* Segment size in file */\n"
229 "    Elf32_Word  p_memsz;   /* Segment size in memory */\n"
230 "    Elf32_Word  p_flags;   /* Segment flags */\n"
231 "    Elf32_Word  p_align;   /* Segment alignment */\n"
232 "} Elf32_Phdr;\n"
233 msgstr ""
234 "typedef struct\n"
235 "{\n"
236 "    Elf32_Word  p_type;    /* セグメントの型 */\n"
237 "    Elf32_Off   p_offset;  /* セグメントのファイルオフセット */\n"
238 "    Elf32_Addr  p_vaddr;   /* セグメントの仮想アドレス */\n"
239 "    Elf32_Addr  p_paddr;   /* セグメントの物理アドレス */\n"
240 "    Elf32_Word  p_filesz;  /* ファイルにおけるセグメントサイズ */\n"
241 "    Elf32_Word  p_memsz;   /* メモリにおけるセグメントサイズ */\n"
242 "    Elf32_Word  p_flags;   /* セグメントフラグ */\n"
243 "    Elf32_Word  p_align;   /* セグメントの配置 (alignment) */\n"
244 "} Elf32_Phdr;\n"
245
246 #. type: Plain text
247 #: build/C/man3/dl_iterate_phdr.3:145
248 msgid ""
249 "Note that we can calculate the location of a particular program header, "
250 "I<x>, in virtual memory using the formula:"
251 msgstr ""
252 "特定のプログラムヘッダ I<x> の仮想メモリにおける位置は、以下の式で計算できる"
253 "点に注意すること:"
254
255 #. type: Plain text
256 #: build/C/man3/dl_iterate_phdr.3:148
257 #, no-wrap
258 msgid "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
259 msgstr "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
260
261 #. type: SH
262 #: build/C/man3/dl_iterate_phdr.3:149
263 #, no-wrap
264 msgid "RETURN VALUE"
265 msgstr "返り値"
266
267 #. type: Plain text
268 #: build/C/man3/dl_iterate_phdr.3:154
269 msgid ""
270 "The B<dl_iterate_phdr>()  function returns whatever value was returned by "
271 "the last call to I<callback>."
272 msgstr ""
273 "B<dl_iterate_phdr>()  関数は最後の I<callback> の呼び出しで返された値を返す。"
274
275 #. type: SH
276 #: build/C/man3/dl_iterate_phdr.3:154
277 #, no-wrap
278 msgid "VERSIONS"
279 msgstr "バージョン"
280
281 #. type: Plain text
282 #: build/C/man3/dl_iterate_phdr.3:157
283 msgid "B<dl_iterate_phdr>()  has been supported in glibc since version 2.2.4."
284 msgstr ""
285 "B<dl_iterate_phdr>()  は glibc のバージョン 2.2.4 以降でサポートされている。"
286
287 #. type: SH
288 #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381
289 #: build/C/man3/end.3:50 build/C/man7/rtld-audit.7:461
290 #, no-wrap
291 msgid "CONFORMING TO"
292 msgstr "準拠"
293
294 #. type: Plain text
295 #: build/C/man3/dl_iterate_phdr.3:161
296 msgid ""
297 "The B<dl_iterate_phdr>()  function is Linux-specific and should be avoided "
298 "in portable applications."
299 msgstr ""
300 "B<dl_iterate_phdr>()  関数は Linux 固有であり、移植を考えたアプリケーションで"
301 "は避けるべきである。"
302
303 #. type: SH
304 #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446
305 #: build/C/man3/end.3:76 build/C/man7/rtld-audit.7:502
306 #, no-wrap
307 msgid "EXAMPLE"
308 msgstr "例"
309
310 #. type: Plain text
311 #: build/C/man3/dl_iterate_phdr.3:166
312 msgid ""
313 "The following program displays a list of pathnames of the shared objects it "
314 "has loaded.  For each shared object, the program lists the virtual addresses "
315 "at which the object's ELF segments are loaded."
316 msgstr ""
317 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
318 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
319 "ロードされた 仮想アドレスの一覧を表示する。"
320
321 #. type: Plain text
322 #: build/C/man3/dl_iterate_phdr.3:172
323 #, no-wrap
324 msgid ""
325 "#define _GNU_SOURCE\n"
326 "#include E<lt>link.hE<gt>\n"
327 "#include E<lt>stdlib.hE<gt>\n"
328 "#include E<lt>stdio.hE<gt>\n"
329 msgstr ""
330 "#define _GNU_SOURCE\n"
331 "#include E<lt>link.hE<gt>\n"
332 "#include E<lt>stdlib.hE<gt>\n"
333 "#include E<lt>stdio.hE<gt>\n"
334
335 #. type: Plain text
336 #: build/C/man3/dl_iterate_phdr.3:177
337 #, no-wrap
338 msgid ""
339 "static int\n"
340 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
341 "{\n"
342 "    int j;\n"
343 msgstr ""
344 "static int\n"
345 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
346 "{\n"
347 "    int j;\n"
348
349 #. type: Plain text
350 #: build/C/man3/dl_iterate_phdr.3:180
351 #, no-wrap
352 msgid ""
353 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
354 "        info-E<gt>dlpi_phnum);\n"
355 msgstr ""
356 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
357 "        info-E<gt>dlpi_phnum);\n"
358
359 #. type: Plain text
360 #: build/C/man3/dl_iterate_phdr.3:186
361 #, no-wrap
362 msgid ""
363 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
364 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
365 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
366 "    return 0;\n"
367 "}\n"
368 msgstr ""
369 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
370 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
371 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
372 "    return 0;\n"
373 "}\n"
374
375 #. type: Plain text
376 #: build/C/man3/dl_iterate_phdr.3:191
377 #, no-wrap
378 msgid ""
379 "int\n"
380 "main(int argc, char *argv[])\n"
381 "{\n"
382 "    dl_iterate_phdr(callback, NULL);\n"
383 msgstr ""
384 "int\n"
385 "main(int argc, char *argv[])\n"
386 "{\n"
387 "    dl_iterate_phdr(callback, NULL);\n"
388
389 #. type: Plain text
390 #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107
391 #, no-wrap
392 msgid ""
393 "    exit(EXIT_SUCCESS);\n"
394 "}\n"
395 msgstr ""
396 "    exit(EXIT_SUCCESS);\n"
397 "}\n"
398
399 #. type: SH
400 #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521
401 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:486
402 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108
403 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60
404 #, no-wrap
405 msgid "SEE ALSO"
406 msgstr "関連項目"
407
408 #. type: Plain text
409 #: build/C/man3/dl_iterate_phdr.3:202
410 msgid ""
411 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
412 msgstr ""
413 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
414
415 #. type: Plain text
416 #: build/C/man3/dl_iterate_phdr.3:205
417 msgid ""
418 "I<Executable and Linking Format Specification>, available at various "
419 "locations online."
420 msgstr ""
421 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
422 "Specification>"
423
424 #. type: SH
425 #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:530
426 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:498
427 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:111
428 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64
429 #, no-wrap
430 msgid "COLOPHON"
431 msgstr "この文書について"
432
433 #. type: Plain text
434 #: build/C/man3/dl_iterate_phdr.3:212 build/C/man3/dlopen.3:537
435 #: build/C/man5/elf.5:1970 build/C/man3/end.3:120 build/C/man8/ld.so.8:505
436 #: build/C/man8/ldconfig.8:185 build/C/man1/ldd.1:118
437 #: build/C/man7/rtld-audit.7:614 build/C/man8/sln.8:71
438 #, fuzzy
439 #| msgid ""
440 #| "This page is part of release 3.64 of the Linux I<man-pages> project.  A "
441 #| "description of the project, and information about reporting bugs, can be "
442 #| "found at \\%http://www.kernel.org/doc/man-pages/."
443 msgid ""
444 "This page is part of release 3.65 of the Linux I<man-pages> project.  A "
445 "description of the project, and information about reporting bugs, can be "
446 "found at \\%http://www.kernel.org/doc/man-pages/."
447 msgstr ""
448 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.64 の一部\n"
449 "である。プロジェクトの説明とバグ報告に関する情報は\n"
450 "http://www.kernel.org/doc/man-pages/ に書かれている。"
451
452 #. type: TH
453 #: build/C/man3/dlopen.3:35
454 #, no-wrap
455 msgid "DLOPEN"
456 msgstr "DLOPEN"
457
458 #. type: TH
459 #: build/C/man3/dlopen.3:35 build/C/man8/ld.so.8:5
460 #, no-wrap
461 msgid "2014-01-08"
462 msgstr "2014-01-08"
463
464 #. type: TH
465 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
466 #, no-wrap
467 msgid "Linux"
468 msgstr "Linux"
469
470 #. type: Plain text
471 #: build/C/man3/dlopen.3:39
472 msgid ""
473 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
474 "dynamic linking loader"
475 msgstr ""
476 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダへの プログラミングイ"
477 "ンターフェース"
478
479 #. type: Plain text
480 #: build/C/man3/dlopen.3:41
481 msgid "B<#include E<lt>dlfcn.hE<gt>>"
482 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
483
484 #. type: Plain text
485 #: build/C/man3/dlopen.3:43
486 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
487 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
488
489 #. type: Plain text
490 #: build/C/man3/dlopen.3:45
491 msgid "B<char *dlerror(void);>"
492 msgstr "B<char *dlerror(void);>"
493
494 #. type: Plain text
495 #: build/C/man3/dlopen.3:47
496 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
497 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
498
499 #. type: Plain text
500 #: build/C/man3/dlopen.3:49
501 msgid "B<int dlclose(void *>I<handle>B<);>"
502 msgstr "B<int dlclose(void *>I<handle>B<);>"
503
504 #. type: Plain text
505 #: build/C/man3/dlopen.3:51
506 msgid "Link with I<-ldl>."
507 msgstr "I<-ldl> でリンクする。"
508
509 #. type: Plain text
510 #: build/C/man3/dlopen.3:58
511 msgid ""
512 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
513 "implement the interface to the dynamic linking loader."
514 msgstr ""
515 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的リン"
516 "ク (dynamic linking) を行うローダへの インタフェースを実装したものである。"
517
518 #. type: SS
519 #: build/C/man3/dlopen.3:58
520 #, no-wrap
521 msgid "dlerror()"
522 msgstr "dlerror()"
523
524 #. type: Plain text
525 #: build/C/man3/dlopen.3:71
526 msgid ""
527 "The function B<dlerror>()  returns a human-readable string describing the "
528 "most recent error that occurred from B<dlopen>(), B<dlsym>()  or B<dlclose>"
529 "()  since the last call to B<dlerror>().  It returns NULL if no errors have "
530 "occurred since initialization or since it was last called."
531 msgstr ""
532 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
533 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
534 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
535 "ば NULL を返す。"
536
537 #. type: SS
538 #: build/C/man3/dlopen.3:71
539 #, no-wrap
540 msgid "dlopen()"
541 msgstr "dlopen()"
542
543 #. type: Plain text
544 #: build/C/man3/dlopen.3:89
545 msgid ""
546 "The function B<dlopen>()  loads the dynamic library file named by the null-"
547 "terminated string I<filename> and returns an opaque \"handle\" for the "
548 "dynamic library.  If I<filename> is NULL, then the returned handle is for "
549 "the main program.  If I<filename> contains a slash (\"/\"), then it is "
550 "interpreted as a (relative or absolute) pathname.  Otherwise, the dynamic "
551 "linker searches for the library as follows (see B<ld.so>(8)  for further "
552 "details):"
553 msgstr ""
554 "関数 B<dlopen>()  は、NULL 終端された文字列 I<filename> で指定されたファイル"
555 "名の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
556 "「ハンドル」を返す。 I<filename> が NULL の場合、メイン・プログラムへのハンド"
557 "ルが返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)"
558 "パス名として解釈される。 それ以外の場合、動的リンカは以下の手順でライブラリを"
559 "検索する (詳細は B<ld.so>(8)  を参照):"
560
561 #. type: IP
562 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
563 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
564 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
565 #: build/C/man8/ld.so.8:80
566 #, no-wrap
567 msgid "o"
568 msgstr "o"
569
570 #. type: Plain text
571 #: build/C/man3/dlopen.3:93
572 msgid ""
573 "(ELF only) If the executable file for the calling program contains a "
574 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
575 "listed in the DT_RPATH tag are searched."
576 msgstr ""
577 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
578 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
579 "クトリ・リストを検索する。"
580
581 #. type: Plain text
582 #: build/C/man3/dlopen.3:100
583 msgid ""
584 "If, at the time that the program was started, the environment variable "
585 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
586 "directories, then these are searched.  (As a security measure this variable "
587 "is ignored for set-user-ID and set-group-ID programs.)"
588 msgstr ""
589 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
590 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
591 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
592 "場合は無視される)。"
593
594 #. type: Plain text
595 #: build/C/man3/dlopen.3:104
596 msgid ""
597 "(ELF only) If the executable file for the calling program contains a "
598 "DT_RUNPATH tag, then the directories listed in that tag are searched."
599 msgstr ""
600 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
601 "る場合、そのタグに書かれているディレクトリ・リストを検索する。"
602
603 #. type: Plain text
604 #: build/C/man3/dlopen.3:111
605 msgid ""
606 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
607 "checked to see whether it contains an entry for I<filename>."
608 msgstr ""
609 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリが入って"
610 "いるかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理され"
611 "ている)。"
612
613 #. type: Plain text
614 #: build/C/man3/dlopen.3:117
615 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
616 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
617
618 #. type: Plain text
619 #: build/C/man3/dlopen.3:123
620 msgid ""
621 "If the library has dependencies on other shared libraries, then these are "
622 "also automatically loaded by the dynamic linker using the same rules.  (This "
623 "process may occur recursively, if those libraries in turn have dependencies, "
624 "and so on.)"
625 msgstr ""
626 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
627 "リも動的リンカが同じ検索ルールに基づいて 自動的にロードする (それらのライブラ"
628 "リにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
629
630 #. type: Plain text
631 #: build/C/man3/dlopen.3:126
632 msgid "One of the following two values must be included in I<flag>:"
633 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
634
635 #. type: TP
636 #: build/C/man3/dlopen.3:126
637 #, no-wrap
638 msgid "B<RTLD_LAZY>"
639 msgstr "B<RTLD_LAZY>"
640
641 #. type: Plain text
642 #: build/C/man3/dlopen.3:134
643 msgid ""
644 "Perform lazy binding.  Only resolve symbols as the code that references them "
645 "is executed.  If the symbol is never referenced, then it is never resolved.  "
646 "(Lazy binding is performed only for function references; references to "
647 "variables are always immediately bound when the library is loaded.)"
648 msgstr ""
649 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
650 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
651 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
652 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
653 "直ちに解決される。)"
654
655 #. type: TP
656 #: build/C/man3/dlopen.3:134
657 #, no-wrap
658 msgid "B<RTLD_NOW>"
659 msgstr "B<RTLD_NOW>"
660
661 #. type: Plain text
662 #: build/C/man3/dlopen.3:143
663 msgid ""
664 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
665 "set to a nonempty string, all undefined symbols in the library are resolved "
666 "before B<dlopen>()  returns.  If this cannot be done, an error is returned."
667 msgstr ""
668 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
669 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
670 "る。解決できなかったときにはエラーが返される。"
671
672 #. type: Plain text
673 #: build/C/man3/dlopen.3:146
674 msgid "Zero or more of the following values may also be ORed in I<flag>:"
675 msgstr ""
676 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
677
678 #. type: TP
679 #: build/C/man3/dlopen.3:146
680 #, no-wrap
681 msgid "B<RTLD_GLOBAL>"
682 msgstr "B<RTLD_GLOBAL>"
683
684 #. type: Plain text
685 #: build/C/man3/dlopen.3:150
686 msgid ""
687 "The symbols defined by this library will be made available for symbol "
688 "resolution of subsequently loaded libraries."
689 msgstr ""
690 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
691 "のシンボル解決で利用できるようになる。"
692
693 #. type: TP
694 #: build/C/man3/dlopen.3:150
695 #, no-wrap
696 msgid "B<RTLD_LOCAL>"
697 msgstr "B<RTLD_LOCAL>"
698
699 #. type: Plain text
700 #: build/C/man3/dlopen.3:157
701 msgid ""
702 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
703 "specified.  Symbols defined in this library are not made available to "
704 "resolve references in subsequently loaded libraries."
705 msgstr ""
706 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
707 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
708 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
709
710 #. type: TP
711 #: build/C/man3/dlopen.3:157
712 #, no-wrap
713 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
714 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
715
716 #.  (But it is present on Solaris.)
717 #. type: Plain text
718 #: build/C/man3/dlopen.3:167
719 msgid ""
720 "Do not unload the library during B<dlclose>().  Consequently, the library's "
721 "static variables are not reinitialized if the library is reloaded with "
722 "B<dlopen>()  at a later time.  This flag is not specified in POSIX.1-2001."
723 msgstr ""
724 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
725 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
726 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
727
728 #. type: TP
729 #: build/C/man3/dlopen.3:167
730 #, no-wrap
731 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
732 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
733
734 #.  (But it is present on Solaris.)
735 #. type: Plain text
736 #: build/C/man3/dlopen.3:182
737 msgid ""
738 "Don't load the library.  This can be used to test if the library is already "
739 "resident (B<dlopen>()  returns NULL if it is not, or the library's handle if "
740 "it is resident).  This flag can also be used to promote the flags on a "
741 "library that is already loaded.  For example, a library that was previously "
742 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
743 "RTLD_GLOBAL>.  This flag is not specified in POSIX.1-2001."
744 msgstr ""
745 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
746 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
747 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
748 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
749 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
750 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
751 "規定されていない。"
752
753 #. type: TP
754 #: build/C/man3/dlopen.3:182
755 #, no-wrap
756 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
757 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
758
759 #.  Inimitably described by UD in
760 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
761 #. type: Plain text
762 #: build/C/man3/dlopen.3:192
763 msgid ""
764 "Place the lookup scope of the symbols in this library ahead of the global "
765 "scope.  This means that a self-contained library will use its own symbols in "
766 "preference to global symbols with the same name contained in libraries that "
767 "have already been loaded.  This flag is not specified in POSIX.1-2001."
768 msgstr ""
769 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
770 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
771 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
772 "フラグは POSIX.1-2001 では規定されていない。"
773
774 #. type: Plain text
775 #: build/C/man3/dlopen.3:204
776 msgid ""
777 "If I<filename> is NULL, then the returned handle is for the main program.  "
778 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
779 "main program, followed by all shared libraries loaded at program startup, "
780 "and then all shared libraries loaded by B<dlopen>()  with the flag "
781 "B<RTLD_GLOBAL>."
782 msgstr ""
783 "I<filename> が NULL である場合は、 返されるハンドルはメイン・プログラムのもの"
784 "になる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メイン・"
785 "プログラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
786 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
787 "ラリ、の順序で行われる。"
788
789 #. type: Plain text
790 #: build/C/man3/dlopen.3:214
791 msgid ""
792 "External references in the library are resolved using the libraries in that "
793 "library's dependency list and any other libraries previously opened with the "
794 "B<RTLD_GLOBAL> flag.  If the executable was linked with the flag \"-rdynamic"
795 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
796 "executable will also be used to resolve references in a dynamically loaded "
797 "library."
798 msgstr ""
799 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
800 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
801 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
802 "も同義)  付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
803 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
804
805 #. type: Plain text
806 #: build/C/man3/dlopen.3:232
807 msgid ""
808 "If the same library is loaded again with B<dlopen>(), the same file handle "
809 "is returned.  The dl library maintains reference counts for library handles, "
810 "so a dynamic library is not deallocated until B<dlclose>()  has been called "
811 "on it as many times as B<dlopen>()  has succeeded on it.  The B<_init>()  "
812 "routine, if present, is called only once.  But a subsequent call with "
813 "B<RTLD_NOW> may force symbol resolution for a library earlier loaded with "
814 "B<RTLD_LAZY>."
815 msgstr ""
816 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じファイル"
817 "ハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理してい"
818 "る。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だけ"
819 "呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出さ"
820 "れる (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて B<dlopen>"
821 "()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリのシンボ"
822 "ル解決が実行されることがある。"
823
824 #. type: Plain text
825 #: build/C/man3/dlopen.3:236
826 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
827 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
828
829 #. type: SS
830 #: build/C/man3/dlopen.3:236
831 #, no-wrap
832 msgid "dlsym()"
833 msgstr "dlsym()"
834
835 #. type: Plain text
836 #: build/C/man3/dlopen.3:265
837 msgid ""
838 "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned by "
839 "B<dlopen>()  and the null-terminated symbol name, returning the address "
840 "where that symbol is loaded into memory.  If the symbol is not found, in the "
841 "specified library or any of the libraries that were automatically loaded by "
842 "B<dlopen>()  when that library was loaded, B<dlsym>()  returns NULL.  (The "
843 "search performed by B<dlsym>()  is breadth first through the dependency tree "
844 "of these libraries.)  Since the value of the symbol could actually be NULL "
845 "(so that a NULL return from B<dlsym>()  need not indicate an error), the "
846 "correct way to test for an error is to call B<dlerror>()  to clear any old "
847 "error conditions, then call B<dlsym>(), and then call B<dlerror>()  again, "
848 "saving its return value into a variable, and check whether this saved value "
849 "is not NULL."
850 msgstr ""
851 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
852 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
853 "メモリのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライブ"
854 "ラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれに"
855 "も見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
856 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
857 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
858 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
859 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
860 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
861 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
862 "定する。"
863
864 #. type: Plain text
865 #: build/C/man3/dlopen.3:277
866 msgid ""
867 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  The "
868 "former will find the first occurrence of the desired symbol using the "
869 "default library search order.  The latter will find the next occurrence of a "
870 "function in the search order after the current library.  This allows one to "
871 "provide a wrapper around a function in another shared library."
872 msgstr ""
873 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
874 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
875 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
876 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
877 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
878
879 #. type: SS
880 #: build/C/man3/dlopen.3:277
881 #, no-wrap
882 msgid "dlclose()"
883 msgstr "dlclose()"
884
885 #. type: Plain text
886 #: build/C/man3/dlopen.3:284
887 msgid ""
888 "The function B<dlclose>()  decrements the reference count on the dynamic "
889 "library handle I<handle>.  If the reference count drops to zero and no other "
890 "loaded libraries use symbols in it, then the dynamic library is unloaded."
891 msgstr ""
892 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
893 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
894 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
895
896 #. type: Plain text
897 #: build/C/man3/dlopen.3:288
898 msgid "The function B<dlclose>()  returns 0 on success, and nonzero on error."
899 msgstr ""
900 "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
901
902 #. type: SS
903 #: build/C/man3/dlopen.3:288
904 #, no-wrap
905 msgid "The obsolete symbols _init() and _fini()"
906 msgstr "廃止されたシンボル _init() と _fini()"
907
908 #. type: Plain text
909 #: build/C/man3/dlopen.3:306
910 msgid ""
911 "The linker recognizes special symbols B<_init> and B<_fini>.  If a dynamic "
912 "library exports a routine named B<_init>(), then that code is executed after "
913 "the loading, before B<dlopen>()  returns.  If the dynamic library exports a "
914 "routine named B<_fini>(), then that routine is called just before the "
915 "library is unloaded.  In case you need to avoid linking against the system "
916 "startup files, this can be done by using the B<gcc>(1)  I<-nostartfiles> "
917 "command-line option."
918 msgstr ""
919 "リンカは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラリ"
920 "で B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
921 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
922 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
923 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
924 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
925 "I<-nostartfiles> オプションを指定すればよい。"
926
927 #.  void _init(void) __attribute__((constructor));
928 #.  void _fini(void) __attribute__((destructor));
929 #. type: Plain text
930 #: build/C/man3/dlopen.3:317
931 msgid ""
932 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
933 "is not recommended.  Their use may result in undesired behavior, since the "
934 "constructor/destructor routines will not be executed (unless special "
935 "measures are taken)."
936 msgstr ""
937 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
938 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
939 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
940 "行されないからである。"
941
942 #. type: Plain text
943 #: build/C/man3/dlopen.3:329
944 msgid ""
945 "Instead, libraries should export routines using the B<__attribute__"
946 "((constructor))> and B<__attribute__((destructor))> function attributes.  "
947 "See the gcc info pages for information on these.  Constructor routines are "
948 "executed before B<dlopen>()  returns, and destructor routines are executed "
949 "before B<dlclose>()  returns."
950 msgstr ""
951 "代わりに、ライブラリは B<__attribute__((constructor))> や B<__attribute__"
952 "((destructor))> の関数属性を使って必要なルーチンをエクスポートするのがよい。 "
953 "これらについては gcc の info ページを参照のこと。 constructor ルーチンは "
954 "B<dlopen>()  が復帰する前に実行され、 destructor ルーチンは B<dlclose>()  が"
955 "復帰する前に実行される。"
956
957 #. type: SS
958 #: build/C/man3/dlopen.3:329
959 #, no-wrap
960 msgid "Glibc extensions: dladdr() and dlvsym()"
961 msgstr "GNU での拡張: dladdr() と dlvsym()"
962
963 #. type: Plain text
964 #: build/C/man3/dlopen.3:331
965 msgid "Glibc adds two functions not described by POSIX, with prototypes"
966 msgstr ""
967 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
968 "は以下の通りである。"
969
970 #. type: Plain text
971 #: build/C/man3/dlopen.3:335
972 #, no-wrap
973 msgid ""
974 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
975 "B<#include E<lt>dlfcn.hE<gt>>\n"
976 msgstr ""
977 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
978 "B<#include E<lt>dlfcn.hE<gt>>\n"
979
980 #. type: Plain text
981 #: build/C/man3/dlopen.3:337
982 #, no-wrap
983 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
984 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
985
986 #. type: Plain text
987 #: build/C/man3/dlopen.3:339
988 #, no-wrap
989 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
990 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
991
992 #. type: Plain text
993 #: build/C/man3/dlopen.3:348
994 msgid ""
995 "The function B<dladdr>()  takes a function pointer and tries to resolve name "
996 "and file where it is located.  Information is stored in the I<Dl_info> "
997 "structure:"
998 msgstr ""
999 "関数 B<dladdr>()  は、関数のポインタを引き数にとり、関数の名前と関数が定義さ"
1000 "れている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1001
1002 #. type: Plain text
1003 #: build/C/man3/dlopen.3:361
1004 #, no-wrap
1005 msgid ""
1006 "typedef struct {\n"
1007 "    const char *dli_fname;  /* Pathname of shared object that\n"
1008 "                               contains address */\n"
1009 "    void       *dli_fbase;  /* Address at which shared object\n"
1010 "                               is loaded */\n"
1011 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1012 "                               overlaps I<addr> */\n"
1013 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1014 "                               in I<dli_sname> */\n"
1015 "} Dl_info;\n"
1016 msgstr ""
1017 "typedef struct {\n"
1018 "    const char *dli_fname;  /* Pathname of shared object that\n"
1019 "                               contains address */\n"
1020 "    void       *dli_fbase;  /* Address at which shared object\n"
1021 "                               is loaded */\n"
1022 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1023 "                               overlaps I<addr> */\n"
1024 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1025 "                               in I<dli_sname> */\n"
1026 "} Dl_info;\n"
1027
1028 #. type: Plain text
1029 #: build/C/man3/dlopen.3:371
1030 msgid ""
1031 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1032 "I<dli_saddr> are set to NULL."
1033 msgstr ""
1034 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1035 "I<dli_saddr> は NULL にセットされる。"
1036
1037 #. type: Plain text
1038 #: build/C/man3/dlopen.3:374
1039 msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
1040 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1041
1042 #. type: Plain text
1043 #: build/C/man3/dlopen.3:381
1044 msgid ""
1045 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1046 "as B<dlsym>()  but takes a version string as an additional argument."
1047 msgstr ""
1048 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
1049 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
1050 "glibc で提供されている)。"
1051
1052 #. type: Plain text
1053 #: build/C/man3/dlopen.3:388
1054 msgid ""
1055 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and B<dlsym>"
1056 "()."
1057 msgstr ""
1058 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
1059 "載がある。"
1060
1061 #. type: SH
1062 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1063 #: build/C/man8/ld.so.8:480 build/C/man1/ldd.1:74
1064 #: build/C/man7/rtld-audit.7:467
1065 #, no-wrap
1066 msgid "NOTES"
1067 msgstr "注意"
1068
1069 #.  .LP
1070 #.  The string returned by
1071 #.  .BR dlerror ()
1072 #.  should not be modified.
1073 #.  Some systems give the prototype as
1074 #.  .sp
1075 #.  .in +5
1076 #.  .B "const char *dlerror(void);"
1077 #.  .in
1078 #. type: Plain text
1079 #: build/C/man3/dlopen.3:407
1080 msgid ""
1081 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1082 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1083 msgstr ""
1084 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1085 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1086 "る場合のみ有効となる。"
1087
1088 #. type: Plain text
1089 #: build/C/man3/dlopen.3:412
1090 msgid ""
1091 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
1092 "that is automatically called when a library is unloaded."
1093 msgstr ""
1094 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
1095 "に自動的に呼び出される 終了ハンドラ (exit handler) を登録することができる。"
1096
1097 #. type: SS
1098 #: build/C/man3/dlopen.3:412
1099 #, no-wrap
1100 msgid "History"
1101 msgstr "歴史"
1102
1103 #. type: Plain text
1104 #: build/C/man3/dlopen.3:418
1105 msgid ""
1106 "The dlopen interface standard comes from SunOS.  That system also has "
1107 "B<dladdr>(), but not B<dlvsym>()."
1108 msgstr ""
1109 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には B<dladdr>"
1110 "()  もあったが、 B<dlvsym>()  はなかった。"
1111
1112 #. type: SH
1113 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91
1114 #: build/C/man7/rtld-audit.7:492
1115 #, no-wrap
1116 msgid "BUGS"
1117 msgstr "バグ"
1118
1119 #. type: Plain text
1120 #: build/C/man3/dlopen.3:430
1121 msgid ""
1122 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1123 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1124 "I<dli_fbase> may end up pointing back at the object from which you called "
1125 "B<dladdr>(), even if the function used as an argument should come from a "
1126 "dynamically linked library."
1127 msgstr ""
1128 "時として、 B<dladdr>()  に渡した関数ポインタは驚くような値になることがある。 "
1129 "いくつかのアーキテクチャ (特に i386 と x86_64) では、 引き数として使用した関"
1130 "数が動的リンクライブラリで定義されるもので あったとしても、 I<dli_fname> と "
1131 "I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照した状態で終わって"
1132 "いることがある。"
1133
1134 #. type: Plain text
1135 #: build/C/man3/dlopen.3:446
1136 msgid ""
1137 "The problem is that the function pointer will still be resolved at compile "
1138 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1139 "the original object (which dispatches the call after asking the dynamic "
1140 "linker to resolve the symbol).  To work around this, you can try to compile "
1141 "the code to be position-independent: then, the compiler cannot prepare the "
1142 "pointer at compile time anymore and today's B<gcc>(1)  will generate code "
1143 "that just loads the final symbol address from the I<got> (Global Offset "
1144 "Table) at run time before passing it to B<dladdr>()."
1145 msgstr ""
1146 "問題は、関数ポインタの解決は今なおコンパイル時に行われるが、 そのポインタは元"
1147 "のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指しているだけ"
1148 "だという点にある (オブジェクト自体は、ダイナミックリンカによってシンボルの解"
1149 "決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法としては、 コー"
1150 "ドを position-independent でコンパイルするという方法がある。 そうすると、コン"
1151 "パイラはコンパイル時にポインタを用意することができず、 今日の B<gcc>(1)  で"
1152 "は、実行時に B<dladdr>()  に関数ポインタを渡す前に、 I<got> (Global Offset "
1153 "Table) から最終的なシンボルのアドレスをロードするだけの コードが生成される。"
1154
1155 #. type: Plain text
1156 #: build/C/man3/dlopen.3:448
1157 msgid "Load the math library, and print the cosine of 2.0:"
1158 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1159
1160 #. type: Plain text
1161 #: build/C/man3/dlopen.3:453
1162 #, no-wrap
1163 msgid ""
1164 "#include E<lt>stdio.hE<gt>\n"
1165 "#include E<lt>stdlib.hE<gt>\n"
1166 "#include E<lt>dlfcn.hE<gt>\n"
1167 msgstr ""
1168 "#include E<lt>stdio.hE<gt>\n"
1169 "#include E<lt>stdlib.hE<gt>\n"
1170 "#include E<lt>dlfcn.hE<gt>\n"
1171
1172 #. type: Plain text
1173 #: build/C/man3/dlopen.3:460
1174 #, no-wrap
1175 msgid ""
1176 "int\n"
1177 "main(int argc, char **argv)\n"
1178 "{\n"
1179 "    void *handle;\n"
1180 "    double (*cosine)(double);\n"
1181 "    char *error;\n"
1182 msgstr ""
1183 "int\n"
1184 "main(int argc, char **argv)\n"
1185 "{\n"
1186 "    void *handle;\n"
1187 "    double (*cosine)(double);\n"
1188 "    char *error;\n"
1189
1190 #. type: Plain text
1191 #: build/C/man3/dlopen.3:466
1192 #, no-wrap
1193 msgid ""
1194 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1195 "    if (!handle) {\n"
1196 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1197 "        exit(EXIT_FAILURE);\n"
1198 "    }\n"
1199 msgstr ""
1200 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1201 "    if (!handle) {\n"
1202 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1203 "        exit(EXIT_FAILURE);\n"
1204 "    }\n"
1205
1206 #. type: Plain text
1207 #: build/C/man3/dlopen.3:468
1208 #, no-wrap
1209 msgid "    dlerror();    /* Clear any existing error */\n"
1210 msgstr "    dlerror();    /* Clear any existing error */\n"
1211
1212 #. type: Plain text
1213 #: build/C/man3/dlopen.3:470
1214 #, no-wrap
1215 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1216 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1217
1218 #. type: Plain text
1219 #: build/C/man3/dlopen.3:475
1220 #, no-wrap
1221 msgid ""
1222 "    /* According to the ISO C standard, casting between function\n"
1223 "       pointers and 'void *', as done above, produces undefined results.\n"
1224 "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1225 "       proposed the following workaround:\n"
1226 msgstr ""
1227 "    /* ISO の C 標準によれば、上のような、関数ポインタと 'void *' 間の\n"
1228 "       キャストを行った場合に得られる結果は不定である。\n"
1229 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1230 "       以下のようなワークアラウンドが提案されている。\n"
1231
1232 #. type: Plain text
1233 #: build/C/man3/dlopen.3:477
1234 #, no-wrap
1235 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1236 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1237
1238 #. type: Plain text
1239 #: build/C/man3/dlopen.3:480
1240 #, no-wrap
1241 msgid ""
1242 "       This (clumsy) cast conforms with the ISO C standard and will\n"
1243 "       avoid any compiler warnings.\n"
1244 msgstr ""
1245 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1246 "       コンパイラの警告を避けることができる。\n"
1247
1248 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1249 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1250 #.  http://austingroupbugs.net/view.php?id=74
1251 #. type: Plain text
1252 #: build/C/man3/dlopen.3:489
1253 #, no-wrap
1254 msgid ""
1255 "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1256 "       POSIX.1-2013) improved matters by requiring that conforming\n"
1257 "       implementations support casting 'void *' to a function pointer.\n"
1258 "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1259 "       option) may complain about the cast used in this program. */\n"
1260 msgstr ""
1261 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1262 "       では、 POSIX に準拠する実装では 'void *' から関数ポインタへの\n"
1263 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
1264 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1265 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1266 "       キャストについて文句を言うのだ。\n"
1267
1268 #. type: Plain text
1269 #: build/C/man3/dlopen.3:495
1270 #, no-wrap
1271 msgid ""
1272 "    error = dlerror();\n"
1273 "    if (error != NULL) {\n"
1274 "        fprintf(stderr, \"%s\\en\", error);\n"
1275 "        exit(EXIT_FAILURE);\n"
1276 "    }\n"
1277 msgstr ""
1278 "    error = dlerror();\n"
1279 "    if (error != NULL) {\n"
1280 "        fprintf(stderr, \"%s\\en\", error);\n"
1281 "        exit(EXIT_FAILURE);\n"
1282 "    }\n"
1283
1284 #. type: Plain text
1285 #: build/C/man3/dlopen.3:500
1286 #, no-wrap
1287 msgid ""
1288 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1289 "    dlclose(handle);\n"
1290 "    exit(EXIT_SUCCESS);\n"
1291 "}\n"
1292 msgstr ""
1293 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1294 "    dlclose(handle);\n"
1295 "    exit(EXIT_SUCCESS);\n"
1296 "}\n"
1297
1298 #. type: Plain text
1299 #: build/C/man3/dlopen.3:504
1300 msgid ""
1301 "If this program were in a file named \"foo.c\", you would build the program "
1302 "with the following command:"
1303 msgstr ""
1304 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1305 "ルドできる。"
1306
1307 #. type: Plain text
1308 #: build/C/man3/dlopen.3:507
1309 #, no-wrap
1310 msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
1311 msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
1312
1313 #. type: Plain text
1314 #: build/C/man3/dlopen.3:517
1315 msgid ""
1316 "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled as "
1317 "follows, using I<bar.c> as the example name:"
1318 msgstr ""
1319 "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のように"
1320 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1321
1322 #. type: Plain text
1323 #: build/C/man3/dlopen.3:520
1324 #, no-wrap
1325 msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
1326 msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
1327
1328 #. type: Plain text
1329 #: build/C/man3/dlopen.3:528
1330 msgid ""
1331 "B<ld>(1), B<ldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), B<ld.so>(8), "
1332 "B<ldconfig>(8)"
1333 msgstr ""
1334 "B<ld>(1), B<ldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), B<ld.so>(8), "
1335 "B<ldconfig>(8)"
1336
1337 #. type: Plain text
1338 #: build/C/man3/dlopen.3:530
1339 msgid "ld.so info pages, gcc info pages, ld info pages"
1340 msgstr "ld.so info pages, gcc info pages, ld info pages"
1341
1342 #. type: TH
1343 #: build/C/man5/elf.5:35
1344 #, no-wrap
1345 msgid "ELF"
1346 msgstr "ELF"
1347
1348 #. type: TH
1349 #: build/C/man5/elf.5:35
1350 #, no-wrap
1351 msgid "2013-04-17"
1352 msgstr "2013-04-17"
1353
1354 #. type: Plain text
1355 #: build/C/man5/elf.5:38
1356 msgid "elf - format of Executable and Linking Format (ELF) files"
1357 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1358
1359 #.  .B #include <elf_abi.h>
1360 #. type: Plain text
1361 #: build/C/man5/elf.5:42
1362 #, no-wrap
1363 msgid "B<#include E<lt>elf.hE<gt>>\n"
1364 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1365
1366 #. type: Plain text
1367 #: build/C/man5/elf.5:50
1368 msgid ""
1369 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1370 "binary files.  Amongst these files are normal executable files, relocatable "
1371 "object files, core files and shared libraries."
1372 msgstr ""
1373 "ヘッダファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォーマッ"
1374 "トを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置可能"
1375 "オブジェクトファイル・コアファイル・共有ライブラリがある。"
1376
1377 #. type: Plain text
1378 #: build/C/man5/elf.5:59
1379 msgid ""
1380 "An executable file using the ELF file format consists of an ELF header, "
1381 "followed by a program header table or a section header table, or both.  The "
1382 "ELF header is always at offset zero of the file.  The program header table "
1383 "and the section header table's offset in the file are defined in the ELF "
1384 "header.  The two tables describe the rest of the particularities of the file."
1385 msgstr ""
1386 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダの後にプログラム"
1387 "ヘッダテーブルまたは セクションヘッダテーブル (またはその両方) が続く構成であ"
1388 "る。 ELF ヘッダは常にファイルのオフセット 0 にある。 プログラムヘッダテーブル"
1389 "とセクションヘッダテーブルの ファイル内でのオフセットは、ELF ヘッダに定義され"
1390 "ている。 この 2 つのテーブルはファイルの残りの部分の詳細を記述する。"
1391
1392 #.  Applications which wish to process ELF binary files for their native
1393 #.  architecture only should include
1394 #.  .I <elf_abi.h>
1395 #.  in their source code.
1396 #.  These applications should need to refer to
1397 #.  all the types and structures by their generic names
1398 #.  "Elf_xxx"
1399 #.  and to the macros by
1400 #.  ELF_xxx".
1401 #.  Applications written this way can be compiled on any architecture,
1402 #.  regardless of whether the host is 32-bit or 64-bit.
1403 #.  .PP
1404 #.  Should an application need to process ELF files of an unknown
1405 #.  architecture, then the application needs to explicitly use either
1406 #.  "Elf32_xxx"
1407 #.  or
1408 #.  "Elf64_xxx"
1409 #.  type and structure names.
1410 #.  Likewise, the macros need to be identified by
1411 #.  "ELF32_xxx"
1412 #.  or
1413 #.  "ELF64_xxx".
1414 #.  .PP
1415 #. type: Plain text
1416 #: build/C/man5/elf.5:86
1417 msgid ""
1418 "This header file describes the above mentioned headers as C structures and "
1419 "also includes structures for dynamic sections, relocation sections and "
1420 "symbol tables."
1421 msgstr ""
1422 "このヘッダファイルは上記のヘッダを C 言語の構造体で記述し、 また動的セクショ"
1423 "ン・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1424
1425 #. type: Plain text
1426 #: build/C/man5/elf.5:98
1427 msgid ""
1428 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1429 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1430 "I<uint64_t>):"
1431 msgstr ""
1432 "以下の型は N ビットアーキテクチャで使われる (N=32,64 であり I<ElfN> は "
1433 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1434 "I<uint64_t> を表す):"
1435
1436 #.  Elf32_Size  Unsigned object size
1437 #. type: Plain text
1438 #: build/C/man5/elf.5:112
1439 #, no-wrap
1440 msgid ""
1441 "ElfN_Addr       Unsigned program address, uintN_t\n"
1442 "ElfN_Off        Unsigned file offset, uintN_t\n"
1443 "ElfN_Section    Unsigned section index, uint16_t\n"
1444 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
1445 "Elf_Byte        unsigned char\n"
1446 "ElfN_Half       uint16_t\n"
1447 "ElfN_Sword      int32_t\n"
1448 "ElfN_Word       uint32_t\n"
1449 "ElfN_Sxword     int64_t\n"
1450 "ElfN_Xword      uint64_t\n"
1451 msgstr ""
1452 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
1453 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
1454 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
1455 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
1456 "Elf_Byte        unsigned char\n"
1457 "ElfN_Half       uint16_t\n"
1458 "ElfN_Sword      int32_t\n"
1459 "ElfN_Word       uint32_t\n"
1460 "ElfN_Sxword     int64_t\n"
1461 "ElfN_Xword      uint64_t\n"
1462
1463 #. type: Plain text
1464 #: build/C/man5/elf.5:127
1465 msgid ""
1466 "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
1467 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1468 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
1469 "explicit ones in the below.)"
1470 msgstr ""
1471 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1472 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1473 "は、これらの型はサイズが自明な型に置き換えてある。)"
1474
1475 #. type: Plain text
1476 #: build/C/man5/elf.5:134
1477 msgid ""
1478 "All data structures that the file format defines follow the \"natural\" size "
1479 "and alignment guidelines for the relevant class.  If necessary, data "
1480 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1481 "objects, to force structure sizes to a multiple of 4, and so on."
1482 msgstr ""
1483 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1484 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1485 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
1486 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1487 "る。"
1488
1489 #. type: Plain text
1490 #: build/C/man5/elf.5:139
1491 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1492 msgstr "ELF ヘッダは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1493
1494 #. type: Plain text
1495 #: build/C/man5/elf.5:143
1496 #, no-wrap
1497 msgid "#define EI_NIDENT 16\n"
1498 msgstr "#define EI_NIDENT 16\n"
1499
1500 #. type: Plain text
1501 #: build/C/man5/elf.5:160
1502 #, no-wrap
1503 msgid ""
1504 "typedef struct {\n"
1505 "    unsigned char e_ident[EI_NIDENT];\n"
1506 "    uint16_t      e_type;\n"
1507 "    uint16_t      e_machine;\n"
1508 "    uint32_t      e_version;\n"
1509 "    ElfN_Addr     e_entry;\n"
1510 "    ElfN_Off      e_phoff;\n"
1511 "    ElfN_Off      e_shoff;\n"
1512 "    uint32_t      e_flags;\n"
1513 "    uint16_t      e_ehsize;\n"
1514 "    uint16_t      e_phentsize;\n"
1515 "    uint16_t      e_phnum;\n"
1516 "    uint16_t      e_shentsize;\n"
1517 "    uint16_t      e_shnum;\n"
1518 "    uint16_t      e_shstrndx;\n"
1519 "} ElfN_Ehdr;\n"
1520 msgstr ""
1521 "typedef struct {\n"
1522 "    unsigned char e_ident[EI_NIDENT];\n"
1523 "    uint16_t      e_type;\n"
1524 "    uint16_t      e_machine;\n"
1525 "    uint32_t      e_version;\n"
1526 "    ElfN_Addr     e_entry;\n"
1527 "    ElfN_Off      e_phoff;\n"
1528 "    ElfN_Off      e_shoff;\n"
1529 "    uint32_t      e_flags;\n"
1530 "    uint16_t      e_ehsize;\n"
1531 "    uint16_t      e_phentsize;\n"
1532 "    uint16_t      e_phnum;\n"
1533 "    uint16_t      e_shentsize;\n"
1534 "    uint16_t      e_shnum;\n"
1535 "    uint16_t      e_shstrndx;\n"
1536 "} ElfN_Ehdr;\n"
1537
1538 #.  .Bl -tag -width "e_phentsize"
1539 #. type: Plain text
1540 #: build/C/man5/elf.5:165
1541 msgid "The fields have the following meanings:"
1542 msgstr "フィールドは以下の意味を持つ:"
1543
1544 #. type: TP
1545 #: build/C/man5/elf.5:165
1546 #, no-wrap
1547 msgid "I<e_ident>"
1548 msgstr "I<e_ident>"
1549
1550 #. type: Plain text
1551 #: build/C/man5/elf.5:175
1552 msgid ""
1553 "This array of bytes specifies to interpret the file, independent of the "
1554 "processor or the file's remaining contents.  Within this array everything is "
1555 "named by macros, which start with the prefix B<EI_> and may contain values "
1556 "which start with the prefix B<ELF>.  The following macros are defined:"
1557 msgstr ""
1558 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1559 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1560 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1561 "クロが定義されている:"
1562
1563 #. type: TP
1564 #: build/C/man5/elf.5:177
1565 #, no-wrap
1566 msgid "B<EI_MAG0>"
1567 msgstr "B<EI_MAG0>"
1568
1569 #. type: Plain text
1570 #: build/C/man5/elf.5:183
1571 msgid ""
1572 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
1573 "0x7f)"
1574 msgstr ""
1575 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1576
1577 #. type: TP
1578 #: build/C/man5/elf.5:183
1579 #, no-wrap
1580 msgid "B<EI_MAG1>"
1581 msgstr "B<EI_MAG1>"
1582
1583 #. type: Plain text
1584 #: build/C/man5/elf.5:189
1585 msgid ""
1586 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
1587 "(1: \\(aqE\\(aq)"
1588 msgstr ""
1589 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1590 "\\(aqE\\(aq)"
1591
1592 #. type: TP
1593 #: build/C/man5/elf.5:189
1594 #, no-wrap
1595 msgid "B<EI_MAG2>"
1596 msgstr "B<EI_MAG2>"
1597
1598 #. type: Plain text
1599 #: build/C/man5/elf.5:195
1600 msgid ""
1601 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
1602 "\\(aqL\\(aq)"
1603 msgstr ""
1604 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1605 "\\(aqL\\(aq)"
1606
1607 #. type: TP
1608 #: build/C/man5/elf.5:195
1609 #, no-wrap
1610 msgid "B<EI_MAG3>"
1611 msgstr "B<EI_MAG3>"
1612
1613 #. type: Plain text
1614 #: build/C/man5/elf.5:201
1615 msgid ""
1616 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
1617 "(3: \\(aqF\\(aq)"
1618 msgstr ""
1619 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1620 "\\(aqF\\(aq)"
1621
1622 #. type: TP
1623 #: build/C/man5/elf.5:201
1624 #, no-wrap
1625 msgid "B<EI_CLASS>"
1626 msgstr "B<EI_CLASS>"
1627
1628 #. type: Plain text
1629 #: build/C/man5/elf.5:204
1630 msgid "The fifth byte identifies the architecture for this binary:"
1631 msgstr "第 5 バイトは、このバイナリのアーキテクチャを示す:"
1632
1633 #. type: TP
1634 #: build/C/man5/elf.5:206
1635 #, no-wrap
1636 msgid "B<ELFCLASSNONE>"
1637 msgstr "B<ELFCLASSNONE>"
1638
1639 #. type: Plain text
1640 #: build/C/man5/elf.5:210
1641 msgid "This class is invalid."
1642 msgstr "このクラスは不正である。"
1643
1644 #. type: TP
1645 #: build/C/man5/elf.5:210
1646 #, no-wrap
1647 msgid "B<ELFCLASS32>"
1648 msgstr "B<ELFCLASS32>"
1649
1650 #. type: Plain text
1651 #: build/C/man5/elf.5:215
1652 msgid ""
1653 "This defines the 32-bit architecture.  It supports machines with files and "
1654 "virtual address spaces up to 4 Gigabytes."
1655 msgstr ""
1656 "32 ビットアーキテクチャを定義する。 ファイルと仮想アドレス空間が 4 ギガバイト"
1657 "までのマシンをサポートする。"
1658
1659 #. type: TP
1660 #: build/C/man5/elf.5:215
1661 #, no-wrap
1662 msgid "B<ELFCLASS64>"
1663 msgstr "B<ELFCLASS64>"
1664
1665 #. type: Plain text
1666 #: build/C/man5/elf.5:218
1667 msgid "This defines the 64-bit architecture."
1668 msgstr "64 ビットアーキテクチャを定義する。"
1669
1670 #. type: TP
1671 #: build/C/man5/elf.5:221
1672 #, no-wrap
1673 msgid "B<EI_DATA>"
1674 msgstr "B<EI_DATA>"
1675
1676 #.  .Bl -tag -width "ELFDATA2LSB" -compact
1677 #. type: Plain text
1678 #: build/C/man5/elf.5:227
1679 msgid ""
1680 "The sixth byte specifies the data encoding of the processor-specific data in "
1681 "the file.  Currently these encodings are supported:"
1682 msgstr ""
1683 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1684 "する。 現在のところ以下のエンコーディングがサポートされている:"
1685
1686 #. type: TP
1687 #: build/C/man5/elf.5:228
1688 #, no-wrap
1689 msgid "B<ELFDATANONE>"
1690 msgstr "B<ELFDATANONE>"
1691
1692 #. type: Plain text
1693 #: build/C/man5/elf.5:232
1694 msgid "Unknown data format."
1695 msgstr "不明なデータフォーマット。"
1696
1697 #. type: TP
1698 #: build/C/man5/elf.5:232
1699 #, no-wrap
1700 msgid "B<ELFDATA2LSB>"
1701 msgstr "B<ELFDATA2LSB>"
1702
1703 #. type: Plain text
1704 #: build/C/man5/elf.5:235
1705 msgid "Two's complement, little-endian."
1706 msgstr "2 の補数、リトルエンディアン。"
1707
1708 #. type: TP
1709 #: build/C/man5/elf.5:235
1710 #, no-wrap
1711 msgid "B<ELFDATA2MSB>"
1712 msgstr "B<ELFDATA2MSB>"
1713
1714 #. type: Plain text
1715 #: build/C/man5/elf.5:238
1716 msgid "Two's complement, big-endian."
1717 msgstr "2 の補数、ビッグエンディアン。"
1718
1719 #. type: TP
1720 #: build/C/man5/elf.5:241
1721 #, no-wrap
1722 msgid "B<EI_VERSION>"
1723 msgstr "B<EI_VERSION>"
1724
1725 #.  .Bl -tag -width "EV_CURRENT" -compact
1726 #. type: Plain text
1727 #: build/C/man5/elf.5:246
1728 msgid "The seventh byte is the version number of the ELF specification:"
1729 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1730
1731 #. type: TP
1732 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1733 #, no-wrap
1734 msgid "B<EV_NONE>"
1735 msgstr "B<EV_NONE>"
1736
1737 #. type: Plain text
1738 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1739 msgid "Invalid version."
1740 msgstr "不正なバージョン。"
1741
1742 #. type: TP
1743 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1744 #, no-wrap
1745 msgid "B<EV_CURRENT>"
1746 msgstr "B<EV_CURRENT>"
1747
1748 #.  .El
1749 #. type: Plain text
1750 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1751 msgid "Current version."
1752 msgstr "現在のバージョン。"
1753
1754 #. type: TP
1755 #: build/C/man5/elf.5:256
1756 #, no-wrap
1757 msgid "B<EI_OSABI>"
1758 msgstr "B<EI_OSABI>"
1759
1760 #.  .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1761 #. type: Plain text
1762 #: build/C/man5/elf.5:265
1763 msgid ""
1764 "The eighth byte identifies the operating system and ABI to which the object "
1765 "is targeted.  Some fields in other ELF structures have flags and values that "
1766 "have platform-specific meanings; the interpretation of those fields is "
1767 "determined by the value of this byte.  E.g.:"
1768 msgstr ""
1769 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1770 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1771 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1772 "される。以下に例を挙げる。"
1773
1774 #. type: TP
1775 #: build/C/man5/elf.5:266
1776 #, no-wrap
1777 msgid "B<ELFOSABI_NONE>"
1778 msgstr "B<ELFOSABI_NONE>"
1779
1780 #.  0
1781 #. type: Plain text
1782 #: build/C/man5/elf.5:271
1783 msgid "Same as ELFOSABI_SYSV"
1784 msgstr "ELFOSABI_SYSV と同じ。"
1785
1786 #. type: TP
1787 #: build/C/man5/elf.5:271
1788 #, no-wrap
1789 msgid "B<ELFOSABI_SYSV>"
1790 msgstr "B<ELFOSABI_SYSV>"
1791
1792 #.  0
1793 #.  synonym: ELFOSABI_NONE
1794 #. type: Plain text
1795 #: build/C/man5/elf.5:276
1796 msgid "UNIX System V ABI."
1797 msgstr "UNIX System V ABI."
1798
1799 #. type: TP
1800 #: build/C/man5/elf.5:276
1801 #, no-wrap
1802 msgid "B<ELFOSABI_HPUX>"
1803 msgstr "B<ELFOSABI_HPUX>"
1804
1805 #.  1
1806 #. type: Plain text
1807 #: build/C/man5/elf.5:280
1808 msgid "HP-UX ABI."
1809 msgstr "HP-UX ABI."
1810
1811 #. type: TP
1812 #: build/C/man5/elf.5:280
1813 #, no-wrap
1814 msgid "B<ELFOSABI_NETBSD>"
1815 msgstr "B<ELFOSABI_NETBSD>"
1816
1817 #.  2
1818 #. type: Plain text
1819 #: build/C/man5/elf.5:284
1820 msgid "NetBSD ABI."
1821 msgstr "NetBSD ABI."
1822
1823 #. type: TP
1824 #: build/C/man5/elf.5:284
1825 #, no-wrap
1826 msgid "B<ELFOSABI_LINUX>"
1827 msgstr "B<ELFOSABI_LINUX>"
1828
1829 #.  3
1830 #.  .TP
1831 #.  .BR ELFOSABI_HURD
1832 #.  Hurd ABI.
1833 #.  4
1834 #.  .TP
1835 #.  .BR ELFOSABI_86OPEN
1836 #.  86Open Common IA32 ABI.
1837 #.  5
1838 #. type: Plain text
1839 #: build/C/man5/elf.5:296
1840 msgid "Linux ABI."
1841 msgstr "Linux ABI."
1842
1843 #. type: TP
1844 #: build/C/man5/elf.5:296
1845 #, no-wrap
1846 msgid "B<ELFOSABI_SOLARIS>"
1847 msgstr "B<ELFOSABI_SOLARIS>"
1848
1849 #.  6
1850 #.  .TP
1851 #.  .BR ELFOSABI_MONTEREY
1852 #.  Monterey project ABI.
1853 #.  Now replaced by
1854 #.  ELFOSABI_AIX
1855 #.  7
1856 #. type: Plain text
1857 #: build/C/man5/elf.5:306
1858 msgid "Solaris ABI."
1859 msgstr "Solaris ABI."
1860
1861 #. type: TP
1862 #: build/C/man5/elf.5:306
1863 #, no-wrap
1864 msgid "B<ELFOSABI_IRIX>"
1865 msgstr "B<ELFOSABI_IRIX>"
1866
1867 #.  8
1868 #. type: Plain text
1869 #: build/C/man5/elf.5:310
1870 msgid "IRIX ABI."
1871 msgstr "IRIX ABI."
1872
1873 #. type: TP
1874 #: build/C/man5/elf.5:310
1875 #, no-wrap
1876 msgid "B<ELFOSABI_FREEBSD>"
1877 msgstr "B<ELFOSABI_FREEBSD>"
1878
1879 #.  9
1880 #. type: Plain text
1881 #: build/C/man5/elf.5:314
1882 msgid "FreeBSD ABI."
1883 msgstr "FreeBSD ABI."
1884
1885 #. type: TP
1886 #: build/C/man5/elf.5:314
1887 #, no-wrap
1888 msgid "B<ELFOSABI_TRU64>"
1889 msgstr "B<ELFOSABI_TRU64>"
1890
1891 #.  10
1892 #.  ELFOSABI_MODESTO
1893 #.  11
1894 #.  ELFOSABI_OPENBSD
1895 #.  12
1896 #. type: Plain text
1897 #: build/C/man5/elf.5:322
1898 msgid "TRU64 UNIX ABI."
1899 msgstr "TRU64 UNIX ABI."
1900
1901 #. type: TP
1902 #: build/C/man5/elf.5:322
1903 #, no-wrap
1904 msgid "B<ELFOSABI_ARM>"
1905 msgstr "B<ELFOSABI_ARM>"
1906
1907 #.  97
1908 #. type: Plain text
1909 #: build/C/man5/elf.5:326
1910 msgid "ARM architecture ABI."
1911 msgstr "ARM アーキテクチャ ABI."
1912
1913 #. type: TP
1914 #: build/C/man5/elf.5:326
1915 #, no-wrap
1916 msgid "B<ELFOSABI_STANDALONE>"
1917 msgstr "B<ELFOSABI_STANDALONE>"
1918
1919 #.  255
1920 #.  .El
1921 #. type: Plain text
1922 #: build/C/man5/elf.5:331
1923 msgid "Stand-alone (embedded) ABI."
1924 msgstr "スタンドアロン (組み込み) ABI."
1925
1926 #. type: TP
1927 #: build/C/man5/elf.5:333
1928 #, no-wrap
1929 msgid "B<EI_ABIVERSION>"
1930 msgstr "B<EI_ABIVERSION>"
1931
1932 #. type: Plain text
1933 #: build/C/man5/elf.5:343
1934 msgid ""
1935 "The ninth byte identifies the version of the ABI to which the object is "
1936 "targeted.  This field is used to distinguish among incompatible versions of "
1937 "an ABI.  The interpretation of this version number is dependent on the ABI "
1938 "identified by the B<EI_OSABI> field.  Applications conforming to this "
1939 "specification use the value 0."
1940 msgstr ""
1941 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1942 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1943 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1944 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1945
1946 #. type: TP
1947 #: build/C/man5/elf.5:343
1948 #, no-wrap
1949 msgid "B<EI_PAD>"
1950 msgstr "B<EI_PAD>"
1951
1952 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1953 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1954 #.  It looks to be a BSDism
1955 #.  .TP
1956 #.  .BR EI_BRAND
1957 #.  Start of architecture identification.
1958 #. type: Plain text
1959 #: build/C/man5/elf.5:359
1960 msgid ""
1961 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
1962 "read them should ignore them.  The value for B<EI_PAD> will change in the "
1963 "future if currently unused bytes are given meanings."
1964 msgstr ""
1965 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1966 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1967 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1968
1969 #. type: TP
1970 #: build/C/man5/elf.5:359
1971 #, no-wrap
1972 msgid "B<EI_NIDENT>"
1973 msgstr "B<EI_NIDENT>"
1974
1975 #.  .El
1976 #. type: Plain text
1977 #: build/C/man5/elf.5:365
1978 msgid "The size of the I<e_ident> array."
1979 msgstr "I<e_ident> 配列のサイズ。"
1980
1981 #. type: TP
1982 #: build/C/man5/elf.5:366
1983 #, no-wrap
1984 msgid "I<e_type>"
1985 msgstr "I<e_type>"
1986
1987 #. type: Plain text
1988 #: build/C/man5/elf.5:369
1989 msgid "This member of the structure identifies the object file type:"
1990 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
1991
1992 #. type: TP
1993 #: build/C/man5/elf.5:371
1994 #, no-wrap
1995 msgid "B<ET_NONE>"
1996 msgstr "B<ET_NONE>"
1997
1998 #. type: Plain text
1999 #: build/C/man5/elf.5:375
2000 msgid "An unknown type."
2001 msgstr "不明なタイプ。"
2002
2003 #. type: TP
2004 #: build/C/man5/elf.5:375
2005 #, no-wrap
2006 msgid "B<ET_REL>"
2007 msgstr "B<ET_REL>"
2008
2009 #. type: Plain text
2010 #: build/C/man5/elf.5:378
2011 msgid "A relocatable file."
2012 msgstr "再配置可能ファイル。"
2013
2014 #. type: TP
2015 #: build/C/man5/elf.5:378
2016 #, no-wrap
2017 msgid "B<ET_EXEC>"
2018 msgstr "B<ET_EXEC>"
2019
2020 #. type: Plain text
2021 #: build/C/man5/elf.5:381
2022 msgid "An executable file."
2023 msgstr "実行可能ファイル。"
2024
2025 #. type: TP
2026 #: build/C/man5/elf.5:381
2027 #, no-wrap
2028 msgid "B<ET_DYN>"
2029 msgstr "B<ET_DYN>"
2030
2031 #. type: Plain text
2032 #: build/C/man5/elf.5:384
2033 msgid "A shared object."
2034 msgstr "共有オブジェクト。"
2035
2036 #. type: TP
2037 #: build/C/man5/elf.5:384
2038 #, no-wrap
2039 msgid "B<ET_CORE>"
2040 msgstr "B<ET_CORE>"
2041
2042 #. type: Plain text
2043 #: build/C/man5/elf.5:387
2044 msgid "A core file."
2045 msgstr "コアファイル。"
2046
2047 #. type: TP
2048 #: build/C/man5/elf.5:390
2049 #, no-wrap
2050 msgid "I<e_machine>"
2051 msgstr "I<e_machine>"
2052
2053 #. type: Plain text
2054 #: build/C/man5/elf.5:394
2055 msgid ""
2056 "This member specifies the required architecture for an individual file.  E."
2057 "g.:"
2058 msgstr "このメンバは個々のファイルに必要とされるアーキテクチャを指定する。 例:"
2059
2060 #. type: TP
2061 #: build/C/man5/elf.5:396
2062 #, no-wrap
2063 msgid "B<EM_NONE>"
2064 msgstr "B<EM_NONE>"
2065
2066 #.  0
2067 #. type: Plain text
2068 #: build/C/man5/elf.5:401
2069 msgid "An unknown machine."
2070 msgstr "不明なマシン。"
2071
2072 #. type: TP
2073 #: build/C/man5/elf.5:401
2074 #, no-wrap
2075 msgid "B<EM_M32>"
2076 msgstr "B<EM_M32>"
2077
2078 #.  1
2079 #. type: Plain text
2080 #: build/C/man5/elf.5:405
2081 msgid "AT&T WE 32100."
2082 msgstr "AT&T WE 32100."
2083
2084 #. type: TP
2085 #: build/C/man5/elf.5:405
2086 #, no-wrap
2087 msgid "B<EM_SPARC>"
2088 msgstr "B<EM_SPARC>"
2089
2090 #.  2
2091 #. type: Plain text
2092 #: build/C/man5/elf.5:409
2093 msgid "Sun Microsystems SPARC."
2094 msgstr "Sun Microsystems SPARC."
2095
2096 #. type: TP
2097 #: build/C/man5/elf.5:409
2098 #, no-wrap
2099 msgid "B<EM_386>"
2100 msgstr "B<EM_386>"
2101
2102 #.  3
2103 #. type: Plain text
2104 #: build/C/man5/elf.5:413
2105 msgid "Intel 80386."
2106 msgstr "Intel 80386."
2107
2108 #. type: TP
2109 #: build/C/man5/elf.5:413
2110 #, no-wrap
2111 msgid "B<EM_68K>"
2112 msgstr "B<EM_68K>"
2113
2114 #.  4
2115 #. type: Plain text
2116 #: build/C/man5/elf.5:417
2117 msgid "Motorola 68000."
2118 msgstr "Motorola 68000."
2119
2120 #. type: TP
2121 #: build/C/man5/elf.5:417
2122 #, no-wrap
2123 msgid "B<EM_88K>"
2124 msgstr "B<EM_88K>"
2125
2126 #.  5
2127 #.  .TP
2128 #.  .BR EM_486
2129 #.  Intel 80486.
2130 #.  6
2131 #. type: Plain text
2132 #: build/C/man5/elf.5:425
2133 msgid "Motorola 88000."
2134 msgstr "Motorola 88000."
2135
2136 #. type: TP
2137 #: build/C/man5/elf.5:425
2138 #, no-wrap
2139 msgid "B<EM_860>"
2140 msgstr "B<EM_860>"
2141
2142 #.  7
2143 #. type: Plain text
2144 #: build/C/man5/elf.5:429
2145 msgid "Intel 80860."
2146 msgstr "Intel 80860."
2147
2148 #. type: TP
2149 #: build/C/man5/elf.5:429
2150 #, no-wrap
2151 msgid "B<EM_MIPS>"
2152 msgstr "B<EM_MIPS>"
2153
2154 #.  8
2155 #.  EM_S370
2156 #.  9
2157 #.  .TP
2158 #.  .BR EM_MIPS_RS4_BE
2159 #.  MIPS RS4000 (big-endian only). Deprecated.
2160 #.  10
2161 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2162 #.  10
2163 #. type: Plain text
2164 #: build/C/man5/elf.5:441
2165 msgid "MIPS RS3000 (big-endian only)."
2166 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2167
2168 #. type: TP
2169 #: build/C/man5/elf.5:441
2170 #, no-wrap
2171 msgid "B<EM_PARISC>"
2172 msgstr "B<EM_PARISC>"
2173
2174 #.  15
2175 #. type: Plain text
2176 #: build/C/man5/elf.5:445
2177 msgid "HP/PA."
2178 msgstr "HP/PA."
2179
2180 #. type: TP
2181 #: build/C/man5/elf.5:445
2182 #, no-wrap
2183 msgid "B<EM_SPARC32PLUS>"
2184 msgstr "B<EM_SPARC32PLUS>"
2185
2186 #.  18
2187 #. type: Plain text
2188 #: build/C/man5/elf.5:449
2189 msgid "SPARC with enhanced instruction set."
2190 msgstr "拡張命令セット付き SPARC。"
2191
2192 #. type: TP
2193 #: build/C/man5/elf.5:449
2194 #, no-wrap
2195 msgid "B<EM_PPC>"
2196 msgstr "B<EM_PPC>"
2197
2198 #.  20
2199 #. type: Plain text
2200 #: build/C/man5/elf.5:453
2201 msgid "PowerPC."
2202 msgstr "PowerPC."
2203
2204 #. type: TP
2205 #: build/C/man5/elf.5:453
2206 #, no-wrap
2207 msgid "B<EM_PPC64>"
2208 msgstr "B<EM_PPC64>"
2209
2210 #.  21
2211 #. type: Plain text
2212 #: build/C/man5/elf.5:457
2213 msgid "PowerPC 64-bit."
2214 msgstr "PowerPC 64-bit."
2215
2216 #. type: TP
2217 #: build/C/man5/elf.5:457
2218 #, no-wrap
2219 msgid "B<EM_S390>"
2220 msgstr "B<EM_S390>"
2221
2222 #.  22
2223 #. type: Plain text
2224 #: build/C/man5/elf.5:461
2225 msgid "IBM S/390"
2226 msgstr "IBM S/390"
2227
2228 #. type: TP
2229 #: build/C/man5/elf.5:461
2230 #, no-wrap
2231 msgid "B<EM_ARM>"
2232 msgstr "B<EM_ARM>"
2233
2234 #.  40
2235 #. type: Plain text
2236 #: build/C/man5/elf.5:465
2237 msgid "Advanced RISC Machines"
2238 msgstr "Advanced RISC Machines"
2239
2240 #. type: TP
2241 #: build/C/man5/elf.5:465
2242 #, no-wrap
2243 msgid "B<EM_SH>"
2244 msgstr "B<EM_SH>"
2245
2246 #.  42
2247 #. type: Plain text
2248 #: build/C/man5/elf.5:469
2249 msgid "Renesas SuperH"
2250 msgstr "Renesas SuperH"
2251
2252 #. type: TP
2253 #: build/C/man5/elf.5:469
2254 #, no-wrap
2255 msgid "B<EM_SPARCV9>"
2256 msgstr "B<EM_SPARCV9>"
2257
2258 #.  43
2259 #. type: Plain text
2260 #: build/C/man5/elf.5:473
2261 msgid "SPARC v9 64-bit."
2262 msgstr "SPARC v9 64-bit."
2263
2264 #. type: TP
2265 #: build/C/man5/elf.5:473
2266 #, no-wrap
2267 msgid "B<EM_IA_64>"
2268 msgstr "B<EM_IA_64>"
2269
2270 #.  50
2271 #. type: Plain text
2272 #: build/C/man5/elf.5:477
2273 msgid "Intel Itanium"
2274 msgstr "Intel Itanium"
2275
2276 #. type: TP
2277 #: build/C/man5/elf.5:477
2278 #, no-wrap
2279 msgid "B<EM_X86_64>"
2280 msgstr "B<EM_X86_64>"
2281
2282 #.  62
2283 #. type: Plain text
2284 #: build/C/man5/elf.5:481
2285 msgid "AMD x86-64"
2286 msgstr "AMD x86-64"
2287
2288 #. type: TP
2289 #: build/C/man5/elf.5:481
2290 #, no-wrap
2291 msgid "B<EM_VAX>"
2292 msgstr "B<EM_VAX>"
2293
2294 #.  75
2295 #.  EM_CRIS
2296 #.  76
2297 #.  .TP
2298 #.  .BR EM_ALPHA
2299 #.  Compaq [DEC] Alpha.
2300 #.  .TP
2301 #.  .BR EM_ALPHA_EXP
2302 #.  Compaq [DEC] Alpha with enhanced instruction set.
2303 #. type: Plain text
2304 #: build/C/man5/elf.5:493
2305 msgid "DEC Vax."
2306 msgstr "DEC Vax."
2307
2308 #. type: TP
2309 #: build/C/man5/elf.5:496
2310 #, no-wrap
2311 msgid "I<e_version>"
2312 msgstr "I<e_version>"
2313
2314 #.  .Bl -tag -width "EV_CURRENT" -compact
2315 #. type: Plain text
2316 #: build/C/man5/elf.5:500
2317 msgid "This member identifies the file version:"
2318 msgstr "このメンバはファイルバージョンを示す:"
2319
2320 #. type: TP
2321 #: build/C/man5/elf.5:511
2322 #, no-wrap
2323 msgid "I<e_entry>"
2324 msgstr "I<e_entry>"
2325
2326 #. type: Plain text
2327 #: build/C/man5/elf.5:517
2328 msgid ""
2329 "This member gives the virtual address to which the system first transfers "
2330 "control, thus starting the process.  If the file has no associated entry "
2331 "point, this member holds zero."
2332 msgstr ""
2333 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2334 "スを指定する。 ファイルにエントリポイントが関連付けられていない場合、 このメ"
2335 "ンバには 0 が入る。"
2336
2337 #. type: TP
2338 #: build/C/man5/elf.5:517
2339 #, no-wrap
2340 msgid "I<e_phoff>"
2341 msgstr "I<e_phoff>"
2342
2343 #. type: Plain text
2344 #: build/C/man5/elf.5:522
2345 msgid ""
2346 "This member holds the program header table's file offset in bytes.  If the "
2347 "file has no program header table, this member holds zero."
2348 msgstr ""
2349 "このメンバはプログラムヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2350 "する。 ファイルにプログラムヘッダテーブルがない場合、 このメンバには 0 が入"
2351 "る。"
2352
2353 #. type: TP
2354 #: build/C/man5/elf.5:522
2355 #, no-wrap
2356 msgid "I<e_shoff>"
2357 msgstr "I<e_shoff>"
2358
2359 #. type: Plain text
2360 #: build/C/man5/elf.5:527
2361 msgid ""
2362 "This member holds the section header table's file offset in bytes.  If the "
2363 "file has no section header table, this member holds zero."
2364 msgstr ""
2365 "このメンバはセクションヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2366 "する。 ファイルにセクションヘッダテーブルがない場合、 このメンバには 0 が入"
2367 "る。"
2368
2369 #. type: TP
2370 #: build/C/man5/elf.5:527
2371 #, no-wrap
2372 msgid "I<e_flags>"
2373 msgstr "I<e_flags>"
2374
2375 #. type: Plain text
2376 #: build/C/man5/elf.5:532
2377 msgid ""
2378 "This member holds processor-specific flags associated with the file.  Flag "
2379 "names take the form EF_`machine_flag'.  Currently no flags have been defined."
2380 msgstr ""
2381 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2382 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2383 "いない。"
2384
2385 #. type: TP
2386 #: build/C/man5/elf.5:532
2387 #, no-wrap
2388 msgid "I<e_ehsize>"
2389 msgstr "I<e_ehsize>"
2390
2391 #. type: Plain text
2392 #: build/C/man5/elf.5:535
2393 msgid "This member holds the ELF header's size in bytes."
2394 msgstr "このメンバは ELF ヘッダサイズ (バイト単位) を保持する。"
2395
2396 #. type: TP
2397 #: build/C/man5/elf.5:535
2398 #, no-wrap
2399 msgid "I<e_phentsize>"
2400 msgstr "I<e_phentsize>"
2401
2402 #. type: Plain text
2403 #: build/C/man5/elf.5:539
2404 msgid ""
2405 "This member holds the size in bytes of one entry in the file's program "
2406 "header table; all entries are the same size."
2407 msgstr ""
2408 "このメンバはこのファイルのプログラムヘッダテーブルの 1 エントリあたりのサイ"
2409 "ズ (バイト単位) を保持する; 全てのエントリは同じサイズである。"
2410
2411 #. type: TP
2412 #: build/C/man5/elf.5:539
2413 #, no-wrap
2414 msgid "I<e_phnum>"
2415 msgstr "I<e_phnum>"
2416
2417 #. type: Plain text
2418 #: build/C/man5/elf.5:552
2419 msgid ""
2420 "This member holds the number of entries in the program header table.  Thus "
2421 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2422 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
2423 msgstr ""
2424 "このメンバはプログラムヘッダテーブルにあるエントリの数を保持する。 よって "
2425 "I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 ファ"
2426 "イルにプログラムヘッダがない場合、 I<e_phnum> は値 0 を保持する。"
2427
2428 #.  This is a Linux extension, added in Linux 2.6.34.
2429 #.  .Bl -tag -width "PN_XNUM"
2430 #. type: Plain text
2431 #: build/C/man5/elf.5:566
2432 msgid ""
2433 "If the number of entries in the program header table is larger than or equal "
2434 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2435 "number of entries in the program header table is held in the I<sh_info> "
2436 "member of the initial entry in section header table.  Otherwise, the "
2437 "I<sh_info> member of the initial entry contains the value zero."
2438 msgstr ""
2439 "プログラムヘッダテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2440 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダテーブルの\n"
2441 "エントリーの実際の数は、セクションヘッダテーブルの最初のエントリーの \n"
2442 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2443 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2444
2445 #. type: TP
2446 #: build/C/man5/elf.5:567
2447 #, no-wrap
2448 msgid "B<PN_XNUM>"
2449 msgstr "B<PN_XNUM>"
2450
2451 #. type: Plain text
2452 #: build/C/man5/elf.5:572
2453 msgid ""
2454 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2455 "specifying where the actual number of program headers is assigned."
2456 msgstr ""
2457 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2458 "はプログラムヘッダの実際の数がどこに割り当てられているかを示す。"
2459
2460 #. type: TP
2461 #: build/C/man5/elf.5:576
2462 #, no-wrap
2463 msgid "I<e_shentsize>"
2464 msgstr "I<e_shentsize>"
2465
2466 #. type: Plain text
2467 #: build/C/man5/elf.5:581
2468 msgid ""
2469 "This member holds a sections header's size in bytes.  A section header is "
2470 "one entry in the section header table; all entries are the same size."
2471 msgstr ""
2472 "このメンバはセクションヘッダのサイズ (バイト単位) を保持する。 セクションヘッ"
2473 "ダはセクションヘッダテーブルの 1 つのエントリである; 全てのエントリは同じサイ"
2474 "ズである。"
2475
2476 #. type: TP
2477 #: build/C/man5/elf.5:581
2478 #, no-wrap
2479 msgid "I<e_shnum>"
2480 msgstr "I<e_shnum>"
2481
2482 #. type: Plain text
2483 #: build/C/man5/elf.5:594
2484 msgid ""
2485 "This member holds the number of entries in the section header table.  Thus "
2486 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2487 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
2488 "holds the value of zero."
2489 msgstr ""
2490 "このメンバはセクションヘッダテーブルにあるエントリの数を保持する。 よって "
2491 "I<e_shentsize> と I<e_shnum> の積はセクションヘッダテーブルのサイズ (バイト単"
2492 "位) になる。 ファイルにセクションヘッダテーブルがない場合、 I<e_shnum> は値 "
2493 "0 を保持する。"
2494
2495 #. type: Plain text
2496 #: build/C/man5/elf.5:606
2497 msgid ""
2498 "If the number of entries in the section header table is larger than or equal "
2499 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2500 "number of entries in the section header table is held in the I<sh_size> "
2501 "member of the initial entry in section header table.  Otherwise, the "
2502 "I<sh_size> member of the initial entry in the section header table holds the "
2503 "value zero."
2504 msgstr ""
2505 "セクションヘッダテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2506 "合、\n"
2507 "I<e_shnum> には値 0 が入り、セクションヘッダテーブルのエントリーの実際の数"
2508 "は\n"
2509 "セクションヘッダテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2510 "る。\n"
2511 "それ以外の場合、セクションヘッダテーブルの最初のエントリーの I<sh_info> メン"
2512 "バ\n"
2513 "には値 0 が格納される。"
2514
2515 #. type: TP
2516 #: build/C/man5/elf.5:606
2517 #, no-wrap
2518 msgid "I<e_shstrndx>"
2519 msgstr "I<e_shstrndx>"
2520
2521 #. type: Plain text
2522 #: build/C/man5/elf.5:613
2523 msgid ""
2524 "This member holds the section header table index of the entry associated "
2525 "with the section name string table.  If the file has no section name string "
2526 "table, this member holds the value B<SHN_UNDEF>."
2527 msgstr ""
2528 "このメンバはセクション名文字列テーブルに関連付けられたエントリの セクション"
2529 "ヘッダテーブルインデックスを保持する。 ファイルにセクション名文字列テーブルが"
2530 "ない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2531
2532 #. type: Plain text
2533 #: build/C/man5/elf.5:625
2534 msgid ""
2535 "If the index of section name string table section is larger than or equal to "
2536 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2537 "real index of the section name string table section is held in the "
2538 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
2539 "the I<sh_link> member of the initial entry in section header table contains "
2540 "the value zero."
2541 msgstr ""
2542 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2543 "の\n"
2544 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2545 "テーブルの実際のインデックスはセクションヘッダテーブルの最初のエントリーの\n"
2546 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2547 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2548
2549 #. type: TP
2550 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2551 #, no-wrap
2552 msgid "B<SHN_UNDEF>"
2553 msgstr "B<SHN_UNDEF>"
2554
2555 #. type: Plain text
2556 #: build/C/man5/elf.5:636
2557 msgid ""
2558 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2559 "section reference.  For example, a symbol \"defined\" relative to section "
2560 "number B<SHN_UNDEF> is an undefined symbol."
2561 msgstr ""
2562 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2563 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2564 "ボルは、「未定義」なシンボルである。"
2565
2566 #. type: TP
2567 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2568 #, no-wrap
2569 msgid "B<SHN_LORESERVE>"
2570 msgstr "B<SHN_LORESERVE>"
2571
2572 #. type: Plain text
2573 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2574 msgid "This value specifies the lower bound of the range of reserved indices."
2575 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2576
2577 #. type: TP
2578 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2579 #, no-wrap
2580 msgid "B<SHN_LOPROC>"
2581 msgstr "B<SHN_LOPROC>"
2582
2583 #. type: Plain text
2584 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2585 msgid ""
2586 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2587 "specific semantics."
2588 msgstr ""
2589 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2590
2591 #. type: TP
2592 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2593 #, no-wrap
2594 msgid "B<SHN_HIPROC>"
2595 msgstr "B<SHN_HIPROC>"
2596
2597 #. type: Plain text
2598 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2599 msgid ""
2600 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2601 "specific semantics."
2602 msgstr ""
2603 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2604
2605 #. type: TP
2606 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2607 #, no-wrap
2608 msgid "B<SHN_ABS>"
2609 msgstr "B<SHN_ABS>"
2610
2611 #. type: Plain text
2612 #: build/C/man5/elf.5:656
2613 msgid ""
2614 "This value specifies absolute values for the corresponding reference.  For "
2615 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2616 "values and are not affected by relocation."
2617 msgstr ""
2618 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2619 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2620
2621 #. type: TP
2622 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2623 #, no-wrap
2624 msgid "B<SHN_COMMON>"
2625 msgstr "B<SHN_COMMON>"
2626
2627 #. type: Plain text
2628 #: build/C/man5/elf.5:660
2629 msgid ""
2630 "Symbols defined relative to this section are common symbols, such as Fortran "
2631 "COMMON or unallocated C external variables."
2632 msgstr ""
2633 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2634 "り当て external 変数のような、 共通シンボルである。"
2635
2636 #. type: TP
2637 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2638 #, no-wrap
2639 msgid "B<SHN_HIRESERVE>"
2640 msgstr "B<SHN_HIRESERVE>"
2641
2642 #. type: Plain text
2643 #: build/C/man5/elf.5:673
2644 msgid ""
2645 "This value specifies the upper bound of the range of reserved indices "
2646 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2647 "reference the section header table.  That is, the section header table does "
2648 "I<not> contain entries for the reserved indices."
2649 msgstr ""
2650 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2651 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダテーブルを参照しない。 "
2652 "つまり、セクションヘッダテーブルは 予約されたインデックスのエントリを I<含ま"
2653 "ない 。>"
2654
2655 #. type: Plain text
2656 #: build/C/man5/elf.5:695
2657 msgid ""
2658 "An executable or shared object file's program header table is an array of "
2659 "structures, each describing a segment or other information the system needs "
2660 "to prepare the program for execution.  An object file I<segment> contains "
2661 "one or more I<sections>.  Program headers are meaningful only for executable "
2662 "and shared object files.  A file specifies its own program header size with "
2663 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
2664 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2665 "the architecture:"
2666 msgstr ""
2667 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 "
2668 "システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する構造体"
2669 "の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<セク"
2670 "ション> が含まれる。 プログラムヘッダは実行可能ファイルと共有オブジェクトファ"
2671 "イルでのみ意味を持つ。 ファイルは自身のプログラムヘッダサイズを ELF ヘッダの "
2672 "I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラムヘッダは "
2673 "I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらになるかはアーキテ"
2674 "クチャ依存):"
2675
2676 #. type: Plain text
2677 #: build/C/man5/elf.5:708
2678 #, no-wrap
2679 msgid ""
2680 "typedef struct {\n"
2681 "    uint32_t   p_type;\n"
2682 "    Elf32_Off  p_offset;\n"
2683 "    Elf32_Addr p_vaddr;\n"
2684 "    Elf32_Addr p_paddr;\n"
2685 "    uint32_t   p_filesz;\n"
2686 "    uint32_t   p_memsz;\n"
2687 "    uint32_t   p_flags;\n"
2688 "    uint32_t   p_align;\n"
2689 "} Elf32_Phdr;\n"
2690 msgstr ""
2691 "typedef struct {\n"
2692 "    uint32_t   p_type;\n"
2693 "    Elf32_Off  p_offset;\n"
2694 "    Elf32_Addr p_vaddr;\n"
2695 "    Elf32_Addr p_paddr;\n"
2696 "    uint32_t   p_filesz;\n"
2697 "    uint32_t   p_memsz;\n"
2698 "    uint32_t   p_flags;\n"
2699 "    uint32_t   p_align;\n"
2700 "} Elf32_Phdr;\n"
2701
2702 #. type: Plain text
2703 #: build/C/man5/elf.5:723
2704 #, no-wrap
2705 msgid ""
2706 "typedef struct {\n"
2707 "    uint32_t   p_type;\n"
2708 "    uint32_t   p_flags;\n"
2709 "    Elf64_Off  p_offset;\n"
2710 "    Elf64_Addr p_vaddr;\n"
2711 "    Elf64_Addr p_paddr;\n"
2712 "    uint64_t   p_filesz;\n"
2713 "    uint64_t   p_memsz;\n"
2714 "    uint64_t   p_align;\n"
2715 "} Elf64_Phdr;\n"
2716 msgstr ""
2717 "typedef struct {\n"
2718 "    uint32_t   p_type;\n"
2719 "    uint32_t   p_flags;\n"
2720 "    Elf64_Off  p_offset;\n"
2721 "    Elf64_Addr p_vaddr;\n"
2722 "    Elf64_Addr p_paddr;\n"
2723 "    uint64_t   p_filesz;\n"
2724 "    uint64_t   p_memsz;\n"
2725 "    uint64_t   p_align;\n"
2726 "} Elf64_Phdr;\n"
2727
2728 #.  .Bl -tag -width "p_offset"
2729 #. type: Plain text
2730 #: build/C/man5/elf.5:731
2731 msgid ""
2732 "The main difference between the 32-bit and the 64-bit program header lies in "
2733 "the location of the I<p_flags> member in the total struct."
2734 msgstr ""
2735 "32 ビットと 64 ビットのプログラムヘッダの主な違いは、構造体における "
2736 "I<p_flags> メンバの位置にある。"
2737
2738 #. type: TP
2739 #: build/C/man5/elf.5:731
2740 #, no-wrap
2741 msgid "I<p_type>"
2742 msgstr "I<p_type>"
2743
2744 #.  .Bl -tag -width "PT_DYNAMIC"
2745 #. type: Plain text
2746 #: build/C/man5/elf.5:736
2747 msgid ""
2748 "This member of the Phdr struct tells what kind of segment this array element "
2749 "describes or how to interpret the array element's information."
2750 msgstr ""
2751 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2752 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2753
2754 #. type: TP
2755 #: build/C/man5/elf.5:737
2756 #, no-wrap
2757 msgid "B<PT_NULL>"
2758 msgstr "B<PT_NULL>"
2759
2760 #. type: Plain text
2761 #: build/C/man5/elf.5:741
2762 msgid ""
2763 "The array element is unused and the other members' values are undefined.  "
2764 "This lets the program header have ignored entries."
2765 msgstr ""
2766 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2767 "り、このプログラムヘッダのエントリは無視される。"
2768
2769 #. type: TP
2770 #: build/C/man5/elf.5:741
2771 #, no-wrap
2772 msgid "B<PT_LOAD>"
2773 msgstr "B<PT_LOAD>"
2774
2775 #. type: Plain text
2776 #: build/C/man5/elf.5:762
2777 msgid ""
2778 "The array element specifies a loadable segment, described by I<p_filesz> and "
2779 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
2780 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
2781 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2782 "and to follow the segment's initialized area.  The file size may not be "
2783 "larger than the memory size.  Loadable segment entries in the program header "
2784 "table appear in ascending order, sorted on the I<p_vaddr> member."
2785 msgstr ""
2786 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2787 "定する。 このファイルからのバイトデータが、このメモリセグメントの先頭からマッ"
2788 "プされる。 セグメントのメモリサイズ I<Sy>p_memsz がファイルサイズ "
2789 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2790 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリサイズよ"
2791 "り大きくてはいけない。 プログラムヘッダテーブルのロード可能セグメントエントリ"
2792 "は、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2793
2794 #. type: TP
2795 #: build/C/man5/elf.5:762
2796 #, no-wrap
2797 msgid "B<PT_DYNAMIC>"
2798 msgstr "B<PT_DYNAMIC>"
2799
2800 #. type: Plain text
2801 #: build/C/man5/elf.5:765
2802 msgid "The array element specifies dynamic linking information."
2803 msgstr "この配列要素は動的リンク情報を指定する。"
2804
2805 #. type: TP
2806 #: build/C/man5/elf.5:765
2807 #, no-wrap
2808 msgid "B<PT_INTERP>"
2809 msgstr "B<PT_INTERP>"
2810
2811 #. type: Plain text
2812 #: build/C/man5/elf.5:773
2813 msgid ""
2814 "The array element specifies the location and size of a null-terminated "
2815 "pathname to invoke as an interpreter.  This segment type is meaningful only "
2816 "for executable files (though it may occur for shared objects).  However it "
2817 "may not occur more than once in a file.  If it is present, it must precede "
2818 "any loadable segment entry."
2819 msgstr ""
2820 "この配列要素は、インタプリタとして起動されるパス名 (NULL 文字終端)  の位置と"
2821 "サイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2822 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2823 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2824 "のロード可能セグメントエントリより前になければならない。"
2825
2826 #. type: TP
2827 #: build/C/man5/elf.5:773
2828 #, no-wrap
2829 msgid "B<PT_NOTE>"
2830 msgstr "B<PT_NOTE>"
2831
2832 #. type: Plain text
2833 #: build/C/man5/elf.5:776
2834 msgid ""
2835 "The array element specifies the location and size for auxiliary information."
2836 msgstr ""
2837 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2838
2839 #. type: TP
2840 #: build/C/man5/elf.5:776
2841 #, no-wrap
2842 msgid "B<PT_SHLIB>"
2843 msgstr "B<PT_SHLIB>"
2844
2845 #. type: Plain text
2846 #: build/C/man5/elf.5:781
2847 msgid ""
2848 "This segment type is reserved but has unspecified semantics.  Programs that "
2849 "contain an array element of this type do not conform to the ABI."
2850 msgstr ""
2851 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2852 "を保持するプログラムは ABI に準拠しない。"
2853
2854 #. type: TP
2855 #: build/C/man5/elf.5:781
2856 #, no-wrap
2857 msgid "B<PT_PHDR>"
2858 msgstr "B<PT_PHDR>"
2859
2860 #. type: Plain text
2861 #: build/C/man5/elf.5:790
2862 msgid ""
2863 "The array element, if present, specifies the location and size of the "
2864 "program header table itself, both in the file and in the memory image of the "
2865 "program.  This segment type may not occur more than once in a file.  "
2866 "Moreover, it may occur only if the program header table is part of the "
2867 "memory image of the program.  If it is present, it must precede any loadable "
2868 "segment entry."
2869 msgstr ""
2870 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリイ"
2871 "メージ双方における プログラムヘッダテーブル自身の位置とサイズを指定する。 こ"
2872 "のセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、このセ"
2873 "グメント型が存在してもよいのは、プログラムヘッダテーブルが プログラムのメモリ"
2874 "イメージの一部である場合のみである。 もし存在する場合、これは全てのロード可能"
2875 "セグメントエントリより 前になければならない。"
2876
2877 #. type: TP
2878 #: build/C/man5/elf.5:790
2879 #, no-wrap
2880 msgid "B<PT_LOPROC>"
2881 msgstr "B<PT_LOPROC>"
2882
2883 #. type: Plain text
2884 #: build/C/man5/elf.5:795
2885 msgid ""
2886 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2887 "specific semantics."
2888 msgstr ""
2889 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2890
2891 #. type: TP
2892 #: build/C/man5/elf.5:795
2893 #, no-wrap
2894 msgid "B<PT_HIPROC>"
2895 msgstr "B<PT_HIPROC>"
2896
2897 #. type: Plain text
2898 #: build/C/man5/elf.5:800
2899 msgid ""
2900 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2901 "specific semantics."
2902 msgstr ""
2903 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2904
2905 #. type: TP
2906 #: build/C/man5/elf.5:800
2907 #, no-wrap
2908 msgid "B<PT_GNU_STACK>"
2909 msgstr "B<PT_GNU_STACK>"
2910
2911 #.  .El
2912 #. type: Plain text
2913 #: build/C/man5/elf.5:807
2914 msgid ""
2915 "GNU extension which is used by the Linux kernel to control the state of the "
2916 "stack via the flags set in the I<p_flags> member."
2917 msgstr ""
2918 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2919 "由でスタックの状態を制御するために使用する。"
2920
2921 #. type: TP
2922 #: build/C/man5/elf.5:808
2923 #, no-wrap
2924 msgid "I<p_offset>"
2925 msgstr "I<p_offset>"
2926
2927 #. type: Plain text
2928 #: build/C/man5/elf.5:812
2929 msgid ""
2930 "This member holds the offset from the beginning of the file at which the "
2931 "first byte of the segment resides."
2932 msgstr ""
2933 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2934 "保持する。"
2935
2936 #. type: TP
2937 #: build/C/man5/elf.5:812
2938 #, no-wrap
2939 msgid "I<p_vaddr>"
2940 msgstr "I<p_vaddr>"
2941
2942 #. type: Plain text
2943 #: build/C/man5/elf.5:816
2944 msgid ""
2945 "This member holds the virtual address at which the first byte of the segment "
2946 "resides in memory."
2947 msgstr ""
2948 "このメンバは、セグメントの先頭バイトがある メモリの仮想アドレスを保持する。"
2949
2950 #. type: TP
2951 #: build/C/man5/elf.5:816
2952 #, no-wrap
2953 msgid "I<p_paddr>"
2954 msgstr "I<p_paddr>"
2955
2956 #. type: Plain text
2957 #: build/C/man5/elf.5:824
2958 msgid ""
2959 "On systems for which physical addressing is relevant, this member is "
2960 "reserved for the segment's physical address.  Under BSD this member is not "
2961 "used and must be zero."
2962 msgstr ""
2963 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2964 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2965
2966 #. type: TP
2967 #: build/C/man5/elf.5:824
2968 #, no-wrap
2969 msgid "I<p_filesz>"
2970 msgstr "I<p_filesz>"
2971
2972 #. type: Plain text
2973 #: build/C/man5/elf.5:828
2974 msgid ""
2975 "This member holds the number of bytes in the file image of the segment.  It "
2976 "may be zero."
2977 msgstr ""
2978 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
2979 "よい。"
2980
2981 #. type: TP
2982 #: build/C/man5/elf.5:828
2983 #, no-wrap
2984 msgid "I<p_memsz>"
2985 msgstr "I<p_memsz>"
2986
2987 #. type: Plain text
2988 #: build/C/man5/elf.5:832
2989 msgid ""
2990 "This member holds the number of bytes in the memory image of the segment.  "
2991 "It may be zero."
2992 msgstr ""
2993 "このメンバはセグメントのメモリイメージのバイト数を保持する。 これは 0 でもよ"
2994 "い。"
2995
2996 #. type: TP
2997 #: build/C/man5/elf.5:832
2998 #, no-wrap
2999 msgid "I<p_flags>"
3000 msgstr "I<p_flags>"
3001
3002 #.  .Bl -tag -width "PF_X" -compact
3003 #. type: Plain text
3004 #: build/C/man5/elf.5:836
3005 msgid "This member holds a bit mask of flags relevant to the segment:"
3006 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3007
3008 #. type: TP
3009 #: build/C/man5/elf.5:837
3010 #, no-wrap
3011 msgid "B<PF_X>"
3012 msgstr "B<PF_X>"
3013
3014 #. type: Plain text
3015 #: build/C/man5/elf.5:841
3016 msgid "An executable segment."
3017 msgstr "実行可能セグメント。"
3018
3019 #. type: TP
3020 #: build/C/man5/elf.5:841
3021 #, no-wrap
3022 msgid "B<PF_W>"
3023 msgstr "B<PF_W>"
3024
3025 #. type: Plain text
3026 #: build/C/man5/elf.5:844
3027 msgid "A writable segment."
3028 msgstr "書き込み可能セグメント."
3029
3030 #. type: TP
3031 #: build/C/man5/elf.5:844
3032 #, no-wrap
3033 msgid "B<PF_R>"
3034 msgstr "B<PF_R>"
3035
3036 #. type: Plain text
3037 #: build/C/man5/elf.5:847
3038 msgid "A readable segment."
3039 msgstr "読み込み可能セグメント。"
3040
3041 #. type: Plain text
3042 #: build/C/man5/elf.5:860
3043 msgid ""
3044 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
3045 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3046 msgstr ""
3047 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3048 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3049
3050 #. type: TP
3051 #: build/C/man5/elf.5:860
3052 #, no-wrap
3053 msgid "I<p_align>"
3054 msgstr "I<p_align>"
3055
3056 #.  .El
3057 #. type: Plain text
3058 #: build/C/man5/elf.5:879
3059 msgid ""
3060 "This member holds the value to which the segments are aligned in memory and "
3061 "in the file.  Loadable process segments must have congruent values for "
3062 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
3063 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
3064 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3065 "I<p_align>."
3066 msgstr ""
3067 "このメンバは、セグメントがメモリおよびファイルにおいて配置 (align)  される値"
3068 "を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3069 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3070 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3071 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3072 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3073 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3074 "ばならない)。"
3075
3076 #. type: Plain text
3077 #: build/C/man5/elf.5:896
3078 msgid ""
3079 "A file's section header table lets one locate all the file's sections.  The "
3080 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3081 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
3082 "the beginning of the file to the section header table.  I<e_shnum> holds the "
3083 "number of entries the section header table contains.  I<e_shentsize> holds "
3084 "the size in bytes of each entry."
3085 msgstr ""
3086 "ファイルのセクションヘッダテーブルには、 全てのファイルセクションの場所が記述"
3087 "されている。 セクションヘッダテーブルは I<Elf32_Shdr> 構造体または "
3088 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダの I<e_shoff> メンバはファイルの"
3089 "先頭から セクションヘッダテーブルへのバイトオフセットである。 I<e_shnum> はセ"
3090 "クションヘッダテーブルに含まれるエントリの数を保持する。 I<e_shentsize> は各"
3091 "エントリのサイズ (バイト単位) を保持する。"
3092
3093 #.  .Bl -tag -width "SHN_LORESERVE"
3094 #. type: Plain text
3095 #: build/C/man5/elf.5:913
3096 msgid ""
3097 "A section header table index is a subscript into this array.  Some section "
3098 "header table indices are reserved: the initial entry and the indices between "
3099 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
3100 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3101 "field in the initial entry is set to zero.  An object file does not have "
3102 "sections for these special indices:"
3103 msgstr ""
3104 "セクションヘッダテーブルインデックスは、この配列の添字である。\n"
3105 "いくつかのセクションヘッダテーブルインデックスは予約されている。予約されて\n"
3106 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3107 "インデックスである。\n"
3108 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3109 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3110 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3111 "い。"
3112
3113 #. type: Plain text
3114 #: build/C/man5/elf.5:918
3115 msgid ""
3116 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3117 "section reference."
3118 msgstr ""
3119 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3120 "味なセクション参照を示す。"
3121
3122 #. type: Plain text
3123 #: build/C/man5/elf.5:938
3124 msgid ""
3125 "This value specifies the absolute value for the corresponding reference.  "
3126 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3127 "absolute value and is not affected by relocation."
3128 msgstr ""
3129 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3130 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3131 "ない。"
3132
3133 #. type: Plain text
3134 #: build/C/man5/elf.5:942
3135 msgid ""
3136 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3137 "COMMON or unallocated C external variables."
3138 msgstr ""
3139 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3140 "未割り当て外部変数のような共通シンボルである。"
3141
3142 #. type: Plain text
3143 #: build/C/man5/elf.5:953
3144 msgid ""
3145 "This value specifies the upper bound of the range of reserved indices.  The "
3146 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3147 "inclusive.  The section header table does not contain entries for the "
3148 "reserved indices."
3149 msgstr ""
3150 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3151 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッダ"
3152 "テーブルは予約されたインデックスに対応するエントリを持たない。"
3153
3154 #. type: Plain text
3155 #: build/C/man5/elf.5:957
3156 msgid "The section header has the following structure:"
3157 msgstr "セクションヘッダは以下の構造体を持つ:"
3158
3159 #. type: Plain text
3160 #: build/C/man5/elf.5:972
3161 #, no-wrap
3162 msgid ""
3163 "typedef struct {\n"
3164 "    uint32_t   sh_name;\n"
3165 "    uint32_t   sh_type;\n"
3166 "    uint32_t   sh_flags;\n"
3167 "    Elf32_Addr sh_addr;\n"
3168 "    Elf32_Off  sh_offset;\n"
3169 "    uint32_t   sh_size;\n"
3170 "    uint32_t   sh_link;\n"
3171 "    uint32_t   sh_info;\n"
3172 "    uint32_t   sh_addralign;\n"
3173 "    uint32_t   sh_entsize;\n"
3174 "} Elf32_Shdr;\n"
3175 msgstr ""
3176 "typedef struct {\n"
3177 "    uint32_t   sh_name;\n"
3178 "    uint32_t   sh_type;\n"
3179 "    uint32_t   sh_flags;\n"
3180 "    Elf32_Addr sh_addr;\n"
3181 "    Elf32_Off  sh_offset;\n"
3182 "    uint32_t   sh_size;\n"
3183 "    uint32_t   sh_link;\n"
3184 "    uint32_t   sh_info;\n"
3185 "    uint32_t   sh_addralign;\n"
3186 "    uint32_t   sh_entsize;\n"
3187 "} Elf32_Shdr;\n"
3188
3189 #. type: Plain text
3190 #: build/C/man5/elf.5:989
3191 #, no-wrap
3192 msgid ""
3193 "typedef struct {\n"
3194 "    uint32_t   sh_name;\n"
3195 "    uint32_t   sh_type;\n"
3196 "    uint64_t   sh_flags;\n"
3197 "    Elf64_Addr sh_addr;\n"
3198 "    Elf64_Off  sh_offset;\n"
3199 "    uint64_t   sh_size;\n"
3200 "    uint32_t   sh_link;\n"
3201 "    uint32_t   sh_info;\n"
3202 "    uint64_t   sh_addralign;\n"
3203 "    uint64_t   sh_entsize;\n"
3204 "} Elf64_Shdr;\n"
3205 msgstr ""
3206 "typedef struct {\n"
3207 "    uint32_t   sh_name;\n"
3208 "    uint32_t   sh_type;\n"
3209 "    uint64_t   sh_flags;\n"
3210 "    Elf64_Addr sh_addr;\n"
3211 "    Elf64_Off  sh_offset;\n"
3212 "    uint64_t   sh_size;\n"
3213 "    uint32_t   sh_link;\n"
3214 "    uint32_t   sh_info;\n"
3215 "    uint64_t   sh_addralign;\n"
3216 "    uint64_t   sh_entsize;\n"
3217 "} Elf64_Shdr;\n"
3218
3219 #.  .Bl -tag -width "sh_addralign"
3220 #. type: Plain text
3221 #: build/C/man5/elf.5:994
3222 msgid ""
3223 "No real differences exist between the 32-bit and 64-bit section headers."
3224 msgstr "32 ビットと 64 ビットのセクションヘッダには実際の違いはない。"
3225
3226 #. type: TP
3227 #: build/C/man5/elf.5:994
3228 #, no-wrap
3229 msgid "I<sh_name>"
3230 msgstr "I<sh_name>"
3231
3232 #. type: Plain text
3233 #: build/C/man5/elf.5:1000
3234 msgid ""
3235 "This member specifies the name of the section.  Its value is an index into "
3236 "the section header string table section, giving the location of a null-"
3237 "terminated string."
3238 msgstr ""
3239 "このメンバはセクション名を定める。 この値はセクションヘッダ文字列テーブルセク"
3240 "ションのインデックスであり、 NULL 文字で終端された文字列の場所を示す。"
3241
3242 #. type: TP
3243 #: build/C/man5/elf.5:1000
3244 #, no-wrap
3245 msgid "I<sh_type>"
3246 msgstr "I<sh_type>"
3247
3248 #.  .Bl -tag -width "SHT_PROGBITS"
3249 #. type: Plain text
3250 #: build/C/man5/elf.5:1004
3251 msgid "This member categorizes the section's contents and semantics."
3252 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリを示す。"
3253
3254 #. type: TP
3255 #: build/C/man5/elf.5:1005
3256 #, no-wrap
3257 msgid "B<SHT_NULL>"
3258 msgstr "B<SHT_NULL>"
3259
3260 #. type: Plain text
3261 #: build/C/man5/elf.5:1012
3262 msgid ""
3263 "This value marks the section header as inactive.  It does not have an "
3264 "associated section.  Other members of the section header have undefined "
3265 "values."
3266 msgstr ""
3267 "この値はセクションヘッダが不活性であることを示す。 これは関連するセクションを"
3268 "持たない。 このセクションヘッダの他のメンバは、未定義の値を持つ。"
3269
3270 #. type: TP
3271 #: build/C/man5/elf.5:1012
3272 #, no-wrap
3273 msgid "B<SHT_PROGBITS>"
3274 msgstr "B<SHT_PROGBITS>"
3275
3276 #. type: Plain text
3277 #: build/C/man5/elf.5:1016
3278 msgid ""
3279 "This section holds information defined by the program, whose format and "
3280 "meaning are determined solely by the program."
3281 msgstr ""
3282 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3283 "味は、ひとえにプログラムによって決定される。"
3284
3285 #. type: TP
3286 #: build/C/man5/elf.5:1016
3287 #, no-wrap
3288 msgid "B<SHT_SYMTAB>"
3289 msgstr "B<SHT_SYMTAB>"
3290
3291 #. type: Plain text
3292 #: build/C/man5/elf.5:1029
3293 msgid ""
3294 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
3295 "symbols for link editing, though it may also be used for dynamic linking.  "
3296 "As a complete symbol table, it may contain many symbols unnecessary for "
3297 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
3298 msgstr ""
3299 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3300 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3301 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3302 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3303
3304 #. type: TP
3305 #: build/C/man5/elf.5:1029
3306 #, no-wrap
3307 msgid "B<SHT_STRTAB>"
3308 msgstr "B<SHT_STRTAB>"
3309
3310 #. type: Plain text
3311 #: build/C/man5/elf.5:1034
3312 msgid ""
3313 "This section holds a string table.  An object file may have multiple string "
3314 "table sections."
3315 msgstr ""
3316 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3317 "テーブルセクションを持つことができる。"
3318
3319 #. type: TP
3320 #: build/C/man5/elf.5:1034
3321 #, no-wrap
3322 msgid "B<SHT_RELA>"
3323 msgstr "B<SHT_RELA>"
3324
3325 #. type: Plain text
3326 #: build/C/man5/elf.5:1042
3327 msgid ""
3328 "This section holds relocation entries with explicit addends, such as type "
3329 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
3330 "multiple relocation sections."
3331 msgstr ""
3332 "このセクションは明示的な加数 (addend) を持つ再配置エントリを保持する。 再配置"
3333 "エントリの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> であ"
3334 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3335
3336 #. type: TP
3337 #: build/C/man5/elf.5:1042
3338 #, no-wrap
3339 msgid "B<SHT_HASH>"
3340 msgstr "B<SHT_HASH>"
3341
3342 #. type: Plain text
3343 #: build/C/man5/elf.5:1049
3344 msgid ""
3345 "This section holds a symbol hash table.  An object participating in dynamic "
3346 "linking must contain a symbol hash table.  An object file may have only one "
3347 "hash table."
3348 msgstr ""
3349 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3350 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3351 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3352
3353 #. type: TP
3354 #: build/C/man5/elf.5:1049
3355 #, no-wrap
3356 msgid "B<SHT_DYNAMIC>"
3357 msgstr "B<SHT_DYNAMIC>"
3358
3359 #. type: Plain text
3360 #: build/C/man5/elf.5:1054
3361 msgid ""
3362 "This section holds information for dynamic linking.  An object file may have "
3363 "only one dynamic section."
3364 msgstr ""
3365 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3366 "的セクションのみを持つことができる。"
3367
3368 #. type: TP
3369 #: build/C/man5/elf.5:1054
3370 #, no-wrap
3371 msgid "B<SHT_NOTE>"
3372 msgstr "B<SHT_NOTE>"
3373
3374 #. type: Plain text
3375 #: build/C/man5/elf.5:1057
3376 msgid "This section holds information that marks the file in some way."
3377 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3378
3379 #. type: TP
3380 #: build/C/man5/elf.5:1057
3381 #, no-wrap
3382 msgid "B<SHT_NOBITS>"
3383 msgstr "B<SHT_NOBITS>"
3384
3385 #. type: Plain text
3386 #: build/C/man5/elf.5:1065
3387 msgid ""
3388 "A section of this type occupies no space in the file but otherwise resembles "
3389 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
3390 "member contains the conceptual file offset."
3391 msgstr ""
3392 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3393 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3394 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3395
3396 #. type: TP
3397 #: build/C/man5/elf.5:1065
3398 #, no-wrap
3399 msgid "B<SHT_REL>"
3400 msgstr "B<SHT_REL>"
3401
3402 #. type: Plain text
3403 #: build/C/man5/elf.5:1073
3404 msgid ""
3405 "This section holds relocation offsets without explicit addends, such as type "
3406 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
3407 "multiple relocation sections."
3408 msgstr ""
3409 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3410 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3411 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3412
3413 #. type: TP
3414 #: build/C/man5/elf.5:1073
3415 #, no-wrap
3416 msgid "B<SHT_SHLIB>"
3417 msgstr "B<SHT_SHLIB>"
3418
3419 #. type: Plain text
3420 #: build/C/man5/elf.5:1076
3421 msgid "This section is reserved but has unspecified semantics."
3422 msgstr "このセクションは予約されているが、意味は指定されていない。"
3423
3424 #. type: TP
3425 #: build/C/man5/elf.5:1076
3426 #, no-wrap
3427 msgid "B<SHT_DYNSYM>"
3428 msgstr "B<SHT_DYNSYM>"
3429
3430 #. type: Plain text
3431 #: build/C/man5/elf.5:1083
3432 msgid ""
3433 "This section holds a minimal set of dynamic linking symbols.  An object file "
3434 "can also contain a B<SHT_SYMTAB> section."
3435 msgstr ""
3436 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3437 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3438
3439 #. type: TP
3440 #: build/C/man5/elf.5:1083
3441 #, no-wrap
3442 msgid "B<SHT_LOPROC>"
3443 msgstr "B<SHT_LOPROC>"
3444
3445 #. type: Plain text
3446 #: build/C/man5/elf.5:1088
3447 msgid ""
3448 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3449 "specific semantics."
3450 msgstr ""
3451 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3452
3453 #. type: TP
3454 #: build/C/man5/elf.5:1088
3455 #, no-wrap
3456 msgid "B<SHT_HIPROC>"
3457 msgstr "B<SHT_HIPROC>"
3458
3459 #. type: Plain text
3460 #: build/C/man5/elf.5:1093
3461 msgid ""
3462 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3463 "specific semantics."
3464 msgstr ""
3465 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3466
3467 #. type: TP
3468 #: build/C/man5/elf.5:1093
3469 #, no-wrap
3470 msgid "B<SHT_LOUSER>"
3471 msgstr "B<SHT_LOUSER>"
3472
3473 #. type: Plain text
3474 #: build/C/man5/elf.5:1097
3475 msgid ""
3476 "This value specifies the lower bound of the range of indices reserved for "
3477 "application programs."
3478 msgstr ""
3479 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3480 "指定する。"
3481
3482 #. type: TP
3483 #: build/C/man5/elf.5:1097
3484 #, no-wrap
3485 msgid "B<SHT_HIUSER>"
3486 msgstr "B<SHT_HIUSER>"
3487
3488 #.  .El
3489 #. type: Plain text
3490 #: build/C/man5/elf.5:1108
3491 msgid ""
3492 "This value specifies the upper bound of the range of indices reserved for "
3493 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3494 "may be used by the application, without conflicting with current or future "
3495 "system-defined section types."
3496 msgstr ""
3497 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3498 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3499 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3500 "使用することができる。"
3501
3502 #. type: TP
3503 #: build/C/man5/elf.5:1109
3504 #, no-wrap
3505 msgid "I<sh_flags>"
3506 msgstr "I<sh_flags>"
3507
3508 #.  .Bl -tag -width "SHF_EXECINSTR" -compact
3509 #. type: Plain text
3510 #: build/C/man5/elf.5:1122
3511 msgid ""
3512 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
3513 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
3514 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
3515 "are set to zero."
3516 msgstr ""
3517 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3518 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3519 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3520 "義の属性は 0 に設定される。"
3521
3522 #. type: TP
3523 #: build/C/man5/elf.5:1123
3524 #, no-wrap
3525 msgid "B<SHF_WRITE>"
3526 msgstr "B<SHF_WRITE>"
3527
3528 #. type: Plain text
3529 #: build/C/man5/elf.5:1127
3530 msgid ""
3531 "This section contains data that should be writable during process execution."
3532 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3533
3534 #. type: TP
3535 #: build/C/man5/elf.5:1127
3536 #, no-wrap
3537 msgid "B<SHF_ALLOC>"
3538 msgstr "B<SHF_ALLOC>"
3539
3540 #. type: Plain text
3541 #: build/C/man5/elf.5:1134
3542 msgid ""
3543 "This section occupies memory during process execution.  Some control "
3544 "sections do not reside in the memory image of an object file.  This "
3545 "attribute is off for those sections."
3546 msgstr ""
3547 "このセクションはプロセス実行中にメモリを使用する。 制御セクションの中には、オ"
3548 "ブジェクトファイルのメモリイメージには 存在しないものもある。 そうしたセク"
3549 "ションの場合、この属性はオフである。"
3550
3551 #. type: TP
3552 #: build/C/man5/elf.5:1134
3553 #, no-wrap
3554 msgid "B<SHF_EXECINSTR>"
3555 msgstr "B<SHF_EXECINSTR>"
3556
3557 #. type: Plain text
3558 #: build/C/man5/elf.5:1137
3559 msgid "This section contains executable machine instructions."
3560 msgstr "このセクションは実行可能なマシン命令を含む。"
3561
3562 #. type: TP
3563 #: build/C/man5/elf.5:1137
3564 #, no-wrap
3565 msgid "B<SHF_MASKPROC>"
3566 msgstr "B<SHF_MASKPROC>"
3567
3568 #. type: Plain text
3569 #: build/C/man5/elf.5:1141
3570 msgid ""
3571 "All bits included in this mask are reserved for processor-specific semantics."
3572 msgstr ""
3573 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3574
3575 #. type: TP
3576 #: build/C/man5/elf.5:1143
3577 #, no-wrap
3578 msgid "I<sh_addr>"
3579 msgstr "I<sh_addr>"
3580
3581 #. type: Plain text
3582 #: build/C/man5/elf.5:1148
3583 msgid ""
3584 "If this section appears in the memory image of a process, this member holds "
3585 "the address at which the section's first byte should reside.  Otherwise, the "
3586 "member contains zero."
3587 msgstr ""
3588 "このセクションがプロセスのメモリイメージにある場合、 このメンバはセクションの"
3589 "最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 で"
3590 "ある。"
3591
3592 #. type: TP
3593 #: build/C/man5/elf.5:1148
3594 #, no-wrap
3595 msgid "I<sh_offset>"
3596 msgstr "I<sh_offset>"
3597
3598 #. type: Plain text
3599 #: build/C/man5/elf.5:1157
3600 msgid ""
3601 "This member's value holds the byte offset from the beginning of the file to "
3602 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
3603 "space in the file, and its I<sh_offset> member locates the conceptual "
3604 "placement in the file."
3605 msgstr ""
3606 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3607 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3608 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3609
3610 #. type: TP
3611 #: build/C/man5/elf.5:1157
3612 #, no-wrap
3613 msgid "I<sh_size>"
3614 msgstr "I<sh_size>"
3615
3616 #. type: Plain text
3617 #: build/C/man5/elf.5:1169
3618 msgid ""
3619 "This member holds the section's size in bytes.  Unless the section type is "
3620 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
3621 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3622 "the file."
3623 msgstr ""
3624 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3625 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3626 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3627 "領域を使用しない。"
3628
3629 #. type: TP
3630 #: build/C/man5/elf.5:1169
3631 #, no-wrap
3632 msgid "I<sh_link>"
3633 msgstr "I<sh_link>"
3634
3635 #. type: Plain text
3636 #: build/C/man5/elf.5:1173
3637 msgid ""
3638 "This member holds a section header table index link, whose interpretation "
3639 "depends on the section type."
3640 msgstr ""
3641 "このメンバは、セクションヘッダテーブルインデックスリンクを保持する。 この解釈"
3642 "はセクションタイプに依存する。"
3643
3644 #. type: TP
3645 #: build/C/man5/elf.5:1173
3646 #, no-wrap
3647 msgid "I<sh_info>"
3648 msgstr "I<sh_info>"
3649
3650 #. type: Plain text
3651 #: build/C/man5/elf.5:1177
3652 msgid ""
3653 "This member holds extra information, whose interpretation depends on the "
3654 "section type."
3655 msgstr ""
3656 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3657
3658 #. type: TP
3659 #: build/C/man5/elf.5:1177
3660 #, no-wrap
3661 msgid "I<sh_addralign>"
3662 msgstr "I<sh_addralign>"
3663
3664 #. type: Plain text
3665 #: build/C/man5/elf.5:1190
3666 msgid ""
3667 "Some sections have address alignment constraints.  If a section holds a "
3668 "doubleword, the system must ensure doubleword alignment for the entire "
3669 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
3670 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
3671 "are allowed.  Values of zero or one mean the section has no alignment "
3672 "constraints."
3673 msgstr ""
3674 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3675 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3676 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3677 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3678 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3679 "制約がないことを意味する。"
3680
3681 #. type: TP
3682 #: build/C/man5/elf.5:1190
3683 #, no-wrap
3684 msgid "I<sh_entsize>"
3685 msgstr "I<sh_entsize>"
3686
3687 #.  .El
3688 #. type: Plain text
3689 #: build/C/man5/elf.5:1197
3690 msgid ""
3691 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
3692 "For such a section, this member gives the size in bytes for each entry.  "
3693 "This member contains zero if the section does not hold a table of fixed-size "
3694 "entries."
3695 msgstr ""
3696 "シンボルテーブルのような固定サイズエントリのテーブルを保持する セクションもあ"
3697 "る。 このようなセクションでは、 このメンバは各エントリのサイズ (バイト単位) "
3698 "を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリのテーブル"
3699 "を保持しない。"
3700
3701 #.  .Bl -tag -width ".shstrtab"
3702 #. type: Plain text
3703 #: build/C/man5/elf.5:1200
3704 msgid "Various sections hold program and control information:"
3705 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3706
3707 #. type: TP
3708 #: build/C/man5/elf.5:1200
3709 #, no-wrap
3710 msgid "I<.bss>"
3711 msgstr "I<.bss>"
3712
3713 #. type: Plain text
3714 #: build/C/man5/elf.5:1212
3715 msgid ""
3716 "This section holds uninitialized data that contributes to the program's "
3717 "memory image.  By definition, the system initializes the data with zeros "
3718 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
3719 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3720 msgstr ""
3721 "このセクションはプログラムのメモリイメージに配置される 非初期化データを保持す"
3722 "る。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 こ"
3723 "のセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3724 "B<SHF_WRITE> である。"
3725
3726 #. type: TP
3727 #: build/C/man5/elf.5:1212
3728 #, no-wrap
3729 msgid "I<.comment>"
3730 msgstr "I<.comment>"
3731
3732 #. type: Plain text
3733 #: build/C/man5/elf.5:1218
3734 msgid ""
3735 "This section holds version control information.  This section is of type "
3736 "B<SHT_PROGBITS>.  No attribute types are used."
3737 msgstr ""
3738 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3739 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3740
3741 #. type: TP
3742 #: build/C/man5/elf.5:1218
3743 #, no-wrap
3744 msgid "I<.ctors>"
3745 msgstr "I<.ctors>"
3746
3747 #. type: Plain text
3748 #: build/C/man5/elf.5:1227
3749 msgid ""
3750 "This section holds initialized pointers to the C++ constructor functions.  "
3751 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3752 "B<SHF_ALLOC> and B<SHF_WRITE>."
3753 msgstr ""
3754 "このセクションは C++ コンストラクタ関数への初期化されたポインタを保持する。 "
3755 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3756 "と B<SHF_WRITE> である。"
3757
3758 #. type: TP
3759 #: build/C/man5/elf.5:1227
3760 #, no-wrap
3761 msgid "I<.data>"
3762 msgstr "I<.data>"
3763
3764 #. type: Plain text
3765 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3766 msgid ""
3767 "This section holds initialized data that contribute to the program's memory "
3768 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
3769 "B<SHF_ALLOC> and B<SHF_WRITE>."
3770 msgstr ""
3771 "このセクションはプログラムのメモリイメージに配置される 初期化済みデータを保持"
3772 "する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3773 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3774
3775 #. type: TP
3776 #: build/C/man5/elf.5:1237
3777 #, no-wrap
3778 msgid "I<.data1>"
3779 msgstr "I<.data1>"
3780
3781 #. type: TP
3782 #: build/C/man5/elf.5:1247
3783 #, no-wrap
3784 msgid "I<.debug>"
3785 msgstr "I<.debug>"
3786
3787 #. type: Plain text
3788 #: build/C/man5/elf.5:1255
3789 msgid ""
3790 "This section holds information for symbolic debugging.  The contents are "
3791 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
3792 "are used."
3793 msgstr ""
3794 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3795 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3796 "れない。"
3797
3798 #. type: TP
3799 #: build/C/man5/elf.5:1255
3800 #, no-wrap
3801 msgid "I<.dtors>"
3802 msgstr "I<.dtors>"
3803
3804 #. type: Plain text
3805 #: build/C/man5/elf.5:1264
3806 msgid ""
3807 "This section holds initialized pointers to the C++ destructor functions.  "
3808 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3809 "B<SHF_ALLOC> and B<SHF_WRITE>."
3810 msgstr ""
3811 "このセクションは C++ デストラクタ関数への初期化されたポインタを保持する。 こ"
3812 "のセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> と "
3813 "B<SHF_WRITE> である。"
3814
3815 #. type: TP
3816 #: build/C/man5/elf.5:1264
3817 #, no-wrap
3818 msgid "I<.dynamic>"
3819 msgstr "I<.dynamic>"
3820
3821 #. type: Plain text
3822 #: build/C/man5/elf.5:1277
3823 msgid ""
3824 "This section holds dynamic linking information.  The section's attributes "
3825 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
3826 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
3827 "attributes above."
3828 msgstr ""
3829 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3830 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3831 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3832 "ること。"
3833
3834 #. type: TP
3835 #: build/C/man5/elf.5:1277
3836 #, no-wrap
3837 msgid "I<.dynstr>"
3838 msgstr "I<.dynstr>"
3839
3840 #. type: Plain text
3841 #: build/C/man5/elf.5:1285
3842 msgid ""
3843 "This section holds strings needed for dynamic linking, most commonly the "
3844 "strings that represent the names associated with symbol table entries.  This "
3845 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
3846 msgstr ""
3847 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3848 "列はシンボルテーブルエントリと 関連づけられた名前を表す。 このセクションのタ"
3849 "イプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3850
3851 #. type: TP
3852 #: build/C/man5/elf.5:1285
3853 #, no-wrap
3854 msgid "I<.dynsym>"
3855 msgstr "I<.dynsym>"
3856
3857 #. type: Plain text
3858 #: build/C/man5/elf.5:1292
3859 msgid ""
3860 "This section holds the dynamic linking symbol table.  This section is of "
3861 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
3862 msgstr ""
3863 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3864 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3865
3866 #. type: TP
3867 #: build/C/man5/elf.5:1292
3868 #, no-wrap
3869 msgid "I<.fini>"
3870 msgstr "I<.fini>"
3871
3872 #. type: Plain text
3873 #: build/C/man5/elf.5:1304
3874 msgid ""
3875 "This section holds executable instructions that contribute to the process "
3876 "termination code.  When a program exits normally the system arranges to "
3877 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
3878 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3879 msgstr ""
3880 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3881 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3882 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3883 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3884
3885 #. type: TP
3886 #: build/C/man5/elf.5:1304
3887 #, no-wrap
3888 msgid "I<.gnu.version>"
3889 msgstr "I<.gnu.version>"
3890
3891 #. type: Plain text
3892 #: build/C/man5/elf.5:1313
3893 msgid ""
3894 "This section holds the version symbol table, an array of I<ElfN_Half> "
3895 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
3896 "used is B<SHF_ALLOC>."
3897 msgstr ""
3898 "このセクションはバージョン・シンボル・テーブルを保持する。 その内容は "
3899 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3900 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3901
3902 #. type: TP
3903 #: build/C/man5/elf.5:1313
3904 #, no-wrap
3905 msgid "I<.gnu.version_d>"
3906 msgstr "I<.gnu.version_d>"
3907
3908 #. type: Plain text
3909 #: build/C/man5/elf.5:1322
3910 msgid ""
3911 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3912 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
3913 "used is B<SHF_ALLOC>."
3914 msgstr ""
3915 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3916 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3917 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3918
3919 #. type: TP
3920 #: build/C/man5/elf.5:1322
3921 #, no-wrap
3922 msgid "I<.gnu.version_r>"
3923 msgstr "I<.gnu.version_r>"
3924
3925 #. type: Plain text
3926 #: build/C/man5/elf.5:1332
3927 msgid ""
3928 "This section holds the version symbol needed elements, a table of "
3929 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
3930 "attribute type used is B<SHF_ALLOC>."
3931 msgstr ""
3932 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3933 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3934 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3935
3936 #. type: TP
3937 #: build/C/man5/elf.5:1332
3938 #, no-wrap
3939 msgid "I<.got>"
3940 msgstr "I<.got>"
3941
3942 #. type: Plain text
3943 #: build/C/man5/elf.5:1338
3944 msgid ""
3945 "This section holds the global offset table.  This section is of type "
3946 "B<SHT_PROGBITS>.  The attributes are processor-specific."
3947 msgstr ""
3948 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3949 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3950
3951 #. type: TP
3952 #: build/C/man5/elf.5:1338
3953 #, no-wrap
3954 msgid "I<.hash>"
3955 msgstr "I<.hash>"
3956
3957 #. type: Plain text
3958 #: build/C/man5/elf.5:1345
3959 msgid ""
3960 "This section holds a symbol hash table.  This section is of type "
3961 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
3962 msgstr ""
3963 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3964 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3965
3966 #. type: TP
3967 #: build/C/man5/elf.5:1345
3968 #, no-wrap
3969 msgid "I<.init>"
3970 msgstr "I<.init>"
3971
3972 #. type: Plain text
3973 #: build/C/man5/elf.5:1357
3974 msgid ""
3975 "This section holds executable instructions that contribute to the process "
3976 "initialization code.  When a program starts to run the system arranges to "
3977 "execute the code in this section before calling the main program entry "
3978 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
3979 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3980 msgstr ""
3981 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
3982 "グラムが実行を開始すると、 システムはメインプログラムエントリポイントを呼び出"
3983 "す前に、 このセクションにあるコードを配置して実行する。 このセクションはのタ"
3984 "イプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
3985 "B<SHF_EXECINSTR> である。"
3986
3987 #. type: TP
3988 #: build/C/man5/elf.5:1357
3989 #, no-wrap
3990 msgid "I<.interp>"
3991 msgstr "I<.interp>"
3992
3993 #. type: Plain text
3994 #: build/C/man5/elf.5:1368
3995 msgid ""
3996 "This section holds the pathname of a program interpreter.  If the file has a "
3997 "loadable segment that includes the section, the section's attributes will "
3998 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
3999 "section is of type B<SHT_PROGBITS>."
4000 msgstr ""
4001 "このセクションはプログラムインタプリタのパス名を保持する。 ファイルにこのセク"
4002 "ションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4003 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4004 "クションのタイプは B<SHT_PROGBITS> である。"
4005
4006 #. type: TP
4007 #: build/C/man5/elf.5:1368
4008 #, no-wrap
4009 msgid "I<.line>"
4010 msgstr "I<.line>"
4011
4012 #. type: Plain text
4013 #: build/C/man5/elf.5:1376
4014 msgid ""
4015 "This section holds line number information for symbolic debugging, which "
4016 "describes the correspondence between the program source and the machine "
4017 "code.  The contents are unspecified.  This section is of type "
4018 "B<SHT_PROGBITS>.  No attribute types are used."
4019 msgstr ""
4020 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4021 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4022 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4023 "ない。"
4024
4025 #. type: TP
4026 #: build/C/man5/elf.5:1376
4027 #, no-wrap
4028 msgid "I<.note>"
4029 msgstr "I<.note>"
4030
4031 #. type: Plain text
4032 #: build/C/man5/elf.5:1389
4033 msgid ""
4034 "This section holds information in the \"Note Section\" format.  This section "
4035 "is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD native "
4036 "executables usually contain a I<.note.openbsd.ident> section to identify "
4037 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4038 "tests when loading the file."
4039 msgstr ""
4040 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4041 "プ\n"
4042 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4043 "行\n"
4044 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4045 "つ。\n"
4046 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4047 "ショ\n"
4048 "ンテストを回避できる。"
4049
4050 #. type: TP
4051 #: build/C/man5/elf.5:1389
4052 #, no-wrap
4053 msgid "I<.note.GNU-stack>"
4054 msgstr "I<.note.GNU-stack>"
4055
4056 #. type: Plain text
4057 #: build/C/man5/elf.5:1398
4058 msgid ""
4059 "This section is used in Linux object files for declaring stack attributes.  "
4060 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
4061 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
4062 "requires an executable stack."
4063 msgstr ""
4064 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4065 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4066 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカに対して オブジェクトファイ"
4067 "ルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4068
4069 #. type: TP
4070 #: build/C/man5/elf.5:1398
4071 #, no-wrap
4072 msgid "I<.plt>"
4073 msgstr "I<.plt>"
4074
4075 #. type: Plain text
4076 #: build/C/man5/elf.5:1404
4077 msgid ""
4078 "This section holds the procedure linkage table.  This section is of type "
4079 "B<SHT_PROGBITS>.  The attributes are processor-specific."
4080 msgstr ""
4081 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4082 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4083
4084 #. type: TP
4085 #: build/C/man5/elf.5:1404
4086 #, no-wrap
4087 msgid "I<.relNAME>"
4088 msgstr "I<.relNAME>"
4089
4090 #. type: Plain text
4091 #: build/C/man5/elf.5:1423
4092 msgid ""
4093 "This section holds relocation information as described below.  If the file "
4094 "has a loadable segment that includes relocation, the section's attributes "
4095 "will include the B<SHF_ALLOC> bit.  Otherwise the bit will be off.  By "
4096 "convention, \"NAME\" is supplied by the section to which the relocations "
4097 "apply.  Thus a relocation section for B<.text> normally would have the name "
4098 "B<.rel.text>.  This section is of type B<SHT_REL>."
4099 msgstr ""
4100 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4101 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4102 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4103 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4104 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4105 "プは B<SHT_REL> である。"
4106
4107 #. type: TP
4108 #: build/C/man5/elf.5:1423
4109 #, no-wrap
4110 msgid "I<.relaNAME>"
4111 msgstr "I<.relaNAME>"
4112
4113 #. type: Plain text
4114 #: build/C/man5/elf.5:1442
4115 msgid ""
4116 "This section holds relocation information as described below.  If the file "
4117 "has a loadable segment that includes relocation, the section's attributes "
4118 "will include the B<SHF_ALLOC> bit.  Otherwise the bit will be off.  By "
4119 "convention, \"NAME\" is supplied by the section to which the relocations "
4120 "apply.  Thus a relocation section for B<.text> normally would have the name "
4121 "B<.rela.text>.  This section is of type B<SHT_RELA>."
4122 msgstr ""
4123 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4124 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4125 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4126 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4127 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4128 "イプは B<SHT_RELA> である。"
4129
4130 #. type: TP
4131 #: build/C/man5/elf.5:1442
4132 #, no-wrap
4133 msgid "I<.rodata>"
4134 msgstr "I<.rodata>"
4135
4136 #. type: Plain text
4137 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4138 msgid ""
4139 "This section holds read-only data that typically contributes to a "
4140 "nonwritable segment in the process image.  This section is of type "
4141 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
4142 msgstr ""
4143 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4144 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4145 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4146
4147 #. type: TP
4148 #: build/C/man5/elf.5:1450
4149 #, no-wrap
4150 msgid "I<.rodata1>"
4151 msgstr "I<.rodata1>"
4152
4153 #. type: TP
4154 #: build/C/man5/elf.5:1458
4155 #, no-wrap
4156 msgid "I<.shstrtab>"
4157 msgstr "I<.shstrtab>"
4158
4159 #. type: Plain text
4160 #: build/C/man5/elf.5:1464
4161 msgid ""
4162 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
4163 "No attribute types are used."
4164 msgstr ""
4165 "このセクションはセクション名を保持する。 このセクションのタイプは "
4166 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4167
4168 #. type: TP
4169 #: build/C/man5/elf.5:1464
4170 #, no-wrap
4171 msgid "I<.strtab>"
4172 msgstr "I<.strtab>"
4173
4174 #. type: Plain text
4175 #: build/C/man5/elf.5:1476
4176 msgid ""
4177 "This section holds strings, most commonly the strings that represent the "
4178 "names associated with symbol table entries.  If the file has a loadable "
4179 "segment that includes the symbol string table, the section's attributes will "
4180 "include the B<SHF_ALLOC> bit.  Otherwise the bit will be off.  This section "
4181 "is of type B<SHT_STRTAB>."
4182 msgstr ""
4183 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエントリ"
4184 "に関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブルを"
4185 "含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを"
4186 "含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4187 "B<SHT_STRTAB> である。"
4188
4189 #. type: TP
4190 #: build/C/man5/elf.5:1476
4191 #, no-wrap
4192 msgid "I<.symtab>"
4193 msgstr "I<.symtab>"
4194
4195 #. type: Plain text
4196 #: build/C/man5/elf.5:1487
4197 msgid ""
4198 "This section holds a symbol table.  If the file has a loadable segment that "
4199 "includes the symbol table, the section's attributes will include the "
4200 "B<SHF_ALLOC> bit.  Otherwise the bit will be off.  This section is of type "
4201 "B<SHT_SYMTAB>."
4202 msgstr ""
4203 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4204 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4205 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4206 "B<SHT_SYMTAB> である。"
4207
4208 #. type: TP
4209 #: build/C/man5/elf.5:1487
4210 #, no-wrap
4211 msgid "I<.text>"
4212 msgstr "I<.text>"
4213
4214 #.  .El
4215 #. type: Plain text
4216 #: build/C/man5/elf.5:1499
4217 msgid ""
4218 "This section holds the \"text\", or executable instructions, of a program.  "
4219 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
4220 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4221 msgstr ""
4222 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4223 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4224 "B<SHF_EXECINSTR> である。"
4225
4226 #. type: Plain text
4227 #: build/C/man5/elf.5:1510
4228 msgid ""
4229 "String table sections hold null-terminated character sequences, commonly "
4230 "called strings.  The object file uses these strings to represent symbol and "
4231 "section names.  One references a string as an index into the string table "
4232 "section.  The first byte, which is index zero, is defined to hold a null "
4233 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
4234 "hold a null byte, ensuring null termination for all strings."
4235 msgstr ""
4236 "文字列テーブルセクションは NULL 文字で終端されたキャラクタ配列 (通常文字列と"
4237 "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名"
4238 "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン"
4239 "デックスとして参照される。 インデックス 0 の最初のバイトは、NULL バイト "
4240 "(\\(aq\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバ"
4241 "イトも NULL 文字を保持すると定義されている。 これは全ての文字列が NULL バイト"
4242 "で終端されていることを保証するためである。"
4243
4244 #. type: Plain text
4245 #: build/C/man5/elf.5:1515
4246 msgid ""
4247 "An object file's symbol table holds information needed to locate and "
4248 "relocate a program's symbolic definitions and references.  A symbol table "
4249 "index is a subscript into this array."
4250 msgstr ""
4251 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4252 "置または再配置するのに 必要な情報を保持する。"
4253
4254 #. type: Plain text
4255 #: build/C/man5/elf.5:1526
4256 #, no-wrap
4257 msgid ""
4258 "typedef struct {\n"
4259 "    uint32_t      st_name;\n"
4260 "    Elf32_Addr    st_value;\n"
4261 "    uint32_t      st_size;\n"
4262 "    unsigned char st_info;\n"
4263 "    unsigned char st_other;\n"
4264 "    uint16_t      st_shndx;\n"
4265 "} Elf32_Sym;\n"
4266 msgstr ""
4267 "typedef struct {\n"
4268 "    uint32_t      st_name;\n"
4269 "    Elf32_Addr    st_value;\n"
4270 "    uint32_t      st_size;\n"
4271 "    unsigned char st_info;\n"
4272 "    unsigned char st_other;\n"
4273 "    uint16_t      st_shndx;\n"
4274 "} Elf32_Sym;\n"
4275
4276 #. type: Plain text
4277 #: build/C/man5/elf.5:1539
4278 #, no-wrap
4279 msgid ""
4280 "typedef struct {\n"
4281 "    uint32_t      st_name;\n"
4282 "    unsigned char st_info;\n"
4283 "    unsigned char st_other;\n"
4284 "    uint16_t      st_shndx;\n"
4285 "    Elf64_Addr    st_value;\n"
4286 "    uint64_t      st_size;\n"
4287 "} Elf64_Sym;\n"
4288 msgstr ""
4289 "typedef struct {\n"
4290 "    uint32_t      st_name;\n"
4291 "    unsigned char st_info;\n"
4292 "    unsigned char st_other;\n"
4293 "    uint16_t      st_shndx;\n"
4294 "    Elf64_Addr    st_value;\n"
4295 "    uint64_t      st_size;\n"
4296 "} Elf64_Sym;\n"
4297
4298 #.  .Bl -tag -width "st_value"
4299 #. type: Plain text
4300 #: build/C/man5/elf.5:1545
4301 msgid ""
4302 "The 32-bit and 64-bit versions have the same members, just in a different "
4303 "order."
4304 msgstr ""
4305 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4306
4307 #. type: TP
4308 #: build/C/man5/elf.5:1545
4309 #, no-wrap
4310 msgid "I<st_name>"
4311 msgstr "I<st_name>"
4312
4313 #. type: Plain text
4314 #: build/C/man5/elf.5:1553
4315 msgid ""
4316 "This member holds an index into the object file's symbol string table, which "
4317 "holds character representations of the symbol names.  If the value is "
4318 "nonzero, it represents a string table index that gives the symbol name.  "
4319 "Otherwise, the symbol table has no name."
4320 msgstr ""
4321 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4322 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4323 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4324 "合、シンボルテーブルは名前を持たない。"
4325
4326 #. type: TP
4327 #: build/C/man5/elf.5:1553
4328 #, no-wrap
4329 msgid "I<st_value>"
4330 msgstr "I<st_value>"
4331
4332 #. type: Plain text
4333 #: build/C/man5/elf.5:1556
4334 msgid "This member gives the value of the associated symbol."
4335 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4336
4337 #. type: TP
4338 #: build/C/man5/elf.5:1556
4339 #, no-wrap
4340 msgid "I<st_size>"
4341 msgstr "I<st_size>"
4342
4343 #. type: Plain text
4344 #: build/C/man5/elf.5:1561
4345 msgid ""
4346 "Many symbols have associated sizes.  This member holds zero if the symbol "
4347 "has no size or an unknown size."
4348 msgstr ""
4349 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4350 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4351
4352 #. type: TP
4353 #: build/C/man5/elf.5:1561
4354 #, no-wrap
4355 msgid "I<st_info>"
4356 msgstr "I<st_info>"
4357
4358 #.  .Bl -tag -width "STT_SECTION"
4359 #. type: Plain text
4360 #: build/C/man5/elf.5:1565
4361 msgid "This member specifies the symbol's type and binding attributes:"
4362 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4363
4364 #. type: TP
4365 #: build/C/man5/elf.5:1566
4366 #, no-wrap
4367 msgid "B<STT_NOTYPE>"
4368 msgstr "B<STT_NOTYPE>"
4369
4370 #. type: Plain text
4371 #: build/C/man5/elf.5:1569
4372 msgid "The symbol's type is not defined."
4373 msgstr "シンボルのタイプが定義されていない。"
4374
4375 #. type: TP
4376 #: build/C/man5/elf.5:1569
4377 #, no-wrap
4378 msgid "B<STT_OBJECT>"
4379 msgstr "B<STT_OBJECT>"
4380
4381 #. type: Plain text
4382 #: build/C/man5/elf.5:1572
4383 msgid "The symbol is associated with a data object."
4384 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4385
4386 #. type: TP
4387 #: build/C/man5/elf.5:1572
4388 #, no-wrap
4389 msgid "B<STT_FUNC>"
4390 msgstr "B<STT_FUNC>"
4391
4392 #. type: Plain text
4393 #: build/C/man5/elf.5:1575
4394 msgid "The symbol is associated with a function or other executable code."
4395 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4396
4397 #. type: TP
4398 #: build/C/man5/elf.5:1575
4399 #, no-wrap
4400 msgid "B<STT_SECTION>"
4401 msgstr "B<STT_SECTION>"
4402
4403 #. type: Plain text
4404 #: build/C/man5/elf.5:1582
4405 msgid ""
4406 "The symbol is associated with a section.  Symbol table entries of this type "
4407 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4408 msgstr ""
4409 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4410 "リは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4411 "つ。"
4412
4413 #. type: TP
4414 #: build/C/man5/elf.5:1582
4415 #, no-wrap
4416 msgid "B<STT_FILE>"
4417 msgstr "B<STT_FILE>"
4418
4419 #. type: Plain text
4420 #: build/C/man5/elf.5:1593
4421 msgid ""
4422 "By convention, the symbol's name gives the name of the source file "
4423 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
4424 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4425 "symbols of the file, if it is present."
4426 msgstr ""
4427 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4428 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4429 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4430 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4431
4432 #. type: TP
4433 #: build/C/man5/elf.5:1593
4434 #, no-wrap
4435 msgid "B<STT_LOPROC>"
4436 msgstr "B<STT_LOPROC>"
4437
4438 #. type: Plain text
4439 #: build/C/man5/elf.5:1598
4440 msgid ""
4441 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4442 "specific semantics."
4443 msgstr ""
4444 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4445
4446 #. type: TP
4447 #: build/C/man5/elf.5:1598
4448 #, no-wrap
4449 msgid "B<STT_HIPROC>"
4450 msgstr "B<STT_HIPROC>"
4451
4452 #.  .El
4453 #.  .Bl -tag -width "STB_GLOBAL"
4454 #. type: Plain text
4455 #: build/C/man5/elf.5:1605
4456 msgid ""
4457 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4458 "specific semantics."
4459 msgstr ""
4460 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4461
4462 #. type: TP
4463 #: build/C/man5/elf.5:1605
4464 #, no-wrap
4465 msgid "B<STB_LOCAL>"
4466 msgstr "B<STB_LOCAL>"
4467
4468 #. type: Plain text
4469 #: build/C/man5/elf.5:1611
4470 msgid ""
4471 "Local symbols are not visible outside the object file containing their "
4472 "definition.  Local symbols of the same name may exist in multiple files "
4473 "without interfering with each other."
4474 msgstr ""
4475 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4476 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4477 "る。"
4478
4479 #. type: TP
4480 #: build/C/man5/elf.5:1611
4481 #, no-wrap
4482 msgid "B<STB_GLOBAL>"
4483 msgstr "B<STB_GLOBAL>"
4484
4485 #. type: Plain text
4486 #: build/C/man5/elf.5:1617
4487 msgid ""
4488 "Global symbols are visible to all object files being combined.  One file's "
4489 "definition of a global symbol will satisfy another file's undefined "
4490 "reference to the same symbol."
4491 msgstr ""
4492 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4493 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4494 "の参照は未定義でなければならない。"
4495
4496 #. type: TP
4497 #: build/C/man5/elf.5:1617
4498 #, no-wrap
4499 msgid "B<STB_WEAK>"
4500 msgstr "B<STB_WEAK>"
4501
4502 #. type: Plain text
4503 #: build/C/man5/elf.5:1621
4504 msgid ""
4505 "Weak symbols resemble global symbols, but their definitions have lower "
4506 "precedence."
4507 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4508
4509 #. type: TP
4510 #: build/C/man5/elf.5:1621
4511 #, no-wrap
4512 msgid "B<STB_LOPROC>"
4513 msgstr "B<STB_LOPROC>"
4514
4515 #. type: Plain text
4516 #: build/C/man5/elf.5:1626
4517 msgid ""
4518 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4519 "specific semantics."
4520 msgstr ""
4521 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4522
4523 #. type: TP
4524 #: build/C/man5/elf.5:1626
4525 #, no-wrap
4526 msgid "B<STB_HIPROC>"
4527 msgstr "B<STB_HIPROC>"
4528
4529 #. type: Plain text
4530 #: build/C/man5/elf.5:1631
4531 msgid ""
4532 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4533 "specific semantics."
4534 msgstr ""
4535 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4536
4537 #. type: Plain text
4538 #: build/C/man5/elf.5:1633
4539 msgid "There are macros for packing and unpacking the binding and type fields:"
4540 msgstr ""
4541 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4542 "る:"
4543
4544 #. type: Plain text
4545 #: build/C/man5/elf.5:1640
4546 msgid ""
4547 "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from an "
4548 "I<st_info> value."
4549 msgstr ""
4550 "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値からバ"
4551 "インディングを取り出す。"
4552
4553 #. type: Plain text
4554 #: build/C/man5/elf.5:1644
4555 msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
4556 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
4557
4558 #. type: Plain text
4559 #: build/C/man5/elf.5:1648
4560 msgid "extract a type from an I<st_info> value."
4561 msgstr "I<st_info> の値からタイプを取り出す。"
4562
4563 #. type: Plain text
4564 #: build/C/man5/elf.5:1652
4565 msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
4566 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
4567
4568 #. type: Plain text
4569 #: build/C/man5/elf.5:1656
4570 msgid "convert a binding and a type into an I<st_info> value."
4571 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4572
4573 #. type: TP
4574 #: build/C/man5/elf.5:1658
4575 #, no-wrap
4576 msgid "I<st_other>"
4577 msgstr "I<st_other>"
4578
4579 #.  .Bl -tag -width "STV_PROTECTED"
4580 #. type: Plain text
4581 #: build/C/man5/elf.5:1662
4582 msgid "This member defines the symbol visibility."
4583 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4584
4585 #. type: TP
4586 #: build/C/man5/elf.5:1663
4587 #, no-wrap
4588 msgid "B<STV_DEFAULT>"
4589 msgstr "B<STV_DEFAULT>"
4590
4591 #. type: Plain text
4592 #: build/C/man5/elf.5:1667
4593 msgid "Default symbol visibility rules."
4594 msgstr "デフォルトのシンボル visibility ルール。"
4595
4596 #. type: TP
4597 #: build/C/man5/elf.5:1667
4598 #, no-wrap
4599 msgid "B<STV_INTERNAL>"
4600 msgstr "B<STV_INTERNAL>"
4601
4602 #. type: Plain text
4603 #: build/C/man5/elf.5:1670
4604 msgid "Processor-specific hidden class."
4605 msgstr "プロセッサ固有の隠しクラス。"
4606
4607 #. type: TP
4608 #: build/C/man5/elf.5:1670
4609 #, no-wrap
4610 msgid "B<STV_HIDDEN>"
4611 msgstr "B<STV_HIDDEN>"
4612
4613 #. type: Plain text
4614 #: build/C/man5/elf.5:1673
4615 msgid "Symbol is unavailable in other modules."
4616 msgstr "シンボルは他のモジュールからは利用できない。"
4617
4618 #. type: TP
4619 #: build/C/man5/elf.5:1673
4620 #, no-wrap
4621 msgid "B<STV_PROTECTED>"
4622 msgstr "B<STV_PROTECTED>"
4623
4624 #. type: Plain text
4625 #: build/C/man5/elf.5:1676
4626 msgid "Not preemptible, not exported."
4627 msgstr "横取りできず (not preemptible)、公開されない。"
4628
4629 #. type: Plain text
4630 #: build/C/man5/elf.5:1679
4631 msgid "There are macros for extracting the visibility type:"
4632 msgstr "visibility 種別を抽出するためのマクロがある。"
4633
4634 #. type: Plain text
4635 #: build/C/man5/elf.5:1683
4636 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
4637 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
4638
4639 #. type: TP
4640 #: build/C/man5/elf.5:1685
4641 #, no-wrap
4642 msgid "I<st_shndx>"
4643 msgstr "I<st_shndx>"
4644
4645 #.  .El
4646 #. type: Plain text
4647 #: build/C/man5/elf.5:1693
4648 msgid ""
4649 "Every symbol table entry is \"defined\" in relation to some section.  This "
4650 "member holds the relevant section header table index."
4651 msgstr ""
4652 "各シンボルテーブルエントリは、いくつかのセクションに関連して \"定義されている"
4653 "\"。 このメンバは関連するセクションヘッダテーブルインデックスを保持する。"
4654
4655 #. type: Plain text
4656 #: build/C/man5/elf.5:1701
4657 msgid ""
4658 "Relocation is the process of connecting symbolic references with symbolic "
4659 "definitions.  Relocatable files must have information that describes how to "
4660 "modify their section contents, thus allowing executable and shared object "
4661 "files to hold the right information for a process's program image.  "
4662 "Relocation entries are these data."
4663 msgstr ""
4664 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4665 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4666 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4667 "グラムイメージについての正しい情報を持つことができる。 再配置エントリは以下の"
4668 "ようなデータである。"
4669
4670 #. type: Plain text
4671 #: build/C/man5/elf.5:1703
4672 msgid "Relocation structures that do not need an addend:"
4673 msgstr "加数を必要としない再配置構造体。"
4674
4675 #. type: Plain text
4676 #: build/C/man5/elf.5:1710
4677 #, no-wrap
4678 msgid ""
4679 "typedef struct {\n"
4680 "    Elf32_Addr r_offset;\n"
4681 "    uint32_t   r_info;\n"
4682 "} Elf32_Rel;\n"
4683 msgstr ""
4684 "typedef struct {\n"
4685 "    Elf32_Addr r_offset;\n"
4686 "    uint32_t   r_info;\n"
4687 "} Elf32_Rel;\n"
4688
4689 #. type: Plain text
4690 #: build/C/man5/elf.5:1719
4691 #, no-wrap
4692 msgid ""
4693 "typedef struct {\n"
4694 "    Elf64_Addr r_offset;\n"
4695 "    uint64_t   r_info;\n"
4696 "} Elf64_Rel;\n"
4697 msgstr ""
4698 "typedef struct {\n"
4699 "    Elf64_Addr r_offset;\n"
4700 "    uint64_t   r_info;\n"
4701 "} Elf64_Rel;\n"
4702
4703 #. type: Plain text
4704 #: build/C/man5/elf.5:1723
4705 msgid "Relocation structures that need an addend:"
4706 msgstr "加数を必要とする再配置構造体。"
4707
4708 #. type: Plain text
4709 #: build/C/man5/elf.5:1731
4710 #, no-wrap
4711 msgid ""
4712 "typedef struct {\n"
4713 "    Elf32_Addr r_offset;\n"
4714 "    uint32_t   r_info;\n"
4715 "    int32_t    r_addend;\n"
4716 "} Elf32_Rela;\n"
4717 msgstr ""
4718 "typedef struct {\n"
4719 "    Elf32_Addr r_offset;\n"
4720 "    uint32_t   r_info;\n"
4721 "    int32_t    r_addend;\n"
4722 "} Elf32_Rela;\n"
4723
4724 #. type: Plain text
4725 #: build/C/man5/elf.5:1741
4726 #, no-wrap
4727 msgid ""
4728 "typedef struct {\n"
4729 "    Elf64_Addr r_offset;\n"
4730 "    uint64_t   r_info;\n"
4731 "    int64_t    r_addend;\n"
4732 "} Elf64_Rela;\n"
4733 msgstr ""
4734 "typedef struct {\n"
4735 "    Elf64_Addr r_offset;\n"
4736 "    uint64_t   r_info;\n"
4737 "    int64_t    r_addend;\n"
4738 "} Elf64_Rela;\n"
4739
4740 #. type: TP
4741 #: build/C/man5/elf.5:1744
4742 #, no-wrap
4743 msgid "I<r_offset>"
4744 msgstr "I<r_offset>"
4745
4746 #. type: Plain text
4747 #: build/C/man5/elf.5:1752
4748 msgid ""
4749 "This member gives the location at which to apply the relocation action.  For "
4750 "a relocatable file, the value is the byte offset from the beginning of the "
4751 "section to the storage unit affected by the relocation.  For an executable "
4752 "file or shared object, the value is the virtual address of the storage unit "
4753 "affected by the relocation."
4754 msgstr ""
4755 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4756 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4757 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4758 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4759
4760 #. type: TP
4761 #: build/C/man5/elf.5:1752
4762 #, no-wrap
4763 msgid "I<r_info>"
4764 msgstr "I<r_info>"
4765
4766 #. type: Plain text
4767 #: build/C/man5/elf.5:1767
4768 msgid ""
4769 "This member gives both the symbol table index with respect to which the "
4770 "relocation must be made and the type of relocation to apply.  Relocation "
4771 "types are processor-specific.  When the text refers to a relocation entry's "
4772 "relocation type or symbol table index, it means the result of applying B<ELF"
4773 "[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4774 "I<r_info> member."
4775 msgstr ""
4776 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4777 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4778 "る。 テキストが再配置エントリの再配置タイプ またはシンボルテーブルインデック"
4779 "スを参照している場合、 それぞれエントリの I<r_info> メンバに対して、それぞれ "
4780 "B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4781
4782 #. type: TP
4783 #: build/C/man5/elf.5:1767
4784 #, no-wrap
4785 msgid "I<r_addend>"
4786 msgstr "I<r_addend>"
4787
4788 #.  .El
4789 #. type: Plain text
4790 #: build/C/man5/elf.5:1772
4791 msgid ""
4792 "This member specifies a constant addend used to compute the value to be "
4793 "stored into the relocatable field."
4794 msgstr ""
4795 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4796 "値を計算するために使われる。"
4797
4798 #. type: Plain text
4799 #: build/C/man5/elf.5:1777
4800 msgid ""
4801 "The .dynamic section contains a series of structures that hold relevant "
4802 "dynamic linking information.  The d_tag member controls the interpretation "
4803 "of d_un."
4804 msgstr ""
4805 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4806 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4807
4808 #. type: Plain text
4809 #: build/C/man5/elf.5:1788
4810 #, no-wrap
4811 msgid ""
4812 "typedef struct {\n"
4813 "    Elf32_Sword    d_tag;\n"
4814 "    union {\n"
4815 "        Elf32_Word d_val;\n"
4816 "        Elf32_Addr d_ptr;\n"
4817 "    } d_un;\n"
4818 "} Elf32_Dyn;\n"
4819 "extern Elf32_Dyn _DYNAMIC[];\n"
4820 msgstr ""
4821 "typedef struct {\n"
4822 "    Elf32_Sword    d_tag;\n"
4823 "    union {\n"
4824 "        Elf32_Word d_val;\n"
4825 "        Elf32_Addr d_ptr;\n"
4826 "    } d_un;\n"
4827 "} Elf32_Dyn;\n"
4828 "extern Elf32_Dyn _DYNAMIC[];\n"
4829
4830 #. type: Plain text
4831 #: build/C/man5/elf.5:1801
4832 #, no-wrap
4833 msgid ""
4834 "typedef struct {\n"
4835 "    Elf64_Sxword    d_tag;\n"
4836 "    union {\n"
4837 "        Elf64_Xword d_val;\n"
4838 "        Elf64_Addr  d_ptr;\n"
4839 "    } d_un;\n"
4840 "} Elf64_Dyn;\n"
4841 "extern Elf64_Dyn _DYNAMIC[];\n"
4842 msgstr ""
4843 "typedef struct {\n"
4844 "    Elf64_Sxword    d_tag;\n"
4845 "    union {\n"
4846 "        Elf64_Xword d_val;\n"
4847 "        Elf64_Addr  d_ptr;\n"
4848 "    } d_un;\n"
4849 "} Elf64_Dyn;\n"
4850 "extern Elf64_Dyn _DYNAMIC[];\n"
4851
4852 #. type: TP
4853 #: build/C/man5/elf.5:1804
4854 #, no-wrap
4855 msgid "I<d_tag>"
4856 msgstr "I<d_tag>"
4857
4858 #.  .Bl -tag -width "DT_SYMBOLIC"
4859 #. type: Plain text
4860 #: build/C/man5/elf.5:1808
4861 msgid "This member may have any of the following values:"
4862 msgstr "このメンバは以下の値を持つことができる:"
4863
4864 #. type: TP
4865 #: build/C/man5/elf.5:1809
4866 #, no-wrap
4867 msgid "B<DT_NULL>"
4868 msgstr "B<DT_NULL>"
4869
4870 #. type: Plain text
4871 #: build/C/man5/elf.5:1812
4872 msgid "Marks end of dynamic section"
4873 msgstr "動的セクションの終りのマーク"
4874
4875 #. type: TP
4876 #: build/C/man5/elf.5:1812
4877 #, no-wrap
4878 msgid "B<DT_NEEDED>"
4879 msgstr "B<DT_NEEDED>"
4880
4881 #. type: Plain text
4882 #: build/C/man5/elf.5:1815
4883 msgid "String table offset to name of a needed library"
4884 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4885
4886 #. type: TP
4887 #: build/C/man5/elf.5:1815
4888 #, no-wrap
4889 msgid "B<DT_PLTRELSZ>"
4890 msgstr "B<DT_PLTRELSZ>"
4891
4892 #. type: Plain text
4893 #: build/C/man5/elf.5:1818
4894 msgid "Size in bytes of PLT relocs"
4895 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4896
4897 #. type: TP
4898 #: build/C/man5/elf.5:1818
4899 #, no-wrap
4900 msgid "B<DT_PLTGOT>"
4901 msgstr "B<DT_PLTGOT>"
4902
4903 #. type: Plain text
4904 #: build/C/man5/elf.5:1821
4905 msgid "Address of PLT and/or GOT"
4906 msgstr "PLT と GOT (または何れか一方) のアドレス"
4907
4908 #. type: TP
4909 #: build/C/man5/elf.5:1821
4910 #, no-wrap
4911 msgid "B<DT_HASH>"
4912 msgstr "B<DT_HASH>"
4913
4914 #. type: Plain text
4915 #: build/C/man5/elf.5:1824
4916 msgid "Address of symbol hash table"
4917 msgstr "シンボルハッシュテーブルのアドレス"
4918
4919 #. type: TP
4920 #: build/C/man5/elf.5:1824
4921 #, no-wrap
4922 msgid "B<DT_STRTAB>"
4923 msgstr "B<DT_STRTAB>"
4924
4925 #. type: Plain text
4926 #: build/C/man5/elf.5:1827
4927 msgid "Address of string table"
4928 msgstr "文字列テーブルのアドレス"
4929
4930 #. type: TP
4931 #: build/C/man5/elf.5:1827
4932 #, no-wrap
4933 msgid "B<DT_SYMTAB>"
4934 msgstr "B<DT_SYMTAB>"
4935
4936 #. type: Plain text
4937 #: build/C/man5/elf.5:1830
4938 msgid "Address of symbol table"
4939 msgstr "シンボルテーブルのアドレス"
4940
4941 #. type: TP
4942 #: build/C/man5/elf.5:1830
4943 #, no-wrap
4944 msgid "B<DT_RELA>"
4945 msgstr "B<DT_RELA>"
4946
4947 #. type: Plain text
4948 #: build/C/man5/elf.5:1833
4949 msgid "Address of Rela relocs table"
4950 msgstr "Rela 再配置テーブルのアドレス"
4951
4952 #. type: TP
4953 #: build/C/man5/elf.5:1833
4954 #, no-wrap
4955 msgid "B<DT_RELASZ>"
4956 msgstr "B<DT_RELASZ>"
4957
4958 #. type: Plain text
4959 #: build/C/man5/elf.5:1836
4960 msgid "Size in bytes of Rela table"
4961 msgstr "Rela テーブルのサイズ (バイト単位)"
4962
4963 #. type: TP
4964 #: build/C/man5/elf.5:1836
4965 #, no-wrap
4966 msgid "B<DT_RELAENT>"
4967 msgstr "B<DT_RELAENT>"
4968
4969 #. type: Plain text
4970 #: build/C/man5/elf.5:1839
4971 msgid "Size in bytes of a Rela table entry"
4972 msgstr "Rela テーブルエントリのサイズ (バイト単位)"
4973
4974 #. type: TP
4975 #: build/C/man5/elf.5:1839
4976 #, no-wrap
4977 msgid "B<DT_STRSZ>"
4978 msgstr "B<DT_STRSZ>"
4979
4980 #. type: Plain text
4981 #: build/C/man5/elf.5:1842
4982 msgid "Size in bytes of string table"
4983 msgstr "文字列テーブルのサイズ (バイト単位)"
4984
4985 #. type: TP
4986 #: build/C/man5/elf.5:1842
4987 #, no-wrap
4988 msgid "B<DT_SYMENT>"
4989 msgstr "B<DT_SYMENT>"
4990
4991 #. type: Plain text
4992 #: build/C/man5/elf.5:1845
4993 msgid "Size in bytes of a symbol table entry"
4994 msgstr "シンボルテーブルエントリのサイズ (バイト単位)"
4995
4996 #. type: TP
4997 #: build/C/man5/elf.5:1845
4998 #, no-wrap
4999 msgid "B<DT_INIT>"
5000 msgstr "B<DT_INIT>"
5001
5002 #. type: Plain text
5003 #: build/C/man5/elf.5:1848
5004 msgid "Address of the initialization function"
5005 msgstr "初期化関数のアドレス"
5006
5007 #. type: TP
5008 #: build/C/man5/elf.5:1848
5009 #, no-wrap
5010 msgid "B<DT_FINI>"
5011 msgstr "B<DT_FINI>"
5012
5013 #. type: Plain text
5014 #: build/C/man5/elf.5:1851
5015 msgid "Address of the termination function"
5016 msgstr "終了関数のアドレス"
5017
5018 #. type: TP
5019 #: build/C/man5/elf.5:1851
5020 #, no-wrap
5021 msgid "B<DT_SONAME>"
5022 msgstr "B<DT_SONAME>"
5023
5024 #. type: Plain text
5025 #: build/C/man5/elf.5:1854
5026 msgid "String table offset to name of shared object"
5027 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5028
5029 #. type: TP
5030 #: build/C/man5/elf.5:1854
5031 #, no-wrap
5032 msgid "B<DT_RPATH>"
5033 msgstr "B<DT_RPATH>"
5034
5035 #. type: Plain text
5036 #: build/C/man5/elf.5:1857
5037 msgid "String table offset to library search path (deprecated)"
5038 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5039
5040 #. type: TP
5041 #: build/C/man5/elf.5:1857
5042 #, no-wrap
5043 msgid "B<DT_SYMBOLIC>"
5044 msgstr "B<DT_SYMBOLIC>"
5045
5046 #. type: Plain text
5047 #: build/C/man5/elf.5:1860
5048 msgid ""
5049 "Alert linker to search this shared object before the executable for symbols"
5050 msgstr ""
5051 "リンカがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場合"
5052 "は、警告を出す。"
5053
5054 #. type: TP
5055 #: build/C/man5/elf.5:1860
5056 #, no-wrap
5057 msgid "B<DT_REL>"
5058 msgstr "B<DT_REL>"
5059
5060 #. type: Plain text
5061 #: build/C/man5/elf.5:1863
5062 msgid "Address of Rel relocs table"
5063 msgstr "Rel 再配置テーブルのアドレス"
5064
5065 #. type: TP
5066 #: build/C/man5/elf.5:1863
5067 #, no-wrap
5068 msgid "B<DT_RELSZ>"
5069 msgstr "B<DT_RELSZ>"
5070
5071 #. type: Plain text
5072 #: build/C/man5/elf.5:1866
5073 msgid "Size in bytes of Rel table"
5074 msgstr "Rel テーブルのサイズ (バイト単位)"
5075
5076 #. type: TP
5077 #: build/C/man5/elf.5:1866
5078 #, no-wrap
5079 msgid "B<DT_RELENT>"
5080 msgstr "B<DT_RELENT>"
5081
5082 #. type: Plain text
5083 #: build/C/man5/elf.5:1869
5084 msgid "Size in bytes of a Rel table entry"
5085 msgstr "Rel テーブルエントリのサイズ (バイト単位)"
5086
5087 #. type: TP
5088 #: build/C/man5/elf.5:1869
5089 #, no-wrap
5090 msgid "B<DT_PLTREL>"
5091 msgstr "B<DT_PLTREL>"
5092
5093 #. type: Plain text
5094 #: build/C/man5/elf.5:1872
5095 msgid "Type of reloc the PLT refers (Rela or Rel)"
5096 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5097
5098 #. type: TP
5099 #: build/C/man5/elf.5:1872
5100 #, no-wrap
5101 msgid "B<DT_DEBUG>"
5102 msgstr "B<DT_DEBUG>"
5103
5104 #. type: Plain text
5105 #: build/C/man5/elf.5:1875
5106 msgid "Undefined use for debugging"
5107 msgstr "デバッグのために使用されている。内容は定義されていない。"
5108
5109 #. type: TP
5110 #: build/C/man5/elf.5:1875
5111 #, no-wrap
5112 msgid "B<DT_TEXTREL>"
5113 msgstr "B<DT_TEXTREL>"
5114
5115 #. type: Plain text
5116 #: build/C/man5/elf.5:1878
5117 msgid ""
5118 "Absence of this indicates no relocs should apply to a nonwritable segment"
5119 msgstr ""
5120 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5121 "い。"
5122
5123 #. type: TP
5124 #: build/C/man5/elf.5:1878
5125 #, no-wrap
5126 msgid "B<DT_JMPREL>"
5127 msgstr "B<DT_JMPREL>"
5128
5129 #. type: Plain text
5130 #: build/C/man5/elf.5:1881
5131 msgid "Address of reloc entries solely for the PLT"
5132 msgstr "PLT 専用の再配置エントリのアドレス"
5133
5134 #. type: TP
5135 #: build/C/man5/elf.5:1881
5136 #, no-wrap
5137 msgid "B<DT_BIND_NOW>"
5138 msgstr "B<DT_BIND_NOW>"
5139
5140 #. type: Plain text
5141 #: build/C/man5/elf.5:1885
5142 msgid ""
5143 "Instruct dynamic linker to process all relocs before transferring control to "
5144 "the executable"
5145 msgstr ""
5146 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカに指"
5147 "示する。"
5148
5149 #. type: TP
5150 #: build/C/man5/elf.5:1885
5151 #, no-wrap
5152 msgid "B<DT_RUNPATH>"
5153 msgstr "B<DT_RUNPATH>"
5154
5155 #. type: Plain text
5156 #: build/C/man5/elf.5:1888
5157 msgid "String table offset to library search path"
5158 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5159
5160 #. type: TP
5161 #: build/C/man5/elf.5:1888
5162 #, no-wrap
5163 msgid "B<DT_LOPROC>"
5164 msgstr "B<DT_LOPROC>"
5165
5166 #. type: Plain text
5167 #: build/C/man5/elf.5:1891
5168 msgid "Start of processor-specific semantics"
5169 msgstr "プロセッサ固有の意味の開始"
5170
5171 #. type: TP
5172 #: build/C/man5/elf.5:1891
5173 #, no-wrap
5174 msgid "B<DT_HIPROC>"
5175 msgstr "B<DT_HIPROC>"
5176
5177 #. type: Plain text
5178 #: build/C/man5/elf.5:1894
5179 msgid "End of processor-specific semantics"
5180 msgstr "プロセッサ固有の意味の終了"
5181
5182 #. type: TP
5183 #: build/C/man5/elf.5:1896
5184 #, no-wrap
5185 msgid "I<d_val>"
5186 msgstr "I<d_val>"
5187
5188 #. type: Plain text
5189 #: build/C/man5/elf.5:1899
5190 msgid "This member represents integer values with various interpretations."
5191 msgstr "このメンバは様々な意味に解釈される整数値である。"
5192
5193 #. type: TP
5194 #: build/C/man5/elf.5:1899
5195 #, no-wrap
5196 msgid "I<d_ptr>"
5197 msgstr "I<d_ptr>"
5198
5199 #. type: Plain text
5200 #: build/C/man5/elf.5:1907
5201 msgid ""
5202 "This member represents program virtual addresses.  When interpreting these "
5203 "addresses, the actual address should be computed based on the original file "
5204 "value and memory base address.  Files do not contain relocation entries to "
5205 "fixup these addresses."
5206 msgstr ""
5207 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5208 "に、 実際のアドレスは元々のファイルの値と メモリの基底アドレスから計算され"
5209 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリを含めてはな"
5210 "らない。"
5211
5212 #. type: TP
5213 #: build/C/man5/elf.5:1907
5214 #, no-wrap
5215 msgid "I<_DYNAMIC>"
5216 msgstr "I<_DYNAMIC>"
5217
5218 #.  .El
5219 #. type: Plain text
5220 #: build/C/man5/elf.5:1912
5221 msgid ""
5222 "Array containing all the dynamic structures in the .dynamic section.  This "
5223 "is automatically populated by the linker."
5224 msgstr ""
5225 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリンカ"
5226 "に渡される。"
5227
5228 #.  OpenBSD
5229 #.  ELF support first appeared in
5230 #.  OpenBSD 1.2,
5231 #.  although not all supported platforms use it as the native
5232 #.  binary file format.
5233 #. type: Plain text
5234 #: build/C/man5/elf.5:1921
5235 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
5236 msgstr ""
5237 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5238 "ELF フォーマットは採択された標準である。"
5239
5240 #.  .SH AUTHORS
5241 #.  The original version of this manual page was written by
5242 #.  .An Jeroen Ruigrok van der Werven
5243 #.  .Aq asmodai@FreeBSD.org
5244 #.  with inspiration from BSDi's
5245 #.  .Bsx
5246 #.  .Nm elf
5247 #.  man page.
5248 #. type: Plain text
5249 #: build/C/man5/elf.5:1939
5250 msgid ""
5251 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5252 "Linux extensions.  Sun, BSD and AMD64 also support them; for further "
5253 "information, look under SEE ALSO."
5254 msgstr ""
5255 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5256 "で\n"
5257 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5258
5259 #. type: Plain text
5260 #: build/C/man5/elf.5:1946
5261 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5262 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5263
5264 #. type: Plain text
5265 #: build/C/man5/elf.5:1949
5266 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5267 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5268
5269 #. type: Plain text
5270 #: build/C/man5/elf.5:1952
5271 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5272 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5273
5274 #. type: Plain text
5275 #: build/C/man5/elf.5:1956
5276 msgid ""
5277 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5278 "(ELF)>."
5279 msgstr ""
5280 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5281 "(ELF)>."
5282
5283 #. type: Plain text
5284 #: build/C/man5/elf.5:1959
5285 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5286 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5287
5288 #. type: Plain text
5289 #: build/C/man5/elf.5:1962
5290 msgid ""
5291 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5292 "Processor Supplement>."
5293 msgstr ""
5294 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5295 "Processor Supplement>."
5296
5297 #. type: TH
5298 #: build/C/man3/end.3:26
5299 #, no-wrap
5300 msgid "END"
5301 msgstr "END"
5302
5303 #. type: TH
5304 #: build/C/man3/end.3:26
5305 #, no-wrap
5306 msgid "2008-07-17"
5307 msgstr "2008-07-17"
5308
5309 #. type: Plain text
5310 #: build/C/man3/end.3:29
5311 msgid "etext, edata, end - end of program segments"
5312 msgstr "etext, edata, end - プログラムセグメントの終わり"
5313
5314 #. type: Plain text
5315 #: build/C/man3/end.3:34
5316 #, no-wrap
5317 msgid ""
5318 "B<extern>I< etext>B<;>\n"
5319 "B<extern>I< edata>B<;>\n"
5320 "B<extern>I< end>B<;>\n"
5321 msgstr ""
5322 "B<extern>I< etext>B<;>\n"
5323 "B<extern>I< edata>B<;>\n"
5324 "B<extern>I< end>B<;>\n"
5325
5326 #. type: Plain text
5327 #: build/C/man3/end.3:38
5328 msgid ""
5329 "The addresses of these symbols indicate the end of various program segments:"
5330 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5331
5332 #. type: TP
5333 #: build/C/man3/end.3:38
5334 #, no-wrap
5335 msgid "I<etext>"
5336 msgstr "I<etext>"
5337
5338 #. type: Plain text
5339 #: build/C/man3/end.3:42
5340 msgid ""
5341 "This is the first address past the end of the text segment (the program "
5342 "code)."
5343 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5344
5345 #. type: TP
5346 #: build/C/man3/end.3:42
5347 #, no-wrap
5348 msgid "I<edata>"
5349 msgstr "I<edata>"
5350
5351 #. type: Plain text
5352 #: build/C/man3/end.3:46
5353 msgid "This is the first address past the end of the initialized data segment."
5354 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5355
5356 #. type: TP
5357 #: build/C/man3/end.3:46
5358 #, no-wrap
5359 msgid "I<end>"
5360 msgstr "I<end>"
5361
5362 #. type: Plain text
5363 #: build/C/man3/end.3:50
5364 msgid ""
5365 "This is the first address past the end of the uninitialized data segment "
5366 "(also known as the BSS segment)."
5367 msgstr ""
5368 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
5369 "のアドレス。"
5370
5371 #. type: Plain text
5372 #: build/C/man3/end.3:53
5373 msgid ""
5374 "Although these symbols have long been provided on most UNIX systems, they "
5375 "are not standardized; use with caution."
5376 msgstr ""
5377 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5378 "てはいない。注意して使うこと。"
5379
5380 #. type: Plain text
5381 #: build/C/man3/end.3:56
5382 msgid ""
5383 "The program must explicitly declare these symbols; they are not defined in "
5384 "any header file."
5385 msgstr ""
5386 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5387 "ヘッダファイルでも定義されていない。"
5388
5389 #. type: Plain text
5390 #: build/C/man3/end.3:64
5391 msgid ""
5392 "On some systems the names of these symbols are preceded by underscores, "
5393 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
5394 "programs compiled on Linux."
5395 msgstr ""
5396 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5397 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5398 "ログラムでは、 これらのシンボルでも定義される。"
5399
5400 #. type: Plain text
5401 #: build/C/man3/end.3:76
5402 msgid ""
5403 "At the start of program execution, the program break will be somewhere near "
5404 "I<&end> (perhaps at the start of the following page).  However, the break "
5405 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
5406 "B<sbrk>(2)  with an argument of zero to find the current value of the "
5407 "program break."
5408 msgstr ""
5409 "プログラムの実行開始時に、プログラム・ブレークは I<&end> の近くのどこか (おそ"
5410 "らく次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  で"
5411 "メモリが割り当てられるに連れて、プログラム・ブレークは変化していく。 引き数"
5412 "に 0 を指定して B<sbrk>(2)  を呼び出すことで、プログラム・ブレークの現在値を"
5413 "知ることができる。"
5414
5415 #. type: Plain text
5416 #: build/C/man3/end.3:78
5417 msgid "When run, the program below produces output such as the following:"
5418 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5419
5420 #. type: Plain text
5421 #: build/C/man3/end.3:86
5422 #, no-wrap
5423 msgid ""
5424 "$B< ./a.out>\n"
5425 "First address past:\n"
5426 "    program text (etext)       0x8048568\n"
5427 "    initialized data (edata)   0x804a01c\n"
5428 "    uninitialized data (end)   0x804a024\n"
5429 msgstr ""
5430 "$B< ./a.out>\n"
5431 "First address past:\n"
5432 "    program text (etext)       0x8048568\n"
5433 "    initialized data (edata)   0x804a01c\n"
5434 "    uninitialized data (end)   0x804a024\n"
5435
5436 #. type: SS
5437 #: build/C/man3/end.3:88
5438 #, no-wrap
5439 msgid "Program source"
5440 msgstr "プログラムのソース"
5441
5442 #. type: Plain text
5443 #: build/C/man3/end.3:93
5444 #, no-wrap
5445 msgid ""
5446 "#include E<lt>stdio.hE<gt>\n"
5447 "#include E<lt>stdlib.hE<gt>\n"
5448 msgstr ""
5449 "#include E<lt>stdio.hE<gt>\n"
5450 "#include E<lt>stdlib.hE<gt>\n"
5451
5452 #. type: Plain text
5453 #: build/C/man3/end.3:96
5454 #, no-wrap
5455 msgid ""
5456 "extern char etext, edata, end; /* The symbols must have some type,\n"
5457 "                                   or \"gcc -Wall\" complains */\n"
5458 msgstr ""
5459 "extern char etext, edata, end; /* The symbols must have some type,\n"
5460 "                                   or \"gcc -Wall\" complains */\n"
5461
5462 #. type: Plain text
5463 #: build/C/man3/end.3:104
5464 #, no-wrap
5465 msgid ""
5466 "int\n"
5467 "main(int argc, char *argv[])\n"
5468 "{\n"
5469 "    printf(\"First address past:\\en\");\n"
5470 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5471 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5472 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5473 msgstr ""
5474 "int\n"
5475 "main(int argc, char *argv[])\n"
5476 "{\n"
5477 "    printf(\"First address past:\\en\");\n"
5478 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5479 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5480 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5481
5482 #. type: Plain text
5483 #: build/C/man3/end.3:113
5484 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5485 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5486
5487 #. type: TH
5488 #: build/C/man8/ld.so.8:5
5489 #, no-wrap
5490 msgid "LD.SO"
5491 msgstr "LD.SO"
5492
5493 #. type: Plain text
5494 #: build/C/man8/ld.so.8:8
5495 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5496 msgstr "ld.so, ld-linux.so* - 動的なリンカ/ローダ"
5497
5498 #. type: Plain text
5499 #: build/C/man8/ld.so.8:15
5500 msgid ""
5501 "The dynamic linker can be run either indirectly by running some dynamically "
5502 "linked program or library (in which case no command-line options to the "
5503 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5504 "is stored in the B<.interp> section of the program is executed) or directly "
5505 "by running:"
5506 msgstr ""
5507 "動的リンカは、動的にリンクされたプログラムやライブラリの実行によって 間接的に"
5508 "実行することができる (ELF の場合、動的リンカにコマンドラインオプションを渡す"
5509 "ことはできず、 プログラムの B<.interp> セクションに入っている動的リンカが実行"
5510 "される)。 また以下のように直接実行することもできる"
5511
5512 #. type: Plain text
5513 #: build/C/man8/ld.so.8:18
5514 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5515 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5516
5517 #. type: Plain text
5518 #: build/C/man8/ld.so.8:25
5519 msgid ""
5520 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5521 "needed by a program, prepare the program to run, and then run it."
5522 msgstr ""
5523 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5524 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5525
5526 #. type: Plain text
5527 #: build/C/man8/ld.so.8:32
5528 msgid ""
5529 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
5530 "static> option was given to B<ld>(1)  during compilation."
5531 msgstr ""
5532 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
5533 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5534
5535 #. type: Plain text
5536 #: build/C/man8/ld.so.8:45
5537 msgid ""
5538 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5539 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5540 "so.2> for glibc2), which everybody has been using for years now.  Otherwise "
5541 "both have the same behavior, and use the same support files and programs "
5542 "B<ldd>(1), B<ldconfig>(8)  and I</etc/ld.so.conf>."
5543 msgstr ""
5544 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5545 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5546 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
5547 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5548 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5549 "so.conf> を使用する。"
5550
5551 #. type: Plain text
5552 #: build/C/man8/ld.so.8:53
5553 msgid ""
5554 "When resolving library dependencies, the dynamic linker first inspects each "
5555 "dependency string to see if it contains a slash (this can occur if a library "
5556 "pathname containing slashes was specified at link time).  If a slash is "
5557 "found, then the dependency string is interpreted as a (relative or absolute) "
5558 "pathname, and the library is loaded using that pathname."
5559 msgstr ""
5560 "ライブラリの依存関係を解決する際、動的リンカは、最初に、依存関係の各文字列が"
5561 "スラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にスラッ"
5562 "シュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかった場"
5563 "合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として解釈"
5564 "され、そのパス名を使ってそのライブラリはロードされる。"
5565
5566 #. type: Plain text
5567 #: build/C/man8/ld.so.8:56
5568 msgid ""
5569 "If a library dependency does not contain a slash, then it is searched for in "
5570 "the following order:"
5571 msgstr ""
5572 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5573
5574 #. type: Plain text
5575 #: build/C/man8/ld.so.8:61
5576 msgid ""
5577 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5578 "attribute of the binary if present and DT_RUNPATH attribute does not exist.  "
5579 "Use of DT_RPATH is deprecated."
5580 msgstr ""
5581 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5582 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5583 "の使用は推奨されない。"
5584
5585 #. type: Plain text
5586 #: build/C/man8/ld.so.8:66
5587 msgid ""
5588 "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the executable "
5589 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5590 msgstr ""
5591 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5592 "group-ID バイナリの場合、 これは無視される。"
5593
5594 #. type: Plain text
5595 #: build/C/man8/ld.so.8:70
5596 msgid ""
5597 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5598 "attribute of the binary if present."
5599 msgstr ""
5600 "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5601 "DT_RUNPATH で指定されたディレクトリを使用する。"
5602
5603 #. type: Plain text
5604 #: build/C/man8/ld.so.8:80
5605 msgid ""
5606 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5607 "candidate libraries previously found in the augmented library path.  If, "
5608 "however, the binary was linked with the B<-z nodeflib> linker option, "
5609 "libraries in the default library paths are skipped.  Libraries installed in "
5610 "hardware capability directories (see below)  are preferred to other "
5611 "libraries."
5612 msgstr ""
5613 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5614 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5615 "イルの情報を集めたものである。ただし、バイナリがリンカオプション B<-z "
5616 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5617 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5618 "れたライブラリは、他のライブラリよりも優先される。"
5619
5620 #. type: Plain text
5621 #: build/C/man8/ld.so.8:88
5622 msgid ""
5623 "In the default path I</lib>, and then I</usr/lib>.  If the binary was linked "
5624 "with the B<-z nodeflib> linker option, this step is skipped."
5625 msgstr ""
5626 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリンカ"
5627 "オプション B<-z nodeflib> でリンクされている場合、このステップはスキップされ"
5628 "る。"
5629
5630 #. type: SS
5631 #: build/C/man8/ld.so.8:88
5632 #, no-wrap
5633 msgid "Rpath token expansion"
5634 msgstr "rpath トークンの展開"
5635
5636 #. type: Plain text
5637 #: build/C/man8/ld.so.8:92
5638 msgid ""
5639 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5640 "DT_RUNPATH); those strings are substituted as follows"
5641 msgstr ""
5642 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5643 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5644
5645 #. type: TP
5646 #: build/C/man8/ld.so.8:92
5647 #, no-wrap
5648 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5649 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5650
5651 #. type: Plain text
5652 #: build/C/man8/ld.so.8:99
5653 msgid ""
5654 "This expands to the directory containing the application executable.  Thus, "
5655 "an application located in I<somedir/app> could be compiled with"
5656 msgstr ""
5657 "アプリケーションの実行ファイルが入っているディレクトリに展開される。 したがっ"
5658 "て、 I<somedir/app> に置かれたアプリケーションを"
5659
5660 #. type: Plain text
5661 #: build/C/man8/ld.so.8:101
5662 #, no-wrap
5663 msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5664 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5665
5666 #. type: Plain text
5667 #: build/C/man8/ld.so.8:111
5668 msgid ""
5669 "so that it finds an associated shared library in I<somedir/lib> no matter "
5670 "where I<somedir> is located in the directory hierarchy.  This facilitates "
5671 "the creation of \"turn-key\" applications that do not need to be installed "
5672 "into special directories, but can instead be unpacked into any directory and "
5673 "still find their own shared libraries."
5674 msgstr ""
5675 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5676 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5677 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5678 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5679 "ションを作成することができる。"
5680
5681 #. type: TP
5682 #: build/C/man8/ld.so.8:111
5683 #, no-wrap
5684 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5685 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5686
5687 #. type: Plain text
5688 #: build/C/man8/ld.so.8:123
5689 msgid ""
5690 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5691 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5692 msgstr ""
5693 "アーキテクチャに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 では "
5694 "I<lib64> に、 x86-32 では I<lib> に展開される)。"
5695
5696 #. type: TP
5697 #: build/C/man8/ld.so.8:123
5698 #, no-wrap
5699 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5700 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5701
5702 #
5703 #
5704 #.  To get an idea of the places that $PLATFORM would match,
5705 #.  look at the output of the following:
5706 #.      mkdir /tmp/d
5707 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5708 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5709 #.  Don't do this!!
5710 #. type: Plain text
5711 #: build/C/man8/ld.so.8:141
5712 msgid ""
5713 "This expands to a string corresponding to the processor type of the host "
5714 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
5715 "provide a platform string to the dynamic linker.  The value of this string "
5716 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5717 "B<getauxval>(3))."
5718 msgstr ""
5719 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5720 "\"x86_64\")。\n"
5721 "いくつかのアーキテクチャでは、 Linux カーネルから動的リンカにプラットフォーム"
5722 "を表す文字列が提供されない。 この文字列の値は補助ベクトルの B<AT_PLATFORM> 値"
5723 "から取得される (B<getauxval>(3) 参照)。"
5724
5725 #. type: SH
5726 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5727 #, no-wrap
5728 msgid "OPTIONS"
5729 msgstr "オプション"
5730
5731 #. type: TP
5732 #: build/C/man8/ld.so.8:142
5733 #, no-wrap
5734 msgid "B<--list>"
5735 msgstr "B<--list>"
5736
5737 #. type: Plain text
5738 #: build/C/man8/ld.so.8:145
5739 msgid "List all dependencies and how they are resolved."
5740 msgstr "全ての依存関係とその解決法をリストする。"
5741
5742 #. type: TP
5743 #: build/C/man8/ld.so.8:145
5744 #, no-wrap
5745 msgid "B<--verify>"
5746 msgstr "B<--verify>"
5747
5748 #. type: Plain text
5749 #: build/C/man8/ld.so.8:149
5750 msgid ""
5751 "Verify that program is dynamically linked and this dynamic linker can handle "
5752 "it."
5753 msgstr ""
5754 "プログラムが動的にリンクされているかと、 動的リンカがそのプログラムを扱えるか"
5755 "を検証する。"
5756
5757 #. type: TP
5758 #: build/C/man8/ld.so.8:149
5759 #, no-wrap
5760 msgid "B<--library-path PATH>"
5761 msgstr "B<--library-path PATH>"
5762
5763 #. type: Plain text
5764 #: build/C/man8/ld.so.8:154
5765 msgid ""
5766 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5767 "below)."
5768 msgstr ""
5769 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5770 "指定した PATH を使用する (下記参照)。"
5771
5772 #. type: TP
5773 #: build/C/man8/ld.so.8:154
5774 #, no-wrap
5775 msgid "B<--inhibit-rpath LIST>"
5776 msgstr "B<--inhibit-rpath LIST>"
5777
5778 #. type: Plain text
5779 #: build/C/man8/ld.so.8:160
5780 msgid ""
5781 "Ignore RPATH and RUNPATH information in object names in LIST.  This option "
5782 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5783 msgstr ""
5784 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5785 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5786
5787 #. type: TP
5788 #: build/C/man8/ld.so.8:160
5789 #, no-wrap
5790 msgid "B<--audit LIST>"
5791 msgstr "B<--audit LIST>"
5792
5793 #. type: Plain text
5794 #: build/C/man8/ld.so.8:163
5795 msgid "Use objects named in LIST as auditors."
5796 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5797
5798 #. type: SH
5799 #: build/C/man8/ld.so.8:163
5800 #, no-wrap
5801 msgid "HARDWARE CAPABILITIES"
5802 msgstr "ハードウェア機能"
5803
5804 #. type: Plain text
5805 #: build/C/man8/ld.so.8:174
5806 msgid ""
5807 "Some libraries are compiled using hardware-specific instructions which do "
5808 "not exist on every CPU.  Such libraries should be installed in directories "
5809 "whose names define the required hardware capabilities, such as I</usr/lib/"
5810 "sse2/>.  The dynamic linker checks these directories against the hardware of "
5811 "the machine and selects the most suitable version of a given library.  "
5812 "Hardware capability directories can be cascaded to combine CPU features.  "
5813 "The list of supported hardware capability names depends on the CPU.  The "
5814 "following names are currently recognized:"
5815 msgstr ""
5816 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5817 "有\n"
5818 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5819 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5820 "規\n"
5821 "定する名前のディレクトリにインストールすべきである。\n"
5822 "動的リンカは、マシンのハードウェアに基づいてこれらのディレクトリを確認し、\n"
5823 "指定されたライブラリに最も適したバージョンを選択する。\n"
5824 "ハードウェア機能ディレクトリはつなげることができ、\n"
5825 "複数の CPU 機能を組み合わることができる。\n"
5826 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5827 "現在のところ、以下の名前が認識される。"
5828
5829 #. type: TP
5830 #: build/C/man8/ld.so.8:174
5831 #, no-wrap
5832 msgid "B<Alpha>"
5833 msgstr "B<Alpha>"
5834
5835 #. type: Plain text
5836 #: build/C/man8/ld.so.8:177
5837 msgid "ev4, ev5, ev56, ev6, ev67"
5838 msgstr "ev4, ev5, ev56, ev6, ev67"
5839
5840 #. type: TP
5841 #: build/C/man8/ld.so.8:177
5842 #, no-wrap
5843 msgid "B<MIPS>"
5844 msgstr "B<MIPS>"
5845
5846 #. type: Plain text
5847 #: build/C/man8/ld.so.8:180
5848 msgid "loongson2e, loongson2f, octeon, octeon2"
5849 msgstr "loongson2e, loongson2f, octeon, octeon2"
5850
5851 #. type: TP
5852 #: build/C/man8/ld.so.8:180
5853 #, no-wrap
5854 msgid "B<PowerPC>"
5855 msgstr "B<PowerPC>"
5856
5857 #. type: Plain text
5858 #: build/C/man8/ld.so.8:185
5859 msgid ""
5860 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5861 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5862 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5863 msgstr ""
5864 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5865 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5866 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5867
5868 #. type: TP
5869 #: build/C/man8/ld.so.8:185
5870 #, no-wrap
5871 msgid "B<SPARC>"
5872 msgstr "B<SPARC>"
5873
5874 #. type: Plain text
5875 #: build/C/man8/ld.so.8:188
5876 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5877 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5878
5879 #. type: TP
5880 #: build/C/man8/ld.so.8:188
5881 #, no-wrap
5882 msgid "B<s390>"
5883 msgstr "B<s390>"
5884
5885 #. type: Plain text
5886 #: build/C/man8/ld.so.8:192
5887 msgid ""
5888 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5889 "z990, z9-109, z10, zarch"
5890 msgstr ""
5891 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5892 "z990, z9-109, z10, zarch"
5893
5894 #. type: TP
5895 #: build/C/man8/ld.so.8:192
5896 #, no-wrap
5897 msgid "B<x86 (32-bit only)>"
5898 msgstr "B<x86 (32-bit のみ)>"
5899
5900 #. type: Plain text
5901 #: build/C/man8/ld.so.8:196
5902 msgid ""
5903 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5904 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5905 msgstr ""
5906 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5907 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5908
5909 #. type: SH
5910 #: build/C/man8/ld.so.8:196
5911 #, no-wrap
5912 msgid "ENVIRONMENT"
5913 msgstr "環境変数"
5914
5915 #. type: Plain text
5916 #: build/C/man8/ld.so.8:198
5917 msgid "Among the more important environment variables are the following:"
5918 msgstr "重要な環境変数には以下のものがある。"
5919
5920 #. type: TP
5921 #: build/C/man8/ld.so.8:198
5922 #, no-wrap
5923 msgid "B<LD_ASSUME_KERNEL>"
5924 msgstr "B<LD_ASSUME_KERNEL>"
5925
5926 #. type: Plain text
5927 #: build/C/man8/ld.so.8:211
5928 msgid ""
5929 "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
5930 "the minimum kernel ABI version that it requires.  (This requirement is "
5931 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5932 "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
5933 "determines the ABI version of the running kernel and will reject loading "
5934 "shared libraries that specify minimum ABI versions that exceed that ABI "
5935 "version."
5936 msgstr ""
5937 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカに必要なカーネル ABI の最小"
5938 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5939 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5940 "て見ることができる)。 実行時に、 動的リンカは実行中のカーネルの ABI バージョ"
5941 "ンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが指定"
5942 "された共有ライブラリのロードを行わない。"
5943
5944 #. type: Plain text
5945 #: build/C/man8/ld.so.8:220
5946 msgid ""
5947 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5948 "it is running on a system with a different kernel ABI version.  For example, "
5949 "the following command line causes the dynamic linker to assume it is running "
5950 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
5951 msgstr ""
5952 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカに、 異なるカーネル ABI バージョ"
5953 "ンのシステムで実行されているかのように見せることができる。 例えば、 以下のコ"
5954 "マンドラインを実行すると、 動的リンカは I<myprog> が必要とする共有ライブラリ"
5955 "をロードする際に Linux 2.2.5 上で動作していると仮定する。"
5956
5957 #. type: Plain text
5958 #: build/C/man8/ld.so.8:224
5959 #, no-wrap
5960 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
5961 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
5962
5963 #. type: Plain text
5964 #: build/C/man8/ld.so.8:241
5965 msgid ""
5966 "On systems that provide multiple versions of a shared library (in different "
5967 "directories in the search path) that have different minimum kernel ABI "
5968 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
5969 "of the library that is used (dependent on the directory search order).  "
5970 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
5971 "manually select the older LinuxThreads POSIX threads implementation on "
5972 "systems that provided both LinuxThreads and NPTL (which latter was typically "
5973 "the default on such systems); see B<pthreads>(7)."
5974 msgstr ""
5975 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
5976 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
5977 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
5978 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
5979 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
5980 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
5981 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
5982
5983 #. type: TP
5984 #: build/C/man8/ld.so.8:241 build/C/man8/ld.so.8:322
5985 #, no-wrap
5986 msgid "B<LD_BIND_NOT>"
5987 msgstr "B<LD_BIND_NOT>"
5988
5989 #. type: Plain text
5990 #: build/C/man8/ld.so.8:246
5991 msgid ""
5992 "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and Procedure "
5993 "Linkage Table (PLT)  when resolving a symbol."
5994 msgstr ""
5995 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
5996 "Procedure Linkage Table (PLT) を更新しない。"
5997
5998 #. type: TP
5999 #: build/C/man8/ld.so.8:246
6000 #, no-wrap
6001 msgid "B<LD_BIND_NOW>"
6002 msgstr "B<LD_BIND_NOW>"
6003
6004 #. type: Plain text
6005 #: build/C/man8/ld.so.8:254
6006 msgid ""
6007 "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the dynamic "
6008 "linker to resolve all symbols at program startup instead of deferring "
6009 "function call resolution to the point when they are first referenced.  This "
6010 "is useful when using a debugger."
6011 msgstr ""
6012 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカはプログラムの開始"
6013 "時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼び"
6014 "出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6015
6016 #. type: TP
6017 #: build/C/man8/ld.so.8:254
6018 #, no-wrap
6019 msgid "B<LD_LIBRARY_PATH>"
6020 msgstr "B<LD_LIBRARY_PATH>"
6021
6022 #. type: Plain text
6023 #: build/C/man8/ld.so.8:262
6024 msgid ""
6025 "A colon-separated list of directories in which to search for ELF libraries "
6026 "at execution-time.  Similar to the B<PATH> environment variable.  Ignored in "
6027 "set-user-ID and set-group-ID programs."
6028 msgstr ""
6029 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6030 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6031 "group-ID されたプログラムでは無視される。"
6032
6033 #. type: TP
6034 #: build/C/man8/ld.so.8:262
6035 #, no-wrap
6036 msgid "B<LD_PRELOAD>"
6037 msgstr "B<LD_PRELOAD>"
6038
6039 #. type: Plain text
6040 #: build/C/man8/ld.so.8:273
6041 msgid ""
6042 "A list of additional, user-specified, ELF shared libraries to be loaded "
6043 "before all others.  The items of the list can be separated by spaces or "
6044 "colons.  This can be used to selectively override functions in other shared "
6045 "libraries.  The libraries are searched for using the rules given under "
6046 "DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6047 "containing slashes are ignored, and libraries in the standard search "
6048 "directories are loaded only if the set-user-ID permission bit is enabled on "
6049 "the library file."
6050 msgstr ""
6051 "追加でユーザが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、す"
6052 "べてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6053 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6054 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6055 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6056 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6057 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6058
6059 #. type: TP
6060 #: build/C/man8/ld.so.8:273
6061 #, no-wrap
6062 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6063 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6064
6065 #. type: Plain text
6066 #: build/C/man8/ld.so.8:280
6067 msgid ""
6068 "(ELF only)  If set to a nonempty string, causes the program to list its "
6069 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6070 "normally."
6071 msgstr ""
6072 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6073 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6074
6075 #. type: Plain text
6076 #: build/C/man8/ld.so.8:283
6077 msgid ""
6078 "Then there are lots of more or less obscure variables, many obsolete or only "
6079 "for internal use."
6080 msgstr ""
6081 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6082 "でのみ使用される環境変数である。"
6083
6084 #. type: TP
6085 #: build/C/man8/ld.so.8:283
6086 #, no-wrap
6087 msgid "B<LD_AOUT_LIBRARY_PATH>"
6088 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6089
6090 #. type: Plain text
6091 #: build/C/man8/ld.so.8:291
6092 msgid ""
6093 "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
6094 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6095 msgstr ""
6096 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6097 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6098 "トしていた。"
6099
6100 #. type: TP
6101 #: build/C/man8/ld.so.8:291
6102 #, no-wrap
6103 msgid "B<LD_AOUT_PRELOAD>"
6104 msgstr "B<LD_AOUT_PRELOAD>"
6105
6106 #. type: Plain text
6107 #: build/C/man8/ld.so.8:299
6108 msgid ""
6109 "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions of "
6110 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6111 msgstr ""
6112 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6113 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6114 "た。"
6115
6116 #. type: TP
6117 #: build/C/man8/ld.so.8:299
6118 #, no-wrap
6119 msgid "B<LD_AUDIT>"
6120 msgstr "B<LD_AUDIT>"
6121
6122 #. type: Plain text
6123 #: build/C/man8/ld.so.8:309
6124 msgid ""
6125 "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
6126 "objects to be loaded before all others in a separate linker namespace (i.e., "
6127 "one that does not intrude upon the normal symbol bindings that would occur "
6128 "in the process).  These libraries can be used to audit the operation of the "
6129 "dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6130 "binaries."
6131 msgstr ""
6132 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカ名前空間 (そのプロセ"
6133 "スで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) で "
6134 "ロードされる、ユーザ指定の ELF 共有オブジェクトのコロン区切りのリスト。 これ"
6135 "らのライブラリを使って、動的リンカの動作を監査することができる。 set-user-ID/"
6136 "set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6137
6138 #. type: Plain text
6139 #: build/C/man8/ld.so.8:322
6140 msgid ""
6141 "The dynamic linker will notify the audit libraries at so-called auditing "
6142 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6143 "calling a symbol from another shared object\\(emby calling an appropriate "
6144 "function within the audit library.  For details, see B<rtld-audit>(7).  The "
6145 "auditing interface is largely compatible with that provided on Solaris, as "
6146 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6147 "Linker Auditing Interface>."
6148 msgstr ""
6149 "動的リンカは、いわゆる監査チェックポイント (auditing checkpoints)  において、"
6150 "監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの通知"
6151 "を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シンボル"
6152 "の解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細は "
6153 "B<rtld-audit>(7)  を参照してほしい。 audit インタフェースは、Solaris で提供さ"
6154 "れているものと 大部分は互換性がある。Solaris の audit インタフェースについて"
6155 "は、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing Interface> の"
6156 "章に説明がある。"
6157
6158 #. type: Plain text
6159 #: build/C/man8/ld.so.8:327
6160 msgid ""
6161 "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
6162 "(procedure linkage table)  after resolving a symbol."
6163 msgstr ""
6164 "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT "
6165 "(procedure linkage table) を更新しない。"
6166
6167 #. type: TP
6168 #: build/C/man8/ld.so.8:327
6169 #, no-wrap
6170 msgid "B<LD_DEBUG>"
6171 msgstr "B<LD_DEBUG>"
6172
6173 #. type: Plain text
6174 #: build/C/man8/ld.so.8:340
6175 msgid ""
6176 "(glibc since 2.1)  Output verbose debugging information about the dynamic "
6177 "linker.  If set to B<all> prints all debugging information it has, if set to "
6178 "B<help> prints a help message about which categories can be specified in "
6179 "this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6180 "set-user-ID/set-group-ID binaries."
6181 msgstr ""
6182 "(glibc 2.1 以降)  動的リンカの詳細なデバッグ情報を出力する。 B<all> に設定し"
6183 "た場合、全ての動的リンカが持つデバッグ情報を表示する。 B<help> に設定した場"
6184 "合、この環境変数で指定されるカテゴリのヘルプ情報を表示する。 glibc 2.3.4 以"
6185 "降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6186
6187 #. type: TP
6188 #: build/C/man8/ld.so.8:340
6189 #, no-wrap
6190 msgid "B<LD_DEBUG_OUTPUT>"
6191 msgstr "B<LD_DEBUG_OUTPUT>"
6192
6193 #. type: Plain text
6194 #: build/C/man8/ld.so.8:349
6195 msgid ""
6196 "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  The "
6197 "default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6198 "set-group-ID binaries."
6199 msgstr ""
6200 "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6201 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6202 "B<LD_DEBUG_OUTPUT> は無視される。"
6203
6204 #. type: TP
6205 #: build/C/man8/ld.so.8:349
6206 #, no-wrap
6207 msgid "B<LD_DYNAMIC_WEAK>"
6208 msgstr "B<LD_DYNAMIC_WEAK>"
6209
6210 #. type: Plain text
6211 #: build/C/man8/ld.so.8:356
6212 msgid ""
6213 "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to old "
6214 "glibc behavior).  For security reasons, since glibc 2.3.4, "
6215 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6216 msgstr ""
6217 "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6218 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6219 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6220
6221 #. type: TP
6222 #: build/C/man8/ld.so.8:356
6223 #, no-wrap
6224 msgid "B<LD_HWCAP_MASK>"
6225 msgstr "B<LD_HWCAP_MASK>"
6226
6227 #. type: Plain text
6228 #: build/C/man8/ld.so.8:360
6229 msgid "(glibc since 2.1)  Mask for hardware capabilities."
6230 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
6231
6232 #. type: TP
6233 #: build/C/man8/ld.so.8:360
6234 #, no-wrap
6235 msgid "B<LD_KEEPDIR>"
6236 msgstr "B<LD_KEEPDIR>"
6237
6238 #. type: Plain text
6239 #: build/C/man8/ld.so.8:365
6240 msgid ""
6241 "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
6242 "libraries to be loaded.  Use of this option is strongly discouraged."
6243 msgstr ""
6244 "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリ"
6245 "を無視しない。 このオプションは用いるべきではない。"
6246
6247 #. type: TP
6248 #: build/C/man8/ld.so.8:365
6249 #, no-wrap
6250 msgid "B<LD_NOWARN>"
6251 msgstr "B<LD_NOWARN>"
6252
6253 #. type: Plain text
6254 #: build/C/man8/ld.so.8:370
6255 msgid ""
6256 "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
6257 "incompatible minor version numbers."
6258 msgstr ""
6259 "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換"
6260 "に 対する警告メッセージを抑制する。"
6261
6262 #. type: TP
6263 #: build/C/man8/ld.so.8:370
6264 #, no-wrap
6265 msgid "B<LD_ORIGIN_PATH>"
6266 msgstr "B<LD_ORIGIN_PATH>"
6267
6268 #.  Only used if $ORIGIN can't be determined by normal means
6269 #.  (from the origin path saved at load time, or from /proc/self/exe)?
6270 #. type: Plain text
6271 #: build/C/man8/ld.so.8:379
6272 msgid ""
6273 "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
6274 "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6275 "ignored for set-user-ID/set-group-ID binaries."
6276 msgstr ""
6277 "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムについ"
6278 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6279 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6280
6281 #. type: TP
6282 #: build/C/man8/ld.so.8:379
6283 #, no-wrap
6284 msgid "B<LD_POINTER_GUARD>"
6285 msgstr "B<LD_POINTER_GUARD>"
6286
6287 #. type: Plain text
6288 #: build/C/man8/ld.so.8:391
6289 msgid ""
6290 "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
6291 "enables pointer guarding, which is also the default.  Pointer guarding is a "
6292 "security mechanism whereby some pointers to code stored in writable program "
6293 "memory (return addresses saved by B<setjmp>(3)  or function pointers used by "
6294 "various glibc internals) are mangled semi-randomly to make it more difficult "
6295 "for an attacker to hijack the pointers for use in the event of a buffer "
6296 "overrun or stack-smashing attack."
6297 msgstr ""
6298 "(glibc 2.4 以降)  0 に設定すると、ポインタ保護 (pointer guarding) が無効にな"
6299 "る。 それ以外の値の場合はポインタ保護が有効になる。 デフォルトはポインタ保護"
6300 "有効である。 ポインタ保護はセキュリティ機構の一つで、書き込み可能なプログラム"
6301 "メモリ に格納されたコードへのポインタをほぼランダム化することで、 攻撃者が"
6302 "バッファオーバーランやスタック破壊 (stack-smashing) 攻撃の際に ポインタを乗っ"
6303 "取ることを困難にするものである。"
6304
6305 #. type: TP
6306 #: build/C/man8/ld.so.8:391
6307 #, no-wrap
6308 msgid "B<LD_PROFILE>"
6309 msgstr "B<LD_PROFILE>"
6310
6311 #. type: Plain text
6312 #: build/C/man8/ld.so.8:398
6313 msgid ""
6314 "(glibc since 2.1)  Shared object to be profiled, specified either as a "
6315 "pathname or a soname.  Profiling output is written to the file whose name "
6316 "is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6317 msgstr ""
6318 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクト。 パス名か共有オブジェク"
6319 "ト名 (soname) で指定される。 プロフィールの出力は \"I<$LD_PROFILE_OUTPUT>/I<"
6320 "$LD_PROFILE>.profile\" という名前の ファイルに書き込まれる。"
6321
6322 #. type: TP
6323 #: build/C/man8/ld.so.8:398
6324 #, no-wrap
6325 msgid "B<LD_PROFILE_OUTPUT>"
6326 msgstr "B<LD_PROFILE_OUTPUT>"
6327
6328 #. type: Plain text
6329 #: build/C/man8/ld.so.8:411
6330 msgid ""
6331 "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be written.  "
6332 "If this variable is not defined, or is defined as an empty string, then the "
6333 "default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6334 "set-group-ID programs, which always use I</var/profile>."
6335 msgstr ""
6336 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6337 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6338 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6339 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6340 "れる。"
6341
6342 #. type: TP
6343 #: build/C/man8/ld.so.8:411
6344 #, no-wrap
6345 msgid "B<LD_SHOW_AUXV>"
6346 msgstr "B<LD_SHOW_AUXV>"
6347
6348 #.  FIXME
6349 #.  Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6350 #.  Since glibc 2.3
6351 #.  Also enables DL_DEBUG_PRELINK
6352 #. type: Plain text
6353 #: build/C/man8/ld.so.8:422
6354 msgid ""
6355 "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
6356 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6357 "ID/set-group-ID binaries."
6358 msgstr ""
6359 "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメータの) 配列を表示す"
6360 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6361 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6362
6363 #. type: TP
6364 #: build/C/man8/ld.so.8:422
6365 #, no-wrap
6366 msgid "B<LD_USE_LOAD_BIAS>"
6367 msgstr "B<LD_USE_LOAD_BIAS>"
6368
6369 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6370 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
6371 #.  Jakub Jelinek
6372 #. type: Plain text
6373 #: build/C/man8/ld.so.8:441
6374 msgid ""
6375 "By default (i.e., if this variable is not defined)  executables and "
6376 "prelinked shared objects will honor base addresses of their dependent "
6377 "libraries and (nonprelinked) position-independent executables (PIEs)  and "
6378 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
6379 "wit the value, both executables and PIEs will honor the base addresses.  If "
6380 "B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6381 "PIEs will honor the base addresses.  This variable is ignored by set-user-ID "
6382 "and set-group-ID programs."
6383 msgstr ""
6384 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6385 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6386 "スが尊重される一方、 (prelink されていない) position-independent executables "
6387 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6388 "れない。 B<LD_USE_LOAD_BIAS> に値が定義された場合、実行ファイルと PIE のどち"
6389 "らでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された場"
6390 "合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-user-"
6391 "ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6392
6393 #. type: TP
6394 #: build/C/man8/ld.so.8:441
6395 #, no-wrap
6396 msgid "B<LD_VERBOSE>"
6397 msgstr "B<LD_VERBOSE>"
6398
6399 #. type: Plain text
6400 #: build/C/man8/ld.so.8:449
6401 msgid ""
6402 "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
6403 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6404 "variable has been set."
6405 msgstr ""
6406 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6407 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6408
6409 #. type: TP
6410 #: build/C/man8/ld.so.8:449
6411 #, no-wrap
6412 msgid "B<LD_WARN>"
6413 msgstr "B<LD_WARN>"
6414
6415 #. type: Plain text
6416 #: build/C/man8/ld.so.8:453
6417 msgid ""
6418 "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
6419 "unresolved symbols."
6420 msgstr ""
6421 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
6422 "あれば警告を出す。"
6423
6424 #. type: TP
6425 #: build/C/man8/ld.so.8:453
6426 #, no-wrap
6427 msgid "B<LDD_ARGV0>"
6428 msgstr "B<LDD_ARGV0>"
6429
6430 #. type: Plain text
6431 #: build/C/man8/ld.so.8:460
6432 msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
6433 msgstr ""
6434 "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
6435
6436 #. type: SH
6437 #: build/C/man8/ld.so.8:460 build/C/man8/ldconfig.8:156
6438 #, no-wrap
6439 msgid "FILES"
6440 msgstr "ファイル"
6441
6442 #. type: TP
6443 #: build/C/man8/ld.so.8:462 build/C/man8/ldconfig.8:158
6444 #, no-wrap
6445 msgid "I</lib/ld.so>"
6446 msgstr "I</lib/ld.so>"
6447
6448 #. type: Plain text
6449 #: build/C/man8/ld.so.8:465
6450 msgid "a.out dynamic linker/loader"
6451 msgstr "a.out の動的リンカ/ローダ"
6452
6453 #. type: TP
6454 #: build/C/man8/ld.so.8:465
6455 #, no-wrap
6456 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6457 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6458
6459 #. type: Plain text
6460 #: build/C/man8/ld.so.8:468
6461 msgid "ELF dynamic linker/loader"
6462 msgstr "ELF の動的リンカ/ローダ"
6463
6464 #. type: TP
6465 #: build/C/man8/ld.so.8:468 build/C/man8/ldconfig.8:165
6466 #, no-wrap
6467 msgid "I</etc/ld.so.cache>"
6468 msgstr "I</etc/ld.so.cache>"
6469
6470 #. type: Plain text
6471 #: build/C/man8/ld.so.8:472
6472 msgid ""
6473 "File containing a compiled list of directories in which to search for "
6474 "libraries and an ordered list of candidate libraries."
6475 msgstr ""
6476 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6477 "リストを含むファイル。"
6478
6479 #. type: TP
6480 #: build/C/man8/ld.so.8:472
6481 #, no-wrap
6482 msgid "I</etc/ld.so.preload>"
6483 msgstr "I</etc/ld.so.preload>"
6484
6485 #. type: Plain text
6486 #: build/C/man8/ld.so.8:476
6487 msgid ""
6488 "File containing a whitespace-separated list of ELF shared libraries to be "
6489 "loaded before the program."
6490 msgstr ""
6491 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6492 "書かれているファイル。"
6493
6494 #. type: TP
6495 #: build/C/man8/ld.so.8:476
6496 #, no-wrap
6497 msgid "B<lib*.so*>"
6498 msgstr "B<lib*.so*>"
6499
6500 #. type: Plain text
6501 #: build/C/man8/ld.so.8:479
6502 msgid "shared libraries"
6503 msgstr "共有ライブラリ"
6504
6505 #. type: Plain text
6506 #: build/C/man8/ld.so.8:486
6507 msgid ""
6508 "The B<ld.so> functionality is available for executables compiled using libc "
6509 "version 4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 "
6510 "and libc5."
6511 msgstr ""
6512 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6513 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6514 "可能である。"
6515
6516 #.  .SH AUTHORS
6517 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6518 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
6519 #.  ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6520 #.  In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6521 #. type: Plain text
6522 #: build/C/man8/ld.so.8:498
6523 msgid "B<ldd>(1), B<getauxval>(3), B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6524 msgstr ""
6525 "B<ldd>(1), B<getauxval>(3), B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6526
6527 #. type: TH
6528 #: build/C/man8/ldconfig.8:22
6529 #, no-wrap
6530 msgid "LDCONFIG"
6531 msgstr "LDCONFIG"
6532
6533 #. type: TH
6534 #: build/C/man8/ldconfig.8:22
6535 #, no-wrap
6536 msgid "2012-05-10"
6537 msgstr "2012-05-10"
6538
6539 #. type: Plain text
6540 #: build/C/man8/ldconfig.8:25
6541 msgid "ldconfig - configure dynamic linker run-time bindings"
6542 msgstr "ldconfig - 動的リンカによる実行時の結合関係を設定する"
6543
6544 #. type: Plain text
6545 #: build/C/man8/ldconfig.8:40
6546 msgid ""
6547 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6548 "root> ] I<directory>\\ ..."
6549 msgstr ""
6550 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6551 "root> ] I<directory>\\ ..."
6552
6553 #. type: Plain text
6554 #: build/C/man8/ldconfig.8:49
6555 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6556 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6557
6558 #. type: Plain text
6559 #: build/C/man8/ldconfig.8:54
6560 msgid "B</sbin/ldconfig> B<-p>"
6561 msgstr "B</sbin/ldconfig> B<-p>"
6562
6563 #. type: Plain text
6564 #: build/C/man8/ldconfig.8:71
6565 msgid ""
6566 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6567 "libraries found in the directories specified on the command line, in the "
6568 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6569 "lib>).  The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6570 "so>.  B<ldconfig> checks the header and filenames of the libraries it "
6571 "encounters when determining which versions should have their links updated."
6572 msgstr ""
6573 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6574 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6575 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6576 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカ I<ld."
6577 "so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライブラリ"
6578 "のヘッダ部分とファイル名をチェックし、 どのバージョンに対してリンクを更新すべ"
6579 "きかを判断する。"
6580
6581 #.  The following sentence looks suspect
6582 #.  (perhaps historical cruft) -- MTK, Jul 2005
6583 #.  Therefore, when making dynamic libraries,
6584 #.  it is wise to explicitly link against libc (use \-lc).
6585 #. type: Plain text
6586 #: build/C/man8/ldconfig.8:79
6587 msgid ""
6588 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6589 "libc6/glibc)  based on what C libs, if any, the library was linked against."
6590 msgstr ""
6591 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6592 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6593
6594 #. type: Plain text
6595 #: build/C/man8/ldconfig.8:100
6596 msgid ""
6597 "Some existing libs do not contain enough information to allow the deduction "
6598 "of their type.  Therefore, the I</etc/ld.so.conf> file format allows the "
6599 "specification of an expected type.  This is used I<only> for those ELF libs "
6600 "which we can not work out.  The format is \"dirname=TYPE\", where TYPE can "
6601 "be libc4, libc5, or libc6.  (This syntax also works on the command line.)  "
6602 "Spaces are I<not> allowed.  Also see the B<-p> option.  B<ldconfig> should "
6603 "normally be run by the superuser as it may require write permission on some "
6604 "root owned directories and files."
6605 msgstr ""
6606 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6607 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6608 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6609 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6610 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6611 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6612 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6613 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6614
6615 #. type: TP
6616 #: build/C/man8/ldconfig.8:101
6617 #, no-wrap
6618 msgid "B<-v>"
6619 msgstr "B<-v>"
6620
6621 #. type: Plain text
6622 #: build/C/man8/ldconfig.8:107
6623 msgid ""
6624 "Verbose mode.  Print current version number, the name of each directory as "
6625 "it is scanned, and any links that are created.  Overrides quiet mode."
6626 msgstr ""
6627 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6628 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6629 "抑制モードを上書きする。"
6630
6631 #. type: TP
6632 #: build/C/man8/ldconfig.8:107
6633 #, no-wrap
6634 msgid "B<-n>"
6635 msgstr "B<-n>"
6636
6637 #. type: Plain text
6638 #: build/C/man8/ldconfig.8:118
6639 msgid ""
6640 "Only process directories specified on the command line.  Don't process the "
6641 "trusted directories (I</lib> and I</usr/lib>)  nor those specified in I</etc/"
6642 "ld.so.conf>.  Implies B<-N>."
6643 msgstr ""
6644 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6645 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
6646 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6647
6648 #. type: TP
6649 #: build/C/man8/ldconfig.8:118
6650 #, no-wrap
6651 msgid "B<-N>"
6652 msgstr "B<-N>"
6653
6654 #. type: Plain text
6655 #: build/C/man8/ldconfig.8:124
6656 msgid ""
6657 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
6658 "updated."
6659 msgstr ""
6660 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6661 "うは更新される。"
6662
6663 #. type: TP
6664 #: build/C/man8/ldconfig.8:124
6665 #, no-wrap
6666 msgid "B<-X>"
6667 msgstr "B<-X>"
6668
6669 #. type: Plain text
6670 #: build/C/man8/ldconfig.8:130
6671 msgid ""
6672 "Don't update links.  Unless B<-N> is also specified, the cache is still "
6673 "rebuilt."
6674 msgstr ""
6675 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6676 "される。"
6677
6678 #. type: TP
6679 #: build/C/man8/ldconfig.8:130
6680 #, no-wrap
6681 msgid "B<-f conf>"
6682 msgstr "B<-f conf>"
6683
6684 #. type: Plain text
6685 #: build/C/man8/ldconfig.8:136
6686 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6687 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6688
6689 #. type: TP
6690 #: build/C/man8/ldconfig.8:136
6691 #, no-wrap
6692 msgid "B<-C cache>"
6693 msgstr "B<-C cache>"
6694
6695 #. type: Plain text
6696 #: build/C/man8/ldconfig.8:142
6697 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6698 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6699
6700 #. type: TP
6701 #: build/C/man8/ldconfig.8:142
6702 #, no-wrap
6703 msgid "B<-r root>"
6704 msgstr "B<-r root>"
6705
6706 #. type: Plain text
6707 #: build/C/man8/ldconfig.8:147
6708 msgid "Change to and use I<root> as the root directory."
6709 msgstr ""
6710 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6711 "る。"
6712
6713 #. type: TP
6714 #: build/C/man8/ldconfig.8:147
6715 #, no-wrap
6716 msgid "B<-l>"
6717 msgstr "B<-l>"
6718
6719 #. type: Plain text
6720 #: build/C/man8/ldconfig.8:152
6721 msgid ""
6722 "Library mode.  Manually link individual libraries.  Intended for use by "
6723 "experts only."
6724 msgstr ""
6725 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6726 "べきである。"
6727
6728 #. type: TP
6729 #: build/C/man8/ldconfig.8:152
6730 #, no-wrap
6731 msgid "B<-p>"
6732 msgstr "B<-p>"
6733
6734 #. type: Plain text
6735 #: build/C/man8/ldconfig.8:156
6736 msgid ""
6737 "Print the lists of directories and candidate libraries stored in the current "
6738 "cache."
6739 msgstr ""
6740 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6741 "示する。"
6742
6743 #. type: Plain text
6744 #: build/C/man8/ldconfig.8:161
6745 msgid "run-time linker/loader"
6746 msgstr "実行時リンカ/ローダー。"
6747
6748 #. type: TP
6749 #: build/C/man8/ldconfig.8:161
6750 #, no-wrap
6751 msgid "I</etc/ld.so.conf>"
6752 msgstr "I</etc/ld.so.conf>"
6753
6754 #. type: Plain text
6755 #: build/C/man8/ldconfig.8:165
6756 msgid ""
6757 "File containing a list of colon, space, tab, newline, or comma-separated "
6758 "directories in which to search for libraries."
6759 msgstr ""
6760 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6761 "れのディレクトリでライブラリが検索される。"
6762
6763 #. type: Plain text
6764 #: build/C/man8/ldconfig.8:174
6765 msgid ""
6766 "File containing an ordered list of libraries found in the directories "
6767 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6768 "usr/lib>."
6769 msgstr ""
6770 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6771 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6772
6773 #. type: Plain text
6774 #: build/C/man8/ldconfig.8:178
6775 msgid "B<ldd>(1), B<ld.so>(8)"
6776 msgstr "B<ldd>(1), B<ld.so>(8)"
6777
6778 #. type: TH
6779 #: build/C/man1/ldd.1:14
6780 #, no-wrap
6781 msgid "LDD"
6782 msgstr "LDD"
6783
6784 #. type: TH
6785 #: build/C/man1/ldd.1:14
6786 #, no-wrap
6787 msgid "2012-07-16"
6788 msgstr "2012-07-16"
6789
6790 #. type: Plain text
6791 #: build/C/man1/ldd.1:17
6792 msgid "ldd - print shared library dependencies"
6793 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6794
6795 #. type: Plain text
6796 #: build/C/man1/ldd.1:19
6797 msgid "B<ldd> [OPTION]... FILE..."
6798 msgstr "B<ldd> [OPTION]... FILE..."
6799
6800 #. type: Plain text
6801 #: build/C/man1/ldd.1:23
6802 msgid ""
6803 "B<ldd> prints the shared libraries required by each program or shared "
6804 "library specified on the command line."
6805 msgstr ""
6806 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6807 "れで必要とされる共有ライブラリを表示する。"
6808
6809 #. type: SS
6810 #: build/C/man1/ldd.1:23
6811 #, no-wrap
6812 msgid "Security"
6813 msgstr "セキュリティ"
6814
6815 #.  Mainline glibc's ldd allows this possibility (the line
6816 #.       try_trace "$file"
6817 #.  in glibc 2.15, for example), but many distro versions of
6818 #.  ldd seem to remove that code path from the script.
6819 #. type: Plain text
6820 #: build/C/man1/ldd.1:49
6821 msgid ""
6822 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld.so>"
6823 "(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6824 "which causes the linker to display the library dependencies.  Be aware, "
6825 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6826 "obtain the dependency information by directly executing the program.  Thus, "
6827 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6828 "result in the execution of arbitrary code.  A safer alternative when dealing "
6829 "with untrusted executables is:"
6830 msgstr ""
6831 "通常の場合、 B<ldd> は標準の動的リンカ (B<ld.so>(8) 参照) を "
6832 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6833 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカはライブラリの依存関係"
6834 "を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実行"
6835 "するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに対"
6836 "しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行することに"
6837 "つながるからである。信頼できない実行ファイルを扱う、より安全な別の方法として"
6838 "は次のようにするとよい。"
6839
6840 #. type: Plain text
6841 #: build/C/man1/ldd.1:51
6842 #, no-wrap
6843 msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
6844 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
6845
6846 #. type: TP
6847 #: build/C/man1/ldd.1:52
6848 #, no-wrap
6849 msgid "B<--version>"
6850 msgstr "B<--version>"
6851
6852 #. type: Plain text
6853 #: build/C/man1/ldd.1:56
6854 msgid "Print the version number of B<ldd>."
6855 msgstr "B<ldd> のバージョン番号を表示する。"
6856
6857 #. type: TP
6858 #: build/C/man1/ldd.1:56
6859 #, no-wrap
6860 msgid "B<-v\\ --verbose>"
6861 msgstr "B<-v\\ --verbose>"
6862
6863 #. type: Plain text
6864 #: build/C/man1/ldd.1:60
6865 msgid ""
6866 "Print all information, including, for example, symbol versioning information."
6867 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6868
6869 #. type: TP
6870 #: build/C/man1/ldd.1:60
6871 #, no-wrap
6872 msgid "B<-u\\ --unused>"
6873 msgstr "B<-u\\ --unused>"
6874
6875 #. type: Plain text
6876 #: build/C/man1/ldd.1:64
6877 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
6878 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6879
6880 #. type: TP
6881 #: build/C/man1/ldd.1:64
6882 #, no-wrap
6883 msgid "B<-d\\ --data-relocs>"
6884 msgstr "B<-d\\ --data-relocs>"
6885
6886 #. type: Plain text
6887 #: build/C/man1/ldd.1:67
6888 msgid "Perform relocations and report any missing objects (ELF only)."
6889 msgstr ""
6890 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6891
6892 #. type: TP
6893 #: build/C/man1/ldd.1:67
6894 #, no-wrap
6895 msgid "B<-r\\ --function-relocs>"
6896 msgstr "B<-r\\ --function-relocs>"
6897
6898 #. type: Plain text
6899 #: build/C/man1/ldd.1:71
6900 msgid ""
6901 "Perform relocations for both data objects and functions, and report any "
6902 "missing objects or functions (ELF only)."
6903 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6904
6905 #. type: TP
6906 #: build/C/man1/ldd.1:71
6907 #, no-wrap
6908 msgid "B<--help>"
6909 msgstr "B<--help>"
6910
6911 #. type: Plain text
6912 #: build/C/man1/ldd.1:74
6913 msgid "Usage information."
6914 msgstr "使用法を表示する。"
6915
6916 #. type: Plain text
6917 #: build/C/man1/ldd.1:85
6918 msgid ""
6919 "The standard version of B<ldd> comes with glibc2.  Libc5 came with an older "
6920 "version, still present on some systems.  The long options are not supported "
6921 "by the libc5 version.  On the other hand, the glibc2 version does not "
6922 "support B<-V> and only has the equivalent B<--version>."
6923 msgstr ""
6924 "標準的なバージョンの B<ldd> は glibc2 に付属している。 libc5 には古いバージョ"
6925 "ンのものが付属しており、 これが入っているシステムもまだ存在する。 libc5 バー"
6926 "ジョンではロングオプションがサポートされていない。 一方、glibc2 バージョンで"
6927 "は B<-V> をサポートしておらず、これと同じ意味の B<--version> しかサポートして"
6928 "いない。"
6929
6930 #. type: Plain text
6931 #: build/C/man1/ldd.1:91
6932 msgid ""
6933 "The libc5 version of this program will use the name of a library given on "
6934 "the command line as-is when it contains a \\(aq/\\(aq; otherwise it searches "
6935 "for the library in the standard locations.  To run it on a shared library in "
6936 "the current directory, prefix the name with \"./\"."
6937 msgstr ""
6938 "libc5 バージョンのプログラムでは、 コマンドラインで与えられたライブラリ名に "
6939 "\\(aq/\\(aq が含まれている場合は、ライブラリ名をそのまま用いる。 \\(aq/\\(aq "
6940 "が含まれていない場合は、標準的なパスからライブラリを検索する。 カレントディレ"
6941 "クトリにある共有ライブラリに対して実行するには、 名前にプレフィックス \"./\" "
6942 "を付けること。"
6943
6944 #. type: Plain text
6945 #: build/C/man1/ldd.1:94
6946 msgid "B<ldd> does not work on a.out shared libraries."
6947 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6948
6949 #.  .SH AUTHOR
6950 #.  David Engel.
6951 #.  Roland McGrath and Ulrich Drepper.
6952 #. type: Plain text
6953 #: build/C/man1/ldd.1:108
6954 msgid ""
6955 "B<ldd> does not work with some extremely old a.out programs which were built "
6956 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
6957 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6958 "and the results will be unpredictable."
6959 msgstr ""
6960 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6961 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
6962 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
6963 "不可能である。"
6964
6965 #. type: Plain text
6966 #: build/C/man1/ldd.1:111
6967 msgid "B<ld.so>(8), B<ldconfig>(8)"
6968 msgstr "B<ld.so>(8), B<ldconfig>(8)"
6969
6970 #. type: TH
6971 #: build/C/man7/rtld-audit.7:28
6972 #, no-wrap
6973 msgid "RTLD-AUDIT"
6974 msgstr "RTLD-AUDIT"
6975
6976 #. type: TH
6977 #: build/C/man7/rtld-audit.7:28
6978 #, no-wrap
6979 msgid "2012-07-07"
6980 msgstr "2012-07-07"
6981
6982 #. type: Plain text
6983 #: build/C/man7/rtld-audit.7:31
6984 msgid "rtld-audit - auditing API for the dynamic linker"
6985 msgstr ""
6986
6987 #. type: Plain text
6988 #: build/C/man7/rtld-audit.7:33
6989 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6990 msgstr ""
6991
6992 #. type: Plain text
6993 #: build/C/man7/rtld-audit.7:35
6994 msgid "B<#include E<lt>link.hE<gt>>"
6995 msgstr ""
6996
6997 #. type: Plain text
6998 #: build/C/man7/rtld-audit.7:43
6999 msgid ""
7000 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
7001 "allows an application to be notified when various dynamic linking events "
7002 "occur.  This API is very similar to the auditing interface provided by the "
7003 "Solaris run-time linker.  The necessary constants and prototypes are defined "
7004 "by including I<E<lt>link.hE<gt>>."
7005 msgstr ""
7006
7007 #. type: Plain text
7008 #: build/C/man7/rtld-audit.7:50
7009 msgid ""
7010 "To use this interface, the programmer creates a shared library that "
7011 "implements a standard set of function names.  Not all of the functions need "
7012 "to be implemented: in most cases, if the programmer is not interested in a "
7013 "particular class of auditing event, then no implementation needs to be "
7014 "provided for the corresponding auditing function."
7015 msgstr ""
7016
7017 #. type: Plain text
7018 #: build/C/man7/rtld-audit.7:58
7019 msgid ""
7020 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7021 "be defined to contain a colon-separated list of shared libraries, each of "
7022 "which can implement (parts of) the auditing API.  When an auditable event "
7023 "occurs, the corresponding function is invoked in each library, in the order "
7024 "that the libraries are listed."
7025 msgstr ""
7026
7027 #. type: SS
7028 #: build/C/man7/rtld-audit.7:58
7029 #, no-wrap
7030 msgid "la_version()"
7031 msgstr ""
7032
7033 #. type: Plain text
7034 #: build/C/man7/rtld-audit.7:62
7035 #, no-wrap
7036 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7037 msgstr ""
7038
7039 #. type: Plain text
7040 #: build/C/man7/rtld-audit.7:74
7041 msgid ""
7042 "This is the only function that I<must> be defined by an auditing library: it "
7043 "performs the initial handshake between the dynamic linker and the auditing "
7044 "library.  When invoking this function, the dynamic linker passes, in "
7045 "I<version>, the highest version of the auditing interface that the linker "
7046 "supports.  If necessary, the auditing library can check that this version is "
7047 "sufficient for its requirements."
7048 msgstr ""
7049
7050 #. type: Plain text
7051 #: build/C/man7/rtld-audit.7:83
7052 msgid ""
7053 "As its function result, this function should return the version of the "
7054 "auditing interface that this auditing library expects to use (returning "
7055 "I<version> is acceptable).  If the returned value is 0, or a version that is "
7056 "greater than that supported by the dynamic linker, then the audit library is "
7057 "ignored."
7058 msgstr ""
7059
7060 #. type: SS
7061 #: build/C/man7/rtld-audit.7:83
7062 #, no-wrap
7063 msgid "la_objsearch()"
7064 msgstr ""
7065
7066 #. type: Plain text
7067 #: build/C/man7/rtld-audit.7:88
7068 #, no-wrap
7069 msgid ""
7070 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7071 "B<                   unsigned int >I<flag>B<);>\n"
7072 msgstr ""
7073
7074 #. type: Plain text
7075 #: build/C/man7/rtld-audit.7:99
7076 msgid ""
7077 "The dynamic linker invokes this function to inform the auditing library that "
7078 "it is about to search for a shared object.  The I<name> argument is the "
7079 "filename or pathname that is to be searched for.  I<cookie> identifies the "
7080 "shared object that initiated the search.  I<flag> is set to one of the "
7081 "following values:"
7082 msgstr ""
7083
7084 #. type: TP
7085 #: build/C/man7/rtld-audit.7:99
7086 #, no-wrap
7087 msgid "B<LA_SER_ORIG>"
7088 msgstr ""
7089
7090 #. type: Plain text
7091 #: build/C/man7/rtld-audit.7:108
7092 msgid ""
7093 "This is the original name that is being searched for.  Typically, this name "
7094 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7095 "to B<dlopen>(3)."
7096 msgstr ""
7097
7098 #. type: TP
7099 #: build/C/man7/rtld-audit.7:108
7100 #, no-wrap
7101 msgid "B<LA_SER_LIBPATH>"
7102 msgstr ""
7103
7104 #. type: Plain text
7105 #: build/C/man7/rtld-audit.7:113
7106 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7107 msgstr ""
7108
7109 #. type: TP
7110 #: build/C/man7/rtld-audit.7:113
7111 #, no-wrap
7112 msgid "B<LA_SER_RUNPATH>"
7113 msgstr ""
7114
7115 #. type: Plain text
7116 #: build/C/man7/rtld-audit.7:121
7117 msgid ""
7118 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7119 "B<DT_RUNPATH> list."
7120 msgstr ""
7121
7122 #. type: TP
7123 #: build/C/man7/rtld-audit.7:121
7124 #, no-wrap
7125 msgid "B<LA_SER_CONFIG>"
7126 msgstr ""
7127
7128 #. type: Plain text
7129 #: build/C/man7/rtld-audit.7:128
7130 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
7131 msgstr ""
7132
7133 #. type: TP
7134 #: build/C/man7/rtld-audit.7:128
7135 #, no-wrap
7136 msgid "B<LA_SER_DEFAULT>"
7137 msgstr ""
7138
7139 #. type: Plain text
7140 #: build/C/man7/rtld-audit.7:132
7141 msgid "I<name> was found via a search of one of the default directories."
7142 msgstr ""
7143
7144 #. type: TP
7145 #: build/C/man7/rtld-audit.7:132
7146 #, no-wrap
7147 msgid "B<LA_SER_SECURE>"
7148 msgstr ""
7149
7150 #. type: Plain text
7151 #: build/C/man7/rtld-audit.7:136
7152 msgid "I<name> is specific to a secure object (unused on Linux)."
7153 msgstr ""
7154
7155 #. type: Plain text
7156 #: build/C/man7/rtld-audit.7:145
7157 msgid ""
7158 "As its function result, B<la_objsearch>()  returns the pathname that the "
7159 "dynamic linker should use for further processing.  If NULL is returned, then "
7160 "this pathname is ignored for further processing.  If this audit library "
7161 "simply intends to monitor search paths, then I<name> should be returned."
7162 msgstr ""
7163
7164 #. type: SS
7165 #: build/C/man7/rtld-audit.7:145
7166 #, no-wrap
7167 msgid "la_activity()"
7168 msgstr ""
7169
7170 #. type: Plain text
7171 #: build/C/man7/rtld-audit.7:149
7172 #, no-wrap
7173 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
7174 msgstr ""
7175
7176 #. type: Plain text
7177 #: build/C/man7/rtld-audit.7:158
7178 msgid ""
7179 "The dynamic linker calls this function to inform the auditing library that "
7180 "link-map activity is occurring.  I<cookie> identifies the object at the head "
7181 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
7182 "set to one of the following values:"
7183 msgstr ""
7184
7185 #. type: TP
7186 #: build/C/man7/rtld-audit.7:158
7187 #, no-wrap
7188 msgid "B<LA_ACT_ADD>"
7189 msgstr ""
7190
7191 #. type: Plain text
7192 #: build/C/man7/rtld-audit.7:161
7193 msgid "New objects are being added to the link map."
7194 msgstr ""
7195
7196 #. type: TP
7197 #: build/C/man7/rtld-audit.7:161
7198 #, no-wrap
7199 msgid "B<LA_ACT_DELETE>"
7200 msgstr ""
7201
7202 #. type: Plain text
7203 #: build/C/man7/rtld-audit.7:164
7204 msgid "Objects are being removed from the link map."
7205 msgstr ""
7206
7207 #. type: TP
7208 #: build/C/man7/rtld-audit.7:164
7209 #, no-wrap
7210 msgid "B<LA_ACT_CONSISTENT>"
7211 msgstr ""
7212
7213 #. type: Plain text
7214 #: build/C/man7/rtld-audit.7:167
7215 msgid "Link-map activity has been completed: the map is once again consistent."
7216 msgstr ""
7217
7218 #. type: SS
7219 #: build/C/man7/rtld-audit.7:167
7220 #, no-wrap
7221 msgid "la_objopen()"
7222 msgstr ""
7223
7224 #. type: Plain text
7225 #: build/C/man7/rtld-audit.7:172
7226 #, no-wrap
7227 msgid ""
7228 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
7229 "B<                        uintptr_t *>I<cookie>B<);>\n"
7230 msgstr ""
7231
7232 #. type: Plain text
7233 #: build/C/man7/rtld-audit.7:181
7234 msgid ""
7235 "The dynamic linker calls this function when a new shared object is loaded.  "
7236 "The I<map> argument is a pointer to a link-map structure that describes the "
7237 "object.  The I<lmid> field has one of the following values"
7238 msgstr ""
7239
7240 #. type: TP
7241 #: build/C/man7/rtld-audit.7:181
7242 #, no-wrap
7243 msgid "B<LM_ID_BASE>"
7244 msgstr ""
7245
7246 #. type: Plain text
7247 #: build/C/man7/rtld-audit.7:184
7248 msgid "Link map is part of the initial namespace."
7249 msgstr ""
7250
7251 #. type: TP
7252 #: build/C/man7/rtld-audit.7:184
7253 #, no-wrap
7254 msgid "B<LM_ID_NEWLM>"
7255 msgstr ""
7256
7257 #. type: Plain text
7258 #: build/C/man7/rtld-audit.7:188
7259 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
7260 msgstr ""
7261
7262 #. type: Plain text
7263 #: build/C/man7/rtld-audit.7:196
7264 msgid ""
7265 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
7266 "provided to later calls to functions in the auditing library in order to "
7267 "identify this object.  This identifier is initialized to point to object's "
7268 "link map, but the audit library can change the identifier to some other "
7269 "value that it may prefer to use to identify the object."
7270 msgstr ""
7271
7272 #. type: Plain text
7273 #: build/C/man7/rtld-audit.7:203
7274 msgid ""
7275 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
7276 "zero or more of the following constants, which allow the auditing library to "
7277 "select the objects to be monitored by B<la_symbind*>():"
7278 msgstr ""
7279
7280 #. type: TP
7281 #: build/C/man7/rtld-audit.7:203
7282 #, no-wrap
7283 msgid "B<LA_FLG_BINDTO>"
7284 msgstr ""
7285
7286 #. type: Plain text
7287 #: build/C/man7/rtld-audit.7:206
7288 msgid "Audit symbol bindings to this object."
7289 msgstr ""
7290
7291 #. type: TP
7292 #: build/C/man7/rtld-audit.7:206
7293 #, no-wrap
7294 msgid "B<LA_FLG_BINDFROM>"
7295 msgstr ""
7296
7297 #. type: Plain text
7298 #: build/C/man7/rtld-audit.7:209
7299 msgid "Audit symbol bindings from this object."
7300 msgstr ""
7301
7302 #. type: Plain text
7303 #: build/C/man7/rtld-audit.7:213
7304 msgid ""
7305 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
7306 "should be audited for this object."
7307 msgstr ""
7308
7309 #. type: SS
7310 #: build/C/man7/rtld-audit.7:213
7311 #, no-wrap
7312 msgid "la_objclose()"
7313 msgstr ""
7314
7315 #. type: Plain text
7316 #: build/C/man7/rtld-audit.7:217
7317 #, no-wrap
7318 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
7319 msgstr ""
7320
7321 #. type: Plain text
7322 #: build/C/man7/rtld-audit.7:226
7323 msgid ""
7324 "The dynamic linker invokes this function after any finalization code for the "
7325 "object has been executed, before the object is unloaded.  The I<cookie> "
7326 "argument is the identifier obtained from a previous invocation of "
7327 "B<la_objopen>()."
7328 msgstr ""
7329
7330 #. type: Plain text
7331 #: build/C/man7/rtld-audit.7:230
7332 msgid ""
7333 "In the current implementation, the value returned by B<la_objclose>()  is "
7334 "ignored."
7335 msgstr ""
7336
7337 #. type: SS
7338 #: build/C/man7/rtld-audit.7:230
7339 #, no-wrap
7340 msgid "la_preinit()"
7341 msgstr ""
7342
7343 #. type: Plain text
7344 #: build/C/man7/rtld-audit.7:234
7345 #, no-wrap
7346 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
7347 msgstr ""
7348
7349 #. type: Plain text
7350 #: build/C/man7/rtld-audit.7:244
7351 msgid ""
7352 "The dynamic linker invokes this function after all shared objects have been "
7353 "loaded, before control is passed to the application (i.e., before calling "
7354 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
7355 "using B<dlopen>(3)."
7356 msgstr ""
7357
7358 #. type: SS
7359 #: build/C/man7/rtld-audit.7:244
7360 #, no-wrap
7361 msgid "la_symbind*()"
7362 msgstr ""
7363
7364 #. type: Plain text
7365 #: build/C/man7/rtld-audit.7:253
7366 #, no-wrap
7367 msgid ""
7368 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
7369 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
7370 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
7371 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
7372 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
7373 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
7374 msgstr ""
7375
7376 #. type: Plain text
7377 #: build/C/man7/rtld-audit.7:265
7378 msgid ""
7379 "The dynamic linker invokes one of these functions when a symbol binding "
7380 "occurs between two shared objects that have been marked for auditing "
7381 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
7382 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
7383 "64-bit platforms."
7384 msgstr ""
7385
7386 #. type: Plain text
7387 #: build/C/man7/rtld-audit.7:275
7388 msgid ""
7389 "The I<sym> argument is a pointer to a structure that provides information "
7390 "about the symbol being bound.  The structure definition is shown in "
7391 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
7392 "indicates the address to which the symbol is bound."
7393 msgstr ""
7394
7395 #. type: Plain text
7396 #: build/C/man7/rtld-audit.7:280
7397 msgid ""
7398 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
7399 "bound shared object."
7400 msgstr ""
7401
7402 #. type: Plain text
7403 #: build/C/man7/rtld-audit.7:295
7404 msgid ""
7405 "The I<refcook> argument identifies the shared object that is making the "
7406 "symbol reference; this is the same identifier that is provided to the "
7407 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
7408 "argument identifies the shared object that defines the referenced symbol; "
7409 "this is the same identifier that is provided to the B<la_objopen>()  "
7410 "function that returned B<LA_FLG_BINDTO>."
7411 msgstr ""
7412
7413 #. type: Plain text
7414 #: build/C/man7/rtld-audit.7:299
7415 msgid ""
7416 "The I<symname> argument points a string containing the name of the symbol."
7417 msgstr ""
7418
7419 #.  LA_SYMB_STRUCTCALL appears to be unused
7420 #. type: Plain text
7421 #: build/C/man7/rtld-audit.7:307
7422 msgid ""
7423 "The I<flags> argument is a bit mask that both provides information about the "
7424 "symbol and can be used to modify further auditing of this PLT (Procedure "
7425 "Linkage Table) entry.  The dynamic linker may supply the following bit "
7426 "values in this argument:"
7427 msgstr ""
7428
7429 #. type: TP
7430 #: build/C/man7/rtld-audit.7:307
7431 #, no-wrap
7432 msgid "B<LA_SYMB_DLSYM>"
7433 msgstr ""
7434
7435 #. type: Plain text
7436 #: build/C/man7/rtld-audit.7:311
7437 msgid "The binding resulted from a call to B<dlsym>(3)."
7438 msgstr ""
7439
7440 #. type: TP
7441 #: build/C/man7/rtld-audit.7:311
7442 #, no-wrap
7443 msgid "B<LA_SYMB_ALTVALUE>"
7444 msgstr ""
7445
7446 #. type: Plain text
7447 #: build/C/man7/rtld-audit.7:316
7448 msgid ""
7449 "A previous B<la_symbind*>()  call returned an alternate value for this "
7450 "symbol."
7451 msgstr ""
7452
7453 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
7454 #.  but don't seem to be called for dynamically loaded libs?
7455 #.  Is this the same on Solaris?
7456 #. type: Plain text
7457 #: build/C/man7/rtld-audit.7:330
7458 msgid ""
7459 "By default, if the auditing library implements B<la_pltenter>()  and "
7460 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
7461 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
7462 "The following flags can be ORed into I<*flags> to change this default "
7463 "behavior:"
7464 msgstr ""
7465
7466 #. type: TP
7467 #: build/C/man7/rtld-audit.7:330
7468 #, no-wrap
7469 msgid "B<LA_SYMB_NOPLTENTER>"
7470 msgstr ""
7471
7472 #. type: Plain text
7473 #: build/C/man7/rtld-audit.7:335
7474 msgid "Don't call B<la_pltenter>()  for this symbol."
7475 msgstr ""
7476
7477 #. type: TP
7478 #: build/C/man7/rtld-audit.7:335
7479 #, no-wrap
7480 msgid "B<LA_SYMB_NOPLTEXIT>"
7481 msgstr ""
7482
7483 #. type: Plain text
7484 #: build/C/man7/rtld-audit.7:340
7485 msgid "Don't call B<la_pltexit>()  for this symbol."
7486 msgstr ""
7487
7488 #. type: Plain text
7489 #: build/C/man7/rtld-audit.7:351
7490 msgid ""
7491 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
7492 "to which control should be passed after the function returns.  If the "
7493 "auditing library is simply monitoring symbol bindings, then it should return "
7494 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
7495 "wishes to direct control to an alternate location."
7496 msgstr ""
7497
7498 #. type: SS
7499 #: build/C/man7/rtld-audit.7:351
7500 #, no-wrap
7501 msgid "la_pltenter()"
7502 msgstr ""
7503
7504 #. type: Plain text
7505 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
7506 msgid ""
7507 "The precise name and argument types for this function depend on the hardware "
7508 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
7509 "Here is the definition for x86-32:"
7510 msgstr ""
7511
7512 #. type: Plain text
7513 #: build/C/man7/rtld-audit.7:363
7514 #, no-wrap
7515 msgid ""
7516 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
7517 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
7518 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
7519 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
7520 msgstr ""
7521
7522 #. type: Plain text
7523 #: build/C/man7/rtld-audit.7:367
7524 msgid ""
7525 "This function is invoked just before a PLT entry is called, between two "
7526 "shared objects that have been marked for binding notification."
7527 msgstr ""
7528
7529 #. type: Plain text
7530 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
7531 msgid ""
7532 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
7533 "B<la_symbind*>()."
7534 msgstr ""
7535
7536 #. type: Plain text
7537 #: build/C/man7/rtld-audit.7:384
7538 msgid ""
7539 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
7540 "containing the values of registers to be used for the call to this PLT entry."
7541 msgstr ""
7542
7543 #. type: Plain text
7544 #: build/C/man7/rtld-audit.7:390
7545 msgid ""
7546 "The I<flags> argument points to a bit mask that conveys information about, "
7547 "and can be used to modify subsequent auditing of, this PLT entry, as for "
7548 "B<la_symbind*>()."
7549 msgstr ""
7550
7551 #.  FIXME is the following correct?
7552 #. type: Plain text
7553 #: build/C/man7/rtld-audit.7:406
7554 msgid ""
7555 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
7556 "to explicitly set the frame size used for the call to this PLT entry.  If "
7557 "different B<la_pltenter>()  invocations for this symbol return different "
7558 "values, then the maximum returned value is used.  The B<la_pltenter>()  "
7559 "function is called only if this buffer is explicitly set to a suitable value."
7560 msgstr ""
7561
7562 #. type: Plain text
7563 #: build/C/man7/rtld-audit.7:411
7564 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
7565 msgstr ""
7566
7567 #. type: SS
7568 #: build/C/man7/rtld-audit.7:411
7569 #, no-wrap
7570 msgid "la_pltexit()"
7571 msgstr ""
7572
7573 #. type: Plain text
7574 #: build/C/man7/rtld-audit.7:423
7575 #, no-wrap
7576 msgid ""
7577 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
7578 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
7579 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
7580 "B<                 const char *>I<symname>B<);>\n"
7581 msgstr ""
7582
7583 #. type: Plain text
7584 #: build/C/man7/rtld-audit.7:430
7585 msgid ""
7586 "This function is called when a PLT entry, made between two shared objects "
7587 "that have been marked for binding notification, returns.  The function is "
7588 "called just before control returns to the caller of the PLT entry."
7589 msgstr ""
7590
7591 #. type: Plain text
7592 #: build/C/man7/rtld-audit.7:453
7593 msgid ""
7594 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
7595 "hE<gt>>)  containing the values of registers used for the call to this PLT "
7596 "entry.  The I<outregs> argument points to a structure (defined in "
7597 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
7598 "entry.  These values can be modified by the caller, and the changes will be "
7599 "visible to the caller of the PLT entry."
7600 msgstr ""
7601
7602 #.  This differs from Solaris, where an audit library that monitors
7603 #.  symbol binding should return the value of the 'retval' argument
7604 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
7605 #.  on (say) x86-32).
7606 #. type: Plain text
7607 #: build/C/man7/rtld-audit.7:461
7608 msgid ""
7609 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
7610 "ignored."
7611 msgstr ""
7612
7613 #. type: Plain text
7614 #: build/C/man7/rtld-audit.7:467
7615 msgid ""
7616 "This API is nonstandard, but very similar to the Solaris API, described in "
7617 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
7618 "Auditing Interface>."
7619 msgstr ""
7620
7621 #. type: Plain text
7622 #: build/C/man7/rtld-audit.7:470
7623 msgid ""
7624 "Note the following differences from the Solaris dynamic linker auditing API:"
7625 msgstr ""
7626
7627 #. type: IP
7628 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
7629 #: build/C/man7/rtld-audit.7:482
7630 #, no-wrap
7631 msgid "*"
7632 msgstr ""
7633
7634 #. type: Plain text
7635 #: build/C/man7/rtld-audit.7:474
7636 msgid ""
7637 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
7638 "implementation."
7639 msgstr ""
7640
7641 #. type: Plain text
7642 #: build/C/man7/rtld-audit.7:482
7643 msgid ""
7644 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
7645 "a I<symname> argument."
7646 msgstr ""
7647
7648 #. type: Plain text
7649 #: build/C/man7/rtld-audit.7:492
7650 msgid ""
7651 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
7652 "I<outregs> arguments (but does provide a I<retval> argument with the "
7653 "function return value)."
7654 msgstr ""
7655
7656 #.  FIXME Specifying multiple audit libraries doesn't work on GNU.
7657 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
7658 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
7659 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
7660 #. type: Plain text
7661 #: build/C/man7/rtld-audit.7:502
7662 msgid ""
7663 "In glibc versions up to and include 2.9, specifying more than one audit "
7664 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
7665 "fixed in glibc 2.10."
7666 msgstr ""
7667
7668 #. type: Plain text
7669 #: build/C/man7/rtld-audit.7:506
7670 #, no-wrap
7671 msgid ""
7672 "#include E<lt>link.hE<gt>\n"
7673 "#include E<lt>stdio.hE<gt>\n"
7674 msgstr ""
7675 "#include E<lt>link.hE<gt>\n"
7676 "#include E<lt>stdio.hE<gt>\n"
7677
7678 #. type: Plain text
7679 #: build/C/man7/rtld-audit.7:511
7680 #, no-wrap
7681 msgid ""
7682 "unsigned int\n"
7683 "la_version(unsigned int version)\n"
7684 "{\n"
7685 "    printf(\"la_version(): %d\\en\", version);\n"
7686 msgstr ""
7687 "unsigned int\n"
7688 "la_version(unsigned int version)\n"
7689 "{\n"
7690 "    printf(\"la_version(): %d\\en\", version);\n"
7691
7692 #. type: Plain text
7693 #: build/C/man7/rtld-audit.7:514
7694 #, no-wrap
7695 msgid ""
7696 "    return version;\n"
7697 "}\n"
7698 msgstr ""
7699 "    return version;\n"
7700 "}\n"
7701
7702 #. type: Plain text
7703 #: build/C/man7/rtld-audit.7:527
7704 #, no-wrap
7705 msgid ""
7706 "char *\n"
7707 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
7708 "{\n"
7709 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
7710 "    printf(\"; flag = %s\\en\",\n"
7711 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
7712 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
7713 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
7714 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
7715 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
7716 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
7717 "            \"???\");\n"
7718 msgstr ""
7719 "char *\n"
7720 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
7721 "{\n"
7722 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
7723 "    printf(\"; flag = %s\\en\",\n"
7724 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
7725 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
7726 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
7727 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
7728 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
7729 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
7730 "            \"???\");\n"
7731
7732 #. type: Plain text
7733 #: build/C/man7/rtld-audit.7:530
7734 #, no-wrap
7735 msgid ""
7736 "    return name;\n"
7737 "}\n"
7738 msgstr ""
7739 "    return name;\n"
7740 "}\n"
7741
7742 #. type: Plain text
7743 #: build/C/man7/rtld-audit.7:540
7744 #, no-wrap
7745 msgid ""
7746 "void\n"
7747 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
7748 "{\n"
7749 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
7750 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
7751 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
7752 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
7753 "            \"???\");\n"
7754 "}\n"
7755 msgstr ""
7756 "void\n"
7757 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
7758 "{\n"
7759 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
7760 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
7761 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
7762 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
7763 "            \"???\");\n"
7764 "}\n"
7765
7766 #. type: Plain text
7767 #: build/C/man7/rtld-audit.7:550
7768 #, no-wrap
7769 msgid ""
7770 "unsigned int\n"
7771 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
7772 "{\n"
7773 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
7774 "            map-E<gt>l_name,\n"
7775 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
7776 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
7777 "            \"???\",\n"
7778 "            cookie);\n"
7779 msgstr ""
7780 "unsigned int\n"
7781 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
7782 "{\n"
7783 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
7784 "            map-E<gt>l_name,\n"
7785 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
7786 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
7787 "            \"???\",\n"
7788 "            cookie);\n"
7789
7790 #. type: Plain text
7791 #: build/C/man7/rtld-audit.7:553
7792 #, no-wrap
7793 msgid ""
7794 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
7795 "}\n"
7796 msgstr ""
7797 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
7798 "}\n"
7799
7800 #. type: Plain text
7801 #: build/C/man7/rtld-audit.7:558
7802 #, no-wrap
7803 msgid ""
7804 "unsigned int\n"
7805 "la_objclose (uintptr_t *cookie)\n"
7806 "{\n"
7807 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
7808 msgstr ""
7809 "unsigned int\n"
7810 "la_objclose (uintptr_t *cookie)\n"
7811 "{\n"
7812 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
7813
7814 #. type: Plain text
7815 #: build/C/man7/rtld-audit.7:561
7816 #, no-wrap
7817 msgid ""
7818 "    return 0;\n"
7819 "}\n"
7820 msgstr ""
7821 "    return 0;\n"
7822 "}\n"
7823
7824 #. type: Plain text
7825 #: build/C/man7/rtld-audit.7:567
7826 #, no-wrap
7827 msgid ""
7828 "void\n"
7829 "la_preinit(uintptr_t *cookie)\n"
7830 "{\n"
7831 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
7832 "}\n"
7833 msgstr ""
7834 "void\n"
7835 "la_preinit(uintptr_t *cookie)\n"
7836 "{\n"
7837 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
7838 "}\n"
7839
7840 #. type: Plain text
7841 #: build/C/man7/rtld-audit.7:576
7842 #, no-wrap
7843 msgid ""
7844 "uintptr_t\n"
7845 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
7846 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
7847 "{\n"
7848 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
7849 "            symname, sym-E<gt>st_value);\n"
7850 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
7851 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
7852 msgstr ""
7853 "uintptr_t\n"
7854 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
7855 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
7856 "{\n"
7857 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
7858 "            symname, sym-E<gt>st_value);\n"
7859 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
7860 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
7861
7862 #. type: Plain text
7863 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
7864 #: build/C/man7/rtld-audit.7:601
7865 #, no-wrap
7866 msgid ""
7867 "    return sym-E<gt>st_value;\n"
7868 "}\n"
7869 msgstr ""
7870 "    return sym-E<gt>st_value;\n"
7871 "}\n"
7872
7873 #. type: Plain text
7874 #: build/C/man7/rtld-audit.7:588
7875 #, no-wrap
7876 msgid ""
7877 "uintptr_t\n"
7878 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
7879 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
7880 "{\n"
7881 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
7882 "            symname, sym-E<gt>st_value);\n"
7883 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
7884 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
7885 msgstr ""
7886 "uintptr_t\n"
7887 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
7888 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
7889 "{\n"
7890 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
7891 "            symname, sym-E<gt>st_value);\n"
7892 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
7893 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
7894
7895 #. type: Plain text
7896 #: build/C/man7/rtld-audit.7:598
7897 #, no-wrap
7898 msgid ""
7899 "Elf32_Addr\n"
7900 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
7901 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
7902 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
7903 "{\n"
7904 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
7905 msgstr ""
7906 "Elf32_Addr\n"
7907 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
7908 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
7909 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
7910 "{\n"
7911 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
7912
7913 #. type: Plain text
7914 #: build/C/man7/rtld-audit.7:607
7915 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
7916 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
7917
7918 #. type: TH
7919 #: build/C/man8/sln.8:25
7920 #, no-wrap
7921 msgid "SLN"
7922 msgstr "SLN"
7923
7924 #. type: TH
7925 #: build/C/man8/sln.8:25
7926 #, no-wrap
7927 msgid "2013-02-10"
7928 msgstr "2013-02-10"
7929
7930 #. type: Plain text
7931 #: build/C/man8/sln.8:28
7932 msgid "sln - create symbolic links"
7933 msgstr "sln - シンボリックリンクを作成する"
7934
7935 #. type: Plain text
7936 #: build/C/man8/sln.8:30
7937 msgid "B<sln>I< source dest>"
7938 msgstr "B<sln>I< source dest>"
7939
7940 #. type: Plain text
7941 #: build/C/man8/sln.8:32
7942 msgid "B<sln>I< filelist>"
7943 msgstr "B<sln>I< filelist>"
7944
7945 #. type: Plain text
7946 #: build/C/man8/sln.8:42
7947 msgid ""
7948 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
7949 "is statically linked.  This means that if for some reason the dynamic linker "
7950 "is not working, B<sln> can be used to make symbolic links to dynamic "
7951 "libraries."
7952 msgstr ""
7953 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
7954 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
7955 "カが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリンク"
7956 "を作成することができる。"
7957
7958 #. type: Plain text
7959 #: build/C/man8/sln.8:48
7960 msgid ""
7961 "The command line has two forms.  In the first form, it creates I<dest> as a "
7962 "new symbolic link to I<source>."
7963 msgstr ""
7964 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
7965 "クリンクとして I<dest> を作成する。"
7966
7967 #. type: Plain text
7968 #: build/C/man8/sln.8:56
7969 msgid ""
7970 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
7971 "and the effect is as if B<sln> was executed once for each line of the file, "
7972 "with the two pathnames as the arguments."
7973 msgstr ""
7974 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
7975 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
7976 "のと同じ結果となる。"
7977
7978 #. type: Plain text
7979 #: build/C/man8/sln.8:60
7980 msgid "The B<sln> program supports no command-line options."
7981 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
7982
7983 #. type: Plain text
7984 #: build/C/man8/sln.8:64
7985 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
7986 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"