OSDN Git Service

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