OSDN Git Service

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