OSDN Git Service

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