OSDN Git Service

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