OSDN Git Service

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