OSDN Git Service

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