OSDN Git Service

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