OSDN Git Service

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