OSDN Git Service

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