OSDN Git Service

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