OSDN Git Service

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