OSDN Git Service

LDP: Update POT and ja.po to LDP v3.77
[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: 2015-01-11 03:52+0900\n"
10 "PO-Revision-Date: 2015-01-07 19:18+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/dl_iterate_phdr.3:25
20 #, no-wrap
21 msgid "DL_ITERATE_PHDR"
22 msgstr "DL_ITERATE_PHDR"
23
24 #. type: TH
25 #: build/C/man3/dl_iterate_phdr.3:25
26 #, no-wrap
27 msgid "2007-05-18"
28 msgstr "2007-05-18"
29
30 #. type: TH
31 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/end.3:26
32 #: build/C/man8/ld.so.8:5 build/C/man8/ldconfig.8:22
33 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
34 #: build/C/man1/mtrace.1:23 build/C/man1/pldd.1:25 build/C/man8/sln.8:25
35 #, no-wrap
36 msgid "GNU"
37 msgstr "GNU"
38
39 #. type: TH
40 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dlopen.3:35
41 #: build/C/man5/elf.5:35 build/C/man3/end.3:26 build/C/man8/ld.so.8:5
42 #: build/C/man8/ldconfig.8:22 build/C/man1/ldd.1:14
43 #: build/C/man7/rtld-audit.7:28 build/C/man8/sln.8:25
44 #, no-wrap
45 msgid "Linux Programmer's Manual"
46 msgstr "Linux Programmer's Manual"
47
48 #. type: SH
49 #: build/C/man3/dl_iterate_phdr.3:26 build/C/man3/dlopen.3:36
50 #: build/C/man5/elf.5:36 build/C/man3/end.3:27 build/C/man8/ld.so.8:6
51 #: build/C/man8/ldconfig.8:23 build/C/man1/ldd.1:15 build/C/man1/memusage.1:25
52 #: build/C/man1/memusagestat.1:24 build/C/man1/mtrace.1:24
53 #: build/C/man1/pldd.1:26 build/C/man7/rtld-audit.7:29 build/C/man8/sln.8:26
54 #: build/C/man1/sprof.1:26
55 #, no-wrap
56 msgid "NAME"
57 msgstr "名前"
58
59 #. type: Plain text
60 #: build/C/man3/dl_iterate_phdr.3:28
61 msgid "dl_iterate_phdr - walk through list of shared objects"
62 msgstr "dl_iterate_phdr - 共有オブジェクトのリストを辿る"
63
64 #. type: SH
65 #: build/C/man3/dl_iterate_phdr.3:28 build/C/man3/dlopen.3:39
66 #: build/C/man5/elf.5:38 build/C/man3/end.3:29 build/C/man8/ld.so.8:8
67 #: build/C/man8/ldconfig.8:25 build/C/man1/ldd.1:17 build/C/man1/memusage.1:27
68 #: build/C/man1/memusagestat.1:26 build/C/man1/mtrace.1:26
69 #: build/C/man1/pldd.1:28 build/C/man7/rtld-audit.7:31 build/C/man8/sln.8:28
70 #: build/C/man1/sprof.1:28
71 #, no-wrap
72 msgid "SYNOPSIS"
73 msgstr "書式"
74
75 #. type: Plain text
76 #: build/C/man3/dl_iterate_phdr.3:32
77 #, no-wrap
78 msgid ""
79 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
80 "B<#include E<lt>link.hE<gt>>\n"
81 msgstr ""
82 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
83 "B<#include E<lt>link.hE<gt>>\n"
84
85 #. type: Plain text
86 #: build/C/man3/dl_iterate_phdr.3:37
87 #, no-wrap
88 msgid ""
89 "B<int dl_iterate_phdr(>\n"
90 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
91 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
92 "B<          void *>I<data>B<);>\n"
93 msgstr ""
94 "B<int dl_iterate_phdr(>\n"
95 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
96 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
97 "B<          void *>I<data>B<);>\n"
98
99 #. type: SH
100 #: build/C/man3/dl_iterate_phdr.3:38 build/C/man3/dlopen.3:51
101 #: build/C/man5/elf.5:43 build/C/man3/end.3:35 build/C/man8/ld.so.8:18
102 #: build/C/man8/ldconfig.8:54 build/C/man1/ldd.1:19 build/C/man1/memusage.1:29
103 #: build/C/man1/memusagestat.1:28 build/C/man1/mtrace.1:28
104 #: build/C/man1/pldd.1:33 build/C/man7/rtld-audit.7:35 build/C/man8/sln.8:32
105 #: build/C/man1/sprof.1:33
106 #, no-wrap
107 msgid "DESCRIPTION"
108 msgstr "説明"
109
110 #. type: Plain text
111 #: build/C/man3/dl_iterate_phdr.3:43
112 msgid ""
113 "The B<dl_iterate_phdr>()  function allows an application to inquire at run "
114 "time to find out which shared objects it has loaded."
115 msgstr ""
116 "B<dl_iterate_phdr>()  関数を使うと、アプリケーションは実行時に どの共有オブ"
117 "ジェクトをロードしたかを見つけることができる。"
118
119 #. type: Plain text
120 #: build/C/man3/dl_iterate_phdr.3:53
121 msgid ""
122 "The B<dl_iterate_phdr>()  function walks through the list of an "
123 "application's shared objects and calls the function I<callback> once for "
124 "each object, until either all shared objects have been processed or "
125 "I<callback> returns a nonzero value."
126 msgstr ""
127 "B<dl_iterate_phdr>()  関数はアプリケーションの共有オブジェクトのリストを辿"
128 "り、 各オブジェクトに対して関数 I<callback> を 1 回ずつ呼び出す。 これは全て"
129 "の共有オブジェクトが処理されるか、 I<callback> が 0 以外の値を返すまで行われ"
130 "る。"
131
132 #. type: Plain text
133 #: build/C/man3/dl_iterate_phdr.3:70
134 msgid ""
135 "Each call to I<callback> receives three arguments: I<info>, which is a "
136 "pointer to a structure containing information about the shared object; "
137 "I<size>, which is the size of the structure pointed to by I<info>; and "
138 "I<data>, which is a copy of whatever value was passed by the calling program "
139 "as the second argument (also named I<data>)  in the call to "
140 "B<dl_iterate_phdr>()."
141 msgstr ""
142 "各々の I<callback> 呼び出しは 3 つの引き数を受け取る: I<info> は共有オブジェ"
143 "クトの情報を保持する構造体へのポインタである。 I<size> は I<info> で指される"
144 "構造体のサイズである。 I<data> は呼び出し元プログラムから "
145 "B<dl_iterate_phdr>()  の呼び出しの (同じく I<data> という名前の) 第 2 引き数"
146 "として渡される値のコピーである。"
147
148 #. type: Plain text
149 #: build/C/man3/dl_iterate_phdr.3:74
150 msgid "The I<info> argument is a structure of the following type:"
151 msgstr "I<info> 引き数は、以下のような型の構造体である。"
152
153 #. type: Plain text
154 #: build/C/man3/dl_iterate_phdr.3:86
155 #, no-wrap
156 msgid ""
157 "struct dl_phdr_info {\n"
158 "    ElfW(Addr)        dlpi_addr;  /* Base address of object */\n"
159 "    const char       *dlpi_name;  /* (Null-terminated) name of\n"
160 "                                     object */\n"
161 "    const ElfW(Phdr) *dlpi_phdr;  /* Pointer to array of\n"
162 "                                     ELF program headers\n"
163 "                                     for this object */\n"
164 "    ElfW(Half)        dlpi_phnum; /* # of items in I<dlpi_phdr> */\n"
165 "};\n"
166 msgstr ""
167 "struct dl_phdr_info {\n"
168 "    ElfW(Addr)        dlpi_addr;  /* オブジェクトのベースアドレス */\n"
169 "    const char       *dlpi_name;  /* (ヌル文字で終端された)\n"
170 "                                     オブジェクト名 */\n"
171 "    const ElfW(Phdr) *dlpi_phdr;  /* このオブジェクトの\n"
172 "                                     ELF プログラムヘッダの\n"
173 "                                     配列へのポインタ */\n"
174 "    ElfW(Half)        dlpi_phnum; /* I<dlpi_phdr> のアイテム数 */\n"
175 "};\n"
176
177 #. type: Plain text
178 #: build/C/man3/dl_iterate_phdr.3:98
179 msgid ""
180 "(The I<ElfW>()  macro definition turns its argument into the name of an ELF "
181 "data type suitable for the hardware architecture.  For example, on a 32-bit "
182 "platform, ElfW(Addr) yields the data type name Elf32_Addr.  Further "
183 "information on these types can be found in the I<E<lt>elf.hE<gt>> and "
184 "I<E<lt>link.hE<gt>> header files.)"
185 msgstr ""
186 "(I<ElfW>()  マクロ定義は引き数をハードウェアアーキテクチャに適した ELF データ"
187 "型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
188 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
189 "ダファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
190
191 #. type: Plain text
192 #: build/C/man3/dl_iterate_phdr.3:109
193 msgid ""
194 "The I<dlpi_addr> field indicates the base address of the shared object (i."
195 "e., the difference between the virtual memory address of the shared object "
196 "and the offset of that object in the file from which it was loaded).  The "
197 "I<dlpi_name> field is a null-terminated string giving the pathname from "
198 "which the shared object was loaded."
199 msgstr ""
200 "I<dlpi_addr> フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ"
201 "ジェクトの仮想メモリアドレスと、 ファイル (このファイルから共有オブジェクトが"
202 "ロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 "
203 "I<dlpi_name> はヌル文字で終端された文字列であり、 このパス名のファイルから共"
204 "有オブジェクトがロードされる。"
205
206 #. type: Plain text
207 #: build/C/man3/dl_iterate_phdr.3:124
208 msgid ""
209 "To understand the meaning of the I<dlpi_phdr> and I<dlpi_phnum> fields, we "
210 "need to be aware that an ELF shared object consists of a number of segments, "
211 "each of which has a corresponding program header describing the segment.  "
212 "The I<dlpi_phdr> field is a pointer to an array of the program headers for "
213 "this shared object.  The I<dlpi_phnum> field indicates the size of this "
214 "array."
215 msgstr ""
216 "I<dlpi_phdr> と I<dlpi_phnum> フィールドの意味を理解するには、 ELF 共有オブ"
217 "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対"
218 "応するプログラムヘッダ (そのセグメントを説明する) を持っていることを知ってい"
219 "る必要がある。 I<dlpi_phdr> フィールドは、この共有オブジェクトのプログラム"
220 "ヘッダの配列へのポインタである。 I<dlpi_phnum> は、この配列のサイズを表す。"
221
222 #. type: Plain text
223 #: build/C/man3/dl_iterate_phdr.3:126
224 msgid "These program headers are structures of the following form:"
225 msgstr "これらのプログラムヘッダは以下のような形式の構造体である:"
226
227 #. type: Plain text
228 #: build/C/man3/dl_iterate_phdr.3:139
229 #, no-wrap
230 msgid ""
231 "typedef struct {\n"
232 "    Elf32_Word  p_type;    /* Segment type */\n"
233 "    Elf32_Off   p_offset;  /* Segment file offset */\n"
234 "    Elf32_Addr  p_vaddr;   /* Segment virtual address */\n"
235 "    Elf32_Addr  p_paddr;   /* Segment physical address */\n"
236 "    Elf32_Word  p_filesz;  /* Segment size in file */\n"
237 "    Elf32_Word  p_memsz;   /* Segment size in memory */\n"
238 "    Elf32_Word  p_flags;   /* Segment flags */\n"
239 "    Elf32_Word  p_align;   /* Segment alignment */\n"
240 "} Elf32_Phdr;\n"
241 msgstr ""
242 "typedef struct\n"
243 "{\n"
244 "    Elf32_Word  p_type;    /* セグメントの型 */\n"
245 "    Elf32_Off   p_offset;  /* セグメントのファイルオフセット */\n"
246 "    Elf32_Addr  p_vaddr;   /* セグメントの仮想アドレス */\n"
247 "    Elf32_Addr  p_paddr;   /* セグメントの物理アドレス */\n"
248 "    Elf32_Word  p_filesz;  /* ファイルにおけるセグメントサイズ */\n"
249 "    Elf32_Word  p_memsz;   /* メモリにおけるセグメントサイズ */\n"
250 "    Elf32_Word  p_flags;   /* セグメントフラグ */\n"
251 "    Elf32_Word  p_align;   /* セグメントの配置 (alignment) */\n"
252 "} Elf32_Phdr;\n"
253
254 #. type: Plain text
255 #: build/C/man3/dl_iterate_phdr.3:145
256 msgid ""
257 "Note that we can calculate the location of a particular program header, "
258 "I<x>, in virtual memory using the formula:"
259 msgstr ""
260 "特定のプログラムヘッダ I<x> の仮想メモリにおける位置は、以下の式で計算できる"
261 "点に注意すること:"
262
263 #. type: Plain text
264 #: build/C/man3/dl_iterate_phdr.3:148
265 #, no-wrap
266 msgid "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
267 msgstr "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
268
269 #. type: SH
270 #: build/C/man3/dl_iterate_phdr.3:149
271 #, no-wrap
272 msgid "RETURN VALUE"
273 msgstr "返り値"
274
275 #. type: Plain text
276 #: build/C/man3/dl_iterate_phdr.3:154
277 msgid ""
278 "The B<dl_iterate_phdr>()  function returns whatever value was returned by "
279 "the last call to I<callback>."
280 msgstr ""
281 "B<dl_iterate_phdr>()  関数は最後の I<callback> の呼び出しで返された値を返す。"
282
283 #. type: SH
284 #: build/C/man3/dl_iterate_phdr.3:154 build/C/man1/pldd.1:50
285 #, no-wrap
286 msgid "VERSIONS"
287 msgstr "バージョン"
288
289 #. type: Plain text
290 #: build/C/man3/dl_iterate_phdr.3:157
291 msgid "B<dl_iterate_phdr>()  has been supported in glibc since version 2.2.4."
292 msgstr ""
293 "B<dl_iterate_phdr>()  は glibc のバージョン 2.2.4 以降でサポートされている。"
294
295 #. type: SH
296 #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381
297 #: build/C/man3/end.3:50 build/C/man1/pldd.1:53 build/C/man7/rtld-audit.7:461
298 #: build/C/man1/sprof.1:75
299 #, no-wrap
300 msgid "CONFORMING TO"
301 msgstr "準拠"
302
303 #. type: Plain text
304 #: build/C/man3/dl_iterate_phdr.3:161
305 msgid ""
306 "The B<dl_iterate_phdr>()  function is Linux-specific and should be avoided "
307 "in portable applications."
308 msgstr ""
309 "B<dl_iterate_phdr>()  関数は Linux 固有であり、移植を考えたアプリケーションで"
310 "は避けるべきである。"
311
312 #. type: SH
313 #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446
314 #: build/C/man3/end.3:76 build/C/man1/memusage.1:201
315 #: build/C/man1/memusagestat.1:81 build/C/man1/pldd.1:71
316 #: build/C/man7/rtld-audit.7:502 build/C/man1/sprof.1:79
317 #, no-wrap
318 msgid "EXAMPLE"
319 msgstr "例"
320
321 #. type: Plain text
322 #: build/C/man3/dl_iterate_phdr.3:166
323 msgid ""
324 "The following program displays a list of pathnames of the shared objects it "
325 "has loaded.  For each shared object, the program lists the virtual addresses "
326 "at which the object's ELF segments are loaded."
327 msgstr ""
328 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
329 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
330 "ロードされた 仮想アドレスの一覧を表示する。"
331
332 #. type: Plain text
333 #: build/C/man3/dl_iterate_phdr.3:172
334 #, no-wrap
335 msgid ""
336 "#define _GNU_SOURCE\n"
337 "#include E<lt>link.hE<gt>\n"
338 "#include E<lt>stdlib.hE<gt>\n"
339 "#include E<lt>stdio.hE<gt>\n"
340 msgstr ""
341 "#define _GNU_SOURCE\n"
342 "#include E<lt>link.hE<gt>\n"
343 "#include E<lt>stdlib.hE<gt>\n"
344 "#include E<lt>stdio.hE<gt>\n"
345
346 #. type: Plain text
347 #: build/C/man3/dl_iterate_phdr.3:177
348 #, no-wrap
349 msgid ""
350 "static int\n"
351 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
352 "{\n"
353 "    int j;\n"
354 msgstr ""
355 "static int\n"
356 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
357 "{\n"
358 "    int j;\n"
359
360 #. type: Plain text
361 #: build/C/man3/dl_iterate_phdr.3:180
362 #, no-wrap
363 msgid ""
364 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
365 "        info-E<gt>dlpi_phnum);\n"
366 msgstr ""
367 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
368 "        info-E<gt>dlpi_phnum);\n"
369
370 #. type: Plain text
371 #: build/C/man3/dl_iterate_phdr.3:186
372 #, no-wrap
373 msgid ""
374 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
375 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
376 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
377 "    return 0;\n"
378 "}\n"
379 msgstr ""
380 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
381 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
382 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
383 "    return 0;\n"
384 "}\n"
385
386 #. type: Plain text
387 #: build/C/man3/dl_iterate_phdr.3:191
388 #, no-wrap
389 msgid ""
390 "int\n"
391 "main(int argc, char *argv[])\n"
392 "{\n"
393 "    dl_iterate_phdr(callback, NULL);\n"
394 msgstr ""
395 "int\n"
396 "main(int argc, char *argv[])\n"
397 "{\n"
398 "    dl_iterate_phdr(callback, NULL);\n"
399
400 #. type: Plain text
401 #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107
402 #, no-wrap
403 msgid ""
404 "    exit(EXIT_SUCCESS);\n"
405 "}\n"
406 msgstr ""
407 "    exit(EXIT_SUCCESS);\n"
408 "}\n"
409
410 #. type: SH
411 #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521
412 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:489
413 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108
414 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
415 #: build/C/man1/mtrace.1:61 build/C/man1/pldd.1:91
416 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60
417 #: build/C/man1/sprof.1:299
418 #, no-wrap
419 msgid "SEE ALSO"
420 msgstr "関連項目"
421
422 #. type: Plain text
423 #: build/C/man3/dl_iterate_phdr.3:202
424 msgid ""
425 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
426 msgstr ""
427 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
428
429 #. type: Plain text
430 #: build/C/man3/dl_iterate_phdr.3:205
431 msgid ""
432 "I<Executable and Linking Format Specification>, available at various "
433 "locations online."
434 msgstr ""
435 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
436 "Specification>"
437
438 #. type: SH
439 #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:531
440 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:505
441 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:113
442 #: build/C/man1/memusage.1:275 build/C/man1/memusagestat.1:91
443 #: build/C/man1/mtrace.1:64 build/C/man1/pldd.1:96
444 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64
445 #: build/C/man1/sprof.1:303
446 #, no-wrap
447 msgid "COLOPHON"
448 msgstr "この文書について"
449
450 #. type: Plain text
451 #: build/C/man3/dl_iterate_phdr.3:213 build/C/man3/dlopen.3:539
452 #: build/C/man5/elf.5:1971 build/C/man3/end.3:121 build/C/man8/ld.so.8:513
453 #: build/C/man8/ldconfig.8:186 build/C/man1/ldd.1:121
454 #: build/C/man1/memusage.1:283 build/C/man1/memusagestat.1:99
455 #: build/C/man1/mtrace.1:72 build/C/man1/pldd.1:104
456 #: build/C/man7/rtld-audit.7:615 build/C/man8/sln.8:72
457 #: build/C/man1/sprof.1:311
458 #, fuzzy
459 #| msgid ""
460 #| "This page is part of release 3.76 of the Linux I<man-pages> project.  A "
461 #| "description of the project, information about reporting bugs, and the "
462 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
463 #| "man-pages/."
464 msgid ""
465 "This page is part of release 3.77 of the Linux I<man-pages> project.  A "
466 "description of the project, information about reporting bugs, and the latest "
467 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
468 "pages/."
469 msgstr ""
470 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.76 の一部\n"
471 "である。プロジェクトの説明とバグ報告に関する情報は\n"
472 "http://www.kernel.org/doc/man-pages/ に書かれている。"
473
474 #. type: TH
475 #: build/C/man3/dlopen.3:35
476 #, no-wrap
477 msgid "DLOPEN"
478 msgstr "DLOPEN"
479
480 #. type: TH
481 #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14
482 #, no-wrap
483 msgid "2014-10-02"
484 msgstr "2014-10-02"
485
486 #. type: TH
487 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
488 #: build/C/man1/sprof.1:25
489 #, no-wrap
490 msgid "Linux"
491 msgstr "Linux"
492
493 #. type: Plain text
494 #: build/C/man3/dlopen.3:39
495 msgid ""
496 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
497 "dynamic linking loader"
498 msgstr ""
499 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダへの プログラミングイ"
500 "ンターフェース"
501
502 #. type: Plain text
503 #: build/C/man3/dlopen.3:41
504 msgid "B<#include E<lt>dlfcn.hE<gt>>"
505 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
506
507 #. type: Plain text
508 #: build/C/man3/dlopen.3:43
509 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
510 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
511
512 #. type: Plain text
513 #: build/C/man3/dlopen.3:45
514 msgid "B<char *dlerror(void);>"
515 msgstr "B<char *dlerror(void);>"
516
517 #. type: Plain text
518 #: build/C/man3/dlopen.3:47
519 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
520 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
521
522 #. type: Plain text
523 #: build/C/man3/dlopen.3:49
524 msgid "B<int dlclose(void *>I<handle>B<);>"
525 msgstr "B<int dlclose(void *>I<handle>B<);>"
526
527 #. type: Plain text
528 #: build/C/man3/dlopen.3:51
529 msgid "Link with I<-ldl>."
530 msgstr "I<-ldl> でリンクする。"
531
532 #. type: Plain text
533 #: build/C/man3/dlopen.3:58
534 msgid ""
535 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
536 "implement the interface to the dynamic linking loader."
537 msgstr ""
538 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的リン"
539 "ク (dynamic linking) を行うローダへの インタフェースを実装したものである。"
540
541 #. type: SS
542 #: build/C/man3/dlopen.3:58
543 #, no-wrap
544 msgid "dlerror()"
545 msgstr "dlerror()"
546
547 #. type: Plain text
548 #: build/C/man3/dlopen.3:71
549 msgid ""
550 "The function B<dlerror>()  returns a human-readable string describing the "
551 "most recent error that occurred from B<dlopen>(), B<dlsym>()  or "
552 "B<dlclose>()  since the last call to B<dlerror>().  It returns NULL if no "
553 "errors have occurred since initialization or since it was last called."
554 msgstr ""
555 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
556 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
557 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
558 "ば NULL を返す。"
559
560 #. type: SS
561 #: build/C/man3/dlopen.3:71
562 #, no-wrap
563 msgid "dlopen()"
564 msgstr "dlopen()"
565
566 #. type: Plain text
567 #: build/C/man3/dlopen.3:89
568 msgid ""
569 "The function B<dlopen>()  loads the dynamic library file named by the null-"
570 "terminated string I<filename> and returns an opaque \"handle\" for the "
571 "dynamic library.  If I<filename> is NULL, then the returned handle is for "
572 "the main program.  If I<filename> contains a slash (\"/\"), then it is "
573 "interpreted as a (relative or absolute) pathname.  Otherwise, the dynamic "
574 "linker searches for the library as follows (see B<ld.so>(8)  for further "
575 "details):"
576 msgstr ""
577 "関数 B<dlopen>()  は、ヌル終端された文字列 I<filename> で指定されたファイル名"
578 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
579 "「ハンドル」を返す。 I<filename> が NULL の場合、メイン・プログラムへのハンド"
580 "ルが返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)"
581 "パス名として解釈される。 それ以外の場合、動的リンカは以下の手順でライブラリを"
582 "検索する (詳細は B<ld.so>(8)  を参照):"
583
584 #. type: IP
585 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
586 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
587 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
588 #: build/C/man8/ld.so.8:80
589 #, no-wrap
590 msgid "o"
591 msgstr "o"
592
593 #. type: Plain text
594 #: build/C/man3/dlopen.3:93
595 msgid ""
596 "(ELF only) If the executable file for the calling program contains a "
597 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
598 "listed in the DT_RPATH tag are searched."
599 msgstr ""
600 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
601 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
602 "クトリ・リストを検索する。"
603
604 #. type: Plain text
605 #: build/C/man3/dlopen.3:100
606 msgid ""
607 "If, at the time that the program was started, the environment variable "
608 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
609 "directories, then these are searched.  (As a security measure this variable "
610 "is ignored for set-user-ID and set-group-ID programs.)"
611 msgstr ""
612 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
613 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
614 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
615 "場合は無視される)。"
616
617 #. type: Plain text
618 #: build/C/man3/dlopen.3:104
619 msgid ""
620 "(ELF only) If the executable file for the calling program contains a "
621 "DT_RUNPATH tag, then the directories listed in that tag are searched."
622 msgstr ""
623 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
624 "る場合、そのタグに書かれているディレクトリ・リストを検索する。"
625
626 #. type: Plain text
627 #: build/C/man3/dlopen.3:111
628 msgid ""
629 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
630 "checked to see whether it contains an entry for I<filename>."
631 msgstr ""
632 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリが入って"
633 "いるかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理され"
634 "ている)。"
635
636 #. type: Plain text
637 #: build/C/man3/dlopen.3:117
638 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
639 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
640
641 #. type: Plain text
642 #: build/C/man3/dlopen.3:123
643 msgid ""
644 "If the library has dependencies on other shared libraries, then these are "
645 "also automatically loaded by the dynamic linker using the same rules.  (This "
646 "process may occur recursively, if those libraries in turn have dependencies, "
647 "and so on.)"
648 msgstr ""
649 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
650 "リも動的リンカが同じ検索ルールに基づいて 自動的にロードする (それらのライブラ"
651 "リにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
652
653 #. type: Plain text
654 #: build/C/man3/dlopen.3:126
655 msgid "One of the following two values must be included in I<flag>:"
656 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
657
658 #. type: TP
659 #: build/C/man3/dlopen.3:126
660 #, no-wrap
661 msgid "B<RTLD_LAZY>"
662 msgstr "B<RTLD_LAZY>"
663
664 #. type: Plain text
665 #: build/C/man3/dlopen.3:134
666 msgid ""
667 "Perform lazy binding.  Only resolve symbols as the code that references them "
668 "is executed.  If the symbol is never referenced, then it is never resolved.  "
669 "(Lazy binding is performed only for function references; references to "
670 "variables are always immediately bound when the library is loaded.)"
671 msgstr ""
672 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
673 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
674 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
675 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
676 "直ちに解決される。)"
677
678 #. type: TP
679 #: build/C/man3/dlopen.3:134
680 #, no-wrap
681 msgid "B<RTLD_NOW>"
682 msgstr "B<RTLD_NOW>"
683
684 #. type: Plain text
685 #: build/C/man3/dlopen.3:143
686 msgid ""
687 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
688 "set to a nonempty string, all undefined symbols in the library are resolved "
689 "before B<dlopen>()  returns.  If this cannot be done, an error is returned."
690 msgstr ""
691 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
692 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
693 "る。解決できなかったときにはエラーが返される。"
694
695 #. type: Plain text
696 #: build/C/man3/dlopen.3:146
697 msgid "Zero or more of the following values may also be ORed in I<flag>:"
698 msgstr ""
699 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
700
701 #. type: TP
702 #: build/C/man3/dlopen.3:146
703 #, no-wrap
704 msgid "B<RTLD_GLOBAL>"
705 msgstr "B<RTLD_GLOBAL>"
706
707 #. type: Plain text
708 #: build/C/man3/dlopen.3:150
709 msgid ""
710 "The symbols defined by this library will be made available for symbol "
711 "resolution of subsequently loaded libraries."
712 msgstr ""
713 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
714 "のシンボル解決で利用できるようになる。"
715
716 #. type: TP
717 #: build/C/man3/dlopen.3:150
718 #, no-wrap
719 msgid "B<RTLD_LOCAL>"
720 msgstr "B<RTLD_LOCAL>"
721
722 #. type: Plain text
723 #: build/C/man3/dlopen.3:157
724 msgid ""
725 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
726 "specified.  Symbols defined in this library are not made available to "
727 "resolve references in subsequently loaded libraries."
728 msgstr ""
729 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
730 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
731 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
732
733 #. type: TP
734 #: build/C/man3/dlopen.3:157
735 #, no-wrap
736 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
737 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
738
739 #.  (But it is present on Solaris.)
740 #. type: Plain text
741 #: build/C/man3/dlopen.3:167
742 msgid ""
743 "Do not unload the library during B<dlclose>().  Consequently, the library's "
744 "static variables are not reinitialized if the library is reloaded with "
745 "B<dlopen>()  at a later time.  This flag is not specified in POSIX.1-2001."
746 msgstr ""
747 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
748 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
749 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
750
751 #. type: TP
752 #: build/C/man3/dlopen.3:167
753 #, no-wrap
754 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
755 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
756
757 #.  (But it is present on Solaris.)
758 #. type: Plain text
759 #: build/C/man3/dlopen.3:182
760 msgid ""
761 "Don't load the library.  This can be used to test if the library is already "
762 "resident (B<dlopen>()  returns NULL if it is not, or the library's handle if "
763 "it is resident).  This flag can also be used to promote the flags on a "
764 "library that is already loaded.  For example, a library that was previously "
765 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
766 "RTLD_GLOBAL>.  This flag is not specified in POSIX.1-2001."
767 msgstr ""
768 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
769 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
770 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
771 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
772 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
773 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
774 "規定されていない。"
775
776 #. type: TP
777 #: build/C/man3/dlopen.3:182
778 #, no-wrap
779 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
780 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
781
782 #.  Inimitably described by UD in
783 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
784 #. type: Plain text
785 #: build/C/man3/dlopen.3:192
786 msgid ""
787 "Place the lookup scope of the symbols in this library ahead of the global "
788 "scope.  This means that a self-contained library will use its own symbols in "
789 "preference to global symbols with the same name contained in libraries that "
790 "have already been loaded.  This flag is not specified in POSIX.1-2001."
791 msgstr ""
792 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
793 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
794 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
795 "フラグは POSIX.1-2001 では規定されていない。"
796
797 #. type: Plain text
798 #: build/C/man3/dlopen.3:204
799 msgid ""
800 "If I<filename> is NULL, then the returned handle is for the main program.  "
801 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
802 "main program, followed by all shared libraries loaded at program startup, "
803 "and then all shared libraries loaded by B<dlopen>()  with the flag "
804 "B<RTLD_GLOBAL>."
805 msgstr ""
806 "I<filename> が NULL である場合は、 返されるハンドルはメイン・プログラムのもの"
807 "になる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メイン・"
808 "プログラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
809 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
810 "ラリ、の順序で行われる。"
811
812 #. type: Plain text
813 #: build/C/man3/dlopen.3:214
814 msgid ""
815 "External references in the library are resolved using the libraries in that "
816 "library's dependency list and any other libraries previously opened with the "
817 "B<RTLD_GLOBAL> flag.  If the executable was linked with the flag \"-rdynamic"
818 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
819 "executable will also be used to resolve references in a dynamically loaded "
820 "library."
821 msgstr ""
822 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
823 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
824 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
825 "も同義)  付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
826 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
827
828 #. type: Plain text
829 #: build/C/man3/dlopen.3:232
830 msgid ""
831 "If the same library is loaded again with B<dlopen>(), the same library "
832 "handle is returned.  The dl library maintains reference counts for library "
833 "handles, so a dynamic library is not deallocated until B<dlclose>()  has "
834 "been called on it as many times as B<dlopen>()  has succeeded on it.  The "
835 "B<_init>()  routine, if present, is called only once.  But a subsequent call "
836 "with B<RTLD_NOW> may force symbol resolution for a library earlier loaded "
837 "with B<RTLD_LAZY>."
838 msgstr ""
839 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じライブラ"
840 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
841 "いる。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だ"
842 "け呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出"
843 "される (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
844 "B<dlopen>()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
845 "のシンボル解決が実行されることがある。"
846
847 #. type: Plain text
848 #: build/C/man3/dlopen.3:236
849 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
850 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
851
852 #. type: SS
853 #: build/C/man3/dlopen.3:236
854 #, no-wrap
855 msgid "dlsym()"
856 msgstr "dlsym()"
857
858 #. type: Plain text
859 #: build/C/man3/dlopen.3:265
860 msgid ""
861 "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned by "
862 "B<dlopen>()  and the null-terminated symbol name, returning the address "
863 "where that symbol is loaded into memory.  If the symbol is not found, in the "
864 "specified library or any of the libraries that were automatically loaded by "
865 "B<dlopen>()  when that library was loaded, B<dlsym>()  returns NULL.  (The "
866 "search performed by B<dlsym>()  is breadth first through the dependency tree "
867 "of these libraries.)  Since the value of the symbol could actually be NULL "
868 "(so that a NULL return from B<dlsym>()  need not indicate an error), the "
869 "correct way to test for an error is to call B<dlerror>()  to clear any old "
870 "error conditions, then call B<dlsym>(), and then call B<dlerror>()  again, "
871 "saving its return value into a variable, and check whether this saved value "
872 "is not NULL."
873 msgstr ""
874 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
875 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
876 "メモリのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライブ"
877 "ラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれに"
878 "も見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
879 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
880 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
881 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
882 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
883 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
884 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
885 "定する。"
886
887 #. type: Plain text
888 #: build/C/man3/dlopen.3:277
889 msgid ""
890 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  The "
891 "former will find the first occurrence of the desired symbol using the "
892 "default library search order.  The latter will find the next occurrence of a "
893 "function in the search order after the current library.  This allows one to "
894 "provide a wrapper around a function in another shared library."
895 msgstr ""
896 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
897 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
898 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
899 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
900 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
901
902 #. type: SS
903 #: build/C/man3/dlopen.3:277
904 #, no-wrap
905 msgid "dlclose()"
906 msgstr "dlclose()"
907
908 #. type: Plain text
909 #: build/C/man3/dlopen.3:284
910 msgid ""
911 "The function B<dlclose>()  decrements the reference count on the dynamic "
912 "library handle I<handle>.  If the reference count drops to zero and no other "
913 "loaded libraries use symbols in it, then the dynamic library is unloaded."
914 msgstr ""
915 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
916 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
917 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
918
919 #. type: Plain text
920 #: build/C/man3/dlopen.3:288
921 msgid "The function B<dlclose>()  returns 0 on success, and nonzero on error."
922 msgstr ""
923 "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
924
925 #. type: SS
926 #: build/C/man3/dlopen.3:288
927 #, no-wrap
928 msgid "The obsolete symbols _init() and _fini()"
929 msgstr "廃止されたシンボル _init() と _fini()"
930
931 #. type: Plain text
932 #: build/C/man3/dlopen.3:306
933 msgid ""
934 "The linker recognizes special symbols B<_init> and B<_fini>.  If a dynamic "
935 "library exports a routine named B<_init>(), then that code is executed after "
936 "the loading, before B<dlopen>()  returns.  If the dynamic library exports a "
937 "routine named B<_fini>(), then that routine is called just before the "
938 "library is unloaded.  In case you need to avoid linking against the system "
939 "startup files, this can be done by using the B<gcc>(1)  I<-nostartfiles> "
940 "command-line option."
941 msgstr ""
942 "リンカは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラリ"
943 "で B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
944 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
945 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
946 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
947 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
948 "I<-nostartfiles> オプションを指定すればよい。"
949
950 #.  void _init(void) __attribute__((constructor));
951 #.  void _fini(void) __attribute__((destructor));
952 #. type: Plain text
953 #: build/C/man3/dlopen.3:317
954 msgid ""
955 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
956 "is not recommended.  Their use may result in undesired behavior, since the "
957 "constructor/destructor routines will not be executed (unless special "
958 "measures are taken)."
959 msgstr ""
960 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
961 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
962 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
963 "行されないからである。"
964
965 #. type: Plain text
966 #: build/C/man3/dlopen.3:329
967 msgid ""
968 "Instead, libraries should export routines using the "
969 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
970 "attributes.  See the gcc info pages for information on these.  Constructor "
971 "routines are executed before B<dlopen>()  returns, and destructor routines "
972 "are executed before B<dlclose>()  returns."
973 msgstr ""
974 "代わりに、ライブラリは B<__attribute__((constructor))> や "
975 "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート"
976 "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor "
977 "ルーチンは B<dlopen>()  が復帰する前に実行され、 destructor ルーチンは "
978 "B<dlclose>()  が復帰する前に実行される。"
979
980 #. type: SS
981 #: build/C/man3/dlopen.3:329
982 #, no-wrap
983 msgid "Glibc extensions: dladdr() and dlvsym()"
984 msgstr "GNU での拡張: dladdr() と dlvsym()"
985
986 #. type: Plain text
987 #: build/C/man3/dlopen.3:331
988 msgid "Glibc adds two functions not described by POSIX, with prototypes"
989 msgstr ""
990 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
991 "は以下の通りである。"
992
993 #. type: Plain text
994 #: build/C/man3/dlopen.3:335
995 #, no-wrap
996 msgid ""
997 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
998 "B<#include E<lt>dlfcn.hE<gt>>\n"
999 msgstr ""
1000 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
1001 "B<#include E<lt>dlfcn.hE<gt>>\n"
1002
1003 #. type: Plain text
1004 #: build/C/man3/dlopen.3:337
1005 #, no-wrap
1006 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1007 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1008
1009 #. type: Plain text
1010 #: build/C/man3/dlopen.3:339
1011 #, no-wrap
1012 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1013 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1014
1015 #. type: Plain text
1016 #: build/C/man3/dlopen.3:348
1017 msgid ""
1018 "The function B<dladdr>()  takes a function pointer and tries to resolve name "
1019 "and file where it is located.  Information is stored in the I<Dl_info> "
1020 "structure:"
1021 msgstr ""
1022 "関数 B<dladdr>()  は、関数のポインタを引き数にとり、関数の名前と関数が定義さ"
1023 "れている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1024
1025 #. type: Plain text
1026 #: build/C/man3/dlopen.3:361
1027 #, no-wrap
1028 msgid ""
1029 "typedef struct {\n"
1030 "    const char *dli_fname;  /* Pathname of shared object that\n"
1031 "                               contains address */\n"
1032 "    void       *dli_fbase;  /* Address at which shared object\n"
1033 "                               is loaded */\n"
1034 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1035 "                               overlaps I<addr> */\n"
1036 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1037 "                               in I<dli_sname> */\n"
1038 "} Dl_info;\n"
1039 msgstr ""
1040 "typedef struct {\n"
1041 "    const char *dli_fname;  /* Pathname of shared object that\n"
1042 "                               contains address */\n"
1043 "    void       *dli_fbase;  /* Address at which shared object\n"
1044 "                               is loaded */\n"
1045 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1046 "                               overlaps I<addr> */\n"
1047 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1048 "                               in I<dli_sname> */\n"
1049 "} Dl_info;\n"
1050
1051 #. type: Plain text
1052 #: build/C/man3/dlopen.3:371
1053 msgid ""
1054 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1055 "I<dli_saddr> are set to NULL."
1056 msgstr ""
1057 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1058 "I<dli_saddr> は NULL にセットされる。"
1059
1060 #. type: Plain text
1061 #: build/C/man3/dlopen.3:374
1062 msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
1063 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1064
1065 #. type: Plain text
1066 #: build/C/man3/dlopen.3:381
1067 msgid ""
1068 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1069 "as B<dlsym>()  but takes a version string as an additional argument."
1070 msgstr ""
1071 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
1072 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
1073 "glibc で提供されている)。"
1074
1075 #. type: Plain text
1076 #: build/C/man3/dlopen.3:388
1077 msgid ""
1078 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
1079 "B<dlsym>()."
1080 msgstr ""
1081 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
1082 "載がある。"
1083
1084 #. type: SH
1085 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1086 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84
1087 #: build/C/man7/rtld-audit.7:467
1088 #, no-wrap
1089 msgid "NOTES"
1090 msgstr "注意"
1091
1092 #.  .LP
1093 #.  The string returned by
1094 #.  .BR dlerror ()
1095 #.  should not be modified.
1096 #.  Some systems give the prototype as
1097 #.  .sp
1098 #.  .in +5
1099 #.  .B "const char *dlerror(void);"
1100 #.  .in
1101 #. type: Plain text
1102 #: build/C/man3/dlopen.3:407
1103 msgid ""
1104 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1105 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1106 msgstr ""
1107 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1108 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1109 "る場合のみ有効となる。"
1110
1111 #. type: Plain text
1112 #: build/C/man3/dlopen.3:412
1113 msgid ""
1114 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
1115 "that is automatically called when a library is unloaded."
1116 msgstr ""
1117 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
1118 "に自動的に呼び出される 終了ハンドラ (exit handler) を登録することができる。"
1119
1120 #. type: SS
1121 #: build/C/man3/dlopen.3:412
1122 #, no-wrap
1123 msgid "History"
1124 msgstr "歴史"
1125
1126 #. type: Plain text
1127 #: build/C/man3/dlopen.3:418
1128 msgid ""
1129 "The dlopen interface standard comes from SunOS.  That system also has "
1130 "B<dladdr>(), but not B<dlvsym>()."
1131 msgstr ""
1132 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
1133 "B<dladdr>()  もあったが、 B<dlvsym>()  はなかった。"
1134
1135 #. type: SH
1136 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267
1137 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58
1138 #: build/C/man7/rtld-audit.7:492
1139 #, no-wrap
1140 msgid "BUGS"
1141 msgstr "バグ"
1142
1143 #. type: Plain text
1144 #: build/C/man3/dlopen.3:430
1145 msgid ""
1146 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1147 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1148 "I<dli_fbase> may end up pointing back at the object from which you called "
1149 "B<dladdr>(), even if the function used as an argument should come from a "
1150 "dynamically linked library."
1151 msgstr ""
1152 "時として、 B<dladdr>()  に渡した関数ポインタは驚くような値になることがある。 "
1153 "いくつかのアーキテクチャ (特に i386 と x86_64) では、 引き数として使用した関"
1154 "数が動的リンクライブラリで定義されるもので あったとしても、 I<dli_fname> と "
1155 "I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照した状態で終わって"
1156 "いることがある。"
1157
1158 #. type: Plain text
1159 #: build/C/man3/dlopen.3:446
1160 msgid ""
1161 "The problem is that the function pointer will still be resolved at compile "
1162 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1163 "the original object (which dispatches the call after asking the dynamic "
1164 "linker to resolve the symbol).  To work around this, you can try to compile "
1165 "the code to be position-independent: then, the compiler cannot prepare the "
1166 "pointer at compile time anymore and today's B<gcc>(1)  will generate code "
1167 "that just loads the final symbol address from the I<got> (Global Offset "
1168 "Table) at run time before passing it to B<dladdr>()."
1169 msgstr ""
1170 "問題は、関数ポインタの解決は今なおコンパイル時に行われるが、 そのポインタは元"
1171 "のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指しているだけ"
1172 "だという点にある (オブジェクト自体は、ダイナミックリンカによってシンボルの解"
1173 "決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法としては、 コー"
1174 "ドを position-independent でコンパイルするという方法がある。 そうすると、コン"
1175 "パイラはコンパイル時にポインタを用意することができず、 今日の B<gcc>(1)  で"
1176 "は、実行時に B<dladdr>()  に関数ポインタを渡す前に、 I<got> (Global Offset "
1177 "Table) から最終的なシンボルのアドレスをロードするだけの コードが生成される。"
1178
1179 #. type: Plain text
1180 #: build/C/man3/dlopen.3:448
1181 msgid "Load the math library, and print the cosine of 2.0:"
1182 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1183
1184 #. type: Plain text
1185 #: build/C/man3/dlopen.3:453
1186 #, no-wrap
1187 msgid ""
1188 "#include E<lt>stdio.hE<gt>\n"
1189 "#include E<lt>stdlib.hE<gt>\n"
1190 "#include E<lt>dlfcn.hE<gt>\n"
1191 msgstr ""
1192 "#include E<lt>stdio.hE<gt>\n"
1193 "#include E<lt>stdlib.hE<gt>\n"
1194 "#include E<lt>dlfcn.hE<gt>\n"
1195
1196 #. type: Plain text
1197 #: build/C/man3/dlopen.3:460
1198 #, no-wrap
1199 msgid ""
1200 "int\n"
1201 "main(int argc, char **argv)\n"
1202 "{\n"
1203 "    void *handle;\n"
1204 "    double (*cosine)(double);\n"
1205 "    char *error;\n"
1206 msgstr ""
1207 "int\n"
1208 "main(int argc, char **argv)\n"
1209 "{\n"
1210 "    void *handle;\n"
1211 "    double (*cosine)(double);\n"
1212 "    char *error;\n"
1213
1214 #. type: Plain text
1215 #: build/C/man3/dlopen.3:466
1216 #, no-wrap
1217 msgid ""
1218 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1219 "    if (!handle) {\n"
1220 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1221 "        exit(EXIT_FAILURE);\n"
1222 "    }\n"
1223 msgstr ""
1224 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1225 "    if (!handle) {\n"
1226 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1227 "        exit(EXIT_FAILURE);\n"
1228 "    }\n"
1229
1230 #. type: Plain text
1231 #: build/C/man3/dlopen.3:468
1232 #, no-wrap
1233 msgid "    dlerror();    /* Clear any existing error */\n"
1234 msgstr "    dlerror();    /* Clear any existing error */\n"
1235
1236 #. type: Plain text
1237 #: build/C/man3/dlopen.3:470
1238 #, no-wrap
1239 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1240 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1241
1242 #. type: Plain text
1243 #: build/C/man3/dlopen.3:475
1244 #, no-wrap
1245 msgid ""
1246 "    /* According to the ISO C standard, casting between function\n"
1247 "       pointers and 'void *', as done above, produces undefined results.\n"
1248 "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1249 "       proposed the following workaround:\n"
1250 msgstr ""
1251 "    /* ISO の C 標準によれば、上のような、関数ポインタと 'void *' 間の\n"
1252 "       キャストを行った場合に得られる結果は不定である。\n"
1253 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1254 "       以下のようなワークアラウンドが提案されている。\n"
1255
1256 #. type: Plain text
1257 #: build/C/man3/dlopen.3:477
1258 #, no-wrap
1259 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1260 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1261
1262 #. type: Plain text
1263 #: build/C/man3/dlopen.3:480
1264 #, no-wrap
1265 msgid ""
1266 "       This (clumsy) cast conforms with the ISO C standard and will\n"
1267 "       avoid any compiler warnings.\n"
1268 msgstr ""
1269 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1270 "       コンパイラの警告を避けることができる。\n"
1271
1272 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1273 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1274 #.  http://austingroupbugs.net/view.php?id=74
1275 #. type: Plain text
1276 #: build/C/man3/dlopen.3:489
1277 #, no-wrap
1278 msgid ""
1279 "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1280 "       POSIX.1-2013) improved matters by requiring that conforming\n"
1281 "       implementations support casting 'void *' to a function pointer.\n"
1282 "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1283 "       option) may complain about the cast used in this program. */\n"
1284 msgstr ""
1285 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1286 "       では、 POSIX に準拠する実装では 'void *' から関数ポインタへの\n"
1287 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
1288 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1289 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1290 "       キャストについて文句を言うのだ。\n"
1291
1292 #. type: Plain text
1293 #: build/C/man3/dlopen.3:495
1294 #, no-wrap
1295 msgid ""
1296 "    error = dlerror();\n"
1297 "    if (error != NULL) {\n"
1298 "        fprintf(stderr, \"%s\\en\", error);\n"
1299 "        exit(EXIT_FAILURE);\n"
1300 "    }\n"
1301 msgstr ""
1302 "    error = dlerror();\n"
1303 "    if (error != NULL) {\n"
1304 "        fprintf(stderr, \"%s\\en\", error);\n"
1305 "        exit(EXIT_FAILURE);\n"
1306 "    }\n"
1307
1308 #. type: Plain text
1309 #: build/C/man3/dlopen.3:500
1310 #, no-wrap
1311 msgid ""
1312 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1313 "    dlclose(handle);\n"
1314 "    exit(EXIT_SUCCESS);\n"
1315 "}\n"
1316 msgstr ""
1317 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1318 "    dlclose(handle);\n"
1319 "    exit(EXIT_SUCCESS);\n"
1320 "}\n"
1321
1322 #. type: Plain text
1323 #: build/C/man3/dlopen.3:504
1324 msgid ""
1325 "If this program were in a file named \"foo.c\", you would build the program "
1326 "with the following command:"
1327 msgstr ""
1328 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1329 "ルドできる。"
1330
1331 #. type: Plain text
1332 #: build/C/man3/dlopen.3:507
1333 #, no-wrap
1334 msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
1335 msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
1336
1337 #. type: Plain text
1338 #: build/C/man3/dlopen.3:517
1339 msgid ""
1340 "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled as "
1341 "follows, using I<bar.c> as the example name:"
1342 msgstr ""
1343 "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のように"
1344 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1345
1346 #. type: Plain text
1347 #: build/C/man3/dlopen.3:520
1348 #, no-wrap
1349 msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
1350 msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
1351
1352 #. type: Plain text
1353 #: build/C/man3/dlopen.3:529
1354 msgid ""
1355 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1356 "B<ld.so>(8), B<ldconfig>(8)"
1357 msgstr ""
1358 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1359 "B<ld.so>(8), B<ldconfig>(8)"
1360
1361 #. type: Plain text
1362 #: build/C/man3/dlopen.3:531
1363 msgid "ld.so info pages, gcc info pages, ld info pages"
1364 msgstr "ld.so info pages, gcc info pages, ld info pages"
1365
1366 #. type: TH
1367 #: build/C/man5/elf.5:35
1368 #, no-wrap
1369 msgid "ELF"
1370 msgstr "ELF"
1371
1372 #. type: TH
1373 #: build/C/man5/elf.5:35
1374 #, no-wrap
1375 msgid "2013-04-17"
1376 msgstr "2013-04-17"
1377
1378 #. type: Plain text
1379 #: build/C/man5/elf.5:38
1380 msgid "elf - format of Executable and Linking Format (ELF) files"
1381 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1382
1383 #.  .B #include <elf_abi.h>
1384 #. type: Plain text
1385 #: build/C/man5/elf.5:42
1386 #, no-wrap
1387 msgid "B<#include E<lt>elf.hE<gt>>\n"
1388 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1389
1390 #. type: Plain text
1391 #: build/C/man5/elf.5:50
1392 msgid ""
1393 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1394 "binary files.  Amongst these files are normal executable files, relocatable "
1395 "object files, core files and shared libraries."
1396 msgstr ""
1397 "ヘッダファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォーマッ"
1398 "トを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置可能"
1399 "オブジェクトファイル・コアファイル・共有ライブラリがある。"
1400
1401 #. type: Plain text
1402 #: build/C/man5/elf.5:59
1403 msgid ""
1404 "An executable file using the ELF file format consists of an ELF header, "
1405 "followed by a program header table or a section header table, or both.  The "
1406 "ELF header is always at offset zero of the file.  The program header table "
1407 "and the section header table's offset in the file are defined in the ELF "
1408 "header.  The two tables describe the rest of the particularities of the file."
1409 msgstr ""
1410 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダの後にプログラム"
1411 "ヘッダテーブルまたは セクションヘッダテーブル (またはその両方) が続く構成であ"
1412 "る。 ELF ヘッダは常にファイルのオフセット 0 にある。 プログラムヘッダテーブル"
1413 "とセクションヘッダテーブルの ファイル内でのオフセットは、ELF ヘッダに定義され"
1414 "ている。 この 2 つのテーブルはファイルの残りの部分の詳細を記述する。"
1415
1416 #.  Applications which wish to process ELF binary files for their native
1417 #.  architecture only should include
1418 #.  .I <elf_abi.h>
1419 #.  in their source code.
1420 #.  These applications should need to refer to
1421 #.  all the types and structures by their generic names
1422 #.  "Elf_xxx"
1423 #.  and to the macros by
1424 #.  ELF_xxx".
1425 #.  Applications written this way can be compiled on any architecture,
1426 #.  regardless of whether the host is 32-bit or 64-bit.
1427 #.  .PP
1428 #.  Should an application need to process ELF files of an unknown
1429 #.  architecture, then the application needs to explicitly use either
1430 #.  "Elf32_xxx"
1431 #.  or
1432 #.  "Elf64_xxx"
1433 #.  type and structure names.
1434 #.  Likewise, the macros need to be identified by
1435 #.  "ELF32_xxx"
1436 #.  or
1437 #.  "ELF64_xxx".
1438 #.  .PP
1439 #. type: Plain text
1440 #: build/C/man5/elf.5:86
1441 msgid ""
1442 "This header file describes the above mentioned headers as C structures and "
1443 "also includes structures for dynamic sections, relocation sections and "
1444 "symbol tables."
1445 msgstr ""
1446 "このヘッダファイルは上記のヘッダを C 言語の構造体で記述し、 また動的セクショ"
1447 "ン・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1448
1449 #. type: Plain text
1450 #: build/C/man5/elf.5:98
1451 msgid ""
1452 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1453 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1454 "I<uint64_t>):"
1455 msgstr ""
1456 "以下の型は N ビットアーキテクチャで使われる (N=32,64 であり I<ElfN> は "
1457 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1458 "I<uint64_t> を表す):"
1459
1460 #.  Elf32_Size  Unsigned object size
1461 #. type: Plain text
1462 #: build/C/man5/elf.5:112
1463 #, no-wrap
1464 msgid ""
1465 "ElfN_Addr       Unsigned program address, uintN_t\n"
1466 "ElfN_Off        Unsigned file offset, uintN_t\n"
1467 "ElfN_Section    Unsigned section index, uint16_t\n"
1468 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
1469 "Elf_Byte        unsigned char\n"
1470 "ElfN_Half       uint16_t\n"
1471 "ElfN_Sword      int32_t\n"
1472 "ElfN_Word       uint32_t\n"
1473 "ElfN_Sxword     int64_t\n"
1474 "ElfN_Xword      uint64_t\n"
1475 msgstr ""
1476 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
1477 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
1478 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
1479 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
1480 "Elf_Byte        unsigned char\n"
1481 "ElfN_Half       uint16_t\n"
1482 "ElfN_Sword      int32_t\n"
1483 "ElfN_Word       uint32_t\n"
1484 "ElfN_Sxword     int64_t\n"
1485 "ElfN_Xword      uint64_t\n"
1486
1487 #. type: Plain text
1488 #: build/C/man5/elf.5:127
1489 msgid ""
1490 "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
1491 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1492 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
1493 "explicit ones in the below.)"
1494 msgstr ""
1495 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1496 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1497 "は、これらの型はサイズが自明な型に置き換えてある。)"
1498
1499 #. type: Plain text
1500 #: build/C/man5/elf.5:134
1501 msgid ""
1502 "All data structures that the file format defines follow the \"natural\" size "
1503 "and alignment guidelines for the relevant class.  If necessary, data "
1504 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1505 "objects, to force structure sizes to a multiple of 4, and so on."
1506 msgstr ""
1507 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1508 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1509 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
1510 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1511 "る。"
1512
1513 #. type: Plain text
1514 #: build/C/man5/elf.5:139
1515 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1516 msgstr "ELF ヘッダは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1517
1518 #. type: Plain text
1519 #: build/C/man5/elf.5:143
1520 #, no-wrap
1521 msgid "#define EI_NIDENT 16\n"
1522 msgstr "#define EI_NIDENT 16\n"
1523
1524 #. type: Plain text
1525 #: build/C/man5/elf.5:160
1526 #, no-wrap
1527 msgid ""
1528 "typedef struct {\n"
1529 "    unsigned char e_ident[EI_NIDENT];\n"
1530 "    uint16_t      e_type;\n"
1531 "    uint16_t      e_machine;\n"
1532 "    uint32_t      e_version;\n"
1533 "    ElfN_Addr     e_entry;\n"
1534 "    ElfN_Off      e_phoff;\n"
1535 "    ElfN_Off      e_shoff;\n"
1536 "    uint32_t      e_flags;\n"
1537 "    uint16_t      e_ehsize;\n"
1538 "    uint16_t      e_phentsize;\n"
1539 "    uint16_t      e_phnum;\n"
1540 "    uint16_t      e_shentsize;\n"
1541 "    uint16_t      e_shnum;\n"
1542 "    uint16_t      e_shstrndx;\n"
1543 "} ElfN_Ehdr;\n"
1544 msgstr ""
1545 "typedef struct {\n"
1546 "    unsigned char e_ident[EI_NIDENT];\n"
1547 "    uint16_t      e_type;\n"
1548 "    uint16_t      e_machine;\n"
1549 "    uint32_t      e_version;\n"
1550 "    ElfN_Addr     e_entry;\n"
1551 "    ElfN_Off      e_phoff;\n"
1552 "    ElfN_Off      e_shoff;\n"
1553 "    uint32_t      e_flags;\n"
1554 "    uint16_t      e_ehsize;\n"
1555 "    uint16_t      e_phentsize;\n"
1556 "    uint16_t      e_phnum;\n"
1557 "    uint16_t      e_shentsize;\n"
1558 "    uint16_t      e_shnum;\n"
1559 "    uint16_t      e_shstrndx;\n"
1560 "} ElfN_Ehdr;\n"
1561
1562 #.  .Bl -tag -width "e_phentsize"
1563 #. type: Plain text
1564 #: build/C/man5/elf.5:165
1565 msgid "The fields have the following meanings:"
1566 msgstr "フィールドは以下の意味を持つ:"
1567
1568 #. type: TP
1569 #: build/C/man5/elf.5:165
1570 #, no-wrap
1571 msgid "I<e_ident>"
1572 msgstr "I<e_ident>"
1573
1574 #. type: Plain text
1575 #: build/C/man5/elf.5:175
1576 msgid ""
1577 "This array of bytes specifies to interpret the file, independent of the "
1578 "processor or the file's remaining contents.  Within this array everything is "
1579 "named by macros, which start with the prefix B<EI_> and may contain values "
1580 "which start with the prefix B<ELF>.  The following macros are defined:"
1581 msgstr ""
1582 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1583 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1584 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1585 "クロが定義されている:"
1586
1587 #. type: TP
1588 #: build/C/man5/elf.5:177
1589 #, no-wrap
1590 msgid "B<EI_MAG0>"
1591 msgstr "B<EI_MAG0>"
1592
1593 #. type: Plain text
1594 #: build/C/man5/elf.5:183
1595 msgid ""
1596 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
1597 "0x7f)"
1598 msgstr ""
1599 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1600
1601 #. type: TP
1602 #: build/C/man5/elf.5:183
1603 #, no-wrap
1604 msgid "B<EI_MAG1>"
1605 msgstr "B<EI_MAG1>"
1606
1607 #. type: Plain text
1608 #: build/C/man5/elf.5:189
1609 msgid ""
1610 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
1611 "(1: \\(aqE\\(aq)"
1612 msgstr ""
1613 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1614 "\\(aqE\\(aq)"
1615
1616 #. type: TP
1617 #: build/C/man5/elf.5:189
1618 #, no-wrap
1619 msgid "B<EI_MAG2>"
1620 msgstr "B<EI_MAG2>"
1621
1622 #. type: Plain text
1623 #: build/C/man5/elf.5:195
1624 msgid ""
1625 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
1626 "\\(aqL\\(aq)"
1627 msgstr ""
1628 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1629 "\\(aqL\\(aq)"
1630
1631 #. type: TP
1632 #: build/C/man5/elf.5:195
1633 #, no-wrap
1634 msgid "B<EI_MAG3>"
1635 msgstr "B<EI_MAG3>"
1636
1637 #. type: Plain text
1638 #: build/C/man5/elf.5:201
1639 msgid ""
1640 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
1641 "(3: \\(aqF\\(aq)"
1642 msgstr ""
1643 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1644 "\\(aqF\\(aq)"
1645
1646 #. type: TP
1647 #: build/C/man5/elf.5:201
1648 #, no-wrap
1649 msgid "B<EI_CLASS>"
1650 msgstr "B<EI_CLASS>"
1651
1652 #. type: Plain text
1653 #: build/C/man5/elf.5:204
1654 msgid "The fifth byte identifies the architecture for this binary:"
1655 msgstr "第 5 バイトは、このバイナリのアーキテクチャを示す:"
1656
1657 #. type: TP
1658 #: build/C/man5/elf.5:206
1659 #, no-wrap
1660 msgid "B<ELFCLASSNONE>"
1661 msgstr "B<ELFCLASSNONE>"
1662
1663 #. type: Plain text
1664 #: build/C/man5/elf.5:210
1665 msgid "This class is invalid."
1666 msgstr "このクラスは不正である。"
1667
1668 #. type: TP
1669 #: build/C/man5/elf.5:210
1670 #, no-wrap
1671 msgid "B<ELFCLASS32>"
1672 msgstr "B<ELFCLASS32>"
1673
1674 #. type: Plain text
1675 #: build/C/man5/elf.5:215
1676 msgid ""
1677 "This defines the 32-bit architecture.  It supports machines with files and "
1678 "virtual address spaces up to 4 Gigabytes."
1679 msgstr ""
1680 "32 ビットアーキテクチャを定義する。 ファイルと仮想アドレス空間が 4 ギガバイト"
1681 "までのマシンをサポートする。"
1682
1683 #. type: TP
1684 #: build/C/man5/elf.5:215
1685 #, no-wrap
1686 msgid "B<ELFCLASS64>"
1687 msgstr "B<ELFCLASS64>"
1688
1689 #. type: Plain text
1690 #: build/C/man5/elf.5:218
1691 msgid "This defines the 64-bit architecture."
1692 msgstr "64 ビットアーキテクチャを定義する。"
1693
1694 #. type: TP
1695 #: build/C/man5/elf.5:221
1696 #, no-wrap
1697 msgid "B<EI_DATA>"
1698 msgstr "B<EI_DATA>"
1699
1700 #.  .Bl -tag -width "ELFDATA2LSB" -compact
1701 #. type: Plain text
1702 #: build/C/man5/elf.5:227
1703 msgid ""
1704 "The sixth byte specifies the data encoding of the processor-specific data in "
1705 "the file.  Currently these encodings are supported:"
1706 msgstr ""
1707 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1708 "する。 現在のところ以下のエンコーディングがサポートされている:"
1709
1710 #. type: TP
1711 #: build/C/man5/elf.5:228
1712 #, no-wrap
1713 msgid "B<ELFDATANONE>"
1714 msgstr "B<ELFDATANONE>"
1715
1716 #. type: Plain text
1717 #: build/C/man5/elf.5:232
1718 msgid "Unknown data format."
1719 msgstr "不明なデータフォーマット。"
1720
1721 #. type: TP
1722 #: build/C/man5/elf.5:232
1723 #, no-wrap
1724 msgid "B<ELFDATA2LSB>"
1725 msgstr "B<ELFDATA2LSB>"
1726
1727 #. type: Plain text
1728 #: build/C/man5/elf.5:235
1729 msgid "Two's complement, little-endian."
1730 msgstr "2 の補数、リトルエンディアン。"
1731
1732 #. type: TP
1733 #: build/C/man5/elf.5:235
1734 #, no-wrap
1735 msgid "B<ELFDATA2MSB>"
1736 msgstr "B<ELFDATA2MSB>"
1737
1738 #. type: Plain text
1739 #: build/C/man5/elf.5:238
1740 msgid "Two's complement, big-endian."
1741 msgstr "2 の補数、ビッグエンディアン。"
1742
1743 #. type: TP
1744 #: build/C/man5/elf.5:241
1745 #, no-wrap
1746 msgid "B<EI_VERSION>"
1747 msgstr "B<EI_VERSION>"
1748
1749 #.  .Bl -tag -width "EV_CURRENT" -compact
1750 #. type: Plain text
1751 #: build/C/man5/elf.5:246
1752 msgid "The seventh byte is the version number of the ELF specification:"
1753 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1754
1755 #. type: TP
1756 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1757 #, no-wrap
1758 msgid "B<EV_NONE>"
1759 msgstr "B<EV_NONE>"
1760
1761 #. type: Plain text
1762 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1763 msgid "Invalid version."
1764 msgstr "不正なバージョン。"
1765
1766 #. type: TP
1767 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1768 #, no-wrap
1769 msgid "B<EV_CURRENT>"
1770 msgstr "B<EV_CURRENT>"
1771
1772 #.  .El
1773 #. type: Plain text
1774 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1775 msgid "Current version."
1776 msgstr "現在のバージョン。"
1777
1778 #. type: TP
1779 #: build/C/man5/elf.5:256
1780 #, no-wrap
1781 msgid "B<EI_OSABI>"
1782 msgstr "B<EI_OSABI>"
1783
1784 #.  .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1785 #. type: Plain text
1786 #: build/C/man5/elf.5:265
1787 msgid ""
1788 "The eighth byte identifies the operating system and ABI to which the object "
1789 "is targeted.  Some fields in other ELF structures have flags and values that "
1790 "have platform-specific meanings; the interpretation of those fields is "
1791 "determined by the value of this byte.  For example:"
1792 msgstr ""
1793 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1794 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1795 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1796 "される。以下に例を挙げる。"
1797
1798 #. type: TP
1799 #: build/C/man5/elf.5:266
1800 #, no-wrap
1801 msgid "B<ELFOSABI_NONE>"
1802 msgstr "B<ELFOSABI_NONE>"
1803
1804 #.  0
1805 #. type: Plain text
1806 #: build/C/man5/elf.5:271
1807 msgid "Same as ELFOSABI_SYSV"
1808 msgstr "ELFOSABI_SYSV と同じ。"
1809
1810 #. type: TP
1811 #: build/C/man5/elf.5:271
1812 #, no-wrap
1813 msgid "B<ELFOSABI_SYSV>"
1814 msgstr "B<ELFOSABI_SYSV>"
1815
1816 #.  0
1817 #.  synonym: ELFOSABI_NONE
1818 #. type: Plain text
1819 #: build/C/man5/elf.5:276
1820 msgid "UNIX System V ABI."
1821 msgstr "UNIX System V ABI."
1822
1823 #. type: TP
1824 #: build/C/man5/elf.5:276
1825 #, no-wrap
1826 msgid "B<ELFOSABI_HPUX>"
1827 msgstr "B<ELFOSABI_HPUX>"
1828
1829 #.  1
1830 #. type: Plain text
1831 #: build/C/man5/elf.5:280
1832 msgid "HP-UX ABI."
1833 msgstr "HP-UX ABI."
1834
1835 #. type: TP
1836 #: build/C/man5/elf.5:280
1837 #, no-wrap
1838 msgid "B<ELFOSABI_NETBSD>"
1839 msgstr "B<ELFOSABI_NETBSD>"
1840
1841 #.  2
1842 #. type: Plain text
1843 #: build/C/man5/elf.5:284
1844 msgid "NetBSD ABI."
1845 msgstr "NetBSD ABI."
1846
1847 #. type: TP
1848 #: build/C/man5/elf.5:284
1849 #, no-wrap
1850 msgid "B<ELFOSABI_LINUX>"
1851 msgstr "B<ELFOSABI_LINUX>"
1852
1853 #.  3
1854 #.  .TP
1855 #.  .BR ELFOSABI_HURD
1856 #.  Hurd ABI.
1857 #.  4
1858 #.  .TP
1859 #.  .BR ELFOSABI_86OPEN
1860 #.  86Open Common IA32 ABI.
1861 #.  5
1862 #. type: Plain text
1863 #: build/C/man5/elf.5:296
1864 msgid "Linux ABI."
1865 msgstr "Linux ABI."
1866
1867 #. type: TP
1868 #: build/C/man5/elf.5:296
1869 #, no-wrap
1870 msgid "B<ELFOSABI_SOLARIS>"
1871 msgstr "B<ELFOSABI_SOLARIS>"
1872
1873 #.  6
1874 #.  .TP
1875 #.  .BR ELFOSABI_MONTEREY
1876 #.  Monterey project ABI.
1877 #.  Now replaced by
1878 #.  ELFOSABI_AIX
1879 #.  7
1880 #. type: Plain text
1881 #: build/C/man5/elf.5:306
1882 msgid "Solaris ABI."
1883 msgstr "Solaris ABI."
1884
1885 #. type: TP
1886 #: build/C/man5/elf.5:306
1887 #, no-wrap
1888 msgid "B<ELFOSABI_IRIX>"
1889 msgstr "B<ELFOSABI_IRIX>"
1890
1891 #.  8
1892 #. type: Plain text
1893 #: build/C/man5/elf.5:310
1894 msgid "IRIX ABI."
1895 msgstr "IRIX ABI."
1896
1897 #. type: TP
1898 #: build/C/man5/elf.5:310
1899 #, no-wrap
1900 msgid "B<ELFOSABI_FREEBSD>"
1901 msgstr "B<ELFOSABI_FREEBSD>"
1902
1903 #.  9
1904 #. type: Plain text
1905 #: build/C/man5/elf.5:314
1906 msgid "FreeBSD ABI."
1907 msgstr "FreeBSD ABI."
1908
1909 #. type: TP
1910 #: build/C/man5/elf.5:314
1911 #, no-wrap
1912 msgid "B<ELFOSABI_TRU64>"
1913 msgstr "B<ELFOSABI_TRU64>"
1914
1915 #.  10
1916 #.  ELFOSABI_MODESTO
1917 #.  11
1918 #.  ELFOSABI_OPENBSD
1919 #.  12
1920 #. type: Plain text
1921 #: build/C/man5/elf.5:322
1922 msgid "TRU64 UNIX ABI."
1923 msgstr "TRU64 UNIX ABI."
1924
1925 #. type: TP
1926 #: build/C/man5/elf.5:322
1927 #, no-wrap
1928 msgid "B<ELFOSABI_ARM>"
1929 msgstr "B<ELFOSABI_ARM>"
1930
1931 #.  97
1932 #. type: Plain text
1933 #: build/C/man5/elf.5:326
1934 msgid "ARM architecture ABI."
1935 msgstr "ARM アーキテクチャ ABI."
1936
1937 #. type: TP
1938 #: build/C/man5/elf.5:326
1939 #, no-wrap
1940 msgid "B<ELFOSABI_STANDALONE>"
1941 msgstr "B<ELFOSABI_STANDALONE>"
1942
1943 #.  255
1944 #.  .El
1945 #. type: Plain text
1946 #: build/C/man5/elf.5:331
1947 msgid "Stand-alone (embedded) ABI."
1948 msgstr "スタンドアロン (組み込み) ABI."
1949
1950 #. type: TP
1951 #: build/C/man5/elf.5:333
1952 #, no-wrap
1953 msgid "B<EI_ABIVERSION>"
1954 msgstr "B<EI_ABIVERSION>"
1955
1956 #. type: Plain text
1957 #: build/C/man5/elf.5:343
1958 msgid ""
1959 "The ninth byte identifies the version of the ABI to which the object is "
1960 "targeted.  This field is used to distinguish among incompatible versions of "
1961 "an ABI.  The interpretation of this version number is dependent on the ABI "
1962 "identified by the B<EI_OSABI> field.  Applications conforming to this "
1963 "specification use the value 0."
1964 msgstr ""
1965 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1966 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1967 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1968 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1969
1970 #. type: TP
1971 #: build/C/man5/elf.5:343
1972 #, no-wrap
1973 msgid "B<EI_PAD>"
1974 msgstr "B<EI_PAD>"
1975
1976 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1977 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1978 #.  It looks to be a BSDism
1979 #.  .TP
1980 #.  .BR EI_BRAND
1981 #.  Start of architecture identification.
1982 #. type: Plain text
1983 #: build/C/man5/elf.5:359
1984 msgid ""
1985 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
1986 "read them should ignore them.  The value for B<EI_PAD> will change in the "
1987 "future if currently unused bytes are given meanings."
1988 msgstr ""
1989 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1990 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1991 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1992
1993 #. type: TP
1994 #: build/C/man5/elf.5:359
1995 #, no-wrap
1996 msgid "B<EI_NIDENT>"
1997 msgstr "B<EI_NIDENT>"
1998
1999 #.  .El
2000 #. type: Plain text
2001 #: build/C/man5/elf.5:365
2002 msgid "The size of the I<e_ident> array."
2003 msgstr "I<e_ident> 配列のサイズ。"
2004
2005 #. type: TP
2006 #: build/C/man5/elf.5:366
2007 #, no-wrap
2008 msgid "I<e_type>"
2009 msgstr "I<e_type>"
2010
2011 #. type: Plain text
2012 #: build/C/man5/elf.5:369
2013 msgid "This member of the structure identifies the object file type:"
2014 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
2015
2016 #. type: TP
2017 #: build/C/man5/elf.5:371
2018 #, no-wrap
2019 msgid "B<ET_NONE>"
2020 msgstr "B<ET_NONE>"
2021
2022 #. type: Plain text
2023 #: build/C/man5/elf.5:375
2024 msgid "An unknown type."
2025 msgstr "不明なタイプ。"
2026
2027 #. type: TP
2028 #: build/C/man5/elf.5:375
2029 #, no-wrap
2030 msgid "B<ET_REL>"
2031 msgstr "B<ET_REL>"
2032
2033 #. type: Plain text
2034 #: build/C/man5/elf.5:378
2035 msgid "A relocatable file."
2036 msgstr "再配置可能ファイル。"
2037
2038 #. type: TP
2039 #: build/C/man5/elf.5:378
2040 #, no-wrap
2041 msgid "B<ET_EXEC>"
2042 msgstr "B<ET_EXEC>"
2043
2044 #. type: Plain text
2045 #: build/C/man5/elf.5:381
2046 msgid "An executable file."
2047 msgstr "実行可能ファイル。"
2048
2049 #. type: TP
2050 #: build/C/man5/elf.5:381
2051 #, no-wrap
2052 msgid "B<ET_DYN>"
2053 msgstr "B<ET_DYN>"
2054
2055 #. type: Plain text
2056 #: build/C/man5/elf.5:384
2057 msgid "A shared object."
2058 msgstr "共有オブジェクト。"
2059
2060 #. type: TP
2061 #: build/C/man5/elf.5:384
2062 #, no-wrap
2063 msgid "B<ET_CORE>"
2064 msgstr "B<ET_CORE>"
2065
2066 #. type: Plain text
2067 #: build/C/man5/elf.5:387
2068 msgid "A core file."
2069 msgstr "コアファイル。"
2070
2071 #. type: TP
2072 #: build/C/man5/elf.5:390
2073 #, no-wrap
2074 msgid "I<e_machine>"
2075 msgstr "I<e_machine>"
2076
2077 #. type: Plain text
2078 #: build/C/man5/elf.5:394
2079 msgid ""
2080 "This member specifies the required architecture for an individual file.  For "
2081 "example:"
2082 msgstr "このメンバは個々のファイルに必要とされるアーキテクチャを指定する。 例:"
2083
2084 #. type: TP
2085 #: build/C/man5/elf.5:396
2086 #, no-wrap
2087 msgid "B<EM_NONE>"
2088 msgstr "B<EM_NONE>"
2089
2090 #.  0
2091 #. type: Plain text
2092 #: build/C/man5/elf.5:401
2093 msgid "An unknown machine."
2094 msgstr "不明なマシン。"
2095
2096 #. type: TP
2097 #: build/C/man5/elf.5:401
2098 #, no-wrap
2099 msgid "B<EM_M32>"
2100 msgstr "B<EM_M32>"
2101
2102 #.  1
2103 #. type: Plain text
2104 #: build/C/man5/elf.5:405
2105 msgid "AT&T WE 32100."
2106 msgstr "AT&T WE 32100."
2107
2108 #. type: TP
2109 #: build/C/man5/elf.5:405
2110 #, no-wrap
2111 msgid "B<EM_SPARC>"
2112 msgstr "B<EM_SPARC>"
2113
2114 #.  2
2115 #. type: Plain text
2116 #: build/C/man5/elf.5:409
2117 msgid "Sun Microsystems SPARC."
2118 msgstr "Sun Microsystems SPARC."
2119
2120 #. type: TP
2121 #: build/C/man5/elf.5:409
2122 #, no-wrap
2123 msgid "B<EM_386>"
2124 msgstr "B<EM_386>"
2125
2126 #.  3
2127 #. type: Plain text
2128 #: build/C/man5/elf.5:413
2129 msgid "Intel 80386."
2130 msgstr "Intel 80386."
2131
2132 #. type: TP
2133 #: build/C/man5/elf.5:413
2134 #, no-wrap
2135 msgid "B<EM_68K>"
2136 msgstr "B<EM_68K>"
2137
2138 #.  4
2139 #. type: Plain text
2140 #: build/C/man5/elf.5:417
2141 msgid "Motorola 68000."
2142 msgstr "Motorola 68000."
2143
2144 #. type: TP
2145 #: build/C/man5/elf.5:417
2146 #, no-wrap
2147 msgid "B<EM_88K>"
2148 msgstr "B<EM_88K>"
2149
2150 #.  5
2151 #.  .TP
2152 #.  .BR EM_486
2153 #.  Intel 80486.
2154 #.  6
2155 #. type: Plain text
2156 #: build/C/man5/elf.5:425
2157 msgid "Motorola 88000."
2158 msgstr "Motorola 88000."
2159
2160 #. type: TP
2161 #: build/C/man5/elf.5:425
2162 #, no-wrap
2163 msgid "B<EM_860>"
2164 msgstr "B<EM_860>"
2165
2166 #.  7
2167 #. type: Plain text
2168 #: build/C/man5/elf.5:429
2169 msgid "Intel 80860."
2170 msgstr "Intel 80860."
2171
2172 #. type: TP
2173 #: build/C/man5/elf.5:429
2174 #, no-wrap
2175 msgid "B<EM_MIPS>"
2176 msgstr "B<EM_MIPS>"
2177
2178 #.  8
2179 #.  EM_S370
2180 #.  9
2181 #.  .TP
2182 #.  .BR EM_MIPS_RS4_BE
2183 #.  MIPS RS4000 (big-endian only). Deprecated.
2184 #.  10
2185 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2186 #.  10
2187 #. type: Plain text
2188 #: build/C/man5/elf.5:441
2189 msgid "MIPS RS3000 (big-endian only)."
2190 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2191
2192 #. type: TP
2193 #: build/C/man5/elf.5:441
2194 #, no-wrap
2195 msgid "B<EM_PARISC>"
2196 msgstr "B<EM_PARISC>"
2197
2198 #.  15
2199 #. type: Plain text
2200 #: build/C/man5/elf.5:445
2201 msgid "HP/PA."
2202 msgstr "HP/PA."
2203
2204 #. type: TP
2205 #: build/C/man5/elf.5:445
2206 #, no-wrap
2207 msgid "B<EM_SPARC32PLUS>"
2208 msgstr "B<EM_SPARC32PLUS>"
2209
2210 #.  18
2211 #. type: Plain text
2212 #: build/C/man5/elf.5:449
2213 msgid "SPARC with enhanced instruction set."
2214 msgstr "拡張命令セット付き SPARC。"
2215
2216 #. type: TP
2217 #: build/C/man5/elf.5:449
2218 #, no-wrap
2219 msgid "B<EM_PPC>"
2220 msgstr "B<EM_PPC>"
2221
2222 #.  20
2223 #. type: Plain text
2224 #: build/C/man5/elf.5:453
2225 msgid "PowerPC."
2226 msgstr "PowerPC."
2227
2228 #. type: TP
2229 #: build/C/man5/elf.5:453
2230 #, no-wrap
2231 msgid "B<EM_PPC64>"
2232 msgstr "B<EM_PPC64>"
2233
2234 #.  21
2235 #. type: Plain text
2236 #: build/C/man5/elf.5:457
2237 msgid "PowerPC 64-bit."
2238 msgstr "PowerPC 64-bit."
2239
2240 #. type: TP
2241 #: build/C/man5/elf.5:457
2242 #, no-wrap
2243 msgid "B<EM_S390>"
2244 msgstr "B<EM_S390>"
2245
2246 #.  22
2247 #. type: Plain text
2248 #: build/C/man5/elf.5:461
2249 msgid "IBM S/390"
2250 msgstr "IBM S/390"
2251
2252 #. type: TP
2253 #: build/C/man5/elf.5:461
2254 #, no-wrap
2255 msgid "B<EM_ARM>"
2256 msgstr "B<EM_ARM>"
2257
2258 #.  40
2259 #. type: Plain text
2260 #: build/C/man5/elf.5:465
2261 msgid "Advanced RISC Machines"
2262 msgstr "Advanced RISC Machines"
2263
2264 #. type: TP
2265 #: build/C/man5/elf.5:465
2266 #, no-wrap
2267 msgid "B<EM_SH>"
2268 msgstr "B<EM_SH>"
2269
2270 #.  42
2271 #. type: Plain text
2272 #: build/C/man5/elf.5:469
2273 msgid "Renesas SuperH"
2274 msgstr "Renesas SuperH"
2275
2276 #. type: TP
2277 #: build/C/man5/elf.5:469
2278 #, no-wrap
2279 msgid "B<EM_SPARCV9>"
2280 msgstr "B<EM_SPARCV9>"
2281
2282 #.  43
2283 #. type: Plain text
2284 #: build/C/man5/elf.5:473
2285 msgid "SPARC v9 64-bit."
2286 msgstr "SPARC v9 64-bit."
2287
2288 #. type: TP
2289 #: build/C/man5/elf.5:473
2290 #, no-wrap
2291 msgid "B<EM_IA_64>"
2292 msgstr "B<EM_IA_64>"
2293
2294 #.  50
2295 #. type: Plain text
2296 #: build/C/man5/elf.5:477
2297 msgid "Intel Itanium"
2298 msgstr "Intel Itanium"
2299
2300 #. type: TP
2301 #: build/C/man5/elf.5:477
2302 #, no-wrap
2303 msgid "B<EM_X86_64>"
2304 msgstr "B<EM_X86_64>"
2305
2306 #.  62
2307 #. type: Plain text
2308 #: build/C/man5/elf.5:481
2309 msgid "AMD x86-64"
2310 msgstr "AMD x86-64"
2311
2312 #. type: TP
2313 #: build/C/man5/elf.5:481
2314 #, no-wrap
2315 msgid "B<EM_VAX>"
2316 msgstr "B<EM_VAX>"
2317
2318 #.  75
2319 #.  EM_CRIS
2320 #.  76
2321 #.  .TP
2322 #.  .BR EM_ALPHA
2323 #.  Compaq [DEC] Alpha.
2324 #.  .TP
2325 #.  .BR EM_ALPHA_EXP
2326 #.  Compaq [DEC] Alpha with enhanced instruction set.
2327 #. type: Plain text
2328 #: build/C/man5/elf.5:493
2329 msgid "DEC Vax."
2330 msgstr "DEC Vax."
2331
2332 #. type: TP
2333 #: build/C/man5/elf.5:496
2334 #, no-wrap
2335 msgid "I<e_version>"
2336 msgstr "I<e_version>"
2337
2338 #.  .Bl -tag -width "EV_CURRENT" -compact
2339 #. type: Plain text
2340 #: build/C/man5/elf.5:500
2341 msgid "This member identifies the file version:"
2342 msgstr "このメンバはファイルバージョンを示す:"
2343
2344 #. type: TP
2345 #: build/C/man5/elf.5:511
2346 #, no-wrap
2347 msgid "I<e_entry>"
2348 msgstr "I<e_entry>"
2349
2350 #. type: Plain text
2351 #: build/C/man5/elf.5:517
2352 msgid ""
2353 "This member gives the virtual address to which the system first transfers "
2354 "control, thus starting the process.  If the file has no associated entry "
2355 "point, this member holds zero."
2356 msgstr ""
2357 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2358 "スを指定する。 ファイルにエントリポイントが関連付けられていない場合、 このメ"
2359 "ンバには 0 が入る。"
2360
2361 #. type: TP
2362 #: build/C/man5/elf.5:517
2363 #, no-wrap
2364 msgid "I<e_phoff>"
2365 msgstr "I<e_phoff>"
2366
2367 #. type: Plain text
2368 #: build/C/man5/elf.5:522
2369 msgid ""
2370 "This member holds the program header table's file offset in bytes.  If the "
2371 "file has no program header table, this member holds zero."
2372 msgstr ""
2373 "このメンバはプログラムヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2374 "する。 ファイルにプログラムヘッダテーブルがない場合、 このメンバには 0 が入"
2375 "る。"
2376
2377 #. type: TP
2378 #: build/C/man5/elf.5:522
2379 #, no-wrap
2380 msgid "I<e_shoff>"
2381 msgstr "I<e_shoff>"
2382
2383 #. type: Plain text
2384 #: build/C/man5/elf.5:527
2385 msgid ""
2386 "This member holds the section header table's file offset in bytes.  If the "
2387 "file has no section header table, this member holds zero."
2388 msgstr ""
2389 "このメンバはセクションヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2390 "する。 ファイルにセクションヘッダテーブルがない場合、 このメンバには 0 が入"
2391 "る。"
2392
2393 #. type: TP
2394 #: build/C/man5/elf.5:527
2395 #, no-wrap
2396 msgid "I<e_flags>"
2397 msgstr "I<e_flags>"
2398
2399 #. type: Plain text
2400 #: build/C/man5/elf.5:532
2401 msgid ""
2402 "This member holds processor-specific flags associated with the file.  Flag "
2403 "names take the form EF_`machine_flag'.  Currently no flags have been defined."
2404 msgstr ""
2405 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2406 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2407 "いない。"
2408
2409 #. type: TP
2410 #: build/C/man5/elf.5:532
2411 #, no-wrap
2412 msgid "I<e_ehsize>"
2413 msgstr "I<e_ehsize>"
2414
2415 #. type: Plain text
2416 #: build/C/man5/elf.5:535
2417 msgid "This member holds the ELF header's size in bytes."
2418 msgstr "このメンバは ELF ヘッダサイズ (バイト単位) を保持する。"
2419
2420 #. type: TP
2421 #: build/C/man5/elf.5:535
2422 #, no-wrap
2423 msgid "I<e_phentsize>"
2424 msgstr "I<e_phentsize>"
2425
2426 #. type: Plain text
2427 #: build/C/man5/elf.5:539
2428 msgid ""
2429 "This member holds the size in bytes of one entry in the file's program "
2430 "header table; all entries are the same size."
2431 msgstr ""
2432 "このメンバはこのファイルのプログラムヘッダテーブルの 1 エントリあたりのサイ"
2433 "ズ (バイト単位) を保持する; 全てのエントリは同じサイズである。"
2434
2435 #. type: TP
2436 #: build/C/man5/elf.5:539
2437 #, no-wrap
2438 msgid "I<e_phnum>"
2439 msgstr "I<e_phnum>"
2440
2441 #. type: Plain text
2442 #: build/C/man5/elf.5:552
2443 msgid ""
2444 "This member holds the number of entries in the program header table.  Thus "
2445 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2446 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
2447 msgstr ""
2448 "このメンバはプログラムヘッダテーブルにあるエントリの数を保持する。 よって "
2449 "I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 ファ"
2450 "イルにプログラムヘッダがない場合、 I<e_phnum> は値 0 を保持する。"
2451
2452 #.  This is a Linux extension, added in Linux 2.6.34.
2453 #.  .Bl -tag -width "PN_XNUM"
2454 #. type: Plain text
2455 #: build/C/man5/elf.5:566
2456 msgid ""
2457 "If the number of entries in the program header table is larger than or equal "
2458 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2459 "number of entries in the program header table is held in the I<sh_info> "
2460 "member of the initial entry in section header table.  Otherwise, the "
2461 "I<sh_info> member of the initial entry contains the value zero."
2462 msgstr ""
2463 "プログラムヘッダテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2464 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダテーブルの\n"
2465 "エントリーの実際の数は、セクションヘッダテーブルの最初のエントリーの \n"
2466 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2467 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2468
2469 #. type: TP
2470 #: build/C/man5/elf.5:567
2471 #, no-wrap
2472 msgid "B<PN_XNUM>"
2473 msgstr "B<PN_XNUM>"
2474
2475 #. type: Plain text
2476 #: build/C/man5/elf.5:572
2477 msgid ""
2478 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2479 "specifying where the actual number of program headers is assigned."
2480 msgstr ""
2481 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2482 "はプログラムヘッダの実際の数がどこに割り当てられているかを示す。"
2483
2484 #. type: TP
2485 #: build/C/man5/elf.5:576
2486 #, no-wrap
2487 msgid "I<e_shentsize>"
2488 msgstr "I<e_shentsize>"
2489
2490 #. type: Plain text
2491 #: build/C/man5/elf.5:581
2492 msgid ""
2493 "This member holds a sections header's size in bytes.  A section header is "
2494 "one entry in the section header table; all entries are the same size."
2495 msgstr ""
2496 "このメンバはセクションヘッダのサイズ (バイト単位) を保持する。 セクションヘッ"
2497 "ダはセクションヘッダテーブルの 1 つのエントリである; 全てのエントリは同じサイ"
2498 "ズである。"
2499
2500 #. type: TP
2501 #: build/C/man5/elf.5:581
2502 #, no-wrap
2503 msgid "I<e_shnum>"
2504 msgstr "I<e_shnum>"
2505
2506 #. type: Plain text
2507 #: build/C/man5/elf.5:594
2508 msgid ""
2509 "This member holds the number of entries in the section header table.  Thus "
2510 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2511 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
2512 "holds the value of zero."
2513 msgstr ""
2514 "このメンバはセクションヘッダテーブルにあるエントリの数を保持する。 よって "
2515 "I<e_shentsize> と I<e_shnum> の積はセクションヘッダテーブルのサイズ (バイト単"
2516 "位) になる。 ファイルにセクションヘッダテーブルがない場合、 I<e_shnum> は値 "
2517 "0 を保持する。"
2518
2519 #. type: Plain text
2520 #: build/C/man5/elf.5:606
2521 msgid ""
2522 "If the number of entries in the section header table is larger than or equal "
2523 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2524 "number of entries in the section header table is held in the I<sh_size> "
2525 "member of the initial entry in section header table.  Otherwise, the "
2526 "I<sh_size> member of the initial entry in the section header table holds the "
2527 "value zero."
2528 msgstr ""
2529 "セクションヘッダテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2530 "合、\n"
2531 "I<e_shnum> には値 0 が入り、セクションヘッダテーブルのエントリーの実際の数"
2532 "は\n"
2533 "セクションヘッダテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2534 "る。\n"
2535 "それ以外の場合、セクションヘッダテーブルの最初のエントリーの I<sh_info> メン"
2536 "バ\n"
2537 "には値 0 が格納される。"
2538
2539 #. type: TP
2540 #: build/C/man5/elf.5:606
2541 #, no-wrap
2542 msgid "I<e_shstrndx>"
2543 msgstr "I<e_shstrndx>"
2544
2545 #. type: Plain text
2546 #: build/C/man5/elf.5:613
2547 msgid ""
2548 "This member holds the section header table index of the entry associated "
2549 "with the section name string table.  If the file has no section name string "
2550 "table, this member holds the value B<SHN_UNDEF>."
2551 msgstr ""
2552 "このメンバはセクション名文字列テーブルに関連付けられたエントリの セクション"
2553 "ヘッダテーブルインデックスを保持する。 ファイルにセクション名文字列テーブルが"
2554 "ない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2555
2556 #. type: Plain text
2557 #: build/C/man5/elf.5:625
2558 msgid ""
2559 "If the index of section name string table section is larger than or equal to "
2560 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2561 "real index of the section name string table section is held in the "
2562 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
2563 "the I<sh_link> member of the initial entry in section header table contains "
2564 "the value zero."
2565 msgstr ""
2566 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2567 "の\n"
2568 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2569 "テーブルの実際のインデックスはセクションヘッダテーブルの最初のエントリーの\n"
2570 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2571 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2572
2573 #. type: TP
2574 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2575 #, no-wrap
2576 msgid "B<SHN_UNDEF>"
2577 msgstr "B<SHN_UNDEF>"
2578
2579 #. type: Plain text
2580 #: build/C/man5/elf.5:636
2581 msgid ""
2582 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2583 "section reference.  For example, a symbol \"defined\" relative to section "
2584 "number B<SHN_UNDEF> is an undefined symbol."
2585 msgstr ""
2586 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2587 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2588 "ボルは、「未定義」なシンボルである。"
2589
2590 #. type: TP
2591 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2592 #, no-wrap
2593 msgid "B<SHN_LORESERVE>"
2594 msgstr "B<SHN_LORESERVE>"
2595
2596 #. type: Plain text
2597 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2598 msgid "This value specifies the lower bound of the range of reserved indices."
2599 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2600
2601 #. type: TP
2602 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2603 #, no-wrap
2604 msgid "B<SHN_LOPROC>"
2605 msgstr "B<SHN_LOPROC>"
2606
2607 #. type: Plain text
2608 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2609 msgid ""
2610 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2611 "specific semantics."
2612 msgstr ""
2613 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2614
2615 #. type: TP
2616 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2617 #, no-wrap
2618 msgid "B<SHN_HIPROC>"
2619 msgstr "B<SHN_HIPROC>"
2620
2621 #. type: Plain text
2622 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2623 msgid ""
2624 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2625 "specific semantics."
2626 msgstr ""
2627 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2628
2629 #. type: TP
2630 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2631 #, no-wrap
2632 msgid "B<SHN_ABS>"
2633 msgstr "B<SHN_ABS>"
2634
2635 #. type: Plain text
2636 #: build/C/man5/elf.5:656
2637 msgid ""
2638 "This value specifies absolute values for the corresponding reference.  For "
2639 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2640 "values and are not affected by relocation."
2641 msgstr ""
2642 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2643 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2644
2645 #. type: TP
2646 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2647 #, no-wrap
2648 msgid "B<SHN_COMMON>"
2649 msgstr "B<SHN_COMMON>"
2650
2651 #. type: Plain text
2652 #: build/C/man5/elf.5:660
2653 msgid ""
2654 "Symbols defined relative to this section are common symbols, such as Fortran "
2655 "COMMON or unallocated C external variables."
2656 msgstr ""
2657 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2658 "り当て external 変数のような、 共通シンボルである。"
2659
2660 #. type: TP
2661 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2662 #, no-wrap
2663 msgid "B<SHN_HIRESERVE>"
2664 msgstr "B<SHN_HIRESERVE>"
2665
2666 #. type: Plain text
2667 #: build/C/man5/elf.5:673
2668 msgid ""
2669 "This value specifies the upper bound of the range of reserved indices "
2670 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2671 "reference the section header table.  That is, the section header table does "
2672 "I<not> contain entries for the reserved indices."
2673 msgstr ""
2674 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2675 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダテーブルを参照しない。 "
2676 "つまり、セクションヘッダテーブルは 予約されたインデックスのエントリを I<含ま"
2677 "ない 。>"
2678
2679 #. type: Plain text
2680 #: build/C/man5/elf.5:695
2681 msgid ""
2682 "An executable or shared object file's program header table is an array of "
2683 "structures, each describing a segment or other information the system needs "
2684 "to prepare the program for execution.  An object file I<segment> contains "
2685 "one or more I<sections>.  Program headers are meaningful only for executable "
2686 "and shared object files.  A file specifies its own program header size with "
2687 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
2688 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2689 "the architecture:"
2690 msgstr ""
2691 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 "
2692 "システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する構造体"
2693 "の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<セク"
2694 "ション> が含まれる。 プログラムヘッダは実行可能ファイルと共有オブジェクトファ"
2695 "イルでのみ意味を持つ。 ファイルは自身のプログラムヘッダサイズを ELF ヘッダの "
2696 "I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラムヘッダは "
2697 "I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらになるかはアーキテ"
2698 "クチャ依存):"
2699
2700 #. type: Plain text
2701 #: build/C/man5/elf.5:708
2702 #, no-wrap
2703 msgid ""
2704 "typedef struct {\n"
2705 "    uint32_t   p_type;\n"
2706 "    Elf32_Off  p_offset;\n"
2707 "    Elf32_Addr p_vaddr;\n"
2708 "    Elf32_Addr p_paddr;\n"
2709 "    uint32_t   p_filesz;\n"
2710 "    uint32_t   p_memsz;\n"
2711 "    uint32_t   p_flags;\n"
2712 "    uint32_t   p_align;\n"
2713 "} Elf32_Phdr;\n"
2714 msgstr ""
2715 "typedef struct {\n"
2716 "    uint32_t   p_type;\n"
2717 "    Elf32_Off  p_offset;\n"
2718 "    Elf32_Addr p_vaddr;\n"
2719 "    Elf32_Addr p_paddr;\n"
2720 "    uint32_t   p_filesz;\n"
2721 "    uint32_t   p_memsz;\n"
2722 "    uint32_t   p_flags;\n"
2723 "    uint32_t   p_align;\n"
2724 "} Elf32_Phdr;\n"
2725
2726 #. type: Plain text
2727 #: build/C/man5/elf.5:723
2728 #, no-wrap
2729 msgid ""
2730 "typedef struct {\n"
2731 "    uint32_t   p_type;\n"
2732 "    uint32_t   p_flags;\n"
2733 "    Elf64_Off  p_offset;\n"
2734 "    Elf64_Addr p_vaddr;\n"
2735 "    Elf64_Addr p_paddr;\n"
2736 "    uint64_t   p_filesz;\n"
2737 "    uint64_t   p_memsz;\n"
2738 "    uint64_t   p_align;\n"
2739 "} Elf64_Phdr;\n"
2740 msgstr ""
2741 "typedef struct {\n"
2742 "    uint32_t   p_type;\n"
2743 "    uint32_t   p_flags;\n"
2744 "    Elf64_Off  p_offset;\n"
2745 "    Elf64_Addr p_vaddr;\n"
2746 "    Elf64_Addr p_paddr;\n"
2747 "    uint64_t   p_filesz;\n"
2748 "    uint64_t   p_memsz;\n"
2749 "    uint64_t   p_align;\n"
2750 "} Elf64_Phdr;\n"
2751
2752 #.  .Bl -tag -width "p_offset"
2753 #. type: Plain text
2754 #: build/C/man5/elf.5:731
2755 msgid ""
2756 "The main difference between the 32-bit and the 64-bit program header lies in "
2757 "the location of the I<p_flags> member in the total struct."
2758 msgstr ""
2759 "32 ビットと 64 ビットのプログラムヘッダの主な違いは、構造体における "
2760 "I<p_flags> メンバの位置にある。"
2761
2762 #. type: TP
2763 #: build/C/man5/elf.5:731
2764 #, no-wrap
2765 msgid "I<p_type>"
2766 msgstr "I<p_type>"
2767
2768 #.  .Bl -tag -width "PT_DYNAMIC"
2769 #. type: Plain text
2770 #: build/C/man5/elf.5:736
2771 msgid ""
2772 "This member of the Phdr struct tells what kind of segment this array element "
2773 "describes or how to interpret the array element's information."
2774 msgstr ""
2775 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2776 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2777
2778 #. type: TP
2779 #: build/C/man5/elf.5:737
2780 #, no-wrap
2781 msgid "B<PT_NULL>"
2782 msgstr "B<PT_NULL>"
2783
2784 #. type: Plain text
2785 #: build/C/man5/elf.5:741
2786 msgid ""
2787 "The array element is unused and the other members' values are undefined.  "
2788 "This lets the program header have ignored entries."
2789 msgstr ""
2790 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2791 "り、このプログラムヘッダのエントリは無視される。"
2792
2793 #. type: TP
2794 #: build/C/man5/elf.5:741
2795 #, no-wrap
2796 msgid "B<PT_LOAD>"
2797 msgstr "B<PT_LOAD>"
2798
2799 #. type: Plain text
2800 #: build/C/man5/elf.5:762
2801 msgid ""
2802 "The array element specifies a loadable segment, described by I<p_filesz> and "
2803 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
2804 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
2805 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2806 "and to follow the segment's initialized area.  The file size may not be "
2807 "larger than the memory size.  Loadable segment entries in the program header "
2808 "table appear in ascending order, sorted on the I<p_vaddr> member."
2809 msgstr ""
2810 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2811 "定する。 このファイルからのバイトデータが、このメモリセグメントの先頭からマッ"
2812 "プされる。 セグメントのメモリサイズ I<Sy>p_memsz がファイルサイズ "
2813 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2814 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリサイズよ"
2815 "り大きくてはいけない。 プログラムヘッダテーブルのロード可能セグメントエントリ"
2816 "は、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2817
2818 #. type: TP
2819 #: build/C/man5/elf.5:762
2820 #, no-wrap
2821 msgid "B<PT_DYNAMIC>"
2822 msgstr "B<PT_DYNAMIC>"
2823
2824 #. type: Plain text
2825 #: build/C/man5/elf.5:765
2826 msgid "The array element specifies dynamic linking information."
2827 msgstr "この配列要素は動的リンク情報を指定する。"
2828
2829 #. type: TP
2830 #: build/C/man5/elf.5:765
2831 #, no-wrap
2832 msgid "B<PT_INTERP>"
2833 msgstr "B<PT_INTERP>"
2834
2835 #. type: Plain text
2836 #: build/C/man5/elf.5:773
2837 msgid ""
2838 "The array element specifies the location and size of a null-terminated "
2839 "pathname to invoke as an interpreter.  This segment type is meaningful only "
2840 "for executable files (though it may occur for shared objects).  However it "
2841 "may not occur more than once in a file.  If it is present, it must precede "
2842 "any loadable segment entry."
2843 msgstr ""
2844 "この配列要素は、インタプリタとして起動されるパス名 (ヌル文字終端)  の位置とサ"
2845 "イズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2846 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2847 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2848 "のロード可能セグメントエントリより前になければならない。"
2849
2850 #. type: TP
2851 #: build/C/man5/elf.5:773
2852 #, no-wrap
2853 msgid "B<PT_NOTE>"
2854 msgstr "B<PT_NOTE>"
2855
2856 #. type: Plain text
2857 #: build/C/man5/elf.5:776
2858 msgid ""
2859 "The array element specifies the location and size for auxiliary information."
2860 msgstr ""
2861 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2862
2863 #. type: TP
2864 #: build/C/man5/elf.5:776
2865 #, no-wrap
2866 msgid "B<PT_SHLIB>"
2867 msgstr "B<PT_SHLIB>"
2868
2869 #. type: Plain text
2870 #: build/C/man5/elf.5:781
2871 msgid ""
2872 "This segment type is reserved but has unspecified semantics.  Programs that "
2873 "contain an array element of this type do not conform to the ABI."
2874 msgstr ""
2875 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2876 "を保持するプログラムは ABI に準拠しない。"
2877
2878 #. type: TP
2879 #: build/C/man5/elf.5:781
2880 #, no-wrap
2881 msgid "B<PT_PHDR>"
2882 msgstr "B<PT_PHDR>"
2883
2884 #. type: Plain text
2885 #: build/C/man5/elf.5:790
2886 msgid ""
2887 "The array element, if present, specifies the location and size of the "
2888 "program header table itself, both in the file and in the memory image of the "
2889 "program.  This segment type may not occur more than once in a file.  "
2890 "Moreover, it may occur only if the program header table is part of the "
2891 "memory image of the program.  If it is present, it must precede any loadable "
2892 "segment entry."
2893 msgstr ""
2894 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリイ"
2895 "メージ双方における プログラムヘッダテーブル自身の位置とサイズを指定する。 こ"
2896 "のセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、このセ"
2897 "グメント型が存在してもよいのは、プログラムヘッダテーブルが プログラムのメモリ"
2898 "イメージの一部である場合のみである。 もし存在する場合、これは全てのロード可能"
2899 "セグメントエントリより 前になければならない。"
2900
2901 #. type: TP
2902 #: build/C/man5/elf.5:790
2903 #, no-wrap
2904 msgid "B<PT_LOPROC>"
2905 msgstr "B<PT_LOPROC>"
2906
2907 #. type: Plain text
2908 #: build/C/man5/elf.5:795
2909 msgid ""
2910 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2911 "specific semantics."
2912 msgstr ""
2913 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2914
2915 #. type: TP
2916 #: build/C/man5/elf.5:795
2917 #, no-wrap
2918 msgid "B<PT_HIPROC>"
2919 msgstr "B<PT_HIPROC>"
2920
2921 #. type: Plain text
2922 #: build/C/man5/elf.5:800
2923 msgid ""
2924 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2925 "specific semantics."
2926 msgstr ""
2927 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2928
2929 #. type: TP
2930 #: build/C/man5/elf.5:800
2931 #, no-wrap
2932 msgid "B<PT_GNU_STACK>"
2933 msgstr "B<PT_GNU_STACK>"
2934
2935 #.  .El
2936 #. type: Plain text
2937 #: build/C/man5/elf.5:807
2938 msgid ""
2939 "GNU extension which is used by the Linux kernel to control the state of the "
2940 "stack via the flags set in the I<p_flags> member."
2941 msgstr ""
2942 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2943 "由でスタックの状態を制御するために使用する。"
2944
2945 #. type: TP
2946 #: build/C/man5/elf.5:808
2947 #, no-wrap
2948 msgid "I<p_offset>"
2949 msgstr "I<p_offset>"
2950
2951 #. type: Plain text
2952 #: build/C/man5/elf.5:812
2953 msgid ""
2954 "This member holds the offset from the beginning of the file at which the "
2955 "first byte of the segment resides."
2956 msgstr ""
2957 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2958 "保持する。"
2959
2960 #. type: TP
2961 #: build/C/man5/elf.5:812
2962 #, no-wrap
2963 msgid "I<p_vaddr>"
2964 msgstr "I<p_vaddr>"
2965
2966 #. type: Plain text
2967 #: build/C/man5/elf.5:816
2968 msgid ""
2969 "This member holds the virtual address at which the first byte of the segment "
2970 "resides in memory."
2971 msgstr ""
2972 "このメンバは、セグメントの先頭バイトがある メモリの仮想アドレスを保持する。"
2973
2974 #. type: TP
2975 #: build/C/man5/elf.5:816
2976 #, no-wrap
2977 msgid "I<p_paddr>"
2978 msgstr "I<p_paddr>"
2979
2980 #. type: Plain text
2981 #: build/C/man5/elf.5:824
2982 msgid ""
2983 "On systems for which physical addressing is relevant, this member is "
2984 "reserved for the segment's physical address.  Under BSD this member is not "
2985 "used and must be zero."
2986 msgstr ""
2987 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2988 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2989
2990 #. type: TP
2991 #: build/C/man5/elf.5:824
2992 #, no-wrap
2993 msgid "I<p_filesz>"
2994 msgstr "I<p_filesz>"
2995
2996 #. type: Plain text
2997 #: build/C/man5/elf.5:828
2998 msgid ""
2999 "This member holds the number of bytes in the file image of the segment.  It "
3000 "may be zero."
3001 msgstr ""
3002 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
3003 "よい。"
3004
3005 #. type: TP
3006 #: build/C/man5/elf.5:828
3007 #, no-wrap
3008 msgid "I<p_memsz>"
3009 msgstr "I<p_memsz>"
3010
3011 #. type: Plain text
3012 #: build/C/man5/elf.5:832
3013 msgid ""
3014 "This member holds the number of bytes in the memory image of the segment.  "
3015 "It may be zero."
3016 msgstr ""
3017 "このメンバはセグメントのメモリイメージのバイト数を保持する。 これは 0 でもよ"
3018 "い。"
3019
3020 #. type: TP
3021 #: build/C/man5/elf.5:832
3022 #, no-wrap
3023 msgid "I<p_flags>"
3024 msgstr "I<p_flags>"
3025
3026 #.  .Bl -tag -width "PF_X" -compact
3027 #. type: Plain text
3028 #: build/C/man5/elf.5:836
3029 msgid "This member holds a bit mask of flags relevant to the segment:"
3030 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3031
3032 #. type: TP
3033 #: build/C/man5/elf.5:837
3034 #, no-wrap
3035 msgid "B<PF_X>"
3036 msgstr "B<PF_X>"
3037
3038 #. type: Plain text
3039 #: build/C/man5/elf.5:841
3040 msgid "An executable segment."
3041 msgstr "実行可能セグメント。"
3042
3043 #. type: TP
3044 #: build/C/man5/elf.5:841
3045 #, no-wrap
3046 msgid "B<PF_W>"
3047 msgstr "B<PF_W>"
3048
3049 #. type: Plain text
3050 #: build/C/man5/elf.5:844
3051 msgid "A writable segment."
3052 msgstr "書き込み可能セグメント."
3053
3054 #. type: TP
3055 #: build/C/man5/elf.5:844
3056 #, no-wrap
3057 msgid "B<PF_R>"
3058 msgstr "B<PF_R>"
3059
3060 #. type: Plain text
3061 #: build/C/man5/elf.5:847
3062 msgid "A readable segment."
3063 msgstr "読み込み可能セグメント。"
3064
3065 #. type: Plain text
3066 #: build/C/man5/elf.5:860
3067 msgid ""
3068 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
3069 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3070 msgstr ""
3071 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3072 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3073
3074 #. type: TP
3075 #: build/C/man5/elf.5:860
3076 #, no-wrap
3077 msgid "I<p_align>"
3078 msgstr "I<p_align>"
3079
3080 #.  .El
3081 #. type: Plain text
3082 #: build/C/man5/elf.5:879
3083 msgid ""
3084 "This member holds the value to which the segments are aligned in memory and "
3085 "in the file.  Loadable process segments must have congruent values for "
3086 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
3087 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
3088 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3089 "I<p_align>."
3090 msgstr ""
3091 "このメンバは、セグメントがメモリおよびファイルにおいて配置 (align)  される値"
3092 "を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3093 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3094 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3095 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3096 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3097 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3098 "ばならない)。"
3099
3100 #. type: Plain text
3101 #: build/C/man5/elf.5:896
3102 msgid ""
3103 "A file's section header table lets one locate all the file's sections.  The "
3104 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3105 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
3106 "the beginning of the file to the section header table.  I<e_shnum> holds the "
3107 "number of entries the section header table contains.  I<e_shentsize> holds "
3108 "the size in bytes of each entry."
3109 msgstr ""
3110 "ファイルのセクションヘッダテーブルには、 全てのファイルセクションの場所が記述"
3111 "されている。 セクションヘッダテーブルは I<Elf32_Shdr> 構造体または "
3112 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダの I<e_shoff> メンバはファイルの"
3113 "先頭から セクションヘッダテーブルへのバイトオフセットである。 I<e_shnum> はセ"
3114 "クションヘッダテーブルに含まれるエントリの数を保持する。 I<e_shentsize> は各"
3115 "エントリのサイズ (バイト単位) を保持する。"
3116
3117 #.  .Bl -tag -width "SHN_LORESERVE"
3118 #. type: Plain text
3119 #: build/C/man5/elf.5:913
3120 msgid ""
3121 "A section header table index is a subscript into this array.  Some section "
3122 "header table indices are reserved: the initial entry and the indices between "
3123 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
3124 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3125 "field in the initial entry is set to zero.  An object file does not have "
3126 "sections for these special indices:"
3127 msgstr ""
3128 "セクションヘッダテーブルインデックスは、この配列の添字である。\n"
3129 "いくつかのセクションヘッダテーブルインデックスは予約されている。予約されて\n"
3130 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3131 "インデックスである。\n"
3132 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3133 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3134 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3135 "い。"
3136
3137 #. type: Plain text
3138 #: build/C/man5/elf.5:918
3139 msgid ""
3140 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3141 "section reference."
3142 msgstr ""
3143 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3144 "味なセクション参照を示す。"
3145
3146 #. type: Plain text
3147 #: build/C/man5/elf.5:938
3148 msgid ""
3149 "This value specifies the absolute value for the corresponding reference.  "
3150 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3151 "absolute value and is not affected by relocation."
3152 msgstr ""
3153 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3154 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3155 "ない。"
3156
3157 #. type: Plain text
3158 #: build/C/man5/elf.5:942
3159 msgid ""
3160 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3161 "COMMON or unallocated C external variables."
3162 msgstr ""
3163 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3164 "未割り当て外部変数のような共通シンボルである。"
3165
3166 #. type: Plain text
3167 #: build/C/man5/elf.5:953
3168 msgid ""
3169 "This value specifies the upper bound of the range of reserved indices.  The "
3170 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3171 "inclusive.  The section header table does not contain entries for the "
3172 "reserved indices."
3173 msgstr ""
3174 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3175 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッダ"
3176 "テーブルは予約されたインデックスに対応するエントリを持たない。"
3177
3178 #. type: Plain text
3179 #: build/C/man5/elf.5:957
3180 msgid "The section header has the following structure:"
3181 msgstr "セクションヘッダは以下の構造体を持つ:"
3182
3183 #. type: Plain text
3184 #: build/C/man5/elf.5:972
3185 #, no-wrap
3186 msgid ""
3187 "typedef struct {\n"
3188 "    uint32_t   sh_name;\n"
3189 "    uint32_t   sh_type;\n"
3190 "    uint32_t   sh_flags;\n"
3191 "    Elf32_Addr sh_addr;\n"
3192 "    Elf32_Off  sh_offset;\n"
3193 "    uint32_t   sh_size;\n"
3194 "    uint32_t   sh_link;\n"
3195 "    uint32_t   sh_info;\n"
3196 "    uint32_t   sh_addralign;\n"
3197 "    uint32_t   sh_entsize;\n"
3198 "} Elf32_Shdr;\n"
3199 msgstr ""
3200 "typedef struct {\n"
3201 "    uint32_t   sh_name;\n"
3202 "    uint32_t   sh_type;\n"
3203 "    uint32_t   sh_flags;\n"
3204 "    Elf32_Addr sh_addr;\n"
3205 "    Elf32_Off  sh_offset;\n"
3206 "    uint32_t   sh_size;\n"
3207 "    uint32_t   sh_link;\n"
3208 "    uint32_t   sh_info;\n"
3209 "    uint32_t   sh_addralign;\n"
3210 "    uint32_t   sh_entsize;\n"
3211 "} Elf32_Shdr;\n"
3212
3213 #. type: Plain text
3214 #: build/C/man5/elf.5:989
3215 #, no-wrap
3216 msgid ""
3217 "typedef struct {\n"
3218 "    uint32_t   sh_name;\n"
3219 "    uint32_t   sh_type;\n"
3220 "    uint64_t   sh_flags;\n"
3221 "    Elf64_Addr sh_addr;\n"
3222 "    Elf64_Off  sh_offset;\n"
3223 "    uint64_t   sh_size;\n"
3224 "    uint32_t   sh_link;\n"
3225 "    uint32_t   sh_info;\n"
3226 "    uint64_t   sh_addralign;\n"
3227 "    uint64_t   sh_entsize;\n"
3228 "} Elf64_Shdr;\n"
3229 msgstr ""
3230 "typedef struct {\n"
3231 "    uint32_t   sh_name;\n"
3232 "    uint32_t   sh_type;\n"
3233 "    uint64_t   sh_flags;\n"
3234 "    Elf64_Addr sh_addr;\n"
3235 "    Elf64_Off  sh_offset;\n"
3236 "    uint64_t   sh_size;\n"
3237 "    uint32_t   sh_link;\n"
3238 "    uint32_t   sh_info;\n"
3239 "    uint64_t   sh_addralign;\n"
3240 "    uint64_t   sh_entsize;\n"
3241 "} Elf64_Shdr;\n"
3242
3243 #.  .Bl -tag -width "sh_addralign"
3244 #. type: Plain text
3245 #: build/C/man5/elf.5:994
3246 msgid ""
3247 "No real differences exist between the 32-bit and 64-bit section headers."
3248 msgstr "32 ビットと 64 ビットのセクションヘッダには実際の違いはない。"
3249
3250 #. type: TP
3251 #: build/C/man5/elf.5:994
3252 #, no-wrap
3253 msgid "I<sh_name>"
3254 msgstr "I<sh_name>"
3255
3256 #. type: Plain text
3257 #: build/C/man5/elf.5:1000
3258 msgid ""
3259 "This member specifies the name of the section.  Its value is an index into "
3260 "the section header string table section, giving the location of a null-"
3261 "terminated string."
3262 msgstr ""
3263 "このメンバはセクション名を定める。 この値はセクションヘッダ文字列テーブルセク"
3264 "ションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
3265
3266 #. type: TP
3267 #: build/C/man5/elf.5:1000
3268 #, no-wrap
3269 msgid "I<sh_type>"
3270 msgstr "I<sh_type>"
3271
3272 #.  .Bl -tag -width "SHT_PROGBITS"
3273 #. type: Plain text
3274 #: build/C/man5/elf.5:1004
3275 msgid "This member categorizes the section's contents and semantics."
3276 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリを示す。"
3277
3278 #. type: TP
3279 #: build/C/man5/elf.5:1005
3280 #, no-wrap
3281 msgid "B<SHT_NULL>"
3282 msgstr "B<SHT_NULL>"
3283
3284 #. type: Plain text
3285 #: build/C/man5/elf.5:1012
3286 msgid ""
3287 "This value marks the section header as inactive.  It does not have an "
3288 "associated section.  Other members of the section header have undefined "
3289 "values."
3290 msgstr ""
3291 "この値はセクションヘッダが不活性であることを示す。 これは関連するセクションを"
3292 "持たない。 このセクションヘッダの他のメンバは、未定義の値を持つ。"
3293
3294 #. type: TP
3295 #: build/C/man5/elf.5:1012
3296 #, no-wrap
3297 msgid "B<SHT_PROGBITS>"
3298 msgstr "B<SHT_PROGBITS>"
3299
3300 #. type: Plain text
3301 #: build/C/man5/elf.5:1016
3302 msgid ""
3303 "This section holds information defined by the program, whose format and "
3304 "meaning are determined solely by the program."
3305 msgstr ""
3306 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3307 "味は、ひとえにプログラムによって決定される。"
3308
3309 #. type: TP
3310 #: build/C/man5/elf.5:1016
3311 #, no-wrap
3312 msgid "B<SHT_SYMTAB>"
3313 msgstr "B<SHT_SYMTAB>"
3314
3315 #. type: Plain text
3316 #: build/C/man5/elf.5:1029
3317 msgid ""
3318 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
3319 "symbols for link editing, though it may also be used for dynamic linking.  "
3320 "As a complete symbol table, it may contain many symbols unnecessary for "
3321 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
3322 msgstr ""
3323 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3324 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3325 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3326 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3327
3328 #. type: TP
3329 #: build/C/man5/elf.5:1029
3330 #, no-wrap
3331 msgid "B<SHT_STRTAB>"
3332 msgstr "B<SHT_STRTAB>"
3333
3334 #. type: Plain text
3335 #: build/C/man5/elf.5:1034
3336 msgid ""
3337 "This section holds a string table.  An object file may have multiple string "
3338 "table sections."
3339 msgstr ""
3340 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3341 "テーブルセクションを持つことができる。"
3342
3343 #. type: TP
3344 #: build/C/man5/elf.5:1034
3345 #, no-wrap
3346 msgid "B<SHT_RELA>"
3347 msgstr "B<SHT_RELA>"
3348
3349 #. type: Plain text
3350 #: build/C/man5/elf.5:1042
3351 msgid ""
3352 "This section holds relocation entries with explicit addends, such as type "
3353 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
3354 "multiple relocation sections."
3355 msgstr ""
3356 "このセクションは明示的な加数 (addend) を持つ再配置エントリを保持する。 再配置"
3357 "エントリの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> であ"
3358 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3359
3360 #. type: TP
3361 #: build/C/man5/elf.5:1042
3362 #, no-wrap
3363 msgid "B<SHT_HASH>"
3364 msgstr "B<SHT_HASH>"
3365
3366 #. type: Plain text
3367 #: build/C/man5/elf.5:1049
3368 msgid ""
3369 "This section holds a symbol hash table.  An object participating in dynamic "
3370 "linking must contain a symbol hash table.  An object file may have only one "
3371 "hash table."
3372 msgstr ""
3373 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3374 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3375 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3376
3377 #. type: TP
3378 #: build/C/man5/elf.5:1049
3379 #, no-wrap
3380 msgid "B<SHT_DYNAMIC>"
3381 msgstr "B<SHT_DYNAMIC>"
3382
3383 #. type: Plain text
3384 #: build/C/man5/elf.5:1054
3385 msgid ""
3386 "This section holds information for dynamic linking.  An object file may have "
3387 "only one dynamic section."
3388 msgstr ""
3389 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3390 "的セクションのみを持つことができる。"
3391
3392 #. type: TP
3393 #: build/C/man5/elf.5:1054
3394 #, no-wrap
3395 msgid "B<SHT_NOTE>"
3396 msgstr "B<SHT_NOTE>"
3397
3398 #. type: Plain text
3399 #: build/C/man5/elf.5:1057
3400 msgid "This section holds information that marks the file in some way."
3401 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3402
3403 #. type: TP
3404 #: build/C/man5/elf.5:1057
3405 #, no-wrap
3406 msgid "B<SHT_NOBITS>"
3407 msgstr "B<SHT_NOBITS>"
3408
3409 #. type: Plain text
3410 #: build/C/man5/elf.5:1065
3411 msgid ""
3412 "A section of this type occupies no space in the file but otherwise resembles "
3413 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
3414 "member contains the conceptual file offset."
3415 msgstr ""
3416 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3417 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3418 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3419
3420 #. type: TP
3421 #: build/C/man5/elf.5:1065
3422 #, no-wrap
3423 msgid "B<SHT_REL>"
3424 msgstr "B<SHT_REL>"
3425
3426 #. type: Plain text
3427 #: build/C/man5/elf.5:1073
3428 msgid ""
3429 "This section holds relocation offsets without explicit addends, such as type "
3430 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
3431 "multiple relocation sections."
3432 msgstr ""
3433 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3434 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3435 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3436
3437 #. type: TP
3438 #: build/C/man5/elf.5:1073
3439 #, no-wrap
3440 msgid "B<SHT_SHLIB>"
3441 msgstr "B<SHT_SHLIB>"
3442
3443 #. type: Plain text
3444 #: build/C/man5/elf.5:1076
3445 msgid "This section is reserved but has unspecified semantics."
3446 msgstr "このセクションは予約されているが、意味は指定されていない。"
3447
3448 #. type: TP
3449 #: build/C/man5/elf.5:1076
3450 #, no-wrap
3451 msgid "B<SHT_DYNSYM>"
3452 msgstr "B<SHT_DYNSYM>"
3453
3454 #. type: Plain text
3455 #: build/C/man5/elf.5:1083
3456 msgid ""
3457 "This section holds a minimal set of dynamic linking symbols.  An object file "
3458 "can also contain a B<SHT_SYMTAB> section."
3459 msgstr ""
3460 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3461 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3462
3463 #. type: TP
3464 #: build/C/man5/elf.5:1083
3465 #, no-wrap
3466 msgid "B<SHT_LOPROC>"
3467 msgstr "B<SHT_LOPROC>"
3468
3469 #. type: Plain text
3470 #: build/C/man5/elf.5:1088
3471 msgid ""
3472 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3473 "specific semantics."
3474 msgstr ""
3475 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3476
3477 #. type: TP
3478 #: build/C/man5/elf.5:1088
3479 #, no-wrap
3480 msgid "B<SHT_HIPROC>"
3481 msgstr "B<SHT_HIPROC>"
3482
3483 #. type: Plain text
3484 #: build/C/man5/elf.5:1093
3485 msgid ""
3486 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3487 "specific semantics."
3488 msgstr ""
3489 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3490
3491 #. type: TP
3492 #: build/C/man5/elf.5:1093
3493 #, no-wrap
3494 msgid "B<SHT_LOUSER>"
3495 msgstr "B<SHT_LOUSER>"
3496
3497 #. type: Plain text
3498 #: build/C/man5/elf.5:1097
3499 msgid ""
3500 "This value specifies the lower bound of the range of indices reserved for "
3501 "application programs."
3502 msgstr ""
3503 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3504 "指定する。"
3505
3506 #. type: TP
3507 #: build/C/man5/elf.5:1097
3508 #, no-wrap
3509 msgid "B<SHT_HIUSER>"
3510 msgstr "B<SHT_HIUSER>"
3511
3512 #.  .El
3513 #. type: Plain text
3514 #: build/C/man5/elf.5:1108
3515 msgid ""
3516 "This value specifies the upper bound of the range of indices reserved for "
3517 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3518 "may be used by the application, without conflicting with current or future "
3519 "system-defined section types."
3520 msgstr ""
3521 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3522 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3523 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3524 "使用することができる。"
3525
3526 #. type: TP
3527 #: build/C/man5/elf.5:1109
3528 #, no-wrap
3529 msgid "I<sh_flags>"
3530 msgstr "I<sh_flags>"
3531
3532 #.  .Bl -tag -width "SHF_EXECINSTR" -compact
3533 #. type: Plain text
3534 #: build/C/man5/elf.5:1122
3535 msgid ""
3536 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
3537 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
3538 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
3539 "are set to zero."
3540 msgstr ""
3541 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3542 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3543 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3544 "義の属性は 0 に設定される。"
3545
3546 #. type: TP
3547 #: build/C/man5/elf.5:1123
3548 #, no-wrap
3549 msgid "B<SHF_WRITE>"
3550 msgstr "B<SHF_WRITE>"
3551
3552 #. type: Plain text
3553 #: build/C/man5/elf.5:1127
3554 msgid ""
3555 "This section contains data that should be writable during process execution."
3556 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3557
3558 #. type: TP
3559 #: build/C/man5/elf.5:1127
3560 #, no-wrap
3561 msgid "B<SHF_ALLOC>"
3562 msgstr "B<SHF_ALLOC>"
3563
3564 #. type: Plain text
3565 #: build/C/man5/elf.5:1134
3566 msgid ""
3567 "This section occupies memory during process execution.  Some control "
3568 "sections do not reside in the memory image of an object file.  This "
3569 "attribute is off for those sections."
3570 msgstr ""
3571 "このセクションはプロセス実行中にメモリを使用する。 制御セクションの中には、オ"
3572 "ブジェクトファイルのメモリイメージには 存在しないものもある。 そうしたセク"
3573 "ションの場合、この属性はオフである。"
3574
3575 #. type: TP
3576 #: build/C/man5/elf.5:1134
3577 #, no-wrap
3578 msgid "B<SHF_EXECINSTR>"
3579 msgstr "B<SHF_EXECINSTR>"
3580
3581 #. type: Plain text
3582 #: build/C/man5/elf.5:1137
3583 msgid "This section contains executable machine instructions."
3584 msgstr "このセクションは実行可能なマシン命令を含む。"
3585
3586 #. type: TP
3587 #: build/C/man5/elf.5:1137
3588 #, no-wrap
3589 msgid "B<SHF_MASKPROC>"
3590 msgstr "B<SHF_MASKPROC>"
3591
3592 #. type: Plain text
3593 #: build/C/man5/elf.5:1141
3594 msgid ""
3595 "All bits included in this mask are reserved for processor-specific semantics."
3596 msgstr ""
3597 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3598
3599 #. type: TP
3600 #: build/C/man5/elf.5:1143
3601 #, no-wrap
3602 msgid "I<sh_addr>"
3603 msgstr "I<sh_addr>"
3604
3605 #. type: Plain text
3606 #: build/C/man5/elf.5:1148
3607 msgid ""
3608 "If this section appears in the memory image of a process, this member holds "
3609 "the address at which the section's first byte should reside.  Otherwise, the "
3610 "member contains zero."
3611 msgstr ""
3612 "このセクションがプロセスのメモリイメージにある場合、 このメンバはセクションの"
3613 "最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 で"
3614 "ある。"
3615
3616 #. type: TP
3617 #: build/C/man5/elf.5:1148
3618 #, no-wrap
3619 msgid "I<sh_offset>"
3620 msgstr "I<sh_offset>"
3621
3622 #. type: Plain text
3623 #: build/C/man5/elf.5:1157
3624 msgid ""
3625 "This member's value holds the byte offset from the beginning of the file to "
3626 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
3627 "space in the file, and its I<sh_offset> member locates the conceptual "
3628 "placement in the file."
3629 msgstr ""
3630 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3631 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3632 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3633
3634 #. type: TP
3635 #: build/C/man5/elf.5:1157
3636 #, no-wrap
3637 msgid "I<sh_size>"
3638 msgstr "I<sh_size>"
3639
3640 #. type: Plain text
3641 #: build/C/man5/elf.5:1169
3642 msgid ""
3643 "This member holds the section's size in bytes.  Unless the section type is "
3644 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
3645 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3646 "the file."
3647 msgstr ""
3648 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3649 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3650 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3651 "領域を使用しない。"
3652
3653 #. type: TP
3654 #: build/C/man5/elf.5:1169
3655 #, no-wrap
3656 msgid "I<sh_link>"
3657 msgstr "I<sh_link>"
3658
3659 #. type: Plain text
3660 #: build/C/man5/elf.5:1173
3661 msgid ""
3662 "This member holds a section header table index link, whose interpretation "
3663 "depends on the section type."
3664 msgstr ""
3665 "このメンバは、セクションヘッダテーブルインデックスリンクを保持する。 この解釈"
3666 "はセクションタイプに依存する。"
3667
3668 #. type: TP
3669 #: build/C/man5/elf.5:1173
3670 #, no-wrap
3671 msgid "I<sh_info>"
3672 msgstr "I<sh_info>"
3673
3674 #. type: Plain text
3675 #: build/C/man5/elf.5:1177
3676 msgid ""
3677 "This member holds extra information, whose interpretation depends on the "
3678 "section type."
3679 msgstr ""
3680 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3681
3682 #. type: TP
3683 #: build/C/man5/elf.5:1177
3684 #, no-wrap
3685 msgid "I<sh_addralign>"
3686 msgstr "I<sh_addralign>"
3687
3688 #. type: Plain text
3689 #: build/C/man5/elf.5:1190
3690 msgid ""
3691 "Some sections have address alignment constraints.  If a section holds a "
3692 "doubleword, the system must ensure doubleword alignment for the entire "
3693 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
3694 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
3695 "are allowed.  Values of zero or one mean the section has no alignment "
3696 "constraints."
3697 msgstr ""
3698 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3699 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3700 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3701 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3702 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3703 "制約がないことを意味する。"
3704
3705 #. type: TP
3706 #: build/C/man5/elf.5:1190
3707 #, no-wrap
3708 msgid "I<sh_entsize>"
3709 msgstr "I<sh_entsize>"
3710
3711 #.  .El
3712 #. type: Plain text
3713 #: build/C/man5/elf.5:1197
3714 msgid ""
3715 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
3716 "For such a section, this member gives the size in bytes for each entry.  "
3717 "This member contains zero if the section does not hold a table of fixed-size "
3718 "entries."
3719 msgstr ""
3720 "シンボルテーブルのような固定サイズエントリのテーブルを保持する セクションもあ"
3721 "る。 このようなセクションでは、 このメンバは各エントリのサイズ (バイト単位) "
3722 "を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリのテーブル"
3723 "を保持しない。"
3724
3725 #.  .Bl -tag -width ".shstrtab"
3726 #. type: Plain text
3727 #: build/C/man5/elf.5:1200
3728 msgid "Various sections hold program and control information:"
3729 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3730
3731 #. type: TP
3732 #: build/C/man5/elf.5:1200
3733 #, no-wrap
3734 msgid "I<.bss>"
3735 msgstr "I<.bss>"
3736
3737 #. type: Plain text
3738 #: build/C/man5/elf.5:1212
3739 msgid ""
3740 "This section holds uninitialized data that contributes to the program's "
3741 "memory image.  By definition, the system initializes the data with zeros "
3742 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
3743 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3744 msgstr ""
3745 "このセクションはプログラムのメモリイメージに配置される 非初期化データを保持す"
3746 "る。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 こ"
3747 "のセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3748 "B<SHF_WRITE> である。"
3749
3750 #. type: TP
3751 #: build/C/man5/elf.5:1212
3752 #, no-wrap
3753 msgid "I<.comment>"
3754 msgstr "I<.comment>"
3755
3756 #. type: Plain text
3757 #: build/C/man5/elf.5:1218
3758 msgid ""
3759 "This section holds version control information.  This section is of type "
3760 "B<SHT_PROGBITS>.  No attribute types are used."
3761 msgstr ""
3762 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3763 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3764
3765 #. type: TP
3766 #: build/C/man5/elf.5:1218
3767 #, no-wrap
3768 msgid "I<.ctors>"
3769 msgstr "I<.ctors>"
3770
3771 #. type: Plain text
3772 #: build/C/man5/elf.5:1227
3773 msgid ""
3774 "This section holds initialized pointers to the C++ constructor functions.  "
3775 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3776 "B<SHF_ALLOC> and B<SHF_WRITE>."
3777 msgstr ""
3778 "このセクションは C++ コンストラクタ関数への初期化されたポインタを保持する。 "
3779 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3780 "と B<SHF_WRITE> である。"
3781
3782 #. type: TP
3783 #: build/C/man5/elf.5:1227
3784 #, no-wrap
3785 msgid "I<.data>"
3786 msgstr "I<.data>"
3787
3788 #. type: Plain text
3789 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3790 msgid ""
3791 "This section holds initialized data that contribute to the program's memory "
3792 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
3793 "B<SHF_ALLOC> and B<SHF_WRITE>."
3794 msgstr ""
3795 "このセクションはプログラムのメモリイメージに配置される 初期化済みデータを保持"
3796 "する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3797 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3798
3799 #. type: TP
3800 #: build/C/man5/elf.5:1237
3801 #, no-wrap
3802 msgid "I<.data1>"
3803 msgstr "I<.data1>"
3804
3805 #. type: TP
3806 #: build/C/man5/elf.5:1247
3807 #, no-wrap
3808 msgid "I<.debug>"
3809 msgstr "I<.debug>"
3810
3811 #. type: Plain text
3812 #: build/C/man5/elf.5:1255
3813 msgid ""
3814 "This section holds information for symbolic debugging.  The contents are "
3815 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
3816 "are used."
3817 msgstr ""
3818 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3819 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3820 "れない。"
3821
3822 #. type: TP
3823 #: build/C/man5/elf.5:1255
3824 #, no-wrap
3825 msgid "I<.dtors>"
3826 msgstr "I<.dtors>"
3827
3828 #. type: Plain text
3829 #: build/C/man5/elf.5:1264
3830 msgid ""
3831 "This section holds initialized pointers to the C++ destructor functions.  "
3832 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3833 "B<SHF_ALLOC> and B<SHF_WRITE>."
3834 msgstr ""
3835 "このセクションは C++ デストラクタ関数への初期化されたポインタを保持する。 こ"
3836 "のセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> と "
3837 "B<SHF_WRITE> である。"
3838
3839 #. type: TP
3840 #: build/C/man5/elf.5:1264
3841 #, no-wrap
3842 msgid "I<.dynamic>"
3843 msgstr "I<.dynamic>"
3844
3845 #. type: Plain text
3846 #: build/C/man5/elf.5:1277
3847 msgid ""
3848 "This section holds dynamic linking information.  The section's attributes "
3849 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
3850 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
3851 "attributes above."
3852 msgstr ""
3853 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3854 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3855 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3856 "ること。"
3857
3858 #. type: TP
3859 #: build/C/man5/elf.5:1277
3860 #, no-wrap
3861 msgid "I<.dynstr>"
3862 msgstr "I<.dynstr>"
3863
3864 #. type: Plain text
3865 #: build/C/man5/elf.5:1285
3866 msgid ""
3867 "This section holds strings needed for dynamic linking, most commonly the "
3868 "strings that represent the names associated with symbol table entries.  This "
3869 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
3870 msgstr ""
3871 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3872 "列はシンボルテーブルエントリと 関連づけられた名前を表す。 このセクションのタ"
3873 "イプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3874
3875 #. type: TP
3876 #: build/C/man5/elf.5:1285
3877 #, no-wrap
3878 msgid "I<.dynsym>"
3879 msgstr "I<.dynsym>"
3880
3881 #. type: Plain text
3882 #: build/C/man5/elf.5:1292
3883 msgid ""
3884 "This section holds the dynamic linking symbol table.  This section is of "
3885 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
3886 msgstr ""
3887 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3888 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3889
3890 #. type: TP
3891 #: build/C/man5/elf.5:1292
3892 #, no-wrap
3893 msgid "I<.fini>"
3894 msgstr "I<.fini>"
3895
3896 #. type: Plain text
3897 #: build/C/man5/elf.5:1304
3898 msgid ""
3899 "This section holds executable instructions that contribute to the process "
3900 "termination code.  When a program exits normally the system arranges to "
3901 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
3902 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3903 msgstr ""
3904 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3905 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3906 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3907 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3908
3909 #. type: TP
3910 #: build/C/man5/elf.5:1304
3911 #, no-wrap
3912 msgid "I<.gnu.version>"
3913 msgstr "I<.gnu.version>"
3914
3915 #. type: Plain text
3916 #: build/C/man5/elf.5:1313
3917 msgid ""
3918 "This section holds the version symbol table, an array of I<ElfN_Half> "
3919 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
3920 "used is B<SHF_ALLOC>."
3921 msgstr ""
3922 "このセクションはバージョン・シンボル・テーブルを保持する。 その内容は "
3923 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3924 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3925
3926 #. type: TP
3927 #: build/C/man5/elf.5:1313
3928 #, no-wrap
3929 msgid "I<.gnu.version_d>"
3930 msgstr "I<.gnu.version_d>"
3931
3932 #. type: Plain text
3933 #: build/C/man5/elf.5:1322
3934 msgid ""
3935 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3936 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
3937 "used is B<SHF_ALLOC>."
3938 msgstr ""
3939 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3940 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3941 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3942
3943 #. type: TP
3944 #: build/C/man5/elf.5:1322
3945 #, no-wrap
3946 msgid "I<.gnu.version_r>"
3947 msgstr "I<.gnu.version_r>"
3948
3949 #. type: Plain text
3950 #: build/C/man5/elf.5:1332
3951 msgid ""
3952 "This section holds the version symbol needed elements, a table of "
3953 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
3954 "attribute type used is B<SHF_ALLOC>."
3955 msgstr ""
3956 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3957 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3958 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3959
3960 #. type: TP
3961 #: build/C/man5/elf.5:1332
3962 #, no-wrap
3963 msgid "I<.got>"
3964 msgstr "I<.got>"
3965
3966 #. type: Plain text
3967 #: build/C/man5/elf.5:1338
3968 msgid ""
3969 "This section holds the global offset table.  This section is of type "
3970 "B<SHT_PROGBITS>.  The attributes are processor-specific."
3971 msgstr ""
3972 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3973 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3974
3975 #. type: TP
3976 #: build/C/man5/elf.5:1338
3977 #, no-wrap
3978 msgid "I<.hash>"
3979 msgstr "I<.hash>"
3980
3981 #. type: Plain text
3982 #: build/C/man5/elf.5:1345
3983 msgid ""
3984 "This section holds a symbol hash table.  This section is of type "
3985 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
3986 msgstr ""
3987 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3988 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3989
3990 #. type: TP
3991 #: build/C/man5/elf.5:1345
3992 #, no-wrap
3993 msgid "I<.init>"
3994 msgstr "I<.init>"
3995
3996 #. type: Plain text
3997 #: build/C/man5/elf.5:1357
3998 msgid ""
3999 "This section holds executable instructions that contribute to the process "
4000 "initialization code.  When a program starts to run the system arranges to "
4001 "execute the code in this section before calling the main program entry "
4002 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
4003 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4004 msgstr ""
4005 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
4006 "グラムが実行を開始すると、 システムはメインプログラムエントリポイントを呼び出"
4007 "す前に、 このセクションにあるコードを配置して実行する。 このセクションはのタ"
4008 "イプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4009 "B<SHF_EXECINSTR> である。"
4010
4011 #. type: TP
4012 #: build/C/man5/elf.5:1357
4013 #, no-wrap
4014 msgid "I<.interp>"
4015 msgstr "I<.interp>"
4016
4017 #. type: Plain text
4018 #: build/C/man5/elf.5:1368
4019 msgid ""
4020 "This section holds the pathname of a program interpreter.  If the file has a "
4021 "loadable segment that includes the section, the section's attributes will "
4022 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
4023 "section is of type B<SHT_PROGBITS>."
4024 msgstr ""
4025 "このセクションはプログラムインタプリタのパス名を保持する。 ファイルにこのセク"
4026 "ションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4027 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4028 "クションのタイプは B<SHT_PROGBITS> である。"
4029
4030 #. type: TP
4031 #: build/C/man5/elf.5:1368
4032 #, no-wrap
4033 msgid "I<.line>"
4034 msgstr "I<.line>"
4035
4036 #. type: Plain text
4037 #: build/C/man5/elf.5:1376
4038 msgid ""
4039 "This section holds line number information for symbolic debugging, which "
4040 "describes the correspondence between the program source and the machine "
4041 "code.  The contents are unspecified.  This section is of type "
4042 "B<SHT_PROGBITS>.  No attribute types are used."
4043 msgstr ""
4044 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4045 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4046 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4047 "ない。"
4048
4049 #. type: TP
4050 #: build/C/man5/elf.5:1376
4051 #, no-wrap
4052 msgid "I<.note>"
4053 msgstr "I<.note>"
4054
4055 #. type: Plain text
4056 #: build/C/man5/elf.5:1389
4057 msgid ""
4058 "This section holds information in the \"Note Section\" format.  This section "
4059 "is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD native "
4060 "executables usually contain a I<.note.openbsd.ident> section to identify "
4061 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4062 "tests when loading the file."
4063 msgstr ""
4064 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4065 "プ\n"
4066 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4067 "行\n"
4068 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4069 "つ。\n"
4070 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4071 "ショ\n"
4072 "ンテストを回避できる。"
4073
4074 #. type: TP
4075 #: build/C/man5/elf.5:1389
4076 #, no-wrap
4077 msgid "I<.note.GNU-stack>"
4078 msgstr "I<.note.GNU-stack>"
4079
4080 #. type: Plain text
4081 #: build/C/man5/elf.5:1398
4082 msgid ""
4083 "This section is used in Linux object files for declaring stack attributes.  "
4084 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
4085 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
4086 "requires an executable stack."
4087 msgstr ""
4088 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4089 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4090 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカに対して オブジェクトファイ"
4091 "ルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4092
4093 #. type: TP
4094 #: build/C/man5/elf.5:1398
4095 #, no-wrap
4096 msgid "I<.plt>"
4097 msgstr "I<.plt>"
4098
4099 #. type: Plain text
4100 #: build/C/man5/elf.5:1404
4101 msgid ""
4102 "This section holds the procedure linkage table.  This section is of type "
4103 "B<SHT_PROGBITS>.  The attributes are processor-specific."
4104 msgstr ""
4105 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4106 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4107
4108 #. type: TP
4109 #: build/C/man5/elf.5:1404
4110 #, no-wrap
4111 msgid "I<.relNAME>"
4112 msgstr "I<.relNAME>"
4113
4114 #. type: Plain text
4115 #: build/C/man5/elf.5:1423
4116 msgid ""
4117 "This section holds relocation information as described below.  If the file "
4118 "has a loadable segment that includes relocation, the section's attributes "
4119 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4120 "convention, \"NAME\" is supplied by the section to which the relocations "
4121 "apply.  Thus a relocation section for B<.text> normally would have the name "
4122 "B<.rel.text>.  This section is of type B<SHT_REL>."
4123 msgstr ""
4124 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4125 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4126 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4127 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4128 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4129 "プは B<SHT_REL> である。"
4130
4131 #. type: TP
4132 #: build/C/man5/elf.5:1423
4133 #, no-wrap
4134 msgid "I<.relaNAME>"
4135 msgstr "I<.relaNAME>"
4136
4137 #. type: Plain text
4138 #: build/C/man5/elf.5:1442
4139 msgid ""
4140 "This section holds relocation information as described below.  If the file "
4141 "has a loadable segment that includes relocation, the section's attributes "
4142 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4143 "convention, \"NAME\" is supplied by the section to which the relocations "
4144 "apply.  Thus a relocation section for B<.text> normally would have the name "
4145 "B<.rela.text>.  This section is of type B<SHT_RELA>."
4146 msgstr ""
4147 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4148 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4149 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4150 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4151 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4152 "イプは B<SHT_RELA> である。"
4153
4154 #. type: TP
4155 #: build/C/man5/elf.5:1442
4156 #, no-wrap
4157 msgid "I<.rodata>"
4158 msgstr "I<.rodata>"
4159
4160 #. type: Plain text
4161 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4162 msgid ""
4163 "This section holds read-only data that typically contributes to a "
4164 "nonwritable segment in the process image.  This section is of type "
4165 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
4166 msgstr ""
4167 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4168 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4169 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4170
4171 #. type: TP
4172 #: build/C/man5/elf.5:1450
4173 #, no-wrap
4174 msgid "I<.rodata1>"
4175 msgstr "I<.rodata1>"
4176
4177 #. type: TP
4178 #: build/C/man5/elf.5:1458
4179 #, no-wrap
4180 msgid "I<.shstrtab>"
4181 msgstr "I<.shstrtab>"
4182
4183 #. type: Plain text
4184 #: build/C/man5/elf.5:1464
4185 msgid ""
4186 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
4187 "No attribute types are used."
4188 msgstr ""
4189 "このセクションはセクション名を保持する。 このセクションのタイプは "
4190 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4191
4192 #. type: TP
4193 #: build/C/man5/elf.5:1464
4194 #, no-wrap
4195 msgid "I<.strtab>"
4196 msgstr "I<.strtab>"
4197
4198 #. type: Plain text
4199 #: build/C/man5/elf.5:1476
4200 msgid ""
4201 "This section holds strings, most commonly the strings that represent the "
4202 "names associated with symbol table entries.  If the file has a loadable "
4203 "segment that includes the symbol string table, the section's attributes will "
4204 "include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section "
4205 "is of type B<SHT_STRTAB>."
4206 msgstr ""
4207 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエントリ"
4208 "に関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブルを"
4209 "含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを"
4210 "含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4211 "B<SHT_STRTAB> である。"
4212
4213 #. type: TP
4214 #: build/C/man5/elf.5:1476
4215 #, no-wrap
4216 msgid "I<.symtab>"
4217 msgstr "I<.symtab>"
4218
4219 #. type: Plain text
4220 #: build/C/man5/elf.5:1487
4221 msgid ""
4222 "This section holds a symbol table.  If the file has a loadable segment that "
4223 "includes the symbol table, the section's attributes will include the "
4224 "B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section is of type "
4225 "B<SHT_SYMTAB>."
4226 msgstr ""
4227 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4228 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4229 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4230 "B<SHT_SYMTAB> である。"
4231
4232 #. type: TP
4233 #: build/C/man5/elf.5:1487
4234 #, no-wrap
4235 msgid "I<.text>"
4236 msgstr "I<.text>"
4237
4238 #.  .El
4239 #. type: Plain text
4240 #: build/C/man5/elf.5:1499
4241 msgid ""
4242 "This section holds the \"text\", or executable instructions, of a program.  "
4243 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
4244 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4245 msgstr ""
4246 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4247 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4248 "B<SHF_EXECINSTR> である。"
4249
4250 #. type: Plain text
4251 #: build/C/man5/elf.5:1510
4252 msgid ""
4253 "String table sections hold null-terminated character sequences, commonly "
4254 "called strings.  The object file uses these strings to represent symbol and "
4255 "section names.  One references a string as an index into the string table "
4256 "section.  The first byte, which is index zero, is defined to hold a null "
4257 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
4258 "hold a null byte, ensuring null termination for all strings."
4259 msgstr ""
4260 "文字列テーブルセクションはヌル文字で終端されたキャラクタ配列 (通常文字列と呼"
4261 "ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名と"
4262 "セクション名を表すために使う。 文字列は、文字列テーブルセクションへのインデッ"
4263 "クスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
4264 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
4265 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
4266 "ていることを保証するためである。"
4267
4268 #. type: Plain text
4269 #: build/C/man5/elf.5:1515
4270 msgid ""
4271 "An object file's symbol table holds information needed to locate and "
4272 "relocate a program's symbolic definitions and references.  A symbol table "
4273 "index is a subscript into this array."
4274 msgstr ""
4275 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4276 "置または再配置するのに 必要な情報を保持する。"
4277
4278 #. type: Plain text
4279 #: build/C/man5/elf.5:1526
4280 #, no-wrap
4281 msgid ""
4282 "typedef struct {\n"
4283 "    uint32_t      st_name;\n"
4284 "    Elf32_Addr    st_value;\n"
4285 "    uint32_t      st_size;\n"
4286 "    unsigned char st_info;\n"
4287 "    unsigned char st_other;\n"
4288 "    uint16_t      st_shndx;\n"
4289 "} Elf32_Sym;\n"
4290 msgstr ""
4291 "typedef struct {\n"
4292 "    uint32_t      st_name;\n"
4293 "    Elf32_Addr    st_value;\n"
4294 "    uint32_t      st_size;\n"
4295 "    unsigned char st_info;\n"
4296 "    unsigned char st_other;\n"
4297 "    uint16_t      st_shndx;\n"
4298 "} Elf32_Sym;\n"
4299
4300 #. type: Plain text
4301 #: build/C/man5/elf.5:1539
4302 #, no-wrap
4303 msgid ""
4304 "typedef struct {\n"
4305 "    uint32_t      st_name;\n"
4306 "    unsigned char st_info;\n"
4307 "    unsigned char st_other;\n"
4308 "    uint16_t      st_shndx;\n"
4309 "    Elf64_Addr    st_value;\n"
4310 "    uint64_t      st_size;\n"
4311 "} Elf64_Sym;\n"
4312 msgstr ""
4313 "typedef struct {\n"
4314 "    uint32_t      st_name;\n"
4315 "    unsigned char st_info;\n"
4316 "    unsigned char st_other;\n"
4317 "    uint16_t      st_shndx;\n"
4318 "    Elf64_Addr    st_value;\n"
4319 "    uint64_t      st_size;\n"
4320 "} Elf64_Sym;\n"
4321
4322 #.  .Bl -tag -width "st_value"
4323 #. type: Plain text
4324 #: build/C/man5/elf.5:1545
4325 msgid ""
4326 "The 32-bit and 64-bit versions have the same members, just in a different "
4327 "order."
4328 msgstr ""
4329 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4330
4331 #. type: TP
4332 #: build/C/man5/elf.5:1545
4333 #, no-wrap
4334 msgid "I<st_name>"
4335 msgstr "I<st_name>"
4336
4337 #. type: Plain text
4338 #: build/C/man5/elf.5:1553
4339 msgid ""
4340 "This member holds an index into the object file's symbol string table, which "
4341 "holds character representations of the symbol names.  If the value is "
4342 "nonzero, it represents a string table index that gives the symbol name.  "
4343 "Otherwise, the symbol table has no name."
4344 msgstr ""
4345 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4346 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4347 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4348 "合、シンボルテーブルは名前を持たない。"
4349
4350 #. type: TP
4351 #: build/C/man5/elf.5:1553
4352 #, no-wrap
4353 msgid "I<st_value>"
4354 msgstr "I<st_value>"
4355
4356 #. type: Plain text
4357 #: build/C/man5/elf.5:1556
4358 msgid "This member gives the value of the associated symbol."
4359 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4360
4361 #. type: TP
4362 #: build/C/man5/elf.5:1556
4363 #, no-wrap
4364 msgid "I<st_size>"
4365 msgstr "I<st_size>"
4366
4367 #. type: Plain text
4368 #: build/C/man5/elf.5:1561
4369 msgid ""
4370 "Many symbols have associated sizes.  This member holds zero if the symbol "
4371 "has no size or an unknown size."
4372 msgstr ""
4373 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4374 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4375
4376 #. type: TP
4377 #: build/C/man5/elf.5:1561
4378 #, no-wrap
4379 msgid "I<st_info>"
4380 msgstr "I<st_info>"
4381
4382 #.  .Bl -tag -width "STT_SECTION"
4383 #. type: Plain text
4384 #: build/C/man5/elf.5:1565
4385 msgid "This member specifies the symbol's type and binding attributes:"
4386 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4387
4388 #. type: TP
4389 #: build/C/man5/elf.5:1566
4390 #, no-wrap
4391 msgid "B<STT_NOTYPE>"
4392 msgstr "B<STT_NOTYPE>"
4393
4394 #. type: Plain text
4395 #: build/C/man5/elf.5:1569
4396 msgid "The symbol's type is not defined."
4397 msgstr "シンボルのタイプが定義されていない。"
4398
4399 #. type: TP
4400 #: build/C/man5/elf.5:1569
4401 #, no-wrap
4402 msgid "B<STT_OBJECT>"
4403 msgstr "B<STT_OBJECT>"
4404
4405 #. type: Plain text
4406 #: build/C/man5/elf.5:1572
4407 msgid "The symbol is associated with a data object."
4408 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4409
4410 #. type: TP
4411 #: build/C/man5/elf.5:1572
4412 #, no-wrap
4413 msgid "B<STT_FUNC>"
4414 msgstr "B<STT_FUNC>"
4415
4416 #. type: Plain text
4417 #: build/C/man5/elf.5:1575
4418 msgid "The symbol is associated with a function or other executable code."
4419 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4420
4421 #. type: TP
4422 #: build/C/man5/elf.5:1575
4423 #, no-wrap
4424 msgid "B<STT_SECTION>"
4425 msgstr "B<STT_SECTION>"
4426
4427 #. type: Plain text
4428 #: build/C/man5/elf.5:1582
4429 msgid ""
4430 "The symbol is associated with a section.  Symbol table entries of this type "
4431 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4432 msgstr ""
4433 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4434 "リは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4435 "つ。"
4436
4437 #. type: TP
4438 #: build/C/man5/elf.5:1582
4439 #, no-wrap
4440 msgid "B<STT_FILE>"
4441 msgstr "B<STT_FILE>"
4442
4443 #. type: Plain text
4444 #: build/C/man5/elf.5:1593
4445 msgid ""
4446 "By convention, the symbol's name gives the name of the source file "
4447 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
4448 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4449 "symbols of the file, if it is present."
4450 msgstr ""
4451 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4452 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4453 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4454 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4455
4456 #. type: TP
4457 #: build/C/man5/elf.5:1593
4458 #, no-wrap
4459 msgid "B<STT_LOPROC>"
4460 msgstr "B<STT_LOPROC>"
4461
4462 #. type: Plain text
4463 #: build/C/man5/elf.5:1598
4464 msgid ""
4465 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4466 "specific semantics."
4467 msgstr ""
4468 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4469
4470 #. type: TP
4471 #: build/C/man5/elf.5:1598
4472 #, no-wrap
4473 msgid "B<STT_HIPROC>"
4474 msgstr "B<STT_HIPROC>"
4475
4476 #.  .El
4477 #.  .Bl -tag -width "STB_GLOBAL"
4478 #. type: Plain text
4479 #: build/C/man5/elf.5:1605
4480 msgid ""
4481 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4482 "specific semantics."
4483 msgstr ""
4484 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4485
4486 #. type: TP
4487 #: build/C/man5/elf.5:1605
4488 #, no-wrap
4489 msgid "B<STB_LOCAL>"
4490 msgstr "B<STB_LOCAL>"
4491
4492 #. type: Plain text
4493 #: build/C/man5/elf.5:1611
4494 msgid ""
4495 "Local symbols are not visible outside the object file containing their "
4496 "definition.  Local symbols of the same name may exist in multiple files "
4497 "without interfering with each other."
4498 msgstr ""
4499 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4500 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4501 "る。"
4502
4503 #. type: TP
4504 #: build/C/man5/elf.5:1611
4505 #, no-wrap
4506 msgid "B<STB_GLOBAL>"
4507 msgstr "B<STB_GLOBAL>"
4508
4509 #. type: Plain text
4510 #: build/C/man5/elf.5:1617
4511 msgid ""
4512 "Global symbols are visible to all object files being combined.  One file's "
4513 "definition of a global symbol will satisfy another file's undefined "
4514 "reference to the same symbol."
4515 msgstr ""
4516 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4517 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4518 "の参照は未定義でなければならない。"
4519
4520 #. type: TP
4521 #: build/C/man5/elf.5:1617
4522 #, no-wrap
4523 msgid "B<STB_WEAK>"
4524 msgstr "B<STB_WEAK>"
4525
4526 #. type: Plain text
4527 #: build/C/man5/elf.5:1621
4528 msgid ""
4529 "Weak symbols resemble global symbols, but their definitions have lower "
4530 "precedence."
4531 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4532
4533 #. type: TP
4534 #: build/C/man5/elf.5:1621
4535 #, no-wrap
4536 msgid "B<STB_LOPROC>"
4537 msgstr "B<STB_LOPROC>"
4538
4539 #. type: Plain text
4540 #: build/C/man5/elf.5:1626
4541 msgid ""
4542 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4543 "specific semantics."
4544 msgstr ""
4545 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4546
4547 #. type: TP
4548 #: build/C/man5/elf.5:1626
4549 #, no-wrap
4550 msgid "B<STB_HIPROC>"
4551 msgstr "B<STB_HIPROC>"
4552
4553 #. type: Plain text
4554 #: build/C/man5/elf.5:1631
4555 msgid ""
4556 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4557 "specific semantics."
4558 msgstr ""
4559 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4560
4561 #. type: Plain text
4562 #: build/C/man5/elf.5:1633
4563 msgid "There are macros for packing and unpacking the binding and type fields:"
4564 msgstr ""
4565 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4566 "る:"
4567
4568 #. type: Plain text
4569 #: build/C/man5/elf.5:1640
4570 msgid ""
4571 "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from an "
4572 "I<st_info> value."
4573 msgstr ""
4574 "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値からバ"
4575 "インディングを取り出す。"
4576
4577 #. type: Plain text
4578 #: build/C/man5/elf.5:1644
4579 msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
4580 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
4581
4582 #. type: Plain text
4583 #: build/C/man5/elf.5:1648
4584 msgid "extract a type from an I<st_info> value."
4585 msgstr "I<st_info> の値からタイプを取り出す。"
4586
4587 #. type: Plain text
4588 #: build/C/man5/elf.5:1652
4589 msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
4590 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
4591
4592 #. type: Plain text
4593 #: build/C/man5/elf.5:1656
4594 msgid "convert a binding and a type into an I<st_info> value."
4595 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4596
4597 #. type: TP
4598 #: build/C/man5/elf.5:1658
4599 #, no-wrap
4600 msgid "I<st_other>"
4601 msgstr "I<st_other>"
4602
4603 #.  .Bl -tag -width "STV_PROTECTED"
4604 #. type: Plain text
4605 #: build/C/man5/elf.5:1662
4606 msgid "This member defines the symbol visibility."
4607 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4608
4609 #. type: TP
4610 #: build/C/man5/elf.5:1663
4611 #, no-wrap
4612 msgid "B<STV_DEFAULT>"
4613 msgstr "B<STV_DEFAULT>"
4614
4615 #. type: Plain text
4616 #: build/C/man5/elf.5:1667
4617 msgid "Default symbol visibility rules."
4618 msgstr "デフォルトのシンボル visibility ルール。"
4619
4620 #. type: TP
4621 #: build/C/man5/elf.5:1667
4622 #, no-wrap
4623 msgid "B<STV_INTERNAL>"
4624 msgstr "B<STV_INTERNAL>"
4625
4626 #. type: Plain text
4627 #: build/C/man5/elf.5:1670
4628 msgid "Processor-specific hidden class."
4629 msgstr "プロセッサ固有の隠しクラス。"
4630
4631 #. type: TP
4632 #: build/C/man5/elf.5:1670
4633 #, no-wrap
4634 msgid "B<STV_HIDDEN>"
4635 msgstr "B<STV_HIDDEN>"
4636
4637 #. type: Plain text
4638 #: build/C/man5/elf.5:1673
4639 msgid "Symbol is unavailable in other modules."
4640 msgstr "シンボルは他のモジュールからは利用できない。"
4641
4642 #. type: TP
4643 #: build/C/man5/elf.5:1673
4644 #, no-wrap
4645 msgid "B<STV_PROTECTED>"
4646 msgstr "B<STV_PROTECTED>"
4647
4648 #. type: Plain text
4649 #: build/C/man5/elf.5:1676
4650 msgid "Not preemptible, not exported."
4651 msgstr "横取りできず (not preemptible)、公開されない。"
4652
4653 #. type: Plain text
4654 #: build/C/man5/elf.5:1679
4655 msgid "There are macros for extracting the visibility type:"
4656 msgstr "visibility 種別を抽出するためのマクロがある。"
4657
4658 #. type: Plain text
4659 #: build/C/man5/elf.5:1683
4660 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
4661 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
4662
4663 #. type: TP
4664 #: build/C/man5/elf.5:1685
4665 #, no-wrap
4666 msgid "I<st_shndx>"
4667 msgstr "I<st_shndx>"
4668
4669 #.  .El
4670 #. type: Plain text
4671 #: build/C/man5/elf.5:1693
4672 msgid ""
4673 "Every symbol table entry is \"defined\" in relation to some section.  This "
4674 "member holds the relevant section header table index."
4675 msgstr ""
4676 "各シンボルテーブルエントリは、いくつかのセクションに関連して \"定義されている"
4677 "\"。 このメンバは関連するセクションヘッダテーブルインデックスを保持する。"
4678
4679 #. type: Plain text
4680 #: build/C/man5/elf.5:1701
4681 msgid ""
4682 "Relocation is the process of connecting symbolic references with symbolic "
4683 "definitions.  Relocatable files must have information that describes how to "
4684 "modify their section contents, thus allowing executable and shared object "
4685 "files to hold the right information for a process's program image.  "
4686 "Relocation entries are these data."
4687 msgstr ""
4688 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4689 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4690 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4691 "グラムイメージについての正しい情報を持つことができる。 再配置エントリは以下の"
4692 "ようなデータである。"
4693
4694 #. type: Plain text
4695 #: build/C/man5/elf.5:1703
4696 msgid "Relocation structures that do not need an addend:"
4697 msgstr "加数を必要としない再配置構造体。"
4698
4699 #. type: Plain text
4700 #: build/C/man5/elf.5:1710
4701 #, no-wrap
4702 msgid ""
4703 "typedef struct {\n"
4704 "    Elf32_Addr r_offset;\n"
4705 "    uint32_t   r_info;\n"
4706 "} Elf32_Rel;\n"
4707 msgstr ""
4708 "typedef struct {\n"
4709 "    Elf32_Addr r_offset;\n"
4710 "    uint32_t   r_info;\n"
4711 "} Elf32_Rel;\n"
4712
4713 #. type: Plain text
4714 #: build/C/man5/elf.5:1719
4715 #, no-wrap
4716 msgid ""
4717 "typedef struct {\n"
4718 "    Elf64_Addr r_offset;\n"
4719 "    uint64_t   r_info;\n"
4720 "} Elf64_Rel;\n"
4721 msgstr ""
4722 "typedef struct {\n"
4723 "    Elf64_Addr r_offset;\n"
4724 "    uint64_t   r_info;\n"
4725 "} Elf64_Rel;\n"
4726
4727 #. type: Plain text
4728 #: build/C/man5/elf.5:1723
4729 msgid "Relocation structures that need an addend:"
4730 msgstr "加数を必要とする再配置構造体。"
4731
4732 #. type: Plain text
4733 #: build/C/man5/elf.5:1731
4734 #, no-wrap
4735 msgid ""
4736 "typedef struct {\n"
4737 "    Elf32_Addr r_offset;\n"
4738 "    uint32_t   r_info;\n"
4739 "    int32_t    r_addend;\n"
4740 "} Elf32_Rela;\n"
4741 msgstr ""
4742 "typedef struct {\n"
4743 "    Elf32_Addr r_offset;\n"
4744 "    uint32_t   r_info;\n"
4745 "    int32_t    r_addend;\n"
4746 "} Elf32_Rela;\n"
4747
4748 #. type: Plain text
4749 #: build/C/man5/elf.5:1741
4750 #, no-wrap
4751 msgid ""
4752 "typedef struct {\n"
4753 "    Elf64_Addr r_offset;\n"
4754 "    uint64_t   r_info;\n"
4755 "    int64_t    r_addend;\n"
4756 "} Elf64_Rela;\n"
4757 msgstr ""
4758 "typedef struct {\n"
4759 "    Elf64_Addr r_offset;\n"
4760 "    uint64_t   r_info;\n"
4761 "    int64_t    r_addend;\n"
4762 "} Elf64_Rela;\n"
4763
4764 #. type: TP
4765 #: build/C/man5/elf.5:1744
4766 #, no-wrap
4767 msgid "I<r_offset>"
4768 msgstr "I<r_offset>"
4769
4770 #. type: Plain text
4771 #: build/C/man5/elf.5:1752
4772 msgid ""
4773 "This member gives the location at which to apply the relocation action.  For "
4774 "a relocatable file, the value is the byte offset from the beginning of the "
4775 "section to the storage unit affected by the relocation.  For an executable "
4776 "file or shared object, the value is the virtual address of the storage unit "
4777 "affected by the relocation."
4778 msgstr ""
4779 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4780 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4781 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4782 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4783
4784 #. type: TP
4785 #: build/C/man5/elf.5:1752
4786 #, no-wrap
4787 msgid "I<r_info>"
4788 msgstr "I<r_info>"
4789
4790 #. type: Plain text
4791 #: build/C/man5/elf.5:1767
4792 msgid ""
4793 "This member gives both the symbol table index with respect to which the "
4794 "relocation must be made and the type of relocation to apply.  Relocation "
4795 "types are processor-specific.  When the text refers to a relocation entry's "
4796 "relocation type or symbol table index, it means the result of applying "
4797 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4798 "I<r_info> member."
4799 msgstr ""
4800 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4801 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4802 "る。 テキストが再配置エントリの再配置タイプ またはシンボルテーブルインデック"
4803 "スを参照している場合、 それぞれエントリの I<r_info> メンバに対して、それぞれ "
4804 "B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4805
4806 #. type: TP
4807 #: build/C/man5/elf.5:1767
4808 #, no-wrap
4809 msgid "I<r_addend>"
4810 msgstr "I<r_addend>"
4811
4812 #.  .El
4813 #. type: Plain text
4814 #: build/C/man5/elf.5:1772
4815 msgid ""
4816 "This member specifies a constant addend used to compute the value to be "
4817 "stored into the relocatable field."
4818 msgstr ""
4819 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4820 "値を計算するために使われる。"
4821
4822 #. type: Plain text
4823 #: build/C/man5/elf.5:1777
4824 msgid ""
4825 "The .dynamic section contains a series of structures that hold relevant "
4826 "dynamic linking information.  The d_tag member controls the interpretation "
4827 "of d_un."
4828 msgstr ""
4829 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4830 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4831
4832 #. type: Plain text
4833 #: build/C/man5/elf.5:1788
4834 #, no-wrap
4835 msgid ""
4836 "typedef struct {\n"
4837 "    Elf32_Sword    d_tag;\n"
4838 "    union {\n"
4839 "        Elf32_Word d_val;\n"
4840 "        Elf32_Addr d_ptr;\n"
4841 "    } d_un;\n"
4842 "} Elf32_Dyn;\n"
4843 "extern Elf32_Dyn _DYNAMIC[];\n"
4844 msgstr ""
4845 "typedef struct {\n"
4846 "    Elf32_Sword    d_tag;\n"
4847 "    union {\n"
4848 "        Elf32_Word d_val;\n"
4849 "        Elf32_Addr d_ptr;\n"
4850 "    } d_un;\n"
4851 "} Elf32_Dyn;\n"
4852 "extern Elf32_Dyn _DYNAMIC[];\n"
4853
4854 #. type: Plain text
4855 #: build/C/man5/elf.5:1801
4856 #, no-wrap
4857 msgid ""
4858 "typedef struct {\n"
4859 "    Elf64_Sxword    d_tag;\n"
4860 "    union {\n"
4861 "        Elf64_Xword d_val;\n"
4862 "        Elf64_Addr  d_ptr;\n"
4863 "    } d_un;\n"
4864 "} Elf64_Dyn;\n"
4865 "extern Elf64_Dyn _DYNAMIC[];\n"
4866 msgstr ""
4867 "typedef struct {\n"
4868 "    Elf64_Sxword    d_tag;\n"
4869 "    union {\n"
4870 "        Elf64_Xword d_val;\n"
4871 "        Elf64_Addr  d_ptr;\n"
4872 "    } d_un;\n"
4873 "} Elf64_Dyn;\n"
4874 "extern Elf64_Dyn _DYNAMIC[];\n"
4875
4876 #. type: TP
4877 #: build/C/man5/elf.5:1804
4878 #, no-wrap
4879 msgid "I<d_tag>"
4880 msgstr "I<d_tag>"
4881
4882 #.  .Bl -tag -width "DT_SYMBOLIC"
4883 #. type: Plain text
4884 #: build/C/man5/elf.5:1808
4885 msgid "This member may have any of the following values:"
4886 msgstr "このメンバは以下の値を持つことができる:"
4887
4888 #. type: TP
4889 #: build/C/man5/elf.5:1809
4890 #, no-wrap
4891 msgid "B<DT_NULL>"
4892 msgstr "B<DT_NULL>"
4893
4894 #. type: Plain text
4895 #: build/C/man5/elf.5:1812
4896 msgid "Marks end of dynamic section"
4897 msgstr "動的セクションの終りのマーク"
4898
4899 #. type: TP
4900 #: build/C/man5/elf.5:1812
4901 #, no-wrap
4902 msgid "B<DT_NEEDED>"
4903 msgstr "B<DT_NEEDED>"
4904
4905 #. type: Plain text
4906 #: build/C/man5/elf.5:1815
4907 msgid "String table offset to name of a needed library"
4908 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4909
4910 #. type: TP
4911 #: build/C/man5/elf.5:1815
4912 #, no-wrap
4913 msgid "B<DT_PLTRELSZ>"
4914 msgstr "B<DT_PLTRELSZ>"
4915
4916 #. type: Plain text
4917 #: build/C/man5/elf.5:1818
4918 msgid "Size in bytes of PLT relocs"
4919 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4920
4921 #. type: TP
4922 #: build/C/man5/elf.5:1818
4923 #, no-wrap
4924 msgid "B<DT_PLTGOT>"
4925 msgstr "B<DT_PLTGOT>"
4926
4927 #. type: Plain text
4928 #: build/C/man5/elf.5:1821
4929 msgid "Address of PLT and/or GOT"
4930 msgstr "PLT と GOT (または何れか一方) のアドレス"
4931
4932 #. type: TP
4933 #: build/C/man5/elf.5:1821
4934 #, no-wrap
4935 msgid "B<DT_HASH>"
4936 msgstr "B<DT_HASH>"
4937
4938 #. type: Plain text
4939 #: build/C/man5/elf.5:1824
4940 msgid "Address of symbol hash table"
4941 msgstr "シンボルハッシュテーブルのアドレス"
4942
4943 #. type: TP
4944 #: build/C/man5/elf.5:1824
4945 #, no-wrap
4946 msgid "B<DT_STRTAB>"
4947 msgstr "B<DT_STRTAB>"
4948
4949 #. type: Plain text
4950 #: build/C/man5/elf.5:1827
4951 msgid "Address of string table"
4952 msgstr "文字列テーブルのアドレス"
4953
4954 #. type: TP
4955 #: build/C/man5/elf.5:1827
4956 #, no-wrap
4957 msgid "B<DT_SYMTAB>"
4958 msgstr "B<DT_SYMTAB>"
4959
4960 #. type: Plain text
4961 #: build/C/man5/elf.5:1830
4962 msgid "Address of symbol table"
4963 msgstr "シンボルテーブルのアドレス"
4964
4965 #. type: TP
4966 #: build/C/man5/elf.5:1830
4967 #, no-wrap
4968 msgid "B<DT_RELA>"
4969 msgstr "B<DT_RELA>"
4970
4971 #. type: Plain text
4972 #: build/C/man5/elf.5:1833
4973 msgid "Address of Rela relocs table"
4974 msgstr "Rela 再配置テーブルのアドレス"
4975
4976 #. type: TP
4977 #: build/C/man5/elf.5:1833
4978 #, no-wrap
4979 msgid "B<DT_RELASZ>"
4980 msgstr "B<DT_RELASZ>"
4981
4982 #. type: Plain text
4983 #: build/C/man5/elf.5:1836
4984 msgid "Size in bytes of Rela table"
4985 msgstr "Rela テーブルのサイズ (バイト単位)"
4986
4987 #. type: TP
4988 #: build/C/man5/elf.5:1836
4989 #, no-wrap
4990 msgid "B<DT_RELAENT>"
4991 msgstr "B<DT_RELAENT>"
4992
4993 #. type: Plain text
4994 #: build/C/man5/elf.5:1839
4995 msgid "Size in bytes of a Rela table entry"
4996 msgstr "Rela テーブルエントリのサイズ (バイト単位)"
4997
4998 #. type: TP
4999 #: build/C/man5/elf.5:1839
5000 #, no-wrap
5001 msgid "B<DT_STRSZ>"
5002 msgstr "B<DT_STRSZ>"
5003
5004 #. type: Plain text
5005 #: build/C/man5/elf.5:1842
5006 msgid "Size in bytes of string table"
5007 msgstr "文字列テーブルのサイズ (バイト単位)"
5008
5009 #. type: TP
5010 #: build/C/man5/elf.5:1842
5011 #, no-wrap
5012 msgid "B<DT_SYMENT>"
5013 msgstr "B<DT_SYMENT>"
5014
5015 #. type: Plain text
5016 #: build/C/man5/elf.5:1845
5017 msgid "Size in bytes of a symbol table entry"
5018 msgstr "シンボルテーブルエントリのサイズ (バイト単位)"
5019
5020 #. type: TP
5021 #: build/C/man5/elf.5:1845
5022 #, no-wrap
5023 msgid "B<DT_INIT>"
5024 msgstr "B<DT_INIT>"
5025
5026 #. type: Plain text
5027 #: build/C/man5/elf.5:1848
5028 msgid "Address of the initialization function"
5029 msgstr "初期化関数のアドレス"
5030
5031 #. type: TP
5032 #: build/C/man5/elf.5:1848
5033 #, no-wrap
5034 msgid "B<DT_FINI>"
5035 msgstr "B<DT_FINI>"
5036
5037 #. type: Plain text
5038 #: build/C/man5/elf.5:1851
5039 msgid "Address of the termination function"
5040 msgstr "終了関数のアドレス"
5041
5042 #. type: TP
5043 #: build/C/man5/elf.5:1851
5044 #, no-wrap
5045 msgid "B<DT_SONAME>"
5046 msgstr "B<DT_SONAME>"
5047
5048 #. type: Plain text
5049 #: build/C/man5/elf.5:1854
5050 msgid "String table offset to name of shared object"
5051 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5052
5053 #. type: TP
5054 #: build/C/man5/elf.5:1854
5055 #, no-wrap
5056 msgid "B<DT_RPATH>"
5057 msgstr "B<DT_RPATH>"
5058
5059 #. type: Plain text
5060 #: build/C/man5/elf.5:1857
5061 msgid "String table offset to library search path (deprecated)"
5062 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5063
5064 #. type: TP
5065 #: build/C/man5/elf.5:1857
5066 #, no-wrap
5067 msgid "B<DT_SYMBOLIC>"
5068 msgstr "B<DT_SYMBOLIC>"
5069
5070 #. type: Plain text
5071 #: build/C/man5/elf.5:1860
5072 msgid ""
5073 "Alert linker to search this shared object before the executable for symbols"
5074 msgstr ""
5075 "リンカがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場合"
5076 "は、警告を出す。"
5077
5078 #. type: TP
5079 #: build/C/man5/elf.5:1860
5080 #, no-wrap
5081 msgid "B<DT_REL>"
5082 msgstr "B<DT_REL>"
5083
5084 #. type: Plain text
5085 #: build/C/man5/elf.5:1863
5086 msgid "Address of Rel relocs table"
5087 msgstr "Rel 再配置テーブルのアドレス"
5088
5089 #. type: TP
5090 #: build/C/man5/elf.5:1863
5091 #, no-wrap
5092 msgid "B<DT_RELSZ>"
5093 msgstr "B<DT_RELSZ>"
5094
5095 #. type: Plain text
5096 #: build/C/man5/elf.5:1866
5097 msgid "Size in bytes of Rel table"
5098 msgstr "Rel テーブルのサイズ (バイト単位)"
5099
5100 #. type: TP
5101 #: build/C/man5/elf.5:1866
5102 #, no-wrap
5103 msgid "B<DT_RELENT>"
5104 msgstr "B<DT_RELENT>"
5105
5106 #. type: Plain text
5107 #: build/C/man5/elf.5:1869
5108 msgid "Size in bytes of a Rel table entry"
5109 msgstr "Rel テーブルエントリのサイズ (バイト単位)"
5110
5111 #. type: TP
5112 #: build/C/man5/elf.5:1869
5113 #, no-wrap
5114 msgid "B<DT_PLTREL>"
5115 msgstr "B<DT_PLTREL>"
5116
5117 #. type: Plain text
5118 #: build/C/man5/elf.5:1872
5119 msgid "Type of reloc the PLT refers (Rela or Rel)"
5120 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5121
5122 #. type: TP
5123 #: build/C/man5/elf.5:1872
5124 #, no-wrap
5125 msgid "B<DT_DEBUG>"
5126 msgstr "B<DT_DEBUG>"
5127
5128 #. type: Plain text
5129 #: build/C/man5/elf.5:1875
5130 msgid "Undefined use for debugging"
5131 msgstr "デバッグのために使用されている。内容は定義されていない。"
5132
5133 #. type: TP
5134 #: build/C/man5/elf.5:1875
5135 #, no-wrap
5136 msgid "B<DT_TEXTREL>"
5137 msgstr "B<DT_TEXTREL>"
5138
5139 #. type: Plain text
5140 #: build/C/man5/elf.5:1878
5141 msgid ""
5142 "Absence of this indicates no relocs should apply to a nonwritable segment"
5143 msgstr ""
5144 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5145 "い。"
5146
5147 #. type: TP
5148 #: build/C/man5/elf.5:1878
5149 #, no-wrap
5150 msgid "B<DT_JMPREL>"
5151 msgstr "B<DT_JMPREL>"
5152
5153 #. type: Plain text
5154 #: build/C/man5/elf.5:1881
5155 msgid "Address of reloc entries solely for the PLT"
5156 msgstr "PLT 専用の再配置エントリのアドレス"
5157
5158 #. type: TP
5159 #: build/C/man5/elf.5:1881
5160 #, no-wrap
5161 msgid "B<DT_BIND_NOW>"
5162 msgstr "B<DT_BIND_NOW>"
5163
5164 #. type: Plain text
5165 #: build/C/man5/elf.5:1885
5166 msgid ""
5167 "Instruct dynamic linker to process all relocs before transferring control to "
5168 "the executable"
5169 msgstr ""
5170 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカに指"
5171 "示する。"
5172
5173 #. type: TP
5174 #: build/C/man5/elf.5:1885
5175 #, no-wrap
5176 msgid "B<DT_RUNPATH>"
5177 msgstr "B<DT_RUNPATH>"
5178
5179 #. type: Plain text
5180 #: build/C/man5/elf.5:1888
5181 msgid "String table offset to library search path"
5182 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5183
5184 #. type: TP
5185 #: build/C/man5/elf.5:1888
5186 #, no-wrap
5187 msgid "B<DT_LOPROC>"
5188 msgstr "B<DT_LOPROC>"
5189
5190 #. type: Plain text
5191 #: build/C/man5/elf.5:1891
5192 msgid "Start of processor-specific semantics"
5193 msgstr "プロセッサ固有の意味の開始"
5194
5195 #. type: TP
5196 #: build/C/man5/elf.5:1891
5197 #, no-wrap
5198 msgid "B<DT_HIPROC>"
5199 msgstr "B<DT_HIPROC>"
5200
5201 #. type: Plain text
5202 #: build/C/man5/elf.5:1894
5203 msgid "End of processor-specific semantics"
5204 msgstr "プロセッサ固有の意味の終了"
5205
5206 #. type: TP
5207 #: build/C/man5/elf.5:1896
5208 #, no-wrap
5209 msgid "I<d_val>"
5210 msgstr "I<d_val>"
5211
5212 #. type: Plain text
5213 #: build/C/man5/elf.5:1899
5214 msgid "This member represents integer values with various interpretations."
5215 msgstr "このメンバは様々な意味に解釈される整数値である。"
5216
5217 #. type: TP
5218 #: build/C/man5/elf.5:1899
5219 #, no-wrap
5220 msgid "I<d_ptr>"
5221 msgstr "I<d_ptr>"
5222
5223 #. type: Plain text
5224 #: build/C/man5/elf.5:1907
5225 msgid ""
5226 "This member represents program virtual addresses.  When interpreting these "
5227 "addresses, the actual address should be computed based on the original file "
5228 "value and memory base address.  Files do not contain relocation entries to "
5229 "fixup these addresses."
5230 msgstr ""
5231 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5232 "に、 実際のアドレスは元々のファイルの値と メモリの基底アドレスから計算され"
5233 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリを含めてはな"
5234 "らない。"
5235
5236 #. type: TP
5237 #: build/C/man5/elf.5:1907
5238 #, no-wrap
5239 msgid "I<_DYNAMIC>"
5240 msgstr "I<_DYNAMIC>"
5241
5242 #.  .El
5243 #. type: Plain text
5244 #: build/C/man5/elf.5:1912
5245 msgid ""
5246 "Array containing all the dynamic structures in the .dynamic section.  This "
5247 "is automatically populated by the linker."
5248 msgstr ""
5249 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリンカ"
5250 "に渡される。"
5251
5252 #.  OpenBSD
5253 #.  ELF support first appeared in
5254 #.  OpenBSD 1.2,
5255 #.  although not all supported platforms use it as the native
5256 #.  binary file format.
5257 #. type: Plain text
5258 #: build/C/man5/elf.5:1921
5259 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
5260 msgstr ""
5261 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5262 "ELF フォーマットは採択された標準である。"
5263
5264 #.  .SH AUTHORS
5265 #.  The original version of this manual page was written by
5266 #.  .An Jeroen Ruigrok van der Werven
5267 #.  .Aq asmodai@FreeBSD.org
5268 #.  with inspiration from BSDi's
5269 #.  .Bsx
5270 #.  .Nm elf
5271 #.  man page.
5272 #. type: Plain text
5273 #: build/C/man5/elf.5:1939
5274 msgid ""
5275 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5276 "Linux extensions.  Sun, BSD and AMD64 also support them; for further "
5277 "information, look under SEE ALSO."
5278 msgstr ""
5279 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5280 "で\n"
5281 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5282
5283 #. type: Plain text
5284 #: build/C/man5/elf.5:1946
5285 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5286 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5287
5288 #. type: Plain text
5289 #: build/C/man5/elf.5:1949
5290 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5291 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5292
5293 #. type: Plain text
5294 #: build/C/man5/elf.5:1952
5295 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5296 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5297
5298 #. type: Plain text
5299 #: build/C/man5/elf.5:1956
5300 msgid ""
5301 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5302 "(ELF)>."
5303 msgstr ""
5304 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5305 "(ELF)>."
5306
5307 #. type: Plain text
5308 #: build/C/man5/elf.5:1959
5309 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5310 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5311
5312 #. type: Plain text
5313 #: build/C/man5/elf.5:1962
5314 msgid ""
5315 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5316 "Processor Supplement>."
5317 msgstr ""
5318 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5319 "Processor Supplement>."
5320
5321 #. type: TH
5322 #: build/C/man3/end.3:26
5323 #, no-wrap
5324 msgid "END"
5325 msgstr "END"
5326
5327 #. type: TH
5328 #: build/C/man3/end.3:26
5329 #, no-wrap
5330 msgid "2008-07-17"
5331 msgstr "2008-07-17"
5332
5333 #. type: Plain text
5334 #: build/C/man3/end.3:29
5335 msgid "etext, edata, end - end of program segments"
5336 msgstr "etext, edata, end - プログラムセグメントの終わり"
5337
5338 #. type: Plain text
5339 #: build/C/man3/end.3:34
5340 #, no-wrap
5341 msgid ""
5342 "B<extern>I< etext>B<;>\n"
5343 "B<extern>I< edata>B<;>\n"
5344 "B<extern>I< end>B<;>\n"
5345 msgstr ""
5346 "B<extern>I< etext>B<;>\n"
5347 "B<extern>I< edata>B<;>\n"
5348 "B<extern>I< end>B<;>\n"
5349
5350 #. type: Plain text
5351 #: build/C/man3/end.3:38
5352 msgid ""
5353 "The addresses of these symbols indicate the end of various program segments:"
5354 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5355
5356 #. type: TP
5357 #: build/C/man3/end.3:38
5358 #, no-wrap
5359 msgid "I<etext>"
5360 msgstr "I<etext>"
5361
5362 #. type: Plain text
5363 #: build/C/man3/end.3:42
5364 msgid ""
5365 "This is the first address past the end of the text segment (the program "
5366 "code)."
5367 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5368
5369 #. type: TP
5370 #: build/C/man3/end.3:42
5371 #, no-wrap
5372 msgid "I<edata>"
5373 msgstr "I<edata>"
5374
5375 #. type: Plain text
5376 #: build/C/man3/end.3:46
5377 msgid "This is the first address past the end of the initialized data segment."
5378 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5379
5380 #. type: TP
5381 #: build/C/man3/end.3:46
5382 #, no-wrap
5383 msgid "I<end>"
5384 msgstr "I<end>"
5385
5386 #. type: Plain text
5387 #: build/C/man3/end.3:50
5388 msgid ""
5389 "This is the first address past the end of the uninitialized data segment "
5390 "(also known as the BSS segment)."
5391 msgstr ""
5392 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
5393 "のアドレス。"
5394
5395 #. type: Plain text
5396 #: build/C/man3/end.3:53
5397 msgid ""
5398 "Although these symbols have long been provided on most UNIX systems, they "
5399 "are not standardized; use with caution."
5400 msgstr ""
5401 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5402 "てはいない。注意して使うこと。"
5403
5404 #. type: Plain text
5405 #: build/C/man3/end.3:56
5406 msgid ""
5407 "The program must explicitly declare these symbols; they are not defined in "
5408 "any header file."
5409 msgstr ""
5410 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5411 "ヘッダファイルでも定義されていない。"
5412
5413 #. type: Plain text
5414 #: build/C/man3/end.3:64
5415 msgid ""
5416 "On some systems the names of these symbols are preceded by underscores, "
5417 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
5418 "programs compiled on Linux."
5419 msgstr ""
5420 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5421 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5422 "ログラムでは、 これらのシンボルでも定義される。"
5423
5424 #. type: Plain text
5425 #: build/C/man3/end.3:76
5426 msgid ""
5427 "At the start of program execution, the program break will be somewhere near "
5428 "I<&end> (perhaps at the start of the following page).  However, the break "
5429 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
5430 "B<sbrk>(2)  with an argument of zero to find the current value of the "
5431 "program break."
5432 msgstr ""
5433 "プログラムの実行開始時に、プログラム・ブレークは I<&end> の近くのどこか (おそ"
5434 "らく次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  で"
5435 "メモリが割り当てられるに連れて、プログラム・ブレークは変化していく。 引き数"
5436 "に 0 を指定して B<sbrk>(2)  を呼び出すことで、プログラム・ブレークの現在値を"
5437 "知ることができる。"
5438
5439 #. type: Plain text
5440 #: build/C/man3/end.3:78
5441 msgid "When run, the program below produces output such as the following:"
5442 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5443
5444 #. type: Plain text
5445 #: build/C/man3/end.3:86
5446 #, no-wrap
5447 msgid ""
5448 "$B< ./a.out>\n"
5449 "First address past:\n"
5450 "    program text (etext)       0x8048568\n"
5451 "    initialized data (edata)   0x804a01c\n"
5452 "    uninitialized data (end)   0x804a024\n"
5453 msgstr ""
5454 "$B< ./a.out>\n"
5455 "First address past:\n"
5456 "    program text (etext)       0x8048568\n"
5457 "    initialized data (edata)   0x804a01c\n"
5458 "    uninitialized data (end)   0x804a024\n"
5459
5460 #. type: SS
5461 #: build/C/man3/end.3:88 build/C/man1/memusage.1:234
5462 #, no-wrap
5463 msgid "Program source"
5464 msgstr "プログラムのソース"
5465
5466 #. type: Plain text
5467 #: build/C/man3/end.3:93 build/C/man1/memusage.1:238
5468 #, no-wrap
5469 msgid ""
5470 "#include E<lt>stdio.hE<gt>\n"
5471 "#include E<lt>stdlib.hE<gt>\n"
5472 msgstr ""
5473 "#include E<lt>stdio.hE<gt>\n"
5474 "#include E<lt>stdlib.hE<gt>\n"
5475
5476 #. type: Plain text
5477 #: build/C/man3/end.3:96
5478 #, no-wrap
5479 msgid ""
5480 "extern char etext, edata, end; /* The symbols must have some type,\n"
5481 "                                   or \"gcc -Wall\" complains */\n"
5482 msgstr ""
5483 "extern char etext, edata, end; /* The symbols must have some type,\n"
5484 "                                   or \"gcc -Wall\" complains */\n"
5485
5486 #. type: Plain text
5487 #: build/C/man3/end.3:104
5488 #, no-wrap
5489 msgid ""
5490 "int\n"
5491 "main(int argc, char *argv[])\n"
5492 "{\n"
5493 "    printf(\"First address past:\\en\");\n"
5494 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5495 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5496 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5497 msgstr ""
5498 "int\n"
5499 "main(int argc, char *argv[])\n"
5500 "{\n"
5501 "    printf(\"First address past:\\en\");\n"
5502 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5503 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5504 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5505
5506 #. type: Plain text
5507 #: build/C/man3/end.3:113
5508 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5509 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5510
5511 #. type: TH
5512 #: build/C/man8/ld.so.8:5
5513 #, no-wrap
5514 msgid "LD.SO"
5515 msgstr "LD.SO"
5516
5517 #. type: TH
5518 #: build/C/man8/ld.so.8:5
5519 #, no-wrap
5520 msgid "2014-12-31"
5521 msgstr "2014-12-31"
5522
5523 #. type: Plain text
5524 #: build/C/man8/ld.so.8:8
5525 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5526 msgstr "ld.so, ld-linux.so* - 動的なリンカ/ローダ"
5527
5528 #. type: Plain text
5529 #: build/C/man8/ld.so.8:15
5530 msgid ""
5531 "The dynamic linker can be run either indirectly by running some dynamically "
5532 "linked program or library (in which case no command-line options to the "
5533 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5534 "is stored in the B<.interp> section of the program is executed) or directly "
5535 "by running:"
5536 msgstr ""
5537 "動的リンカは、動的にリンクされたプログラムやライブラリの実行によって 間接的に"
5538 "実行することができる (ELF の場合、動的リンカにコマンドラインオプションを渡す"
5539 "ことはできず、 プログラムの B<.interp> セクションに入っている動的リンカが実行"
5540 "される)。 また以下のように直接実行することもできる"
5541
5542 #. type: Plain text
5543 #: build/C/man8/ld.so.8:18
5544 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5545 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5546
5547 #. type: Plain text
5548 #: build/C/man8/ld.so.8:25
5549 msgid ""
5550 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5551 "needed by a program, prepare the program to run, and then run it."
5552 msgstr ""
5553 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5554 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5555
5556 #. type: Plain text
5557 #: build/C/man8/ld.so.8:32
5558 msgid ""
5559 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
5560 "static> option was given to B<ld>(1)  during compilation."
5561 msgstr ""
5562 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
5563 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5564
5565 #. type: Plain text
5566 #: build/C/man8/ld.so.8:45
5567 msgid ""
5568 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5569 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5570 "so.2> for glibc2), which everybody has been using for years now.  Otherwise, "
5571 "both have the same behavior, and use the same support files and programs "
5572 "B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
5573 msgstr ""
5574 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5575 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5576 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
5577 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5578 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5579 "so.conf> を使用する。"
5580
5581 #. type: Plain text
5582 #: build/C/man8/ld.so.8:53
5583 msgid ""
5584 "When resolving library dependencies, the dynamic linker first inspects each "
5585 "dependency string to see if it contains a slash (this can occur if a library "
5586 "pathname containing slashes was specified at link time).  If a slash is "
5587 "found, then the dependency string is interpreted as a (relative or absolute) "
5588 "pathname, and the library is loaded using that pathname."
5589 msgstr ""
5590 "ライブラリの依存関係を解決する際、動的リンカは、最初に、依存関係の各文字列が"
5591 "スラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にスラッ"
5592 "シュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかった場"
5593 "合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として解釈"
5594 "され、そのパス名を使ってそのライブラリはロードされる。"
5595
5596 #. type: Plain text
5597 #: build/C/man8/ld.so.8:56
5598 msgid ""
5599 "If a library dependency does not contain a slash, then it is searched for in "
5600 "the following order:"
5601 msgstr ""
5602 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5603
5604 #. type: Plain text
5605 #: build/C/man8/ld.so.8:61
5606 msgid ""
5607 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5608 "attribute of the binary if present and DT_RUNPATH attribute does not exist.  "
5609 "Use of DT_RPATH is deprecated."
5610 msgstr ""
5611 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5612 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5613 "の使用は推奨されない。"
5614
5615 #. type: Plain text
5616 #: build/C/man8/ld.so.8:66
5617 msgid ""
5618 "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the executable "
5619 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5620 msgstr ""
5621 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5622 "group-ID バイナリの場合、 これは無視される。"
5623
5624 #. type: Plain text
5625 #: build/C/man8/ld.so.8:70
5626 msgid ""
5627 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5628 "attribute of the binary if present."
5629 msgstr ""
5630 "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5631 "DT_RUNPATH で指定されたディレクトリを使用する。"
5632
5633 #. type: Plain text
5634 #: build/C/man8/ld.so.8:80
5635 msgid ""
5636 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5637 "candidate libraries previously found in the augmented library path.  If, "
5638 "however, the binary was linked with the B<-z nodeflib> linker option, "
5639 "libraries in the default library paths are skipped.  Libraries installed in "
5640 "hardware capability directories (see below)  are preferred to other "
5641 "libraries."
5642 msgstr ""
5643 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5644 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5645 "イルの情報を集めたものである。ただし、バイナリがリンカオプション B<-z "
5646 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5647 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5648 "れたライブラリは、他のライブラリよりも優先される。"
5649
5650 #. type: Plain text
5651 #: build/C/man8/ld.so.8:88
5652 msgid ""
5653 "In the default path I</lib>, and then I</usr/lib>.  If the binary was linked "
5654 "with the B<-z nodeflib> linker option, this step is skipped."
5655 msgstr ""
5656 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリンカ"
5657 "オプション B<-z nodeflib> でリンクされている場合、このステップはスキップされ"
5658 "る。"
5659
5660 #. type: SS
5661 #: build/C/man8/ld.so.8:88
5662 #, no-wrap
5663 msgid "Rpath token expansion"
5664 msgstr "rpath トークンの展開"
5665
5666 #. type: Plain text
5667 #: build/C/man8/ld.so.8:92
5668 msgid ""
5669 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5670 "DT_RUNPATH); those strings are substituted as follows"
5671 msgstr ""
5672 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5673 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5674
5675 #. type: TP
5676 #: build/C/man8/ld.so.8:92
5677 #, no-wrap
5678 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5679 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5680
5681 #. type: Plain text
5682 #: build/C/man8/ld.so.8:99
5683 msgid ""
5684 "This expands to the directory containing the program or shared library.  "
5685 "Thus, an application located in I<somedir/app> could be compiled with"
5686 msgstr ""
5687 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
5688 "て、 I<somedir/app> に置かれたアプリケーションを"
5689
5690 #. type: Plain text
5691 #: build/C/man8/ld.so.8:101
5692 #, no-wrap
5693 msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5694 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5695
5696 #. type: Plain text
5697 #: build/C/man8/ld.so.8:111
5698 msgid ""
5699 "so that it finds an associated shared library in I<somedir/lib> no matter "
5700 "where I<somedir> is located in the directory hierarchy.  This facilitates "
5701 "the creation of \"turn-key\" applications that do not need to be installed "
5702 "into special directories, but can instead be unpacked into any directory and "
5703 "still find their own shared libraries."
5704 msgstr ""
5705 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5706 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5707 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5708 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5709 "ションを作成することができる。"
5710
5711 #. type: TP
5712 #: build/C/man8/ld.so.8:111
5713 #, no-wrap
5714 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5715 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5716
5717 #. type: Plain text
5718 #: build/C/man8/ld.so.8:123
5719 msgid ""
5720 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5721 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5722 msgstr ""
5723 "アーキテクチャに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 では "
5724 "I<lib64> に、 x86-32 では I<lib> に展開される)。"
5725
5726 #. type: TP
5727 #: build/C/man8/ld.so.8:123
5728 #, no-wrap
5729 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5730 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5731
5732 #
5733 #
5734 #.  To get an idea of the places that $PLATFORM would match,
5735 #.  look at the output of the following:
5736 #.      mkdir /tmp/d
5737 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5738 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5739 #.  Don't do this!!
5740 #. type: Plain text
5741 #: build/C/man8/ld.so.8:141
5742 msgid ""
5743 "This expands to a string corresponding to the processor type of the host "
5744 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
5745 "provide a platform string to the dynamic linker.  The value of this string "
5746 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5747 "B<getauxval>(3))."
5748 msgstr ""
5749 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5750 "\"x86_64\")。\n"
5751 "いくつかのアーキテクチャでは、 Linux カーネルから動的リンカにプラットフォーム"
5752 "を表す文字列が提供されない。 この文字列の値は補助ベクトルの B<AT_PLATFORM> 値"
5753 "から取得される (B<getauxval>(3) 参照)。"
5754
5755 #. type: SH
5756 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5757 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47
5758 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
5759 #, no-wrap
5760 msgid "OPTIONS"
5761 msgstr "オプション"
5762
5763 #. type: TP
5764 #: build/C/man8/ld.so.8:142
5765 #, no-wrap
5766 msgid "B<--list>"
5767 msgstr "B<--list>"
5768
5769 #. type: Plain text
5770 #: build/C/man8/ld.so.8:145
5771 msgid "List all dependencies and how they are resolved."
5772 msgstr "全ての依存関係とその解決法をリストする。"
5773
5774 #. type: TP
5775 #: build/C/man8/ld.so.8:145
5776 #, no-wrap
5777 msgid "B<--verify>"
5778 msgstr "B<--verify>"
5779
5780 #. type: Plain text
5781 #: build/C/man8/ld.so.8:149
5782 msgid ""
5783 "Verify that program is dynamically linked and this dynamic linker can handle "
5784 "it."
5785 msgstr ""
5786 "プログラムが動的にリンクされているかと、 動的リンカがそのプログラムを扱えるか"
5787 "を検証する。"
5788
5789 #. type: TP
5790 #: build/C/man8/ld.so.8:149
5791 #, no-wrap
5792 msgid "B<--inhibit-cache>"
5793 msgstr "B<--inhibit-cache>"
5794
5795 #. type: Plain text
5796 #: build/C/man8/ld.so.8:152
5797 msgid "Do not use /etc/ld.so.cache."
5798 msgstr "/etc/ld.so.cache を使用しない。"
5799
5800 #. type: TP
5801 #: build/C/man8/ld.so.8:152
5802 #, no-wrap
5803 msgid "B<--library-path PATH>"
5804 msgstr "B<--library-path PATH>"
5805
5806 #. type: Plain text
5807 #: build/C/man8/ld.so.8:157
5808 msgid ""
5809 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5810 "below)."
5811 msgstr ""
5812 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5813 "指定した PATH を使用する (下記参照)。"
5814
5815 #. type: TP
5816 #: build/C/man8/ld.so.8:157
5817 #, no-wrap
5818 msgid "B<--inhibit-rpath LIST>"
5819 msgstr "B<--inhibit-rpath LIST>"
5820
5821 #. type: Plain text
5822 #: build/C/man8/ld.so.8:163
5823 msgid ""
5824 "Ignore RPATH and RUNPATH information in object names in LIST.  This option "
5825 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5826 msgstr ""
5827 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5828 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5829
5830 #. type: TP
5831 #: build/C/man8/ld.so.8:163
5832 #, no-wrap
5833 msgid "B<--audit LIST>"
5834 msgstr "B<--audit LIST>"
5835
5836 #. type: Plain text
5837 #: build/C/man8/ld.so.8:166
5838 msgid "Use objects named in LIST as auditors."
5839 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5840
5841 #. type: SH
5842 #: build/C/man8/ld.so.8:166
5843 #, no-wrap
5844 msgid "HARDWARE CAPABILITIES"
5845 msgstr "ハードウェア機能"
5846
5847 #. type: Plain text
5848 #: build/C/man8/ld.so.8:177
5849 msgid ""
5850 "Some libraries are compiled using hardware-specific instructions which do "
5851 "not exist on every CPU.  Such libraries should be installed in directories "
5852 "whose names define the required hardware capabilities, such as I</usr/lib/"
5853 "sse2/>.  The dynamic linker checks these directories against the hardware of "
5854 "the machine and selects the most suitable version of a given library.  "
5855 "Hardware capability directories can be cascaded to combine CPU features.  "
5856 "The list of supported hardware capability names depends on the CPU.  The "
5857 "following names are currently recognized:"
5858 msgstr ""
5859 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5860 "有\n"
5861 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5862 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5863 "規\n"
5864 "定する名前のディレクトリにインストールすべきである。\n"
5865 "動的リンカは、マシンのハードウェアに基づいてこれらのディレクトリを確認し、\n"
5866 "指定されたライブラリに最も適したバージョンを選択する。\n"
5867 "ハードウェア機能ディレクトリはつなげることができ、\n"
5868 "複数の CPU 機能を組み合わることができる。\n"
5869 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5870 "現在のところ、以下の名前が認識される。"
5871
5872 #. type: TP
5873 #: build/C/man8/ld.so.8:177
5874 #, no-wrap
5875 msgid "B<Alpha>"
5876 msgstr "B<Alpha>"
5877
5878 #. type: Plain text
5879 #: build/C/man8/ld.so.8:180
5880 msgid "ev4, ev5, ev56, ev6, ev67"
5881 msgstr "ev4, ev5, ev56, ev6, ev67"
5882
5883 #. type: TP
5884 #: build/C/man8/ld.so.8:180
5885 #, no-wrap
5886 msgid "B<MIPS>"
5887 msgstr "B<MIPS>"
5888
5889 #. type: Plain text
5890 #: build/C/man8/ld.so.8:183
5891 msgid "loongson2e, loongson2f, octeon, octeon2"
5892 msgstr "loongson2e, loongson2f, octeon, octeon2"
5893
5894 #. type: TP
5895 #: build/C/man8/ld.so.8:183
5896 #, no-wrap
5897 msgid "B<PowerPC>"
5898 msgstr "B<PowerPC>"
5899
5900 #. type: Plain text
5901 #: build/C/man8/ld.so.8:188
5902 msgid ""
5903 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5904 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5905 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5906 msgstr ""
5907 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5908 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5909 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5910
5911 #. type: TP
5912 #: build/C/man8/ld.so.8:188
5913 #, no-wrap
5914 msgid "B<SPARC>"
5915 msgstr "B<SPARC>"
5916
5917 #. type: Plain text
5918 #: build/C/man8/ld.so.8:191
5919 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5920 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5921
5922 #. type: TP
5923 #: build/C/man8/ld.so.8:191
5924 #, no-wrap
5925 msgid "B<s390>"
5926 msgstr "B<s390>"
5927
5928 #. type: Plain text
5929 #: build/C/man8/ld.so.8:195
5930 msgid ""
5931 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5932 "z990, z9-109, z10, zarch"
5933 msgstr ""
5934 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5935 "z990, z9-109, z10, zarch"
5936
5937 #. type: TP
5938 #: build/C/man8/ld.so.8:195
5939 #, no-wrap
5940 msgid "B<x86 (32-bit only)>"
5941 msgstr "B<x86 (32-bit のみ)>"
5942
5943 #. type: Plain text
5944 #: build/C/man8/ld.so.8:199
5945 msgid ""
5946 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5947 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5948 msgstr ""
5949 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5950 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5951
5952 #. type: SH
5953 #: build/C/man8/ld.so.8:199
5954 #, no-wrap
5955 msgid "ENVIRONMENT"
5956 msgstr "環境変数"
5957
5958 #. type: Plain text
5959 #: build/C/man8/ld.so.8:201
5960 msgid "Among the more important environment variables are the following:"
5961 msgstr "重要な環境変数には以下のものがある。"
5962
5963 #. type: TP
5964 #: build/C/man8/ld.so.8:201
5965 #, no-wrap
5966 msgid "B<LD_ASSUME_KERNEL>"
5967 msgstr "B<LD_ASSUME_KERNEL>"
5968
5969 #. type: Plain text
5970 #: build/C/man8/ld.so.8:214
5971 msgid ""
5972 "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
5973 "the minimum kernel ABI version that it requires.  (This requirement is "
5974 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5975 "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
5976 "determines the ABI version of the running kernel and will reject loading "
5977 "shared libraries that specify minimum ABI versions that exceed that ABI "
5978 "version."
5979 msgstr ""
5980 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカに必要なカーネル ABI の最小"
5981 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5982 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5983 "て見ることができる)。 実行時に、 動的リンカは実行中のカーネルの ABI バージョ"
5984 "ンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが指定"
5985 "された共有ライブラリのロードを行わない。"
5986
5987 #. type: Plain text
5988 #: build/C/man8/ld.so.8:223
5989 msgid ""
5990 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5991 "it is running on a system with a different kernel ABI version.  For example, "
5992 "the following command line causes the dynamic linker to assume it is running "
5993 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
5994 msgstr ""
5995 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカに、 異なるカーネル ABI バージョ"
5996 "ンのシステムで実行されているかのように見せることができる。 例えば、 以下のコ"
5997 "マンドラインを実行すると、 動的リンカは I<myprog> が必要とする共有ライブラリ"
5998 "をロードする際に Linux 2.2.5 上で動作していると仮定する。"
5999
6000 #. type: Plain text
6001 #: build/C/man8/ld.so.8:227
6002 #, no-wrap
6003 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6004 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6005
6006 #. type: Plain text
6007 #: build/C/man8/ld.so.8:244
6008 msgid ""
6009 "On systems that provide multiple versions of a shared library (in different "
6010 "directories in the search path) that have different minimum kernel ABI "
6011 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
6012 "of the library that is used (dependent on the directory search order).  "
6013 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
6014 "manually select the older LinuxThreads POSIX threads implementation on "
6015 "systems that provided both LinuxThreads and NPTL (which latter was typically "
6016 "the default on such systems); see B<pthreads>(7)."
6017 msgstr ""
6018 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
6019 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
6020 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
6021 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
6022 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
6023 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
6024 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
6025
6026 #. type: TP
6027 #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325
6028 #, no-wrap
6029 msgid "B<LD_BIND_NOT>"
6030 msgstr "B<LD_BIND_NOT>"
6031
6032 #. type: Plain text
6033 #: build/C/man8/ld.so.8:249
6034 msgid ""
6035 "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and Procedure "
6036 "Linkage Table (PLT)  when resolving a symbol."
6037 msgstr ""
6038 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
6039 "Procedure Linkage Table (PLT) を更新しない。"
6040
6041 #. type: TP
6042 #: build/C/man8/ld.so.8:249
6043 #, no-wrap
6044 msgid "B<LD_BIND_NOW>"
6045 msgstr "B<LD_BIND_NOW>"
6046
6047 #. type: Plain text
6048 #: build/C/man8/ld.so.8:257
6049 msgid ""
6050 "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the dynamic "
6051 "linker to resolve all symbols at program startup instead of deferring "
6052 "function call resolution to the point when they are first referenced.  This "
6053 "is useful when using a debugger."
6054 msgstr ""
6055 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカはプログラムの開始"
6056 "時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼び"
6057 "出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6058
6059 #. type: TP
6060 #: build/C/man8/ld.so.8:257
6061 #, no-wrap
6062 msgid "B<LD_LIBRARY_PATH>"
6063 msgstr "B<LD_LIBRARY_PATH>"
6064
6065 #. type: Plain text
6066 #: build/C/man8/ld.so.8:265
6067 msgid ""
6068 "A colon-separated list of directories in which to search for ELF libraries "
6069 "at execution-time.  Similar to the B<PATH> environment variable.  Ignored in "
6070 "set-user-ID and set-group-ID programs."
6071 msgstr ""
6072 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6073 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6074 "group-ID されたプログラムでは無視される。"
6075
6076 #. type: TP
6077 #: build/C/man8/ld.so.8:265
6078 #, no-wrap
6079 msgid "B<LD_PRELOAD>"
6080 msgstr "B<LD_PRELOAD>"
6081
6082 #. type: Plain text
6083 #: build/C/man8/ld.so.8:276
6084 msgid ""
6085 "A list of additional, user-specified, ELF shared libraries to be loaded "
6086 "before all others.  The items of the list can be separated by spaces or "
6087 "colons.  This can be used to selectively override functions in other shared "
6088 "libraries.  The libraries are searched for using the rules given under "
6089 "DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6090 "containing slashes are ignored, and libraries in the standard search "
6091 "directories are loaded only if the set-user-ID permission bit is enabled on "
6092 "the library file."
6093 msgstr ""
6094 "追加でユーザが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、す"
6095 "べてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6096 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6097 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6098 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6099 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6100 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6101
6102 #. type: TP
6103 #: build/C/man8/ld.so.8:276
6104 #, no-wrap
6105 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6106 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6107
6108 #. type: Plain text
6109 #: build/C/man8/ld.so.8:283
6110 msgid ""
6111 "(ELF only)  If set to a nonempty string, causes the program to list its "
6112 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6113 "normally."
6114 msgstr ""
6115 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6116 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6117
6118 #. type: Plain text
6119 #: build/C/man8/ld.so.8:286
6120 msgid ""
6121 "Then there are lots of more or less obscure variables, many obsolete or only "
6122 "for internal use."
6123 msgstr ""
6124 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6125 "でのみ使用される環境変数である。"
6126
6127 #. type: TP
6128 #: build/C/man8/ld.so.8:286
6129 #, no-wrap
6130 msgid "B<LD_AOUT_LIBRARY_PATH>"
6131 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6132
6133 #. type: Plain text
6134 #: build/C/man8/ld.so.8:294
6135 msgid ""
6136 "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
6137 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6138 msgstr ""
6139 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6140 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6141 "トしていた。"
6142
6143 #. type: TP
6144 #: build/C/man8/ld.so.8:294
6145 #, no-wrap
6146 msgid "B<LD_AOUT_PRELOAD>"
6147 msgstr "B<LD_AOUT_PRELOAD>"
6148
6149 #. type: Plain text
6150 #: build/C/man8/ld.so.8:302
6151 msgid ""
6152 "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions of "
6153 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6154 msgstr ""
6155 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6156 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6157 "た。"
6158
6159 #. type: TP
6160 #: build/C/man8/ld.so.8:302
6161 #, no-wrap
6162 msgid "B<LD_AUDIT>"
6163 msgstr "B<LD_AUDIT>"
6164
6165 #. type: Plain text
6166 #: build/C/man8/ld.so.8:312
6167 msgid ""
6168 "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
6169 "objects to be loaded before all others in a separate linker namespace (i.e., "
6170 "one that does not intrude upon the normal symbol bindings that would occur "
6171 "in the process).  These libraries can be used to audit the operation of the "
6172 "dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6173 "binaries."
6174 msgstr ""
6175 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカ名前空間 (そのプロセ"
6176 "スで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) で "
6177 "ロードされる、ユーザ指定の ELF 共有オブジェクトのコロン区切りのリスト。 これ"
6178 "らのライブラリを使って、動的リンカの動作を監査することができる。 set-user-ID/"
6179 "set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6180
6181 #. type: Plain text
6182 #: build/C/man8/ld.so.8:325
6183 msgid ""
6184 "The dynamic linker will notify the audit libraries at so-called auditing "
6185 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6186 "calling a symbol from another shared object\\(emby calling an appropriate "
6187 "function within the audit library.  For details, see B<rtld-audit>(7).  The "
6188 "auditing interface is largely compatible with that provided on Solaris, as "
6189 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6190 "Linker Auditing Interface>."
6191 msgstr ""
6192 "動的リンカは、いわゆる監査チェックポイント (auditing checkpoints)  において、"
6193 "監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの通知"
6194 "を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シンボル"
6195 "の解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細は "
6196 "B<rtld-audit>(7)  を参照してほしい。 audit インタフェースは、Solaris で提供さ"
6197 "れているものと 大部分は互換性がある。Solaris の audit インタフェースについて"
6198 "は、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing Interface> の"
6199 "章に説明がある。"
6200
6201 #. type: Plain text
6202 #: build/C/man8/ld.so.8:330
6203 msgid ""
6204 "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
6205 "(procedure linkage table)  after resolving a symbol."
6206 msgstr ""
6207 "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT "
6208 "(procedure linkage table) を更新しない。"
6209
6210 #. type: TP
6211 #: build/C/man8/ld.so.8:330
6212 #, no-wrap
6213 msgid "B<LD_DEBUG>"
6214 msgstr "B<LD_DEBUG>"
6215
6216 #. type: Plain text
6217 #: build/C/man8/ld.so.8:343
6218 msgid ""
6219 "(glibc since 2.1)  Output verbose debugging information about the dynamic "
6220 "linker.  If set to B<all> prints all debugging information it has, if set to "
6221 "B<help> prints a help message about which categories can be specified in "
6222 "this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6223 "set-user-ID/set-group-ID binaries."
6224 msgstr ""
6225 "(glibc 2.1 以降)  動的リンカの詳細なデバッグ情報を出力する。 B<all> に設定し"
6226 "た場合、全ての動的リンカが持つデバッグ情報を表示する。 B<help> に設定した場"
6227 "合、この環境変数で指定されるカテゴリのヘルプ情報を表示する。 glibc 2.3.4 以"
6228 "降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6229
6230 #. type: TP
6231 #: build/C/man8/ld.so.8:343
6232 #, no-wrap
6233 msgid "B<LD_DEBUG_OUTPUT>"
6234 msgstr "B<LD_DEBUG_OUTPUT>"
6235
6236 #. type: Plain text
6237 #: build/C/man8/ld.so.8:352
6238 msgid ""
6239 "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  The "
6240 "default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6241 "set-group-ID binaries."
6242 msgstr ""
6243 "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6244 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6245 "B<LD_DEBUG_OUTPUT> は無視される。"
6246
6247 #. type: TP
6248 #: build/C/man8/ld.so.8:352
6249 #, no-wrap
6250 msgid "B<LD_DYNAMIC_WEAK>"
6251 msgstr "B<LD_DYNAMIC_WEAK>"
6252
6253 #. type: Plain text
6254 #: build/C/man8/ld.so.8:359
6255 msgid ""
6256 "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to old "
6257 "glibc behavior).  For security reasons, since glibc 2.3.4, "
6258 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6259 msgstr ""
6260 "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6261 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6262 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6263
6264 #. type: TP
6265 #: build/C/man8/ld.so.8:359
6266 #, no-wrap
6267 msgid "B<LD_HWCAP_MASK>"
6268 msgstr "B<LD_HWCAP_MASK>"
6269
6270 #. type: Plain text
6271 #: build/C/man8/ld.so.8:363
6272 msgid "(glibc since 2.1)  Mask for hardware capabilities."
6273 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
6274
6275 #. type: TP
6276 #: build/C/man8/ld.so.8:363
6277 #, no-wrap
6278 msgid "B<LD_KEEPDIR>"
6279 msgstr "B<LD_KEEPDIR>"
6280
6281 #. type: Plain text
6282 #: build/C/man8/ld.so.8:368
6283 msgid ""
6284 "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
6285 "libraries to be loaded.  Use of this option is strongly discouraged."
6286 msgstr ""
6287 "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリ"
6288 "を無視しない。 このオプションは用いるべきではない。"
6289
6290 #. type: TP
6291 #: build/C/man8/ld.so.8:368
6292 #, no-wrap
6293 msgid "B<LD_NOWARN>"
6294 msgstr "B<LD_NOWARN>"
6295
6296 #. type: Plain text
6297 #: build/C/man8/ld.so.8:373
6298 msgid ""
6299 "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
6300 "incompatible minor version numbers."
6301 msgstr ""
6302 "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換"
6303 "に 対する警告メッセージを抑制する。"
6304
6305 #. type: TP
6306 #: build/C/man8/ld.so.8:373
6307 #, no-wrap
6308 msgid "B<LD_ORIGIN_PATH>"
6309 msgstr "B<LD_ORIGIN_PATH>"
6310
6311 #.  Only used if $ORIGIN can't be determined by normal means
6312 #.  (from the origin path saved at load time, or from /proc/self/exe)?
6313 #. type: Plain text
6314 #: build/C/man8/ld.so.8:382
6315 msgid ""
6316 "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
6317 "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6318 "ignored for set-user-ID/set-group-ID binaries."
6319 msgstr ""
6320 "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムについ"
6321 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6322 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6323
6324 #. type: TP
6325 #: build/C/man8/ld.so.8:382
6326 #, no-wrap
6327 msgid "B<LD_POINTER_GUARD>"
6328 msgstr "B<LD_POINTER_GUARD>"
6329
6330 #. type: Plain text
6331 #: build/C/man8/ld.so.8:394
6332 msgid ""
6333 "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
6334 "enables pointer guarding, which is also the default.  Pointer guarding is a "
6335 "security mechanism whereby some pointers to code stored in writable program "
6336 "memory (return addresses saved by B<setjmp>(3)  or function pointers used by "
6337 "various glibc internals) are mangled semi-randomly to make it more difficult "
6338 "for an attacker to hijack the pointers for use in the event of a buffer "
6339 "overrun or stack-smashing attack."
6340 msgstr ""
6341 "(glibc 2.4 以降)  0 に設定すると、ポインタ保護 (pointer guarding) が無効にな"
6342 "る。 それ以外の値の場合はポインタ保護が有効になる。 デフォルトはポインタ保護"
6343 "有効である。 ポインタ保護はセキュリティ機構の一つで、書き込み可能なプログラム"
6344 "メモリ に格納されたコードへのポインタをほぼランダム化することで、 攻撃者が"
6345 "バッファオーバーランやスタック破壊 (stack-smashing) 攻撃の際に ポインタを乗っ"
6346 "取ることを困難にするものである。"
6347
6348 #. type: TP
6349 #: build/C/man8/ld.so.8:394
6350 #, no-wrap
6351 msgid "B<LD_PROFILE>"
6352 msgstr "B<LD_PROFILE>"
6353
6354 #. type: Plain text
6355 #: build/C/man8/ld.so.8:401
6356 msgid ""
6357 "(glibc since 2.1)  The name of a (single) shared object to be profiled, "
6358 "specified either as a pathname or a soname.  Profiling output is appended to "
6359 "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6360 msgstr ""
6361 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
6362 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
6363 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
6364 "る。"
6365
6366 #. type: TP
6367 #: build/C/man8/ld.so.8:401
6368 #, no-wrap
6369 msgid "B<LD_PROFILE_OUTPUT>"
6370 msgstr "B<LD_PROFILE_OUTPUT>"
6371
6372 #. type: Plain text
6373 #: build/C/man8/ld.so.8:414
6374 msgid ""
6375 "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be written.  "
6376 "If this variable is not defined, or is defined as an empty string, then the "
6377 "default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6378 "set-group-ID programs, which always use I</var/profile>."
6379 msgstr ""
6380 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6381 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6382 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6383 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6384 "れる。"
6385
6386 #. type: TP
6387 #: build/C/man8/ld.so.8:414
6388 #, no-wrap
6389 msgid "B<LD_SHOW_AUXV>"
6390 msgstr "B<LD_SHOW_AUXV>"
6391
6392 #.  FIXME
6393 #.  Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6394 #.      Available since glibc 2.3
6395 #.      Also enables DL_DEBUG_PRELINK
6396 #. type: Plain text
6397 #: build/C/man8/ld.so.8:425
6398 msgid ""
6399 "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
6400 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6401 "ID/set-group-ID binaries."
6402 msgstr ""
6403 "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメータの) 配列を表示す"
6404 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6405 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6406
6407 #. type: TP
6408 #: build/C/man8/ld.so.8:425
6409 #, no-wrap
6410 msgid "B<LD_USE_LOAD_BIAS>"
6411 msgstr "B<LD_USE_LOAD_BIAS>"
6412
6413 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6414 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
6415 #.  Jakub Jelinek
6416 #. type: Plain text
6417 #: build/C/man8/ld.so.8:444
6418 msgid ""
6419 "By default (i.e., if this variable is not defined)  executables and "
6420 "prelinked shared objects will honor base addresses of their dependent "
6421 "libraries and (nonprelinked) position-independent executables (PIEs)  and "
6422 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
6423 "wit the value, both executables and PIEs will honor the base addresses.  If "
6424 "B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6425 "PIEs will honor the base addresses.  This variable is ignored by set-user-ID "
6426 "and set-group-ID programs."
6427 msgstr ""
6428 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6429 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6430 "スが尊重される一方、 (prelink されていない) position-independent executables "
6431 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6432 "れない。 B<LD_USE_LOAD_BIAS> に値が定義された場合、実行ファイルと PIE のどち"
6433 "らでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された場"
6434 "合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-user-"
6435 "ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6436
6437 #. type: TP
6438 #: build/C/man8/ld.so.8:444
6439 #, no-wrap
6440 msgid "B<LD_VERBOSE>"
6441 msgstr "B<LD_VERBOSE>"
6442
6443 #. type: Plain text
6444 #: build/C/man8/ld.so.8:452
6445 msgid ""
6446 "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
6447 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6448 "variable has been set."
6449 msgstr ""
6450 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6451 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6452
6453 #. type: TP
6454 #: build/C/man8/ld.so.8:452
6455 #, no-wrap
6456 msgid "B<LD_WARN>"
6457 msgstr "B<LD_WARN>"
6458
6459 #. type: Plain text
6460 #: build/C/man8/ld.so.8:456
6461 msgid ""
6462 "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
6463 "unresolved symbols."
6464 msgstr ""
6465 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
6466 "あれば警告を出す。"
6467
6468 #. type: TP
6469 #: build/C/man8/ld.so.8:456
6470 #, no-wrap
6471 msgid "B<LDD_ARGV0>"
6472 msgstr "B<LDD_ARGV0>"
6473
6474 #. type: Plain text
6475 #: build/C/man8/ld.so.8:463
6476 msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
6477 msgstr ""
6478 "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
6479
6480 #. type: SH
6481 #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156
6482 #, no-wrap
6483 msgid "FILES"
6484 msgstr "ファイル"
6485
6486 #. type: TP
6487 #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158
6488 #, no-wrap
6489 msgid "I</lib/ld.so>"
6490 msgstr "I</lib/ld.so>"
6491
6492 #. type: Plain text
6493 #: build/C/man8/ld.so.8:468
6494 msgid "a.out dynamic linker/loader"
6495 msgstr "a.out の動的リンカ/ローダ"
6496
6497 #. type: TP
6498 #: build/C/man8/ld.so.8:468
6499 #, no-wrap
6500 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6501 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6502
6503 #. type: Plain text
6504 #: build/C/man8/ld.so.8:471
6505 msgid "ELF dynamic linker/loader"
6506 msgstr "ELF の動的リンカ/ローダ"
6507
6508 #. type: TP
6509 #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165
6510 #, no-wrap
6511 msgid "I</etc/ld.so.cache>"
6512 msgstr "I</etc/ld.so.cache>"
6513
6514 #. type: Plain text
6515 #: build/C/man8/ld.so.8:475
6516 msgid ""
6517 "File containing a compiled list of directories in which to search for "
6518 "libraries and an ordered list of candidate libraries."
6519 msgstr ""
6520 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6521 "リストを含むファイル。"
6522
6523 #. type: TP
6524 #: build/C/man8/ld.so.8:475
6525 #, no-wrap
6526 msgid "I</etc/ld.so.preload>"
6527 msgstr "I</etc/ld.so.preload>"
6528
6529 #. type: Plain text
6530 #: build/C/man8/ld.so.8:479
6531 msgid ""
6532 "File containing a whitespace-separated list of ELF shared libraries to be "
6533 "loaded before the program."
6534 msgstr ""
6535 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6536 "書かれているファイル。"
6537
6538 #. type: TP
6539 #: build/C/man8/ld.so.8:479
6540 #, no-wrap
6541 msgid "B<lib*.so*>"
6542 msgstr "B<lib*.so*>"
6543
6544 #. type: Plain text
6545 #: build/C/man8/ld.so.8:482
6546 msgid "shared libraries"
6547 msgstr "共有ライブラリ"
6548
6549 #. type: Plain text
6550 #: build/C/man8/ld.so.8:489
6551 msgid ""
6552 "The B<ld.so> functionality is available for executables compiled using libc "
6553 "version 4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 "
6554 "and libc5."
6555 msgstr ""
6556 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6557 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6558 "可能である。"
6559
6560 #.  .SH AUTHORS
6561 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6562 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
6563 #.  ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6564 #.  In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6565 #. type: Plain text
6566 #: build/C/man8/ld.so.8:505
6567 msgid ""
6568 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6569 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6570 msgstr ""
6571 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6572 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6573
6574 #. type: TH
6575 #: build/C/man8/ldconfig.8:22
6576 #, no-wrap
6577 msgid "LDCONFIG"
6578 msgstr "LDCONFIG"
6579
6580 #. type: TH
6581 #: build/C/man8/ldconfig.8:22
6582 #, no-wrap
6583 msgid "2012-05-10"
6584 msgstr "2012-05-10"
6585
6586 #. type: Plain text
6587 #: build/C/man8/ldconfig.8:25
6588 msgid "ldconfig - configure dynamic linker run-time bindings"
6589 msgstr "ldconfig - 動的リンカによる実行時の結合関係を設定する"
6590
6591 #. type: Plain text
6592 #: build/C/man8/ldconfig.8:40
6593 msgid ""
6594 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6595 "root> ] I<directory>\\ ..."
6596 msgstr ""
6597 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6598 "root> ] I<directory>\\ ..."
6599
6600 #. type: Plain text
6601 #: build/C/man8/ldconfig.8:49
6602 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6603 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6604
6605 #. type: Plain text
6606 #: build/C/man8/ldconfig.8:54
6607 msgid "B</sbin/ldconfig> B<-p>"
6608 msgstr "B</sbin/ldconfig> B<-p>"
6609
6610 #. type: Plain text
6611 #: build/C/man8/ldconfig.8:71
6612 msgid ""
6613 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6614 "libraries found in the directories specified on the command line, in the "
6615 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6616 "lib>).  The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6617 "so>.  B<ldconfig> checks the header and filenames of the libraries it "
6618 "encounters when determining which versions should have their links updated."
6619 msgstr ""
6620 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6621 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6622 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6623 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカ I<ld."
6624 "so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライブラリ"
6625 "のヘッダ部分とファイル名をチェックし、 どのバージョンに対してリンクを更新すべ"
6626 "きかを判断する。"
6627
6628 #.  The following sentence looks suspect
6629 #.  (perhaps historical cruft) -- MTK, Jul 2005
6630 #.  Therefore, when making dynamic libraries,
6631 #.  it is wise to explicitly link against libc (use \-lc).
6632 #. type: Plain text
6633 #: build/C/man8/ldconfig.8:79
6634 msgid ""
6635 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6636 "libc6/glibc)  based on what C libs, if any, the library was linked against."
6637 msgstr ""
6638 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6639 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6640
6641 #. type: Plain text
6642 #: build/C/man8/ldconfig.8:100
6643 msgid ""
6644 "Some existing libs do not contain enough information to allow the deduction "
6645 "of their type.  Therefore, the I</etc/ld.so.conf> file format allows the "
6646 "specification of an expected type.  This is used I<only> for those ELF libs "
6647 "which we can not work out.  The format is \"dirname=TYPE\", where TYPE can "
6648 "be libc4, libc5, or libc6.  (This syntax also works on the command line.)  "
6649 "Spaces are I<not> allowed.  Also see the B<-p> option.  B<ldconfig> should "
6650 "normally be run by the superuser as it may require write permission on some "
6651 "root owned directories and files."
6652 msgstr ""
6653 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6654 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6655 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6656 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6657 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6658 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6659 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6660 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6661
6662 #. type: TP
6663 #: build/C/man8/ldconfig.8:101
6664 #, no-wrap
6665 msgid "B<-v>"
6666 msgstr "B<-v>"
6667
6668 #. type: Plain text
6669 #: build/C/man8/ldconfig.8:107
6670 msgid ""
6671 "Verbose mode.  Print current version number, the name of each directory as "
6672 "it is scanned, and any links that are created.  Overrides quiet mode."
6673 msgstr ""
6674 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6675 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6676 "抑制モードを上書きする。"
6677
6678 #. type: TP
6679 #: build/C/man8/ldconfig.8:107
6680 #, no-wrap
6681 msgid "B<-n>"
6682 msgstr "B<-n>"
6683
6684 #. type: Plain text
6685 #: build/C/man8/ldconfig.8:118
6686 msgid ""
6687 "Only process directories specified on the command line.  Don't process the "
6688 "trusted directories (I</lib> and I</usr/lib>)  nor those specified in I</etc/"
6689 "ld.so.conf>.  Implies B<-N>."
6690 msgstr ""
6691 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6692 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
6693 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6694
6695 #. type: TP
6696 #: build/C/man8/ldconfig.8:118
6697 #, no-wrap
6698 msgid "B<-N>"
6699 msgstr "B<-N>"
6700
6701 #. type: Plain text
6702 #: build/C/man8/ldconfig.8:124
6703 msgid ""
6704 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
6705 "updated."
6706 msgstr ""
6707 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6708 "うは更新される。"
6709
6710 #. type: TP
6711 #: build/C/man8/ldconfig.8:124
6712 #, no-wrap
6713 msgid "B<-X>"
6714 msgstr "B<-X>"
6715
6716 #. type: Plain text
6717 #: build/C/man8/ldconfig.8:130
6718 msgid ""
6719 "Don't update links.  Unless B<-N> is also specified, the cache is still "
6720 "rebuilt."
6721 msgstr ""
6722 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6723 "される。"
6724
6725 #. type: TP
6726 #: build/C/man8/ldconfig.8:130
6727 #, no-wrap
6728 msgid "B<-f conf>"
6729 msgstr "B<-f conf>"
6730
6731 #. type: Plain text
6732 #: build/C/man8/ldconfig.8:136
6733 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6734 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6735
6736 #. type: TP
6737 #: build/C/man8/ldconfig.8:136
6738 #, no-wrap
6739 msgid "B<-C cache>"
6740 msgstr "B<-C cache>"
6741
6742 #. type: Plain text
6743 #: build/C/man8/ldconfig.8:142
6744 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6745 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6746
6747 #. type: TP
6748 #: build/C/man8/ldconfig.8:142
6749 #, no-wrap
6750 msgid "B<-r root>"
6751 msgstr "B<-r root>"
6752
6753 #. type: Plain text
6754 #: build/C/man8/ldconfig.8:147
6755 msgid "Change to and use I<root> as the root directory."
6756 msgstr ""
6757 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6758 "る。"
6759
6760 #. type: TP
6761 #: build/C/man8/ldconfig.8:147
6762 #, no-wrap
6763 msgid "B<-l>"
6764 msgstr "B<-l>"
6765
6766 #. type: Plain text
6767 #: build/C/man8/ldconfig.8:152
6768 msgid ""
6769 "Library mode.  Manually link individual libraries.  Intended for use by "
6770 "experts only."
6771 msgstr ""
6772 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6773 "べきである。"
6774
6775 #. type: TP
6776 #: build/C/man8/ldconfig.8:152
6777 #, no-wrap
6778 msgid "B<-p>"
6779 msgstr "B<-p>"
6780
6781 #. type: Plain text
6782 #: build/C/man8/ldconfig.8:156
6783 msgid ""
6784 "Print the lists of directories and candidate libraries stored in the current "
6785 "cache."
6786 msgstr ""
6787 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6788 "示する。"
6789
6790 #. type: Plain text
6791 #: build/C/man8/ldconfig.8:161
6792 msgid "run-time linker/loader"
6793 msgstr "実行時リンカ/ローダー。"
6794
6795 #. type: TP
6796 #: build/C/man8/ldconfig.8:161
6797 #, no-wrap
6798 msgid "I</etc/ld.so.conf>"
6799 msgstr "I</etc/ld.so.conf>"
6800
6801 #. type: Plain text
6802 #: build/C/man8/ldconfig.8:165
6803 msgid ""
6804 "File containing a list of colon, space, tab, newline, or comma-separated "
6805 "directories in which to search for libraries."
6806 msgstr ""
6807 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6808 "れのディレクトリでライブラリが検索される。"
6809
6810 #. type: Plain text
6811 #: build/C/man8/ldconfig.8:174
6812 msgid ""
6813 "File containing an ordered list of libraries found in the directories "
6814 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6815 "usr/lib>."
6816 msgstr ""
6817 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6818 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6819
6820 #. type: Plain text
6821 #: build/C/man8/ldconfig.8:178
6822 msgid "B<ldd>(1), B<ld.so>(8)"
6823 msgstr "B<ldd>(1), B<ld.so>(8)"
6824
6825 #. type: TH
6826 #: build/C/man1/ldd.1:14
6827 #, no-wrap
6828 msgid "LDD"
6829 msgstr "LDD"
6830
6831 #. type: Plain text
6832 #: build/C/man1/ldd.1:17
6833 msgid "ldd - print shared library dependencies"
6834 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6835
6836 #. type: Plain text
6837 #: build/C/man1/ldd.1:19
6838 msgid "B<ldd> [I<option>]... I<file>..."
6839 msgstr "B<ldd> [I<option>]... I<file>..."
6840
6841 #. type: Plain text
6842 #: build/C/man1/ldd.1:23
6843 msgid ""
6844 "B<ldd> prints the shared libraries required by each program or shared "
6845 "library specified on the command line."
6846 msgstr ""
6847 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6848 "れで必要とされる共有ライブラリを表示する。"
6849
6850 #. type: SS
6851 #: build/C/man1/ldd.1:23
6852 #, no-wrap
6853 msgid "Security"
6854 msgstr "セキュリティ"
6855
6856 #.  Mainline glibc's ldd allows this possibility (the line
6857 #.       try_trace "$file"
6858 #.  in glibc 2.15, for example), but many distro versions of
6859 #.  ldd seem to remove that code path from the script.
6860 #. type: Plain text
6861 #: build/C/man1/ldd.1:49
6862 msgid ""
6863 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
6864 "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6865 "which causes the linker to display the library dependencies.  Be aware, "
6866 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6867 "obtain the dependency information by directly executing the program.  Thus, "
6868 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6869 "result in the execution of arbitrary code.  A safer alternative when dealing "
6870 "with untrusted executables is:"
6871 msgstr ""
6872 "通常の場合、 B<ldd> は標準の動的リンカ (B<ld.so>(8) 参照) を "
6873 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6874 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカはライブラリの依存関係"
6875 "を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実行"
6876 "するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに対"
6877 "しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行することに"
6878 "つながるからである。信頼できない実行ファイルを扱う、より安全な別の方法として"
6879 "は次のようにするとよい。"
6880
6881 #. type: Plain text
6882 #: build/C/man1/ldd.1:51
6883 #, no-wrap
6884 msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
6885 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
6886
6887 #. type: TP
6888 #: build/C/man1/ldd.1:52 build/C/man1/mtrace.1:55
6889 #, no-wrap
6890 msgid "B<--version>"
6891 msgstr "B<--version>"
6892
6893 #. type: Plain text
6894 #: build/C/man1/ldd.1:56
6895 msgid "Print the version number of B<ldd>."
6896 msgstr "B<ldd> のバージョン番号を表示する。"
6897
6898 #. type: TP
6899 #: build/C/man1/ldd.1:56
6900 #, no-wrap
6901 msgid "B<-v\\ --verbose>"
6902 msgstr "B<-v\\ --verbose>"
6903
6904 #. type: Plain text
6905 #: build/C/man1/ldd.1:60
6906 msgid ""
6907 "Print all information, including, for example, symbol versioning information."
6908 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6909
6910 #. type: TP
6911 #: build/C/man1/ldd.1:60
6912 #, no-wrap
6913 msgid "B<-u\\ --unused>"
6914 msgstr "B<-u\\ --unused>"
6915
6916 #. type: Plain text
6917 #: build/C/man1/ldd.1:64
6918 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
6919 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6920
6921 #. type: TP
6922 #: build/C/man1/ldd.1:64
6923 #, no-wrap
6924 msgid "B<-d\\ --data-relocs>"
6925 msgstr "B<-d\\ --data-relocs>"
6926
6927 #. type: Plain text
6928 #: build/C/man1/ldd.1:67
6929 msgid "Perform relocations and report any missing objects (ELF only)."
6930 msgstr ""
6931 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6932
6933 #. type: TP
6934 #: build/C/man1/ldd.1:67
6935 #, no-wrap
6936 msgid "B<-r\\ --function-relocs>"
6937 msgstr "B<-r\\ --function-relocs>"
6938
6939 #. type: Plain text
6940 #: build/C/man1/ldd.1:71
6941 msgid ""
6942 "Perform relocations for both data objects and functions, and report any "
6943 "missing objects or functions (ELF only)."
6944 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6945
6946 #. type: TP
6947 #: build/C/man1/ldd.1:71 build/C/man1/mtrace.1:52
6948 #, no-wrap
6949 msgid "B<--help>"
6950 msgstr "B<--help>"
6951
6952 #.  .SH NOTES
6953 #.  The standard version of
6954 #.  .B ldd
6955 #.  comes with glibc2.
6956 #.  Libc5 came with an older version, still present
6957 #.  on some systems.
6958 #.  The long options are not supported by the libc5 version.
6959 #.  On the other hand, the glibc2 version does not support
6960 #.  .B \-V
6961 #.  and only has the equivalent
6962 #.  .BR \-\-version .
6963 #.  .LP
6964 #.  The libc5 version of this program will use the name of a library given
6965 #.  on the command line as-is when it contains a \(aq/\(aq; otherwise it
6966 #.  searches for the library in the standard locations.
6967 #.  To run it
6968 #.  on a shared library in the current directory, prefix the name with "./".
6969 #. type: Plain text
6970 #: build/C/man1/ldd.1:91
6971 msgid "Usage information."
6972 msgstr "使用法を表示する。"
6973
6974 #. type: Plain text
6975 #: build/C/man1/ldd.1:94
6976 msgid "B<ldd> does not work on a.out shared libraries."
6977 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6978
6979 #.  .SH AUTHOR
6980 #.  David Engel.
6981 #.  Roland McGrath and Ulrich Drepper.
6982 #. type: Plain text
6983 #: build/C/man1/ldd.1:108
6984 msgid ""
6985 "B<ldd> does not work with some extremely old a.out programs which were built "
6986 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
6987 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6988 "and the results will be unpredictable."
6989 msgstr ""
6990 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6991 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
6992 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
6993 "不可能である。"
6994
6995 #. type: Plain text
6996 #: build/C/man1/ldd.1:113
6997 msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
6998 msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
6999
7000 #. type: TH
7001 #: build/C/man1/memusage.1:24
7002 #, no-wrap
7003 msgid "MEMUSAGE"
7004 msgstr "MEMUSAGE"
7005
7006 #. type: TH
7007 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
7008 #, no-wrap
7009 msgid "2014-09-06"
7010 msgstr "2014-09-06"
7011
7012 #. type: TH
7013 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
7014 #, no-wrap
7015 msgid "Linux user manual"
7016 msgstr "Linux user manual"
7017
7018 #. type: Plain text
7019 #: build/C/man1/memusage.1:27
7020 msgid "memusage - profile memory usage of a program"
7021 msgstr ""
7022
7023 #. type: Plain text
7024 #: build/C/man1/memusage.1:29
7025 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7026 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7027
7028 #. type: Plain text
7029 #: build/C/man1/memusage.1:53
7030 msgid ""
7031 "B<memusage> is a bash script which profiles memory usage of the program, "
7032 "I<program>.  It preloads the B<libmemusage.so> library into the caller's "
7033 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)).  "
7034 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
7035 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
7036 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2)  can also be intercepted."
7037 msgstr ""
7038
7039 #. type: Plain text
7040 #: build/C/man1/memusage.1:62
7041 msgid ""
7042 "B<memusage> can output the collected data in textual form, or it can use "
7043 "B<memusagestat>(1)  (see the B<-p> option, below)  to create a PNG file "
7044 "containing graphical representation of the collected data."
7045 msgstr ""
7046
7047 #. type: SS
7048 #: build/C/man1/memusage.1:62
7049 #, no-wrap
7050 msgid "Memory usage summary"
7051 msgstr ""
7052
7053 #. type: Plain text
7054 #: build/C/man1/memusage.1:66
7055 msgid ""
7056 "The \"Memory usage summary\" line output by B<memusage> contains three "
7057 "fields:"
7058 msgstr ""
7059
7060 #. type: TP
7061 #: build/C/man1/memusage.1:67
7062 #, no-wrap
7063 msgid "B<heap total>"
7064 msgstr "B<heap total>"
7065
7066 #. type: Plain text
7067 #: build/C/man1/memusage.1:84
7068 msgid ""
7069 "Sum of I<size> arguments of all B<malloc>(3)  calls, products of arguments "
7070 "(I<nmemb>*I<size>) of all B<calloc>(3)  calls, and sum of I<length> "
7071 "arguments of all B<mmap>(2)  calls.  In the case of B<realloc>(3)  and "
7072 "B<mremap>(2), if the new size of an allocation is larger than the previous "
7073 "size, the sum of all such differences (new size minus old size) is added."
7074 msgstr ""
7075
7076 #. type: TP
7077 #: build/C/man1/memusage.1:84
7078 #, no-wrap
7079 msgid "B<heap peak>"
7080 msgstr "B<heap peak>"
7081
7082 #. type: Plain text
7083 #: build/C/man1/memusage.1:98
7084 msgid ""
7085 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
7086 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
7087 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
7088 msgstr ""
7089
7090 #. type: TP
7091 #: build/C/man1/memusage.1:98
7092 #, no-wrap
7093 msgid "B<stack peak>"
7094 msgstr "B<stack peak>"
7095
7096 #. type: Plain text
7097 #: build/C/man1/memusage.1:105
7098 msgid ""
7099 "Before the first call to any monitored function, the stack pointer address "
7100 "(base stack pointer) is saved.  After each function call, the actual stack "
7101 "pointer address is read and the difference from the base stack pointer "
7102 "computed.  The maximum of these differences is then the stack peak."
7103 msgstr ""
7104
7105 #. type: Plain text
7106 #: build/C/man1/memusage.1:122
7107 msgid ""
7108 "Immediately following this summary line, a table shows the number calls, "
7109 "total memory allocated or deallocated, and number of failed calls for each "
7110 "intercepted function.  For B<realloc>(3)  and B<mremap>(2), the additional "
7111 "field \"nomove\" shows reallocations that changed the address of a block, "
7112 "and the additional \"dec\" field shows reallocations that decreased the size "
7113 "of the block.  For B<realloc>(3), the additional field \"free\" shows "
7114 "reallocations that caused a block to be freed (i.e., the reallocated size "
7115 "was 0)."
7116 msgstr ""
7117
7118 #. type: Plain text
7119 #: build/C/man1/memusage.1:132
7120 msgid ""
7121 "The \"realloc/total memory\" of the table output by B<memusage> does not "
7122 "reflect cases where B<realloc>(3)  is used to reallocate a block of memory "
7123 "to have a smaller size than previously.  This can cause sum of all \"total "
7124 "memory\" cells (excluding \"free\")  to be larger than the \"free/total "
7125 "memory\" cell."
7126 msgstr ""
7127
7128 #. type: SS
7129 #: build/C/man1/memusage.1:132
7130 #, no-wrap
7131 msgid "Histogram for block sizes"
7132 msgstr ""
7133
7134 #. type: Plain text
7135 #: build/C/man1/memusage.1:135
7136 msgid ""
7137 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
7138 "into various bucket sizes."
7139 msgstr ""
7140
7141 #. type: TP
7142 #: build/C/man1/memusage.1:136
7143 #, no-wrap
7144 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7145 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7146
7147 #. type: Plain text
7148 #: build/C/man1/memusage.1:139
7149 msgid "Name of the program file to profile."
7150 msgstr ""
7151
7152 #. type: TP
7153 #: build/C/man1/memusage.1:139
7154 #, no-wrap
7155 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7156 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7157
7158 #. type: Plain text
7159 #: build/C/man1/memusage.1:143
7160 msgid "Generate PNG graphic and store it in I<file>."
7161 msgstr ""
7162
7163 #. type: TP
7164 #: build/C/man1/memusage.1:143
7165 #, no-wrap
7166 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7167 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7168
7169 #. type: Plain text
7170 #: build/C/man1/memusage.1:147
7171 msgid "Generate binary data file and store it in I<file>."
7172 msgstr ""
7173
7174 #. type: TP
7175 #: build/C/man1/memusage.1:147
7176 #, no-wrap
7177 msgid "B<-u>,\\ B<--unbuffered>"
7178 msgstr "B<-u>,\\ B<--unbuffered>"
7179
7180 #. type: Plain text
7181 #: build/C/man1/memusage.1:150
7182 msgid "Do not buffer output."
7183 msgstr ""
7184
7185 #. type: TP
7186 #: build/C/man1/memusage.1:150
7187 #, no-wrap
7188 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7189 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7190
7191 #. type: Plain text
7192 #: build/C/man1/memusage.1:155
7193 msgid "Collect I<size> entries before writing them out."
7194 msgstr ""
7195
7196 #. type: TP
7197 #: build/C/man1/memusage.1:155
7198 #, no-wrap
7199 msgid "B<--no-timer>"
7200 msgstr "B<--no-timer>"
7201
7202 #. type: Plain text
7203 #: build/C/man1/memusage.1:160
7204 msgid "Disable timer-based (B<SIGPROF>)  sampling of stack pointer value."
7205 msgstr ""
7206
7207 #. type: TP
7208 #: build/C/man1/memusage.1:160
7209 #, no-wrap
7210 msgid "B<-m>,\\ B<--mmap>"
7211 msgstr "B<-m>,\\ B<--mmap>"
7212
7213 #. type: Plain text
7214 #: build/C/man1/memusage.1:167
7215 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
7216 msgstr ""
7217
7218 #. type: TP
7219 #: build/C/man1/memusage.1:167 build/C/man1/memusagestat.1:72
7220 #, no-wrap
7221 msgid "B<-?>,\\ B<--help>"
7222 msgstr "B<-?>,\\ B<--help>"
7223
7224 #. type: Plain text
7225 #: build/C/man1/memusage.1:170 build/C/man1/mtrace.1:55
7226 msgid "Print help and exit."
7227 msgstr ""
7228
7229 #. type: TP
7230 #: build/C/man1/memusage.1:170 build/C/man1/memusagestat.1:75
7231 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
7232 #, no-wrap
7233 msgid "B<--usage>"
7234 msgstr "B<--usage>"
7235
7236 #. type: Plain text
7237 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7238 msgid "Print a short usage message and exit."
7239 msgstr ""
7240
7241 #. type: TP
7242 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7243 #, no-wrap
7244 msgid "B<-V>,\\ B<--version>"
7245 msgstr "B<-V>,\\ B<--version>"
7246
7247 #. type: Plain text
7248 #: build/C/man1/memusage.1:176 build/C/man1/memusagestat.1:81
7249 #: build/C/man1/mtrace.1:58
7250 msgid "Print version information and exit."
7251 msgstr ""
7252
7253 #. type: TP
7254 #: build/C/man1/memusage.1:176
7255 #, no-wrap
7256 msgid "The following options only apply when generating graphical output:"
7257 msgstr ""
7258
7259 #. type: TP
7260 #: build/C/man1/memusage.1:178
7261 #, no-wrap
7262 msgid "B<-t>,\\ B<--time-based>"
7263 msgstr "B<-t>,\\ B<--time-based>"
7264
7265 #. type: Plain text
7266 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7267 msgid ""
7268 "Use time (rather than number of function calls) as the scale for the X axis."
7269 msgstr ""
7270
7271 #. type: TP
7272 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7273 #, no-wrap
7274 msgid "B<-T>,\\ B<--total>"
7275 msgstr "B<-T>,\\ B<--total>"
7276
7277 #. type: Plain text
7278 #: build/C/man1/memusage.1:184
7279 msgid "Also draw a graph of total memory use."
7280 msgstr ""
7281
7282 #. type: TP
7283 #: build/C/man1/memusage.1:184
7284 #, no-wrap
7285 msgid "B<--title=>I<name>"
7286 msgstr "B<--title=>I<name>"
7287
7288 #. type: Plain text
7289 #: build/C/man1/memusage.1:189
7290 msgid "Use I<name> as the title of the graph."
7291 msgstr ""
7292
7293 #. type: TP
7294 #: build/C/man1/memusage.1:189 build/C/man1/memusagestat.1:62
7295 #, no-wrap
7296 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7297 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7298
7299 #. type: Plain text
7300 #: build/C/man1/memusage.1:194
7301 msgid "Make the graph I<size> pixels wide."
7302 msgstr ""
7303
7304 #. type: TP
7305 #: build/C/man1/memusage.1:194 build/C/man1/memusagestat.1:67
7306 #, no-wrap
7307 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7308 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7309
7310 #. type: Plain text
7311 #: build/C/man1/memusage.1:199
7312 msgid "Make the graph I<size> pixels high."
7313 msgstr ""
7314
7315 #. type: SH
7316 #: build/C/man1/memusage.1:199 build/C/man1/pldd.1:60
7317 #, no-wrap
7318 msgid "EXIT STATUS"
7319 msgstr "終了ステータス"
7320
7321 #. type: Plain text
7322 #: build/C/man1/memusage.1:201
7323 msgid "Exit status is equal to the exit status of profiled program."
7324 msgstr ""
7325
7326 #. type: Plain text
7327 #: build/C/man1/memusage.1:208
7328 msgid ""
7329 "Below is a simple program that reallocates a block of memory in cycles that "
7330 "rise to a peak before then cyclically reallocating the memory in smaller "
7331 "blocks that return to zero.  After compiling the program and running the "
7332 "following commands, a graph of the memory usage of the program can be found "
7333 "in the file I<memusage.png>:"
7334 msgstr ""
7335
7336 #. type: Plain text
7337 #: build/C/man1/memusage.1:232
7338 #, no-wrap
7339 msgid ""
7340 "$ B<memusage --data=memusage.dat ./a.out>\n"
7341 "\\&...\n"
7342 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7343 "        total calls  total memory  failed calls\n"
7344 " malloc|         1           400             0\n"
7345 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7346 " calloc|         0             0             0\n"
7347 "   free|         1           440\n"
7348 "Histogram for block sizes:\n"
7349 "  192-207             1   2% ================\n"
7350 "\\&...\n"
7351 " 2192-2207            1   2% ================\n"
7352 " 2240-2255            2   4% =================================\n"
7353 " 2832-2847            2   4% =================================\n"
7354 " 3440-3455            2   4% =================================\n"
7355 " 4032-4047            2   4% =================================\n"
7356 " 4640-4655            2   4% =================================\n"
7357 " 5232-5247            2   4% =================================\n"
7358 " 5840-5855            2   4% =================================\n"
7359 " 6432-6447            1   2% ================\n"
7360 "$ B<memusagestat memusage.dat memusage.png>\n"
7361 msgstr ""
7362 "$ B<memusage --data=memusage.dat ./a.out>\n"
7363 "\\&...\n"
7364 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7365 "        total calls  total memory  failed calls\n"
7366 " malloc|         1           400             0\n"
7367 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7368 " calloc|         0             0             0\n"
7369 "   free|         1           440\n"
7370 "Histogram for block sizes:\n"
7371 "  192-207             1   2% ================\n"
7372 "\\&...\n"
7373 " 2192-2207            1   2% ================\n"
7374 " 2240-2255            2   4% =================================\n"
7375 " 2832-2847            2   4% =================================\n"
7376 " 3440-3455            2   4% =================================\n"
7377 " 4032-4047            2   4% =================================\n"
7378 " 4640-4655            2   4% =================================\n"
7379 " 5232-5247            2   4% =================================\n"
7380 " 5840-5855            2   4% =================================\n"
7381 " 6432-6447            1   2% ================\n"
7382 "$ B<memusagestat memusage.dat memusage.png>\n"
7383
7384 #. type: Plain text
7385 #: build/C/man1/memusage.1:240
7386 #, no-wrap
7387 msgid "#define CYCLES 20\n"
7388 msgstr "#define CYCLES 20\n"
7389
7390 #. type: Plain text
7391 #: build/C/man1/memusage.1:246
7392 #, no-wrap
7393 msgid ""
7394 "int\n"
7395 "main(int argc, char *argv[])\n"
7396 "{\n"
7397 "     int i, j;\n"
7398 "     int *p;\n"
7399 msgstr ""
7400 "int\n"
7401 "main(int argc, char *argv[])\n"
7402 "{\n"
7403 "     int i, j;\n"
7404 "     int *p;\n"
7405
7406 #. type: Plain text
7407 #: build/C/man1/memusage.1:249
7408 #, no-wrap
7409 msgid ""
7410 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7411 "     p = malloc(sizeof(int) * 100);\n"
7412 msgstr ""
7413 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7414 "     p = malloc(sizeof(int) * 100);\n"
7415
7416 #. type: Plain text
7417 #: build/C/man1/memusage.1:255
7418 #, no-wrap
7419 msgid ""
7420 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7421 "         if (i E<lt> CYCLES / 2)\n"
7422 "             j = i;\n"
7423 "         else\n"
7424 "             j--;\n"
7425 msgstr ""
7426 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7427 "         if (i E<lt> CYCLES / 2)\n"
7428 "             j = i;\n"
7429 "         else\n"
7430 "             j--;\n"
7431
7432 #. type: Plain text
7433 #: build/C/man1/memusage.1:258
7434 #, no-wrap
7435 msgid ""
7436 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7437 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7438 msgstr ""
7439 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7440 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7441
7442 #. type: Plain text
7443 #: build/C/man1/memusage.1:262
7444 #, no-wrap
7445 msgid ""
7446 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7447 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7448 "     }\n"
7449 msgstr ""
7450 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7451 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7452 "     }\n"
7453
7454 #. type: Plain text
7455 #: build/C/man1/memusage.1:266
7456 #, no-wrap
7457 msgid ""
7458 "     free(p);\n"
7459 "     exit(EXIT_SUCCESS);\n"
7460 "}\n"
7461 msgstr ""
7462 "     free(p);\n"
7463 "     exit(EXIT_SUCCESS);\n"
7464 "}\n"
7465
7466 #. type: Plain text
7467 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
7468 msgid ""
7469 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
7470 msgstr ""
7471
7472 #. type: Plain text
7473 #: build/C/man1/memusage.1:275
7474 msgid "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7475 msgstr "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7476
7477 #. type: TH
7478 #: build/C/man1/memusagestat.1:23
7479 #, no-wrap
7480 msgid "MEMUSAGESTAT"
7481 msgstr "MEMUSAGESTAT"
7482
7483 #. type: TH
7484 #: build/C/man1/memusagestat.1:23
7485 #, no-wrap
7486 msgid "Linux programmer's manual"
7487 msgstr "Linux programmer's manual"
7488
7489 #. type: Plain text
7490 #: build/C/man1/memusagestat.1:26
7491 msgid "memusagestat - generate graphic from memory profiling data"
7492 msgstr ""
7493
7494 #. type: Plain text
7495 #: build/C/man1/memusagestat.1:28
7496 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7497 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7498
7499 #. type: Plain text
7500 #: build/C/man1/memusagestat.1:39
7501 msgid ""
7502 "B<memusagestat> creates a PNG file containing a graphical representation of "
7503 "the memory profiling data in the file I<datafile>; that file is generated "
7504 "via the I<-d> (or I<--data>)  option of B<memusage>(1)."
7505 msgstr ""
7506
7507 #. type: Plain text
7508 #: build/C/man1/memusagestat.1:47
7509 msgid ""
7510 "The red line in the graph shows the heap usage (allocated memory)  and the "
7511 "green line shows the stack usage.  The x-scale is either the number of "
7512 "memory-handling function calls or (if the I<-t> option is specified)  time."
7513 msgstr ""
7514
7515 #. type: TP
7516 #: build/C/man1/memusagestat.1:48
7517 #, no-wrap
7518 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7519 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7520
7521 #. type: Plain text
7522 #: build/C/man1/memusagestat.1:51
7523 msgid "Name of the output file."
7524 msgstr ""
7525
7526 #. type: TP
7527 #: build/C/man1/memusagestat.1:51
7528 #, no-wrap
7529 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7530 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7531
7532 #. type: Plain text
7533 #: build/C/man1/memusagestat.1:56
7534 msgid "Use I<string> as the title inside the output graph."
7535 msgstr ""
7536
7537 #. type: TP
7538 #: build/C/man1/memusagestat.1:56
7539 #, no-wrap
7540 msgid "B<-t>,\\ B<--time>"
7541 msgstr "B<-t>,\\ B<--time>"
7542
7543 #. type: Plain text
7544 #: build/C/man1/memusagestat.1:62
7545 msgid "Also draw a graph of total memory consumption."
7546 msgstr ""
7547
7548 #. type: Plain text
7549 #: build/C/man1/memusagestat.1:67
7550 msgid "Make the output graph I<size> pixels wide."
7551 msgstr ""
7552
7553 #. type: Plain text
7554 #: build/C/man1/memusagestat.1:72
7555 msgid "Make the output graph I<size> pixels high."
7556 msgstr ""
7557
7558 #. type: Plain text
7559 #: build/C/man1/memusagestat.1:75
7560 msgid "Print a help message and exit."
7561 msgstr ""
7562
7563 #. type: Plain text
7564 #: build/C/man1/memusagestat.1:84
7565 msgid "See B<memusage>(1)."
7566 msgstr ""
7567
7568 #. type: Plain text
7569 #: build/C/man1/memusagestat.1:91
7570 msgid "B<memusage>(1), B<mtrace>(1)"
7571 msgstr "B<memusage>(1), B<mtrace>(1)"
7572
7573 #. type: TH
7574 #: build/C/man1/mtrace.1:23
7575 #, no-wrap
7576 msgid "MTRACE"
7577 msgstr "MTRACE"
7578
7579 #. type: TH
7580 #: build/C/man1/mtrace.1:23
7581 #, no-wrap
7582 msgid "2014-09-01"
7583 msgstr "2014-09-01"
7584
7585 #. type: Plain text
7586 #: build/C/man1/mtrace.1:26
7587 msgid "mtrace - interpret the malloc trace log"
7588 msgstr ""
7589
7590 #. type: Plain text
7591 #: build/C/man1/mtrace.1:28
7592 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7593 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7594
7595 #. type: Plain text
7596 #: build/C/man1/mtrace.1:44
7597 msgid ""
7598 "B<mtrace> is a Perl script used to interpret and provide human readable "
7599 "output of the trace log contained in the file I<mtracedata>, whose contents "
7600 "were produced by B<mtrace>(3).  If I<binary> is provided, the output of "
7601 "B<mtrace> also contains the source file name with line number information "
7602 "for problem locations (assuming that I<binary> was compiled with debugging "
7603 "information)."
7604 msgstr ""
7605
7606 #. type: Plain text
7607 #: build/C/man1/mtrace.1:51
7608 msgid ""
7609 "For more information about the B<mtrace>(3)  function and B<mtrace> script "
7610 "usage, see B<mtrace>(3)."
7611 msgstr ""
7612
7613 #. type: Plain text
7614 #: build/C/man1/mtrace.1:61
7615 msgid ""
7616 "For bug reporting instructions, please see: E<lt>http://www.gnu.org/software/"
7617 "libc/bugs.htmlE<gt>."
7618 msgstr ""
7619
7620 #. type: Plain text
7621 #: build/C/man1/mtrace.1:64
7622 msgid "B<memusage>(1), B<mtrace>(3)"
7623 msgstr "B<memusage>(1), B<mtrace>(3)"
7624
7625 #. type: TH
7626 #: build/C/man1/pldd.1:25
7627 #, no-wrap
7628 msgid "PLDD"
7629 msgstr "PLDD"
7630
7631 #. type: TH
7632 #: build/C/man1/pldd.1:25
7633 #, no-wrap
7634 msgid "2014-09-27"
7635 msgstr "2014-09-27"
7636
7637 #. type: TH
7638 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
7639 #, no-wrap
7640 msgid "Linux User Manual"
7641 msgstr "Linux User Manual"
7642
7643 #. type: Plain text
7644 #: build/C/man1/pldd.1:28
7645 msgid "pldd - display dynamic shared objects linked into a process"
7646 msgstr ""
7647
7648 #. type: Plain text
7649 #: build/C/man1/pldd.1:32
7650 #, no-wrap
7651 msgid ""
7652 "B<pldd >I<PID>\n"
7653 "B<pldd> OPTION\n"
7654 msgstr ""
7655 "B<pldd >I<PID>\n"
7656 "B<pldd> OPTION\n"
7657
7658 #. type: Plain text
7659 #: build/C/man1/pldd.1:40
7660 msgid ""
7661 "The B<pldd> command displays a list of the dynamic shared objects that are "
7662 "linked into the process with the specified process ID.  The list includes "
7663 "the libraries that have been dynamically loaded using B<dlopen>(3)."
7664 msgstr ""
7665
7666 #. type: TP
7667 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
7668 #, no-wrap
7669 msgid "B<-?>, B<--help>"
7670 msgstr "B<-?>, B<--help>"
7671
7672 #. type: Plain text
7673 #: build/C/man1/pldd.1:44
7674 msgid "Display program help message."
7675 msgstr ""
7676
7677 #. type: Plain text
7678 #: build/C/man1/pldd.1:47
7679 msgid "Display a short usage message."
7680 msgstr ""
7681
7682 #. type: TP
7683 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
7684 #, no-wrap
7685 msgid "B<-V>, B<--version>"
7686 msgstr "B<-V>, B<--version>"
7687
7688 #. type: Plain text
7689 #: build/C/man1/pldd.1:50
7690 msgid "Display the program version."
7691 msgstr ""
7692
7693 #. type: Plain text
7694 #: build/C/man1/pldd.1:53
7695 msgid "B<pldd> is available since glibc 2.15."
7696 msgstr ""
7697
7698 #.  There are man pages on Solaris and HP-UX.
7699 #. type: Plain text
7700 #: build/C/man1/pldd.1:60
7701 msgid ""
7702 "The B<pldd> command is not specified by POSIX.1.  Some other systems have a "
7703 "similar command."
7704 msgstr ""
7705
7706 #. type: Plain text
7707 #: build/C/man1/pldd.1:71
7708 msgid ""
7709 "On success, B<pldd> exits with the status 0.  If the specified process does "
7710 "not exist, the user does not have permission to access its dynamic shared "
7711 "object list, or no command-line arguments are supplied, B<pldd> exists with "
7712 "a status of 1.  If given an invalid option, it exits with the status 64."
7713 msgstr ""
7714
7715 #. type: Plain text
7716 #: build/C/man1/pldd.1:83
7717 #, no-wrap
7718 msgid ""
7719 "$ B<echo $$>               # Display PID of shell\n"
7720 "1143\n"
7721 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
7722 "1143:\t/usr/bin/bash\n"
7723 "linux-vdso.so.1\n"
7724 "/lib64/libtinfo.so.5\n"
7725 "/lib64/libdl.so.2\n"
7726 "/lib64/libc.so.6\n"
7727 "/lib64/ld-linux-x86-64.so.2\n"
7728 "/lib64/libnss_files.so.2\n"
7729 msgstr ""
7730 "$ B<echo $$>               # Display PID of shell\n"
7731 "1143\n"
7732 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
7733 "1143:\t/usr/bin/bash\n"
7734 "linux-vdso.so.1\n"
7735 "/lib64/libtinfo.so.5\n"
7736 "/lib64/libdl.so.2\n"
7737 "/lib64/libc.so.6\n"
7738 "/lib64/ld-linux-x86-64.so.2\n"
7739 "/lib64/libnss_files.so.2\n"
7740
7741 #. type: Plain text
7742 #: build/C/man1/pldd.1:86
7743 msgid "The command"
7744 msgstr ""
7745
7746 #. type: Plain text
7747 #: build/C/man1/pldd.1:88
7748 #, no-wrap
7749 msgid "     lsof -p PID\n"
7750 msgstr "     lsof -p PID\n"
7751
7752 #. type: Plain text
7753 #: build/C/man1/pldd.1:91
7754 msgid ""
7755 "also shows output that includes the dynamic shared objects that are linked "
7756 "into a process."
7757 msgstr ""
7758
7759 #. type: Plain text
7760 #: build/C/man1/pldd.1:96
7761 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7762 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7763
7764 #. type: TH
7765 #: build/C/man7/rtld-audit.7:28
7766 #, no-wrap
7767 msgid "RTLD-AUDIT"
7768 msgstr "RTLD-AUDIT"
7769
7770 #. type: TH
7771 #: build/C/man7/rtld-audit.7:28
7772 #, no-wrap
7773 msgid "2012-07-07"
7774 msgstr "2012-07-07"
7775
7776 #. type: Plain text
7777 #: build/C/man7/rtld-audit.7:31
7778 msgid "rtld-audit - auditing API for the dynamic linker"
7779 msgstr ""
7780
7781 #. type: Plain text
7782 #: build/C/man7/rtld-audit.7:33
7783 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
7784 msgstr ""
7785
7786 #. type: Plain text
7787 #: build/C/man7/rtld-audit.7:35
7788 msgid "B<#include E<lt>link.hE<gt>>"
7789 msgstr "B<#include E<lt>link.hE<gt>>"
7790
7791 #. type: Plain text
7792 #: build/C/man7/rtld-audit.7:43
7793 msgid ""
7794 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
7795 "allows an application to be notified when various dynamic linking events "
7796 "occur.  This API is very similar to the auditing interface provided by the "
7797 "Solaris run-time linker.  The necessary constants and prototypes are defined "
7798 "by including I<E<lt>link.hE<gt>>."
7799 msgstr ""
7800
7801 #. type: Plain text
7802 #: build/C/man7/rtld-audit.7:50
7803 msgid ""
7804 "To use this interface, the programmer creates a shared library that "
7805 "implements a standard set of function names.  Not all of the functions need "
7806 "to be implemented: in most cases, if the programmer is not interested in a "
7807 "particular class of auditing event, then no implementation needs to be "
7808 "provided for the corresponding auditing function."
7809 msgstr ""
7810
7811 #. type: Plain text
7812 #: build/C/man7/rtld-audit.7:58
7813 msgid ""
7814 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7815 "be defined to contain a colon-separated list of shared libraries, each of "
7816 "which can implement (parts of) the auditing API.  When an auditable event "
7817 "occurs, the corresponding function is invoked in each library, in the order "
7818 "that the libraries are listed."
7819 msgstr ""
7820
7821 #. type: SS
7822 #: build/C/man7/rtld-audit.7:58
7823 #, no-wrap
7824 msgid "la_version()"
7825 msgstr "la_version()"
7826
7827 #. type: Plain text
7828 #: build/C/man7/rtld-audit.7:62
7829 #, no-wrap
7830 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7831 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7832
7833 #. type: Plain text
7834 #: build/C/man7/rtld-audit.7:74
7835 msgid ""
7836 "This is the only function that I<must> be defined by an auditing library: it "
7837 "performs the initial handshake between the dynamic linker and the auditing "
7838 "library.  When invoking this function, the dynamic linker passes, in "
7839 "I<version>, the highest version of the auditing interface that the linker "
7840 "supports.  If necessary, the auditing library can check that this version is "
7841 "sufficient for its requirements."
7842 msgstr ""
7843
7844 #. type: Plain text
7845 #: build/C/man7/rtld-audit.7:83
7846 msgid ""
7847 "As its function result, this function should return the version of the "
7848 "auditing interface that this auditing library expects to use (returning "
7849 "I<version> is acceptable).  If the returned value is 0, or a version that is "
7850 "greater than that supported by the dynamic linker, then the audit library is "
7851 "ignored."
7852 msgstr ""
7853
7854 #. type: SS
7855 #: build/C/man7/rtld-audit.7:83
7856 #, no-wrap
7857 msgid "la_objsearch()"
7858 msgstr "la_objsearch()"
7859
7860 #. type: Plain text
7861 #: build/C/man7/rtld-audit.7:88
7862 #, no-wrap
7863 msgid ""
7864 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7865 "B<                   unsigned int >I<flag>B<);>\n"
7866 msgstr ""
7867 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7868 "B<                   unsigned int >I<flag>B<);>\n"
7869
7870 #. type: Plain text
7871 #: build/C/man7/rtld-audit.7:99
7872 msgid ""
7873 "The dynamic linker invokes this function to inform the auditing library that "
7874 "it is about to search for a shared object.  The I<name> argument is the "
7875 "filename or pathname that is to be searched for.  I<cookie> identifies the "
7876 "shared object that initiated the search.  I<flag> is set to one of the "
7877 "following values:"
7878 msgstr ""
7879
7880 #. type: TP
7881 #: build/C/man7/rtld-audit.7:99
7882 #, no-wrap
7883 msgid "B<LA_SER_ORIG>"
7884 msgstr "B<LA_SER_ORIG>"
7885
7886 #. type: Plain text
7887 #: build/C/man7/rtld-audit.7:108
7888 msgid ""
7889 "This is the original name that is being searched for.  Typically, this name "
7890 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7891 "to B<dlopen>(3)."
7892 msgstr ""
7893
7894 #. type: TP
7895 #: build/C/man7/rtld-audit.7:108
7896 #, no-wrap
7897 msgid "B<LA_SER_LIBPATH>"
7898 msgstr "B<LA_SER_LIBPATH>"
7899
7900 #. type: Plain text
7901 #: build/C/man7/rtld-audit.7:113
7902 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7903 msgstr ""
7904
7905 #. type: TP
7906 #: build/C/man7/rtld-audit.7:113
7907 #, no-wrap
7908 msgid "B<LA_SER_RUNPATH>"
7909 msgstr "B<LA_SER_RUNPATH>"
7910
7911 #. type: Plain text
7912 #: build/C/man7/rtld-audit.7:121
7913 msgid ""
7914 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7915 "B<DT_RUNPATH> list."
7916 msgstr ""
7917
7918 #. type: TP
7919 #: build/C/man7/rtld-audit.7:121
7920 #, no-wrap
7921 msgid "B<LA_SER_CONFIG>"
7922 msgstr "B<LA_SER_CONFIG>"
7923
7924 #. type: Plain text
7925 #: build/C/man7/rtld-audit.7:128
7926 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
7927 msgstr ""
7928
7929 #. type: TP
7930 #: build/C/man7/rtld-audit.7:128
7931 #, no-wrap
7932 msgid "B<LA_SER_DEFAULT>"
7933 msgstr "B<LA_SER_DEFAULT>"
7934
7935 #. type: Plain text
7936 #: build/C/man7/rtld-audit.7:132
7937 msgid "I<name> was found via a search of one of the default directories."
7938 msgstr ""
7939
7940 #. type: TP
7941 #: build/C/man7/rtld-audit.7:132
7942 #, no-wrap
7943 msgid "B<LA_SER_SECURE>"
7944 msgstr "B<LA_SER_SECURE>"
7945
7946 #. type: Plain text
7947 #: build/C/man7/rtld-audit.7:136
7948 msgid "I<name> is specific to a secure object (unused on Linux)."
7949 msgstr ""
7950
7951 #. type: Plain text
7952 #: build/C/man7/rtld-audit.7:145
7953 msgid ""
7954 "As its function result, B<la_objsearch>()  returns the pathname that the "
7955 "dynamic linker should use for further processing.  If NULL is returned, then "
7956 "this pathname is ignored for further processing.  If this audit library "
7957 "simply intends to monitor search paths, then I<name> should be returned."
7958 msgstr ""
7959
7960 #. type: SS
7961 #: build/C/man7/rtld-audit.7:145
7962 #, no-wrap
7963 msgid "la_activity()"
7964 msgstr "la_activity()"
7965
7966 #. type: Plain text
7967 #: build/C/man7/rtld-audit.7:149
7968 #, no-wrap
7969 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
7970 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
7971
7972 #. type: Plain text
7973 #: build/C/man7/rtld-audit.7:158
7974 msgid ""
7975 "The dynamic linker calls this function to inform the auditing library that "
7976 "link-map activity is occurring.  I<cookie> identifies the object at the head "
7977 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
7978 "set to one of the following values:"
7979 msgstr ""
7980
7981 #. type: TP
7982 #: build/C/man7/rtld-audit.7:158
7983 #, no-wrap
7984 msgid "B<LA_ACT_ADD>"
7985 msgstr "B<LA_ACT_ADD>"
7986
7987 #. type: Plain text
7988 #: build/C/man7/rtld-audit.7:161
7989 msgid "New objects are being added to the link map."
7990 msgstr ""
7991
7992 #. type: TP
7993 #: build/C/man7/rtld-audit.7:161
7994 #, no-wrap
7995 msgid "B<LA_ACT_DELETE>"
7996 msgstr "B<LA_ACT_DELETE>"
7997
7998 #. type: Plain text
7999 #: build/C/man7/rtld-audit.7:164
8000 msgid "Objects are being removed from the link map."
8001 msgstr ""
8002
8003 #. type: TP
8004 #: build/C/man7/rtld-audit.7:164
8005 #, no-wrap
8006 msgid "B<LA_ACT_CONSISTENT>"
8007 msgstr "B<LA_ACT_CONSISTENT>"
8008
8009 #. type: Plain text
8010 #: build/C/man7/rtld-audit.7:167
8011 msgid "Link-map activity has been completed: the map is once again consistent."
8012 msgstr ""
8013
8014 #. type: SS
8015 #: build/C/man7/rtld-audit.7:167
8016 #, no-wrap
8017 msgid "la_objopen()"
8018 msgstr "la_objopen()"
8019
8020 #. type: Plain text
8021 #: build/C/man7/rtld-audit.7:172
8022 #, no-wrap
8023 msgid ""
8024 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8025 "B<                        uintptr_t *>I<cookie>B<);>\n"
8026 msgstr ""
8027 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8028 "B<                        uintptr_t *>I<cookie>B<);>\n"
8029
8030 #. type: Plain text
8031 #: build/C/man7/rtld-audit.7:181
8032 msgid ""
8033 "The dynamic linker calls this function when a new shared object is loaded.  "
8034 "The I<map> argument is a pointer to a link-map structure that describes the "
8035 "object.  The I<lmid> field has one of the following values"
8036 msgstr ""
8037
8038 #. type: TP
8039 #: build/C/man7/rtld-audit.7:181
8040 #, no-wrap
8041 msgid "B<LM_ID_BASE>"
8042 msgstr "B<LM_ID_BASE>"
8043
8044 #. type: Plain text
8045 #: build/C/man7/rtld-audit.7:184
8046 msgid "Link map is part of the initial namespace."
8047 msgstr ""
8048
8049 #. type: TP
8050 #: build/C/man7/rtld-audit.7:184
8051 #, no-wrap
8052 msgid "B<LM_ID_NEWLM>"
8053 msgstr "B<LM_ID_NEWLM>"
8054
8055 #. type: Plain text
8056 #: build/C/man7/rtld-audit.7:188
8057 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
8058 msgstr ""
8059
8060 #. type: Plain text
8061 #: build/C/man7/rtld-audit.7:196
8062 msgid ""
8063 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
8064 "provided to later calls to functions in the auditing library in order to "
8065 "identify this object.  This identifier is initialized to point to object's "
8066 "link map, but the audit library can change the identifier to some other "
8067 "value that it may prefer to use to identify the object."
8068 msgstr ""
8069
8070 #. type: Plain text
8071 #: build/C/man7/rtld-audit.7:203
8072 msgid ""
8073 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
8074 "zero or more of the following constants, which allow the auditing library to "
8075 "select the objects to be monitored by B<la_symbind*>():"
8076 msgstr ""
8077
8078 #. type: TP
8079 #: build/C/man7/rtld-audit.7:203
8080 #, no-wrap
8081 msgid "B<LA_FLG_BINDTO>"
8082 msgstr "B<LA_FLG_BINDTO>"
8083
8084 #. type: Plain text
8085 #: build/C/man7/rtld-audit.7:206
8086 msgid "Audit symbol bindings to this object."
8087 msgstr ""
8088
8089 #. type: TP
8090 #: build/C/man7/rtld-audit.7:206
8091 #, no-wrap
8092 msgid "B<LA_FLG_BINDFROM>"
8093 msgstr "B<LA_FLG_BINDFROM>"
8094
8095 #. type: Plain text
8096 #: build/C/man7/rtld-audit.7:209
8097 msgid "Audit symbol bindings from this object."
8098 msgstr ""
8099
8100 #. type: Plain text
8101 #: build/C/man7/rtld-audit.7:213
8102 msgid ""
8103 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
8104 "should be audited for this object."
8105 msgstr ""
8106
8107 #. type: SS
8108 #: build/C/man7/rtld-audit.7:213
8109 #, no-wrap
8110 msgid "la_objclose()"
8111 msgstr "la_objclose()"
8112
8113 #. type: Plain text
8114 #: build/C/man7/rtld-audit.7:217
8115 #, no-wrap
8116 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8117 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8118
8119 #. type: Plain text
8120 #: build/C/man7/rtld-audit.7:226
8121 msgid ""
8122 "The dynamic linker invokes this function after any finalization code for the "
8123 "object has been executed, before the object is unloaded.  The I<cookie> "
8124 "argument is the identifier obtained from a previous invocation of "
8125 "B<la_objopen>()."
8126 msgstr ""
8127
8128 #. type: Plain text
8129 #: build/C/man7/rtld-audit.7:230
8130 msgid ""
8131 "In the current implementation, the value returned by B<la_objclose>()  is "
8132 "ignored."
8133 msgstr ""
8134
8135 #. type: SS
8136 #: build/C/man7/rtld-audit.7:230
8137 #, no-wrap
8138 msgid "la_preinit()"
8139 msgstr "la_preinit()"
8140
8141 #. type: Plain text
8142 #: build/C/man7/rtld-audit.7:234
8143 #, no-wrap
8144 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8145 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8146
8147 #. type: Plain text
8148 #: build/C/man7/rtld-audit.7:244
8149 msgid ""
8150 "The dynamic linker invokes this function after all shared objects have been "
8151 "loaded, before control is passed to the application (i.e., before calling "
8152 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
8153 "using B<dlopen>(3)."
8154 msgstr ""
8155
8156 #. type: SS
8157 #: build/C/man7/rtld-audit.7:244
8158 #, no-wrap
8159 msgid "la_symbind*()"
8160 msgstr "la_symbind*()"
8161
8162 #. type: Plain text
8163 #: build/C/man7/rtld-audit.7:253
8164 #, no-wrap
8165 msgid ""
8166 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8167 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8168 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8169 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8170 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8171 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8172 msgstr ""
8173 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8174 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8175 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8176 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8177 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8178 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8179
8180 #. type: Plain text
8181 #: build/C/man7/rtld-audit.7:265
8182 msgid ""
8183 "The dynamic linker invokes one of these functions when a symbol binding "
8184 "occurs between two shared objects that have been marked for auditing "
8185 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
8186 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
8187 "64-bit platforms."
8188 msgstr ""
8189
8190 #. type: Plain text
8191 #: build/C/man7/rtld-audit.7:275
8192 msgid ""
8193 "The I<sym> argument is a pointer to a structure that provides information "
8194 "about the symbol being bound.  The structure definition is shown in "
8195 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
8196 "indicates the address to which the symbol is bound."
8197 msgstr ""
8198
8199 #. type: Plain text
8200 #: build/C/man7/rtld-audit.7:280
8201 msgid ""
8202 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
8203 "bound shared object."
8204 msgstr ""
8205
8206 #. type: Plain text
8207 #: build/C/man7/rtld-audit.7:295
8208 msgid ""
8209 "The I<refcook> argument identifies the shared object that is making the "
8210 "symbol reference; this is the same identifier that is provided to the "
8211 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
8212 "argument identifies the shared object that defines the referenced symbol; "
8213 "this is the same identifier that is provided to the B<la_objopen>()  "
8214 "function that returned B<LA_FLG_BINDTO>."
8215 msgstr ""
8216
8217 #. type: Plain text
8218 #: build/C/man7/rtld-audit.7:299
8219 msgid ""
8220 "The I<symname> argument points a string containing the name of the symbol."
8221 msgstr ""
8222
8223 #.  LA_SYMB_STRUCTCALL appears to be unused
8224 #. type: Plain text
8225 #: build/C/man7/rtld-audit.7:307
8226 msgid ""
8227 "The I<flags> argument is a bit mask that both provides information about the "
8228 "symbol and can be used to modify further auditing of this PLT (Procedure "
8229 "Linkage Table) entry.  The dynamic linker may supply the following bit "
8230 "values in this argument:"
8231 msgstr ""
8232
8233 #. type: TP
8234 #: build/C/man7/rtld-audit.7:307
8235 #, no-wrap
8236 msgid "B<LA_SYMB_DLSYM>"
8237 msgstr "B<LA_SYMB_DLSYM>"
8238
8239 #. type: Plain text
8240 #: build/C/man7/rtld-audit.7:311
8241 msgid "The binding resulted from a call to B<dlsym>(3)."
8242 msgstr ""
8243
8244 #. type: TP
8245 #: build/C/man7/rtld-audit.7:311
8246 #, no-wrap
8247 msgid "B<LA_SYMB_ALTVALUE>"
8248 msgstr "B<LA_SYMB_ALTVALUE>"
8249
8250 #. type: Plain text
8251 #: build/C/man7/rtld-audit.7:316
8252 msgid ""
8253 "A previous B<la_symbind*>()  call returned an alternate value for this "
8254 "symbol."
8255 msgstr ""
8256
8257 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
8258 #.  but don't seem to be called for dynamically loaded libs?
8259 #.  Is this the same on Solaris?
8260 #. type: Plain text
8261 #: build/C/man7/rtld-audit.7:330
8262 msgid ""
8263 "By default, if the auditing library implements B<la_pltenter>()  and "
8264 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
8265 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
8266 "The following flags can be ORed into I<*flags> to change this default "
8267 "behavior:"
8268 msgstr ""
8269
8270 #. type: TP
8271 #: build/C/man7/rtld-audit.7:330
8272 #, no-wrap
8273 msgid "B<LA_SYMB_NOPLTENTER>"
8274 msgstr "B<LA_SYMB_NOPLTENTER>"
8275
8276 #. type: Plain text
8277 #: build/C/man7/rtld-audit.7:335
8278 msgid "Don't call B<la_pltenter>()  for this symbol."
8279 msgstr ""
8280
8281 #. type: TP
8282 #: build/C/man7/rtld-audit.7:335
8283 #, no-wrap
8284 msgid "B<LA_SYMB_NOPLTEXIT>"
8285 msgstr "B<LA_SYMB_NOPLTEXIT>"
8286
8287 #. type: Plain text
8288 #: build/C/man7/rtld-audit.7:340
8289 msgid "Don't call B<la_pltexit>()  for this symbol."
8290 msgstr ""
8291
8292 #. type: Plain text
8293 #: build/C/man7/rtld-audit.7:351
8294 msgid ""
8295 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
8296 "to which control should be passed after the function returns.  If the "
8297 "auditing library is simply monitoring symbol bindings, then it should return "
8298 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
8299 "wishes to direct control to an alternate location."
8300 msgstr ""
8301
8302 #. type: SS
8303 #: build/C/man7/rtld-audit.7:351
8304 #, no-wrap
8305 msgid "la_pltenter()"
8306 msgstr "la_pltenter()"
8307
8308 #. type: Plain text
8309 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
8310 msgid ""
8311 "The precise name and argument types for this function depend on the hardware "
8312 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
8313 "Here is the definition for x86-32:"
8314 msgstr ""
8315
8316 #. type: Plain text
8317 #: build/C/man7/rtld-audit.7:363
8318 #, no-wrap
8319 msgid ""
8320 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8321 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8322 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8323 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8324 msgstr ""
8325 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8326 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8327 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8328 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8329
8330 #. type: Plain text
8331 #: build/C/man7/rtld-audit.7:367
8332 msgid ""
8333 "This function is invoked just before a PLT entry is called, between two "
8334 "shared objects that have been marked for binding notification."
8335 msgstr ""
8336
8337 #. type: Plain text
8338 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
8339 msgid ""
8340 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
8341 "B<la_symbind*>()."
8342 msgstr ""
8343
8344 #. type: Plain text
8345 #: build/C/man7/rtld-audit.7:384
8346 msgid ""
8347 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
8348 "containing the values of registers to be used for the call to this PLT entry."
8349 msgstr ""
8350
8351 #. type: Plain text
8352 #: build/C/man7/rtld-audit.7:390
8353 msgid ""
8354 "The I<flags> argument points to a bit mask that conveys information about, "
8355 "and can be used to modify subsequent auditing of, this PLT entry, as for "
8356 "B<la_symbind*>()."
8357 msgstr ""
8358
8359 #.  FIXME . Is the following correct?
8360 #. type: Plain text
8361 #: build/C/man7/rtld-audit.7:406
8362 msgid ""
8363 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
8364 "to explicitly set the frame size used for the call to this PLT entry.  If "
8365 "different B<la_pltenter>()  invocations for this symbol return different "
8366 "values, then the maximum returned value is used.  The B<la_pltenter>()  "
8367 "function is called only if this buffer is explicitly set to a suitable value."
8368 msgstr ""
8369
8370 #. type: Plain text
8371 #: build/C/man7/rtld-audit.7:411
8372 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
8373 msgstr ""
8374
8375 #. type: SS
8376 #: build/C/man7/rtld-audit.7:411
8377 #, no-wrap
8378 msgid "la_pltexit()"
8379 msgstr "la_pltexit()"
8380
8381 #. type: Plain text
8382 #: build/C/man7/rtld-audit.7:423
8383 #, no-wrap
8384 msgid ""
8385 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8386 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8387 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8388 "B<                 const char *>I<symname>B<);>\n"
8389 msgstr ""
8390 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8391 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8392 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8393 "B<                 const char *>I<symname>B<);>\n"
8394
8395 #. type: Plain text
8396 #: build/C/man7/rtld-audit.7:430
8397 msgid ""
8398 "This function is called when a PLT entry, made between two shared objects "
8399 "that have been marked for binding notification, returns.  The function is "
8400 "called just before control returns to the caller of the PLT entry."
8401 msgstr ""
8402
8403 #. type: Plain text
8404 #: build/C/man7/rtld-audit.7:453
8405 msgid ""
8406 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
8407 "hE<gt>>)  containing the values of registers used for the call to this PLT "
8408 "entry.  The I<outregs> argument points to a structure (defined in "
8409 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
8410 "entry.  These values can be modified by the caller, and the changes will be "
8411 "visible to the caller of the PLT entry."
8412 msgstr ""
8413
8414 #.  This differs from Solaris, where an audit library that monitors
8415 #.  symbol binding should return the value of the 'retval' argument
8416 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
8417 #.  on (say) x86-32).
8418 #. type: Plain text
8419 #: build/C/man7/rtld-audit.7:461
8420 msgid ""
8421 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
8422 "ignored."
8423 msgstr ""
8424
8425 #. type: Plain text
8426 #: build/C/man7/rtld-audit.7:467
8427 msgid ""
8428 "This API is nonstandard, but very similar to the Solaris API, described in "
8429 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
8430 "Auditing Interface>."
8431 msgstr ""
8432
8433 #. type: Plain text
8434 #: build/C/man7/rtld-audit.7:470
8435 msgid ""
8436 "Note the following differences from the Solaris dynamic linker auditing API:"
8437 msgstr ""
8438
8439 #. type: IP
8440 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
8441 #: build/C/man7/rtld-audit.7:482
8442 #, no-wrap
8443 msgid "*"
8444 msgstr "*"
8445
8446 #. type: Plain text
8447 #: build/C/man7/rtld-audit.7:474
8448 msgid ""
8449 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
8450 "implementation."
8451 msgstr ""
8452
8453 #. type: Plain text
8454 #: build/C/man7/rtld-audit.7:482
8455 msgid ""
8456 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
8457 "a I<symname> argument."
8458 msgstr ""
8459
8460 #. type: Plain text
8461 #: build/C/man7/rtld-audit.7:492
8462 msgid ""
8463 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
8464 "I<outregs> arguments (but does provide a I<retval> argument with the "
8465 "function return value)."
8466 msgstr ""
8467
8468 #.  FIXME . Specifying multiple audit libraries doesn't work on GNU.
8469 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
8470 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
8471 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
8472 #. type: Plain text
8473 #: build/C/man7/rtld-audit.7:502
8474 msgid ""
8475 "In glibc versions up to and include 2.9, specifying more than one audit "
8476 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
8477 "fixed in glibc 2.10."
8478 msgstr ""
8479
8480 #. type: Plain text
8481 #: build/C/man7/rtld-audit.7:506
8482 #, no-wrap
8483 msgid ""
8484 "#include E<lt>link.hE<gt>\n"
8485 "#include E<lt>stdio.hE<gt>\n"
8486 msgstr ""
8487 "#include E<lt>link.hE<gt>\n"
8488 "#include E<lt>stdio.hE<gt>\n"
8489
8490 #. type: Plain text
8491 #: build/C/man7/rtld-audit.7:511
8492 #, no-wrap
8493 msgid ""
8494 "unsigned int\n"
8495 "la_version(unsigned int version)\n"
8496 "{\n"
8497 "    printf(\"la_version(): %d\\en\", version);\n"
8498 msgstr ""
8499 "unsigned int\n"
8500 "la_version(unsigned int version)\n"
8501 "{\n"
8502 "    printf(\"la_version(): %d\\en\", version);\n"
8503
8504 #. type: Plain text
8505 #: build/C/man7/rtld-audit.7:514
8506 #, no-wrap
8507 msgid ""
8508 "    return version;\n"
8509 "}\n"
8510 msgstr ""
8511 "    return version;\n"
8512 "}\n"
8513
8514 #. type: Plain text
8515 #: build/C/man7/rtld-audit.7:527
8516 #, no-wrap
8517 msgid ""
8518 "char *\n"
8519 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8520 "{\n"
8521 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8522 "    printf(\"; flag = %s\\en\",\n"
8523 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8524 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8525 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8526 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8527 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8528 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8529 "            \"???\");\n"
8530 msgstr ""
8531 "char *\n"
8532 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8533 "{\n"
8534 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8535 "    printf(\"; flag = %s\\en\",\n"
8536 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8537 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8538 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8539 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8540 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8541 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8542 "            \"???\");\n"
8543
8544 #. type: Plain text
8545 #: build/C/man7/rtld-audit.7:530
8546 #, no-wrap
8547 msgid ""
8548 "    return name;\n"
8549 "}\n"
8550 msgstr ""
8551 "    return name;\n"
8552 "}\n"
8553
8554 #. type: Plain text
8555 #: build/C/man7/rtld-audit.7:540
8556 #, no-wrap
8557 msgid ""
8558 "void\n"
8559 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8560 "{\n"
8561 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8562 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8563 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8564 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8565 "            \"???\");\n"
8566 "}\n"
8567 msgstr ""
8568 "void\n"
8569 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8570 "{\n"
8571 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8572 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8573 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8574 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8575 "            \"???\");\n"
8576 "}\n"
8577
8578 #. type: Plain text
8579 #: build/C/man7/rtld-audit.7:550
8580 #, no-wrap
8581 msgid ""
8582 "unsigned int\n"
8583 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8584 "{\n"
8585 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8586 "            map-E<gt>l_name,\n"
8587 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8588 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8589 "            \"???\",\n"
8590 "            cookie);\n"
8591 msgstr ""
8592 "unsigned int\n"
8593 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8594 "{\n"
8595 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8596 "            map-E<gt>l_name,\n"
8597 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8598 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8599 "            \"???\",\n"
8600 "            cookie);\n"
8601
8602 #. type: Plain text
8603 #: build/C/man7/rtld-audit.7:553
8604 #, no-wrap
8605 msgid ""
8606 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8607 "}\n"
8608 msgstr ""
8609 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8610 "}\n"
8611
8612 #. type: Plain text
8613 #: build/C/man7/rtld-audit.7:558
8614 #, no-wrap
8615 msgid ""
8616 "unsigned int\n"
8617 "la_objclose (uintptr_t *cookie)\n"
8618 "{\n"
8619 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8620 msgstr ""
8621 "unsigned int\n"
8622 "la_objclose (uintptr_t *cookie)\n"
8623 "{\n"
8624 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8625
8626 #. type: Plain text
8627 #: build/C/man7/rtld-audit.7:561
8628 #, no-wrap
8629 msgid ""
8630 "    return 0;\n"
8631 "}\n"
8632 msgstr ""
8633 "    return 0;\n"
8634 "}\n"
8635
8636 #. type: Plain text
8637 #: build/C/man7/rtld-audit.7:567
8638 #, no-wrap
8639 msgid ""
8640 "void\n"
8641 "la_preinit(uintptr_t *cookie)\n"
8642 "{\n"
8643 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8644 "}\n"
8645 msgstr ""
8646 "void\n"
8647 "la_preinit(uintptr_t *cookie)\n"
8648 "{\n"
8649 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8650 "}\n"
8651
8652 #. type: Plain text
8653 #: build/C/man7/rtld-audit.7:576
8654 #, no-wrap
8655 msgid ""
8656 "uintptr_t\n"
8657 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8658 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8659 "{\n"
8660 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8661 "            symname, sym-E<gt>st_value);\n"
8662 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8663 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8664 msgstr ""
8665 "uintptr_t\n"
8666 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8667 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8668 "{\n"
8669 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8670 "            symname, sym-E<gt>st_value);\n"
8671 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8672 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8673
8674 #. type: Plain text
8675 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
8676 #: build/C/man7/rtld-audit.7:601
8677 #, no-wrap
8678 msgid ""
8679 "    return sym-E<gt>st_value;\n"
8680 "}\n"
8681 msgstr ""
8682 "    return sym-E<gt>st_value;\n"
8683 "}\n"
8684
8685 #. type: Plain text
8686 #: build/C/man7/rtld-audit.7:588
8687 #, no-wrap
8688 msgid ""
8689 "uintptr_t\n"
8690 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8691 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8692 "{\n"
8693 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8694 "            symname, sym-E<gt>st_value);\n"
8695 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8696 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8697 msgstr ""
8698 "uintptr_t\n"
8699 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8700 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8701 "{\n"
8702 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8703 "            symname, sym-E<gt>st_value);\n"
8704 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8705 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8706
8707 #. type: Plain text
8708 #: build/C/man7/rtld-audit.7:598
8709 #, no-wrap
8710 msgid ""
8711 "Elf32_Addr\n"
8712 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8713 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8714 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8715 "{\n"
8716 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8717 msgstr ""
8718 "Elf32_Addr\n"
8719 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8720 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8721 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8722 "{\n"
8723 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8724
8725 #. type: Plain text
8726 #: build/C/man7/rtld-audit.7:607
8727 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8728 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8729
8730 #. type: TH
8731 #: build/C/man8/sln.8:25
8732 #, no-wrap
8733 msgid "SLN"
8734 msgstr "SLN"
8735
8736 #. type: TH
8737 #: build/C/man8/sln.8:25
8738 #, no-wrap
8739 msgid "2013-02-10"
8740 msgstr "2013-02-10"
8741
8742 #. type: Plain text
8743 #: build/C/man8/sln.8:28
8744 msgid "sln - create symbolic links"
8745 msgstr "sln - シンボリックリンクを作成する"
8746
8747 #. type: Plain text
8748 #: build/C/man8/sln.8:30
8749 msgid "B<sln>I< source dest>"
8750 msgstr "B<sln>I< source dest>"
8751
8752 #. type: Plain text
8753 #: build/C/man8/sln.8:32
8754 msgid "B<sln>I< filelist>"
8755 msgstr "B<sln>I< filelist>"
8756
8757 #. type: Plain text
8758 #: build/C/man8/sln.8:42
8759 msgid ""
8760 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
8761 "is statically linked.  This means that if for some reason the dynamic linker "
8762 "is not working, B<sln> can be used to make symbolic links to dynamic "
8763 "libraries."
8764 msgstr ""
8765 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
8766 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
8767 "カが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリンク"
8768 "を作成することができる。"
8769
8770 #. type: Plain text
8771 #: build/C/man8/sln.8:48
8772 msgid ""
8773 "The command line has two forms.  In the first form, it creates I<dest> as a "
8774 "new symbolic link to I<source>."
8775 msgstr ""
8776 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
8777 "クリンクとして I<dest> を作成する。"
8778
8779 #. type: Plain text
8780 #: build/C/man8/sln.8:56
8781 msgid ""
8782 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
8783 "and the effect is as if B<sln> was executed once for each line of the file, "
8784 "with the two pathnames as the arguments."
8785 msgstr ""
8786 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
8787 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
8788 "のと同じ結果となる。"
8789
8790 #. type: Plain text
8791 #: build/C/man8/sln.8:60
8792 msgid "The B<sln> program supports no command-line options."
8793 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
8794
8795 #. type: Plain text
8796 #: build/C/man8/sln.8:64
8797 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8798 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8799
8800 #. type: TH
8801 #: build/C/man1/sprof.1:25
8802 #, no-wrap
8803 msgid "SPROF"
8804 msgstr "SPROF"
8805
8806 #. type: TH
8807 #: build/C/man1/sprof.1:25
8808 #, no-wrap
8809 msgid "2014-06-24"
8810 msgstr "2014-06-24"
8811
8812 #. type: Plain text
8813 #: build/C/man1/sprof.1:28
8814 msgid "sprof - read and display shared object profiling data"
8815 msgstr ""
8816
8817 #. type: Plain text
8818 #: build/C/man1/sprof.1:32
8819 #, no-wrap
8820 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8821 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8822
8823 #. type: Plain text
8824 #: build/C/man1/sprof.1:46
8825 msgid ""
8826 "The B<sprof> command displays a profiling summary for the shared object "
8827 "specified as its first command-line argument.  The profiling summary is "
8828 "created using previously generated profiling data in the (optional) second "
8829 "command-line argument.  If the profiling data pathname is omitted, then "
8830 "B<sprof> will attempt to deduce it using the soname of the shared object, "
8831 "looking for a file with the name I<E<lt>sonameE<gt>.profile> in the current "
8832 "directory."
8833 msgstr ""
8834
8835 #. type: Plain text
8836 #: build/C/man1/sprof.1:49
8837 msgid ""
8838 "The following command-line options specify the profile output to be produced:"
8839 msgstr ""
8840
8841 #. type: TP
8842 #: build/C/man1/sprof.1:49
8843 #, no-wrap
8844 msgid "B<-c>, B<--call-pairs>"
8845 msgstr "B<-c>, B<--call-pairs>"
8846
8847 #. type: Plain text
8848 #: build/C/man1/sprof.1:54
8849 msgid ""
8850 "Print a list of pairs of call paths for the interfaces exported by the "
8851 "shared object, along with the number of times each path is used."
8852 msgstr ""
8853
8854 #. type: TP
8855 #: build/C/man1/sprof.1:54
8856 #, no-wrap
8857 msgid "B<-p>, B<--flat-profile>"
8858 msgstr "B<-p>, B<--flat-profile>"
8859
8860 #. type: Plain text
8861 #: build/C/man1/sprof.1:58
8862 msgid ""
8863 "Generate a flat profile of all of the functions in the monitored object, "
8864 "with counts and ticks."
8865 msgstr ""
8866
8867 #. type: TP
8868 #: build/C/man1/sprof.1:58
8869 #, no-wrap
8870 msgid "B<-q>, B<--graph>"
8871 msgstr "B<-q>, B<--graph>"
8872
8873 #. type: Plain text
8874 #: build/C/man1/sprof.1:61
8875 msgid "Generate a call graph."
8876 msgstr ""
8877
8878 #. type: Plain text
8879 #: build/C/man1/sprof.1:64
8880 msgid ""
8881 "If none of the above options is specified, then the default behavior is to "
8882 "display a flat profile and a call graph."
8883 msgstr ""
8884
8885 #. type: Plain text
8886 #: build/C/man1/sprof.1:66
8887 msgid "The following additional command-line options are available:"
8888 msgstr ""
8889
8890 #. type: Plain text
8891 #: build/C/man1/sprof.1:69
8892 msgid "Display a summary of command-line options and arguments and exit."
8893 msgstr ""
8894
8895 #. type: Plain text
8896 #: build/C/man1/sprof.1:72
8897 msgid "Display a short usage message and exit."
8898 msgstr ""
8899
8900 #. type: Plain text
8901 #: build/C/man1/sprof.1:75
8902 msgid "Display the program version and exit."
8903 msgstr ""
8904
8905 #. type: Plain text
8906 #: build/C/man1/sprof.1:79
8907 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
8908 msgstr ""
8909
8910 #. type: Plain text
8911 #: build/C/man1/sprof.1:85
8912 msgid ""
8913 "The following example demonstrates the use of B<sprof>.  The example "
8914 "consists of a main program that calls two functions in a shared library.  "
8915 "First, the code of the main program:"
8916 msgstr ""
8917
8918 #. type: Plain text
8919 #: build/C/man1/sprof.1:90
8920 #, no-wrap
8921 msgid ""
8922 "$ B<cat prog.c>\n"
8923 "#include E<lt>stdlib.hE<gt>\n"
8924 msgstr ""
8925 "$ B<cat prog.c>\n"
8926 "#include E<lt>stdlib.hE<gt>\n"
8927
8928 #. type: Plain text
8929 #: build/C/man1/sprof.1:93
8930 #, no-wrap
8931 msgid ""
8932 "void x1(void);\n"
8933 "void x2(void);\n"
8934 msgstr ""
8935 "void x1(void);\n"
8936 "void x2(void);\n"
8937
8938 #. type: Plain text
8939 #: build/C/man1/sprof.1:101
8940 #, no-wrap
8941 msgid ""
8942 "int\n"
8943 "main(int argc, char *argv[])\n"
8944 "{\n"
8945 "    x1();\n"
8946 "    x2();\n"
8947 "    exit(EXIT_SUCCESS);\n"
8948 "}\n"
8949 msgstr ""
8950 "int\n"
8951 "main(int argc, char *argv[])\n"
8952 "{\n"
8953 "    x1();\n"
8954 "    x2();\n"
8955 "    exit(EXIT_SUCCESS);\n"
8956 "}\n"
8957
8958 #. type: Plain text
8959 #: build/C/man1/sprof.1:110
8960 msgid ""
8961 "The functions I<x1()> and I<x2()> are defined in the following source file "
8962 "that is used to construct the shared library:"
8963 msgstr ""
8964
8965 #. type: Plain text
8966 #: build/C/man1/sprof.1:115
8967 #, no-wrap
8968 msgid ""
8969 "$ B<cat libdemo.c>\n"
8970 "#include E<lt>unistd.hE<gt>\n"
8971 msgstr ""
8972 "$ B<cat libdemo.c>\n"
8973 "#include E<lt>unistd.hE<gt>\n"
8974
8975 #. type: Plain text
8976 #: build/C/man1/sprof.1:120
8977 #, no-wrap
8978 msgid ""
8979 "void\n"
8980 "consumeCpu1(int lim)\n"
8981 "{\n"
8982 "    int j;\n"
8983 msgstr ""
8984 "void\n"
8985 "consumeCpu1(int lim)\n"
8986 "{\n"
8987 "    int j;\n"
8988
8989 #. type: Plain text
8990 #: build/C/man1/sprof.1:124 build/C/man1/sprof.1:141
8991 #, no-wrap
8992 msgid ""
8993 "    for (j = 0; j E<lt> lim; j++)\n"
8994 "\tgetppid();\n"
8995 "}\n"
8996 msgstr ""
8997 "    for (j = 0; j E<lt> lim; j++)\n"
8998 "\tgetppid();\n"
8999 "}\n"
9000
9001 #. type: Plain text
9002 #: build/C/man1/sprof.1:128
9003 #, no-wrap
9004 msgid ""
9005 "void\n"
9006 "x1(void) {\n"
9007 "    int j;\n"
9008 msgstr ""
9009 "void\n"
9010 "x1(void) {\n"
9011 "    int j;\n"
9012
9013 #. type: Plain text
9014 #: build/C/man1/sprof.1:132
9015 #, no-wrap
9016 msgid ""
9017 "    for (j = 0; j E<lt> 100; j++)\n"
9018 "\tconsumeCpu1(200000);\n"
9019 "}\n"
9020 msgstr ""
9021 "    for (j = 0; j E<lt> 100; j++)\n"
9022 "\tconsumeCpu1(200000);\n"
9023 "}\n"
9024
9025 #. type: Plain text
9026 #: build/C/man1/sprof.1:137
9027 #, no-wrap
9028 msgid ""
9029 "void\n"
9030 "consumeCpu2(int lim)\n"
9031 "{\n"
9032 "    int j;\n"
9033 msgstr ""
9034 "void\n"
9035 "consumeCpu2(int lim)\n"
9036 "{\n"
9037 "    int j;\n"
9038
9039 #. type: Plain text
9040 #: build/C/man1/sprof.1:146
9041 #, no-wrap
9042 msgid ""
9043 "void\n"
9044 "x2(void)\n"
9045 "{\n"
9046 "    int j;\n"
9047 msgstr ""
9048 "void\n"
9049 "x2(void)\n"
9050 "{\n"
9051 "    int j;\n"
9052
9053 #. type: Plain text
9054 #: build/C/man1/sprof.1:150
9055 #, no-wrap
9056 msgid ""
9057 "    for (j = 0; j E<lt> 1000; j++)\n"
9058 "\tconsumeCpu2(10000);\n"
9059 "}\n"
9060 msgstr ""
9061 "    for (j = 0; j E<lt> 1000; j++)\n"
9062 "\tconsumeCpu2(10000);\n"
9063 "}\n"
9064
9065 #. type: Plain text
9066 #: build/C/man1/sprof.1:157
9067 msgid ""
9068 "Now we construct the shared library with the real name I<libdemo.so.1.0.1>, "
9069 "and the soname I<libdemo.so.1>:"
9070 msgstr ""
9071
9072 #. type: Plain text
9073 #: build/C/man1/sprof.1:162
9074 #, no-wrap
9075 msgid ""
9076 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9077 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9078 msgstr ""
9079 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9080 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9081
9082 #. type: Plain text
9083 #: build/C/man1/sprof.1:167
9084 msgid ""
9085 "Then we construct symbolic links for the library soname and the library "
9086 "linker name:"
9087 msgstr ""
9088
9089 #. type: Plain text
9090 #: build/C/man1/sprof.1:172
9091 #, no-wrap
9092 msgid ""
9093 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9094 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9095 msgstr ""
9096 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9097 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9098
9099 #. type: Plain text
9100 #: build/C/man1/sprof.1:177
9101 msgid ""
9102 "Next, we compile the main program, linking it against the shared library, "
9103 "and then list the dynamic dependencies of the program:"
9104 msgstr ""
9105
9106 #. type: Plain text
9107 #: build/C/man1/sprof.1:186
9108 #, no-wrap
9109 msgid ""
9110 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9111 "$ B<ldd prog>\n"
9112 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9113 "\tlibdemo.so.1 =E<gt> not found\n"
9114 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9115 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9116 msgstr ""
9117 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9118 "$ B<ldd prog>\n"
9119 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9120 "\tlibdemo.so.1 =E<gt> not found\n"
9121 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9122 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9123
9124 #. type: Plain text
9125 #: build/C/man1/sprof.1:193
9126 msgid ""
9127 "In order to get profiling information for the shared library, we define the "
9128 "environment variable B<LD_PROFILE> with the soname of the library:"
9129 msgstr ""
9130
9131 #. type: Plain text
9132 #: build/C/man1/sprof.1:197
9133 #, no-wrap
9134 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
9135 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
9136
9137 #. type: Plain text
9138 #: build/C/man1/sprof.1:204
9139 msgid ""
9140 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
9141 "pathname of the directory where profile output should be written, and create "
9142 "that directory if it does not exist already:"
9143 msgstr ""
9144
9145 #. type: Plain text
9146 #: build/C/man1/sprof.1:209
9147 #, no-wrap
9148 msgid ""
9149 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9150 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9151 msgstr ""
9152 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9153 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9154
9155 #. type: Plain text
9156 #: build/C/man1/sprof.1:217
9157 msgid ""
9158 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
9159 "if it already exists, so we ensure that there is no preexisting profiling "
9160 "data:"
9161 msgstr ""
9162
9163 #. type: Plain text
9164 #: build/C/man1/sprof.1:221
9165 #, no-wrap
9166 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9167 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9168
9169 #. type: Plain text
9170 #: build/C/man1/sprof.1:227
9171 msgid ""
9172 "We then run the program to produce the profiling output, which is written to "
9173 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
9174 msgstr ""
9175
9176 #. type: Plain text
9177 #: build/C/man1/sprof.1:233
9178 #, no-wrap
9179 msgid ""
9180 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9181 "$ B<ls prof_data>\n"
9182 "libdemo.so.1.profile\n"
9183 msgstr ""
9184 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9185 "$ B<ls prof_data>\n"
9186 "libdemo.so.1.profile\n"
9187
9188 #. type: Plain text
9189 #: build/C/man1/sprof.1:239
9190 msgid ""
9191 "We then use the B<sprof -p> option to generate a flat profile with counts "
9192 "and ticks:"
9193 msgstr ""
9194
9195 #. type: Plain text
9196 #: build/C/man1/sprof.1:244
9197 #, no-wrap
9198 msgid ""
9199 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9200 "Flat profile:\n"
9201 msgstr ""
9202 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9203 "Flat profile:\n"
9204
9205 #. type: Plain text
9206 #: build/C/man1/sprof.1:252
9207 #, no-wrap
9208 msgid ""
9209 "Each sample counts as 0.01 seconds.\n"
9210 "  %   cumulative   self              self     total\n"
9211 " time   seconds   seconds    calls  us/call  us/call  name\n"
9212 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9213 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9214 "  0.00      0.10     0.00        1     0.00           x1\n"
9215 "  0.00      0.10     0.00        1     0.00           x2\n"
9216 msgstr ""
9217 "Each sample counts as 0.01 seconds.\n"
9218 "  %   cumulative   self              self     total\n"
9219 " time   seconds   seconds    calls  us/call  us/call  name\n"
9220 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9221 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9222 "  0.00      0.10     0.00        1     0.00           x1\n"
9223 "  0.00      0.10     0.00        1     0.00           x2\n"
9224
9225 #. type: Plain text
9226 #: build/C/man1/sprof.1:258
9227 msgid "The B<sprof -q> option generates a call graph:"
9228 msgstr ""
9229
9230 #. type: Plain text
9231 #: build/C/man1/sprof.1:262
9232 #, no-wrap
9233 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9234 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9235
9236 #. type: Plain text
9237 #: build/C/man1/sprof.1:264
9238 #, no-wrap
9239 msgid "index % time    self  children    called     name\n"
9240 msgstr "index % time    self  children    called     name\n"
9241
9242 #. type: Plain text
9243 #: build/C/man1/sprof.1:279
9244 #, no-wrap
9245 msgid ""
9246 "                0.00    0.00      100/100         x1 [1]\n"
9247 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9248 "-----------------------------------------------\n"
9249 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9250 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9251 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9252 "-----------------------------------------------\n"
9253 "                0.00    0.00     1000/1000        x2 [3]\n"
9254 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9255 "-----------------------------------------------\n"
9256 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9257 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9258 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9259 "-----------------------------------------------\n"
9260 msgstr ""
9261 "                0.00    0.00      100/100         x1 [1]\n"
9262 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9263 "-----------------------------------------------\n"
9264 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9265 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9266 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9267 "-----------------------------------------------\n"
9268 "                0.00    0.00     1000/1000        x2 [3]\n"
9269 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9270 "-----------------------------------------------\n"
9271 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9272 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9273 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9274 "-----------------------------------------------\n"
9275
9276 #. type: Plain text
9277 #: build/C/man1/sprof.1:285
9278 msgid ""
9279 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
9280 "that are outside of the profiled object (in this example, these are "
9281 "instances of I<main()>)."
9282 msgstr ""
9283
9284 #. type: Plain text
9285 #: build/C/man1/sprof.1:289
9286 msgid ""
9287 "The B<sprof -c> option generates a list of call pairs and the number of "
9288 "their occurrences:"
9289 msgstr ""
9290
9291 #. type: Plain text
9292 #: build/C/man1/sprof.1:297
9293 #, no-wrap
9294 msgid ""
9295 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9296 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9297 "x1                         consumeCpu1                      100\n"
9298 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9299 "x2                         consumeCpu2                     1000\n"
9300 msgstr ""
9301 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9302 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9303 "x1                         consumeCpu1                      100\n"
9304 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9305 "x2                         consumeCpu2                     1000\n"
9306
9307 #. type: Plain text
9308 #: build/C/man1/sprof.1:303
9309 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9310 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9311
9312 #~ msgid "2012-07-16"
9313 #~ msgstr "2012-07-16"
9314
9315 #~ msgid ""
9316 #~ "The standard version of B<ldd> comes with glibc2.  Libc5 came with an "
9317 #~ "older version, still present on some systems.  The long options are not "
9318 #~ "supported by the libc5 version.  On the other hand, the glibc2 version "
9319 #~ "does not support B<-V> and only has the equivalent B<--version>."
9320 #~ msgstr ""
9321 #~ "標準的なバージョンの B<ldd> は glibc2 に付属している。 libc5 には古いバー"
9322 #~ "ジョンのものが付属しており、 これが入っているシステムもまだ存在する。 "
9323 #~ "libc5 バージョンではロングオプションがサポートされていない。 一方、glibc2 "
9324 #~ "バージョンでは B<-V> をサポートしておらず、これと同じ意味の B<--version> "
9325 #~ "しかサポートしていない。"
9326
9327 #~ msgid ""
9328 #~ "The libc5 version of this program will use the name of a library given on "
9329 #~ "the command line as-is when it contains a \\(aq/\\(aq; otherwise it "
9330 #~ "searches for the library in the standard locations.  To run it on a "
9331 #~ "shared library in the current directory, prefix the name with \"./\"."
9332 #~ msgstr ""
9333 #~ "libc5 バージョンのプログラムでは、 コマンドラインで与えられたライブラリ名"
9334 #~ "に \\(aq/\\(aq が含まれている場合は、ライブラリ名をそのまま用いる。 \\(aq/"
9335 #~ "\\(aq が含まれていない場合は、標準的なパスからライブラリを検索する。 カレ"
9336 #~ "ントディレクトリにある共有ライブラリに対して実行するには、 名前にプレ"
9337 #~ "フィックス \"./\" を付けること。"
9338
9339 #~ msgid "B<ld.so>(8), B<ldconfig>(8)"
9340 #~ msgstr "B<ld.so>(8), B<ldconfig>(8)"