OSDN Git Service

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