OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[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-02-04 23:30+0900\n"
10 "PO-Revision-Date: 2015-01-30 17:19+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
223 #. type: Plain text
224 #: build/C/man3/dl_iterate_phdr.3:126
225 msgid "These program headers are structures of the following form:"
226 msgstr "これらのプログラムヘッダーは以下のような形式の構造体である:"
227
228 #. type: Plain text
229 #: build/C/man3/dl_iterate_phdr.3:139
230 #, no-wrap
231 msgid ""
232 "typedef struct {\n"
233 "    Elf32_Word  p_type;    /* Segment type */\n"
234 "    Elf32_Off   p_offset;  /* Segment file offset */\n"
235 "    Elf32_Addr  p_vaddr;   /* Segment virtual address */\n"
236 "    Elf32_Addr  p_paddr;   /* Segment physical address */\n"
237 "    Elf32_Word  p_filesz;  /* Segment size in file */\n"
238 "    Elf32_Word  p_memsz;   /* Segment size in memory */\n"
239 "    Elf32_Word  p_flags;   /* Segment flags */\n"
240 "    Elf32_Word  p_align;   /* Segment alignment */\n"
241 "} Elf32_Phdr;\n"
242 msgstr ""
243 "typedef struct\n"
244 "{\n"
245 "    Elf32_Word  p_type;    /* セグメントの型 */\n"
246 "    Elf32_Off   p_offset;  /* セグメントのファイルオフセット */\n"
247 "    Elf32_Addr  p_vaddr;   /* セグメントの仮想アドレス */\n"
248 "    Elf32_Addr  p_paddr;   /* セグメントの物理アドレス */\n"
249 "    Elf32_Word  p_filesz;  /* ファイルにおけるセグメントサイズ */\n"
250 "    Elf32_Word  p_memsz;   /* メモリーにおけるセグメントサイズ */\n"
251 "    Elf32_Word  p_flags;   /* セグメントフラグ */\n"
252 "    Elf32_Word  p_align;   /* セグメントの配置 (alignment) */\n"
253 "} Elf32_Phdr;\n"
254
255 #. type: Plain text
256 #: build/C/man3/dl_iterate_phdr.3:145
257 msgid ""
258 "Note that we can calculate the location of a particular program header, "
259 "I<x>, in virtual memory using the formula:"
260 msgstr ""
261 "特定のプログラムヘッダー I<x> の仮想メモリーにおける位置は、以下の式で計算で"
262 "きる点に注意すること:"
263
264 #. type: Plain text
265 #: build/C/man3/dl_iterate_phdr.3:148
266 #, no-wrap
267 msgid "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
268 msgstr "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
269
270 #. type: SH
271 #: build/C/man3/dl_iterate_phdr.3:149
272 #, no-wrap
273 msgid "RETURN VALUE"
274 msgstr "返り値"
275
276 #. type: Plain text
277 #: build/C/man3/dl_iterate_phdr.3:154
278 msgid ""
279 "The B<dl_iterate_phdr>()  function returns whatever value was returned by "
280 "the last call to I<callback>."
281 msgstr ""
282 "B<dl_iterate_phdr>()  関数は最後の I<callback> の呼び出しで返された値を返す。"
283
284 #. type: SH
285 #: build/C/man3/dl_iterate_phdr.3:154 build/C/man1/pldd.1:50
286 #, no-wrap
287 msgid "VERSIONS"
288 msgstr "バージョン"
289
290 #. type: Plain text
291 #: build/C/man3/dl_iterate_phdr.3:157
292 msgid "B<dl_iterate_phdr>()  has been supported in glibc since version 2.2.4."
293 msgstr ""
294 "B<dl_iterate_phdr>()  は glibc のバージョン 2.2.4 以降でサポートされている。"
295
296 #. type: SH
297 #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381
298 #: build/C/man3/end.3:50 build/C/man1/pldd.1:53 build/C/man7/rtld-audit.7:461
299 #: build/C/man1/sprof.1:75
300 #, no-wrap
301 msgid "CONFORMING TO"
302 msgstr "準拠"
303
304 #. type: Plain text
305 #: build/C/man3/dl_iterate_phdr.3:161
306 msgid ""
307 "The B<dl_iterate_phdr>()  function is Linux-specific and should be avoided "
308 "in portable applications."
309 msgstr ""
310 "B<dl_iterate_phdr>()  関数は Linux 固有であり、移植を考えたアプリケーションで"
311 "は避けるべきである。"
312
313 #. type: SH
314 #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446
315 #: build/C/man3/end.3:76 build/C/man1/memusage.1:201
316 #: build/C/man1/memusagestat.1:81 build/C/man1/pldd.1:71
317 #: build/C/man7/rtld-audit.7:502 build/C/man1/sprof.1:79
318 #, no-wrap
319 msgid "EXAMPLE"
320 msgstr "例"
321
322 #. type: Plain text
323 #: build/C/man3/dl_iterate_phdr.3:166
324 msgid ""
325 "The following program displays a list of pathnames of the shared objects it "
326 "has loaded.  For each shared object, the program lists the virtual addresses "
327 "at which the object's ELF segments are loaded."
328 msgstr ""
329 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
330 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
331 "ロードされた 仮想アドレスの一覧を表示する。"
332
333 #. type: Plain text
334 #: build/C/man3/dl_iterate_phdr.3:172
335 #, no-wrap
336 msgid ""
337 "#define _GNU_SOURCE\n"
338 "#include E<lt>link.hE<gt>\n"
339 "#include E<lt>stdlib.hE<gt>\n"
340 "#include E<lt>stdio.hE<gt>\n"
341 msgstr ""
342 "#define _GNU_SOURCE\n"
343 "#include E<lt>link.hE<gt>\n"
344 "#include E<lt>stdlib.hE<gt>\n"
345 "#include E<lt>stdio.hE<gt>\n"
346
347 #. type: Plain text
348 #: build/C/man3/dl_iterate_phdr.3:177
349 #, no-wrap
350 msgid ""
351 "static int\n"
352 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
353 "{\n"
354 "    int j;\n"
355 msgstr ""
356 "static int\n"
357 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
358 "{\n"
359 "    int j;\n"
360
361 #. type: Plain text
362 #: build/C/man3/dl_iterate_phdr.3:180
363 #, no-wrap
364 msgid ""
365 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
366 "        info-E<gt>dlpi_phnum);\n"
367 msgstr ""
368 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
369 "        info-E<gt>dlpi_phnum);\n"
370
371 #. type: Plain text
372 #: build/C/man3/dl_iterate_phdr.3:186
373 #, no-wrap
374 msgid ""
375 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
376 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
377 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
378 "    return 0;\n"
379 "}\n"
380 msgstr ""
381 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
382 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
383 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
384 "    return 0;\n"
385 "}\n"
386
387 #. type: Plain text
388 #: build/C/man3/dl_iterate_phdr.3:191
389 #, no-wrap
390 msgid ""
391 "int\n"
392 "main(int argc, char *argv[])\n"
393 "{\n"
394 "    dl_iterate_phdr(callback, NULL);\n"
395 msgstr ""
396 "int\n"
397 "main(int argc, char *argv[])\n"
398 "{\n"
399 "    dl_iterate_phdr(callback, NULL);\n"
400
401 #. type: Plain text
402 #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107
403 #, no-wrap
404 msgid ""
405 "    exit(EXIT_SUCCESS);\n"
406 "}\n"
407 msgstr ""
408 "    exit(EXIT_SUCCESS);\n"
409 "}\n"
410
411 #. type: SH
412 #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521
413 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:489
414 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108
415 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
416 #: build/C/man1/mtrace.1:61 build/C/man1/pldd.1:91
417 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60
418 #: build/C/man1/sprof.1:299
419 #, no-wrap
420 msgid "SEE ALSO"
421 msgstr "関連項目"
422
423 #. type: Plain text
424 #: build/C/man3/dl_iterate_phdr.3:202
425 msgid ""
426 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
427 msgstr ""
428 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
429
430 #. type: Plain text
431 #: build/C/man3/dl_iterate_phdr.3:205
432 msgid ""
433 "I<Executable and Linking Format Specification>, available at various "
434 "locations online."
435 msgstr ""
436 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
437 "Specification>"
438
439 #. type: SH
440 #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:531
441 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:505
442 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:113
443 #: build/C/man1/memusage.1:275 build/C/man1/memusagestat.1:91
444 #: build/C/man1/mtrace.1:64 build/C/man1/pldd.1:96
445 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64
446 #: build/C/man1/sprof.1:303
447 #, no-wrap
448 msgid "COLOPHON"
449 msgstr "この文書について"
450
451 #. type: Plain text
452 #: build/C/man3/dl_iterate_phdr.3:213 build/C/man3/dlopen.3:539
453 #: build/C/man5/elf.5:1971 build/C/man3/end.3:121 build/C/man8/ld.so.8:513
454 #: build/C/man8/ldconfig.8:186 build/C/man1/ldd.1:121
455 #: build/C/man1/memusage.1:283 build/C/man1/memusagestat.1:99
456 #: build/C/man1/mtrace.1:72 build/C/man1/pldd.1:104
457 #: build/C/man7/rtld-audit.7:615 build/C/man8/sln.8:72
458 #: build/C/man1/sprof.1:311
459 #, fuzzy
460 #| msgid ""
461 #| "This page is part of release 3.78 of the Linux I<man-pages> project.  A "
462 #| "description of the project, information about reporting bugs, and the "
463 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
464 #| "man-pages/."
465 msgid ""
466 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
467 "description of the project, information about reporting bugs, and the latest "
468 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
469 "pages/."
470 msgstr ""
471 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
472 "である。プロジェクトの説明とバグ報告に関する情報は\n"
473 "http://www.kernel.org/doc/man-pages/ に書かれている。"
474
475 #. type: TH
476 #: build/C/man3/dlopen.3:35
477 #, no-wrap
478 msgid "DLOPEN"
479 msgstr "DLOPEN"
480
481 #. type: TH
482 #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14
483 #, no-wrap
484 msgid "2014-10-02"
485 msgstr "2014-10-02"
486
487 #. type: TH
488 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
489 #: build/C/man1/sprof.1:25
490 #, no-wrap
491 msgid "Linux"
492 msgstr "Linux"
493
494 #. type: Plain text
495 #: build/C/man3/dlopen.3:39
496 msgid ""
497 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
498 "dynamic linking loader"
499 msgstr ""
500 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダーへの プログラミング"
501 "インターフェース"
502
503 #. type: Plain text
504 #: build/C/man3/dlopen.3:41
505 msgid "B<#include E<lt>dlfcn.hE<gt>>"
506 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
507
508 #. type: Plain text
509 #: build/C/man3/dlopen.3:43
510 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
511 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
512
513 #. type: Plain text
514 #: build/C/man3/dlopen.3:45
515 msgid "B<char *dlerror(void);>"
516 msgstr "B<char *dlerror(void);>"
517
518 #. type: Plain text
519 #: build/C/man3/dlopen.3:47
520 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
521 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
522
523 #. type: Plain text
524 #: build/C/man3/dlopen.3:49
525 msgid "B<int dlclose(void *>I<handle>B<);>"
526 msgstr "B<int dlclose(void *>I<handle>B<);>"
527
528 #. type: Plain text
529 #: build/C/man3/dlopen.3:51
530 msgid "Link with I<-ldl>."
531 msgstr "I<-ldl> でリンクする。"
532
533 #. type: Plain text
534 #: build/C/man3/dlopen.3:58
535 msgid ""
536 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
537 "implement the interface to the dynamic linking loader."
538 msgstr ""
539 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的リン"
540 "ク (dynamic linking) を行うローダーへの インターフェースを実装したものであ"
541 "る。"
542
543 #. type: SS
544 #: build/C/man3/dlopen.3:58
545 #, no-wrap
546 msgid "dlerror()"
547 msgstr "dlerror()"
548
549 #. type: Plain text
550 #: build/C/man3/dlopen.3:71
551 msgid ""
552 "The function B<dlerror>()  returns a human-readable string describing the "
553 "most recent error that occurred from B<dlopen>(), B<dlsym>()  or "
554 "B<dlclose>()  since the last call to B<dlerror>().  It returns NULL if no "
555 "errors have occurred since initialization or since it was last called."
556 msgstr ""
557 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
558 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
559 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
560 "ば NULL を返す。"
561
562 #. type: SS
563 #: build/C/man3/dlopen.3:71
564 #, no-wrap
565 msgid "dlopen()"
566 msgstr "dlopen()"
567
568 #. type: Plain text
569 #: build/C/man3/dlopen.3:89
570 msgid ""
571 "The function B<dlopen>()  loads the dynamic library file named by the null-"
572 "terminated string I<filename> and returns an opaque \"handle\" for the "
573 "dynamic library.  If I<filename> is NULL, then the returned handle is for "
574 "the main program.  If I<filename> contains a slash (\"/\"), then it is "
575 "interpreted as a (relative or absolute) pathname.  Otherwise, the dynamic "
576 "linker searches for the library as follows (see B<ld.so>(8)  for further "
577 "details):"
578 msgstr ""
579 "関数 B<dlopen>()  は、ヌル終端された文字列 I<filename> で指定されたファイル名"
580 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
581 "「ハンドル」を返す。 I<filename> が NULL の場合、メインプログラムへのハンドル"
582 "が返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)パ"
583 "ス名として解釈される。 それ以外の場合、動的リンカーは以下の手順でライブラリを"
584 "検索する (詳細は B<ld.so>(8)  を参照):"
585
586 #. type: IP
587 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
588 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
589 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
590 #: build/C/man8/ld.so.8:80
591 #, no-wrap
592 msgid "o"
593 msgstr "o"
594
595 #. type: Plain text
596 #: build/C/man3/dlopen.3:93
597 msgid ""
598 "(ELF only) If the executable file for the calling program contains a "
599 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
600 "listed in the DT_RPATH tag are searched."
601 msgstr ""
602 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
603 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
604 "クトリリストを検索する。"
605
606 #. type: Plain text
607 #: build/C/man3/dlopen.3:100
608 msgid ""
609 "If, at the time that the program was started, the environment variable "
610 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
611 "directories, then these are searched.  (As a security measure this variable "
612 "is ignored for set-user-ID and set-group-ID programs.)"
613 msgstr ""
614 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
615 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
616 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
617 "場合は無視される)。"
618
619 #. type: Plain text
620 #: build/C/man3/dlopen.3:104
621 msgid ""
622 "(ELF only) If the executable file for the calling program contains a "
623 "DT_RUNPATH tag, then the directories listed in that tag are searched."
624 msgstr ""
625 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
626 "る場合、そのタグに書かれているディレクトリリストを検索する。"
627
628 #. type: Plain text
629 #: build/C/man3/dlopen.3:111
630 msgid ""
631 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
632 "checked to see whether it contains an entry for I<filename>."
633 msgstr ""
634 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリーが入っ"
635 "ているかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理さ"
636 "れている)。"
637
638 #. type: Plain text
639 #: build/C/man3/dlopen.3:117
640 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
641 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
642
643 #. type: Plain text
644 #: build/C/man3/dlopen.3:123
645 msgid ""
646 "If the library has dependencies on other shared libraries, then these are "
647 "also automatically loaded by the dynamic linker using the same rules.  (This "
648 "process may occur recursively, if those libraries in turn have dependencies, "
649 "and so on.)"
650 msgstr ""
651 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
652 "リも動的リンカーが同じ検索ルールに基づいて 自動的にロードする (それらのライブ"
653 "ラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
654
655 #. type: Plain text
656 #: build/C/man3/dlopen.3:126
657 msgid "One of the following two values must be included in I<flag>:"
658 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
659
660 #. type: TP
661 #: build/C/man3/dlopen.3:126
662 #, no-wrap
663 msgid "B<RTLD_LAZY>"
664 msgstr "B<RTLD_LAZY>"
665
666 #. type: Plain text
667 #: build/C/man3/dlopen.3:134
668 msgid ""
669 "Perform lazy binding.  Only resolve symbols as the code that references them "
670 "is executed.  If the symbol is never referenced, then it is never resolved.  "
671 "(Lazy binding is performed only for function references; references to "
672 "variables are always immediately bound when the library is loaded.)"
673 msgstr ""
674 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
675 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
676 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
677 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
678 "直ちに解決される。)"
679
680 #. type: TP
681 #: build/C/man3/dlopen.3:134
682 #, no-wrap
683 msgid "B<RTLD_NOW>"
684 msgstr "B<RTLD_NOW>"
685
686 #. type: Plain text
687 #: build/C/man3/dlopen.3:143
688 msgid ""
689 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
690 "set to a nonempty string, all undefined symbols in the library are resolved "
691 "before B<dlopen>()  returns.  If this cannot be done, an error is returned."
692 msgstr ""
693 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
694 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
695 "る。解決できなかったときにはエラーが返される。"
696
697 #. type: Plain text
698 #: build/C/man3/dlopen.3:146
699 msgid "Zero or more of the following values may also be ORed in I<flag>:"
700 msgstr ""
701 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
702
703 #. type: TP
704 #: build/C/man3/dlopen.3:146
705 #, no-wrap
706 msgid "B<RTLD_GLOBAL>"
707 msgstr "B<RTLD_GLOBAL>"
708
709 #. type: Plain text
710 #: build/C/man3/dlopen.3:150
711 msgid ""
712 "The symbols defined by this library will be made available for symbol "
713 "resolution of subsequently loaded libraries."
714 msgstr ""
715 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
716 "のシンボル解決で利用できるようになる。"
717
718 #. type: TP
719 #: build/C/man3/dlopen.3:150
720 #, no-wrap
721 msgid "B<RTLD_LOCAL>"
722 msgstr "B<RTLD_LOCAL>"
723
724 #. type: Plain text
725 #: build/C/man3/dlopen.3:157
726 msgid ""
727 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
728 "specified.  Symbols defined in this library are not made available to "
729 "resolve references in subsequently loaded libraries."
730 msgstr ""
731 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
732 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
733 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
734
735 #. type: TP
736 #: build/C/man3/dlopen.3:157
737 #, no-wrap
738 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
739 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
740
741 #.  (But it is present on Solaris.)
742 #. type: Plain text
743 #: build/C/man3/dlopen.3:167
744 msgid ""
745 "Do not unload the library during B<dlclose>().  Consequently, the library's "
746 "static variables are not reinitialized if the library is reloaded with "
747 "B<dlopen>()  at a later time.  This flag is not specified in POSIX.1-2001."
748 msgstr ""
749 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
750 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
751 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
752
753 #. type: TP
754 #: build/C/man3/dlopen.3:167
755 #, no-wrap
756 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
757 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
758
759 #.  (But it is present on Solaris.)
760 #. type: Plain text
761 #: build/C/man3/dlopen.3:182
762 msgid ""
763 "Don't load the library.  This can be used to test if the library is already "
764 "resident (B<dlopen>()  returns NULL if it is not, or the library's handle if "
765 "it is resident).  This flag can also be used to promote the flags on a "
766 "library that is already loaded.  For example, a library that was previously "
767 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
768 "RTLD_GLOBAL>.  This flag is not specified in POSIX.1-2001."
769 msgstr ""
770 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
771 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
772 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
773 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
774 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
775 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
776 "規定されていない。"
777
778 #. type: TP
779 #: build/C/man3/dlopen.3:182
780 #, no-wrap
781 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
782 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
783
784 #.  Inimitably described by UD in
785 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
786 #. type: Plain text
787 #: build/C/man3/dlopen.3:192
788 msgid ""
789 "Place the lookup scope of the symbols in this library ahead of the global "
790 "scope.  This means that a self-contained library will use its own symbols in "
791 "preference to global symbols with the same name contained in libraries that "
792 "have already been loaded.  This flag is not specified in POSIX.1-2001."
793 msgstr ""
794 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
795 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
796 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
797 "フラグは POSIX.1-2001 では規定されていない。"
798
799 #. type: Plain text
800 #: build/C/man3/dlopen.3:204
801 msgid ""
802 "If I<filename> is NULL, then the returned handle is for the main program.  "
803 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
804 "main program, followed by all shared libraries loaded at program startup, "
805 "and then all shared libraries loaded by B<dlopen>()  with the flag "
806 "B<RTLD_GLOBAL>."
807 msgstr ""
808 "I<filename> が NULL である場合は、 返されるハンドルはメインプログラムのものに"
809 "なる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メインプロ"
810 "グラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
811 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
812 "ラリ、の順序で行われる。"
813
814 #. type: Plain text
815 #: build/C/man3/dlopen.3:214
816 msgid ""
817 "External references in the library are resolved using the libraries in that "
818 "library's dependency list and any other libraries previously opened with the "
819 "B<RTLD_GLOBAL> flag.  If the executable was linked with the flag \"-rdynamic"
820 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
821 "executable will also be used to resolve references in a dynamically loaded "
822 "library."
823 msgstr ""
824 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
825 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
826 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
827 "も同義)  付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
828 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
829
830 #. type: Plain text
831 #: build/C/man3/dlopen.3:232
832 msgid ""
833 "If the same library is loaded again with B<dlopen>(), the same library "
834 "handle is returned.  The dl library maintains reference counts for library "
835 "handles, so a dynamic library is not deallocated until B<dlclose>()  has "
836 "been called on it as many times as B<dlopen>()  has succeeded on it.  The "
837 "B<_init>()  routine, if present, is called only once.  But a subsequent call "
838 "with B<RTLD_NOW> may force symbol resolution for a library earlier loaded "
839 "with B<RTLD_LAZY>."
840 msgstr ""
841 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じライブラ"
842 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
843 "いる。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だ"
844 "け呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出"
845 "される (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
846 "B<dlopen>()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
847 "のシンボル解決が実行されることがある。"
848
849 #. type: Plain text
850 #: build/C/man3/dlopen.3:236
851 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
852 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
853
854 #. type: SS
855 #: build/C/man3/dlopen.3:236
856 #, no-wrap
857 msgid "dlsym()"
858 msgstr "dlsym()"
859
860 #. type: Plain text
861 #: build/C/man3/dlopen.3:265
862 msgid ""
863 "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned by "
864 "B<dlopen>()  and the null-terminated symbol name, returning the address "
865 "where that symbol is loaded into memory.  If the symbol is not found, in the "
866 "specified library or any of the libraries that were automatically loaded by "
867 "B<dlopen>()  when that library was loaded, B<dlsym>()  returns NULL.  (The "
868 "search performed by B<dlsym>()  is breadth first through the dependency tree "
869 "of these libraries.)  Since the value of the symbol could actually be NULL "
870 "(so that a NULL return from B<dlsym>()  need not indicate an error), the "
871 "correct way to test for an error is to call B<dlerror>()  to clear any old "
872 "error conditions, then call B<dlsym>(), and then call B<dlerror>()  again, "
873 "saving its return value into a variable, and check whether this saved value "
874 "is not NULL."
875 msgstr ""
876 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
877 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
878 "メモリーのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライ"
879 "ブラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれ"
880 "にも見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
881 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
882 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
883 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
884 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
885 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
886 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
887 "定する。"
888
889 #. type: Plain text
890 #: build/C/man3/dlopen.3:277
891 msgid ""
892 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  The "
893 "former will find the first occurrence of the desired symbol using the "
894 "default library search order.  The latter will find the next occurrence of a "
895 "function in the search order after the current library.  This allows one to "
896 "provide a wrapper around a function in another shared library."
897 msgstr ""
898 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
899 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
900 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
901 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
902 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
903
904 #. type: SS
905 #: build/C/man3/dlopen.3:277
906 #, no-wrap
907 msgid "dlclose()"
908 msgstr "dlclose()"
909
910 #. type: Plain text
911 #: build/C/man3/dlopen.3:284
912 msgid ""
913 "The function B<dlclose>()  decrements the reference count on the dynamic "
914 "library handle I<handle>.  If the reference count drops to zero and no other "
915 "loaded libraries use symbols in it, then the dynamic library is unloaded."
916 msgstr ""
917 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
918 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
919 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
920
921 #. type: Plain text
922 #: build/C/man3/dlopen.3:288
923 msgid "The function B<dlclose>()  returns 0 on success, and nonzero on error."
924 msgstr ""
925 "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
926
927 #. type: SS
928 #: build/C/man3/dlopen.3:288
929 #, no-wrap
930 msgid "The obsolete symbols _init() and _fini()"
931 msgstr "廃止されたシンボル _init() と _fini()"
932
933 #. type: Plain text
934 #: build/C/man3/dlopen.3:306
935 msgid ""
936 "The linker recognizes special symbols B<_init> and B<_fini>.  If a dynamic "
937 "library exports a routine named B<_init>(), then that code is executed after "
938 "the loading, before B<dlopen>()  returns.  If the dynamic library exports a "
939 "routine named B<_fini>(), then that routine is called just before the "
940 "library is unloaded.  In case you need to avoid linking against the system "
941 "startup files, this can be done by using the B<gcc>(1)  I<-nostartfiles> "
942 "command-line option."
943 msgstr ""
944 "リンカーは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラ"
945 "リで B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
946 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
947 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
948 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
949 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
950 "I<-nostartfiles> オプションを指定すればよい。"
951
952 #.  void _init(void) __attribute__((constructor));
953 #.  void _fini(void) __attribute__((destructor));
954 #. type: Plain text
955 #: build/C/man3/dlopen.3:317
956 msgid ""
957 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
958 "is not recommended.  Their use may result in undesired behavior, since the "
959 "constructor/destructor routines will not be executed (unless special "
960 "measures are taken)."
961 msgstr ""
962 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
963 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
964 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
965 "行されないからである。"
966
967 #. type: Plain text
968 #: build/C/man3/dlopen.3:329
969 msgid ""
970 "Instead, libraries should export routines using the "
971 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
972 "attributes.  See the gcc info pages for information on these.  Constructor "
973 "routines are executed before B<dlopen>()  returns, and destructor routines "
974 "are executed before B<dlclose>()  returns."
975 msgstr ""
976 "代わりに、ライブラリは B<__attribute__((constructor))> や "
977 "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート"
978 "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor "
979 "ルーチンは B<dlopen>()  が復帰する前に実行され、 destructor ルーチンは "
980 "B<dlclose>()  が復帰する前に実行される。"
981
982 #. type: SS
983 #: build/C/man3/dlopen.3:329
984 #, no-wrap
985 msgid "Glibc extensions: dladdr() and dlvsym()"
986 msgstr "GNU での拡張: dladdr() と dlvsym()"
987
988 #. type: Plain text
989 #: build/C/man3/dlopen.3:331
990 msgid "Glibc adds two functions not described by POSIX, with prototypes"
991 msgstr ""
992 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
993 "は以下の通りである。"
994
995 #. type: Plain text
996 #: build/C/man3/dlopen.3:335
997 #, no-wrap
998 msgid ""
999 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
1000 "B<#include E<lt>dlfcn.hE<gt>>\n"
1001 msgstr ""
1002 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
1003 "B<#include E<lt>dlfcn.hE<gt>>\n"
1004
1005 #. type: Plain text
1006 #: build/C/man3/dlopen.3:337
1007 #, no-wrap
1008 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1009 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1010
1011 #. type: Plain text
1012 #: build/C/man3/dlopen.3:339
1013 #, no-wrap
1014 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1015 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1016
1017 #. type: Plain text
1018 #: build/C/man3/dlopen.3:348
1019 msgid ""
1020 "The function B<dladdr>()  takes a function pointer and tries to resolve name "
1021 "and file where it is located.  Information is stored in the I<Dl_info> "
1022 "structure:"
1023 msgstr ""
1024 "関数 B<dladdr>()  は、関数のポインターを引き数にとり、関数の名前と関数が定義"
1025 "されている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1026
1027 #. type: Plain text
1028 #: build/C/man3/dlopen.3:361
1029 #, no-wrap
1030 msgid ""
1031 "typedef struct {\n"
1032 "    const char *dli_fname;  /* Pathname of shared object that\n"
1033 "                               contains address */\n"
1034 "    void       *dli_fbase;  /* Address at which shared object\n"
1035 "                               is loaded */\n"
1036 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1037 "                               overlaps I<addr> */\n"
1038 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1039 "                               in I<dli_sname> */\n"
1040 "} Dl_info;\n"
1041 msgstr ""
1042 "typedef struct {\n"
1043 "    const char *dli_fname;  /* Pathname of shared object that\n"
1044 "                               contains address */\n"
1045 "    void       *dli_fbase;  /* Address at which shared object\n"
1046 "                               is loaded */\n"
1047 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1048 "                               overlaps I<addr> */\n"
1049 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1050 "                               in I<dli_sname> */\n"
1051 "} Dl_info;\n"
1052
1053 #. type: Plain text
1054 #: build/C/man3/dlopen.3:371
1055 msgid ""
1056 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1057 "I<dli_saddr> are set to NULL."
1058 msgstr ""
1059 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1060 "I<dli_saddr> は NULL にセットされる。"
1061
1062 #. type: Plain text
1063 #: build/C/man3/dlopen.3:374
1064 msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
1065 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1066
1067 #. type: Plain text
1068 #: build/C/man3/dlopen.3:381
1069 msgid ""
1070 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1071 "as B<dlsym>()  but takes a version string as an additional argument."
1072 msgstr ""
1073 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
1074 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
1075 "glibc で提供されている)。"
1076
1077 #. type: Plain text
1078 #: build/C/man3/dlopen.3:388
1079 msgid ""
1080 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
1081 "B<dlsym>()."
1082 msgstr ""
1083 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
1084 "載がある。"
1085
1086 #. type: SH
1087 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1088 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84
1089 #: build/C/man7/rtld-audit.7:467
1090 #, no-wrap
1091 msgid "NOTES"
1092 msgstr "注意"
1093
1094 #.  .LP
1095 #.  The string returned by
1096 #.  .BR dlerror ()
1097 #.  should not be modified.
1098 #.  Some systems give the prototype as
1099 #.  .sp
1100 #.  .in +5
1101 #.  .B "const char *dlerror(void);"
1102 #.  .in
1103 #. type: Plain text
1104 #: build/C/man3/dlopen.3:407
1105 msgid ""
1106 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1107 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1108 msgstr ""
1109 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1110 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1111 "る場合のみ有効となる。"
1112
1113 #. type: Plain text
1114 #: build/C/man3/dlopen.3:412
1115 msgid ""
1116 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
1117 "that is automatically called when a library is unloaded."
1118 msgstr ""
1119 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
1120 "に自動的に呼び出される 終了ハンドラー (exit handler) を登録することができる。"
1121
1122 #. type: SS
1123 #: build/C/man3/dlopen.3:412
1124 #, no-wrap
1125 msgid "History"
1126 msgstr "歴史"
1127
1128 #. type: Plain text
1129 #: build/C/man3/dlopen.3:418
1130 msgid ""
1131 "The dlopen interface standard comes from SunOS.  That system also has "
1132 "B<dladdr>(), but not B<dlvsym>()."
1133 msgstr ""
1134 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
1135 "B<dladdr>()  もあったが、 B<dlvsym>()  はなかった。"
1136
1137 #. type: SH
1138 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267
1139 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58
1140 #: build/C/man7/rtld-audit.7:492
1141 #, no-wrap
1142 msgid "BUGS"
1143 msgstr "バグ"
1144
1145 #. type: Plain text
1146 #: build/C/man3/dlopen.3:430
1147 msgid ""
1148 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1149 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1150 "I<dli_fbase> may end up pointing back at the object from which you called "
1151 "B<dladdr>(), even if the function used as an argument should come from a "
1152 "dynamically linked library."
1153 msgstr ""
1154 "時として、 B<dladdr>()  に渡した関数ポインターは驚くような値になることがあ"
1155 "る。 いくつかのアーキテクチャー (特に i386 と x86_64) では、 引き数として使用"
1156 "した関数が動的リンクライブラリで定義されるもので あったとしても、 "
1157 "I<dli_fname> と I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照し"
1158 "た状態で終わっていることがある。"
1159
1160 #. type: Plain text
1161 #: build/C/man3/dlopen.3:446
1162 msgid ""
1163 "The problem is that the function pointer will still be resolved at compile "
1164 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1165 "the original object (which dispatches the call after asking the dynamic "
1166 "linker to resolve the symbol).  To work around this, you can try to compile "
1167 "the code to be position-independent: then, the compiler cannot prepare the "
1168 "pointer at compile time anymore and today's B<gcc>(1)  will generate code "
1169 "that just loads the final symbol address from the I<got> (Global Offset "
1170 "Table) at run time before passing it to B<dladdr>()."
1171 msgstr ""
1172 "問題は、関数ポインターの解決は今なおコンパイル時に行われるが、 そのポインター"
1173 "は元のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指している"
1174 "だけだという点にある (オブジェクト自体は、ダイナミックリンカーによってシンボ"
1175 "ルの解決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法として"
1176 "は、 コードを position-independent でコンパイルするという方法がある。 そうす"
1177 "ると、コンパイラはコンパイル時にポインターを用意することができず、 今日の "
1178 "B<gcc>(1)  では、実行時に B<dladdr>()  に関数ポインターを渡す前に、 I<got> "
1179 "(Global Offset Table) から最終的なシンボルのアドレスをロードするだけの コード"
1180 "が生成される。"
1181
1182 #. type: Plain text
1183 #: build/C/man3/dlopen.3:448
1184 msgid "Load the math library, and print the cosine of 2.0:"
1185 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1186
1187 #. type: Plain text
1188 #: build/C/man3/dlopen.3:453
1189 #, no-wrap
1190 msgid ""
1191 "#include E<lt>stdio.hE<gt>\n"
1192 "#include E<lt>stdlib.hE<gt>\n"
1193 "#include E<lt>dlfcn.hE<gt>\n"
1194 msgstr ""
1195 "#include E<lt>stdio.hE<gt>\n"
1196 "#include E<lt>stdlib.hE<gt>\n"
1197 "#include E<lt>dlfcn.hE<gt>\n"
1198
1199 #. type: Plain text
1200 #: build/C/man3/dlopen.3:460
1201 #, no-wrap
1202 msgid ""
1203 "int\n"
1204 "main(int argc, char **argv)\n"
1205 "{\n"
1206 "    void *handle;\n"
1207 "    double (*cosine)(double);\n"
1208 "    char *error;\n"
1209 msgstr ""
1210 "int\n"
1211 "main(int argc, char **argv)\n"
1212 "{\n"
1213 "    void *handle;\n"
1214 "    double (*cosine)(double);\n"
1215 "    char *error;\n"
1216
1217 #. type: Plain text
1218 #: build/C/man3/dlopen.3:466
1219 #, no-wrap
1220 msgid ""
1221 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1222 "    if (!handle) {\n"
1223 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1224 "        exit(EXIT_FAILURE);\n"
1225 "    }\n"
1226 msgstr ""
1227 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1228 "    if (!handle) {\n"
1229 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1230 "        exit(EXIT_FAILURE);\n"
1231 "    }\n"
1232
1233 #. type: Plain text
1234 #: build/C/man3/dlopen.3:468
1235 #, no-wrap
1236 msgid "    dlerror();    /* Clear any existing error */\n"
1237 msgstr "    dlerror();    /* Clear any existing error */\n"
1238
1239 #. type: Plain text
1240 #: build/C/man3/dlopen.3:470
1241 #, no-wrap
1242 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1243 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1244
1245 #. type: Plain text
1246 #: build/C/man3/dlopen.3:475
1247 #, no-wrap
1248 msgid ""
1249 "    /* According to the ISO C standard, casting between function\n"
1250 "       pointers and 'void *', as done above, produces undefined results.\n"
1251 "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1252 "       proposed the following workaround:\n"
1253 msgstr ""
1254 "    /* ISO の C 標準によれば、上のような、関数ポインターと 'void *' 間の\n"
1255 "       キャストを行った場合に得られる結果は不定である。\n"
1256 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1257 "       以下のようなワークアラウンドが提案されている。\n"
1258
1259 #. type: Plain text
1260 #: build/C/man3/dlopen.3:477
1261 #, no-wrap
1262 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1263 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1264
1265 #. type: Plain text
1266 #: build/C/man3/dlopen.3:480
1267 #, no-wrap
1268 msgid ""
1269 "       This (clumsy) cast conforms with the ISO C standard and will\n"
1270 "       avoid any compiler warnings.\n"
1271 msgstr ""
1272 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1273 "       コンパイラの警告を避けることができる。\n"
1274
1275 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1276 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1277 #.  http://austingroupbugs.net/view.php?id=74
1278 #. type: Plain text
1279 #: build/C/man3/dlopen.3:489
1280 #, no-wrap
1281 msgid ""
1282 "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1283 "       POSIX.1-2013) improved matters by requiring that conforming\n"
1284 "       implementations support casting 'void *' to a function pointer.\n"
1285 "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1286 "       option) may complain about the cast used in this program. */\n"
1287 msgstr ""
1288 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1289 "       では、 POSIX に準拠する実装では 'void *' から関数ポインターへの\n"
1290 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
1291 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1292 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1293 "       キャストについて文句を言うのだ。\n"
1294
1295 #. type: Plain text
1296 #: build/C/man3/dlopen.3:495
1297 #, no-wrap
1298 msgid ""
1299 "    error = dlerror();\n"
1300 "    if (error != NULL) {\n"
1301 "        fprintf(stderr, \"%s\\en\", error);\n"
1302 "        exit(EXIT_FAILURE);\n"
1303 "    }\n"
1304 msgstr ""
1305 "    error = dlerror();\n"
1306 "    if (error != NULL) {\n"
1307 "        fprintf(stderr, \"%s\\en\", error);\n"
1308 "        exit(EXIT_FAILURE);\n"
1309 "    }\n"
1310
1311 #. type: Plain text
1312 #: build/C/man3/dlopen.3:500
1313 #, no-wrap
1314 msgid ""
1315 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1316 "    dlclose(handle);\n"
1317 "    exit(EXIT_SUCCESS);\n"
1318 "}\n"
1319 msgstr ""
1320 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1321 "    dlclose(handle);\n"
1322 "    exit(EXIT_SUCCESS);\n"
1323 "}\n"
1324
1325 #. type: Plain text
1326 #: build/C/man3/dlopen.3:504
1327 msgid ""
1328 "If this program were in a file named \"foo.c\", you would build the program "
1329 "with the following command:"
1330 msgstr ""
1331 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1332 "ルドできる。"
1333
1334 #. type: Plain text
1335 #: build/C/man3/dlopen.3:507
1336 #, no-wrap
1337 msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
1338 msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
1339
1340 #. type: Plain text
1341 #: build/C/man3/dlopen.3:517
1342 msgid ""
1343 "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled as "
1344 "follows, using I<bar.c> as the example name:"
1345 msgstr ""
1346 "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のように"
1347 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1348
1349 #. type: Plain text
1350 #: build/C/man3/dlopen.3:520
1351 #, no-wrap
1352 msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
1353 msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
1354
1355 #. type: Plain text
1356 #: build/C/man3/dlopen.3:529
1357 msgid ""
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 msgstr ""
1361 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1362 "B<ld.so>(8), B<ldconfig>(8)"
1363
1364 #. type: Plain text
1365 #: build/C/man3/dlopen.3:531
1366 msgid "ld.so info pages, gcc info pages, ld info pages"
1367 msgstr "ld.so info pages, gcc info pages, ld info pages"
1368
1369 #. type: TH
1370 #: build/C/man5/elf.5:35
1371 #, no-wrap
1372 msgid "ELF"
1373 msgstr "ELF"
1374
1375 #. type: TH
1376 #: build/C/man5/elf.5:35
1377 #, no-wrap
1378 msgid "2013-04-17"
1379 msgstr "2013-04-17"
1380
1381 #. type: Plain text
1382 #: build/C/man5/elf.5:38
1383 msgid "elf - format of Executable and Linking Format (ELF) files"
1384 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1385
1386 #.  .B #include <elf_abi.h>
1387 #. type: Plain text
1388 #: build/C/man5/elf.5:42
1389 #, no-wrap
1390 msgid "B<#include E<lt>elf.hE<gt>>\n"
1391 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1392
1393 #. type: Plain text
1394 #: build/C/man5/elf.5:50
1395 msgid ""
1396 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1397 "binary files.  Amongst these files are normal executable files, relocatable "
1398 "object files, core files and shared libraries."
1399 msgstr ""
1400 "ヘッダーファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォー"
1401 "マットを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置"
1402 "可能オブジェクトファイル・コアファイル・共有ライブラリがある。"
1403
1404 #. type: Plain text
1405 #: build/C/man5/elf.5:59
1406 msgid ""
1407 "An executable file using the ELF file format consists of an ELF header, "
1408 "followed by a program header table or a section header table, or both.  The "
1409 "ELF header is always at offset zero of the file.  The program header table "
1410 "and the section header table's offset in the file are defined in the ELF "
1411 "header.  The two tables describe the rest of the particularities of the file."
1412 msgstr ""
1413 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダーの後にプログラ"
1414 "ムヘッダーテーブルまたは セクションヘッダーテーブル (またはその両方) が続く構"
1415 "成である。 ELF ヘッダーは常にファイルのオフセット 0 にある。 プログラムヘッ"
1416 "ダーテーブルとセクションヘッダーテーブルの ファイル内でのオフセットは、ELF "
1417 "ヘッダーに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を"
1418 "記述する。"
1419
1420 #.  Applications which wish to process ELF binary files for their native
1421 #.  architecture only should include
1422 #.  .I <elf_abi.h>
1423 #.  in their source code.
1424 #.  These applications should need to refer to
1425 #.  all the types and structures by their generic names
1426 #.  "Elf_xxx"
1427 #.  and to the macros by
1428 #.  ELF_xxx".
1429 #.  Applications written this way can be compiled on any architecture,
1430 #.  regardless of whether the host is 32-bit or 64-bit.
1431 #.  .PP
1432 #.  Should an application need to process ELF files of an unknown
1433 #.  architecture, then the application needs to explicitly use either
1434 #.  "Elf32_xxx"
1435 #.  or
1436 #.  "Elf64_xxx"
1437 #.  type and structure names.
1438 #.  Likewise, the macros need to be identified by
1439 #.  "ELF32_xxx"
1440 #.  or
1441 #.  "ELF64_xxx".
1442 #.  .PP
1443 #. type: Plain text
1444 #: build/C/man5/elf.5:86
1445 msgid ""
1446 "This header file describes the above mentioned headers as C structures and "
1447 "also includes structures for dynamic sections, relocation sections and "
1448 "symbol tables."
1449 msgstr ""
1450 "このヘッダーファイルは上記のヘッダーを C 言語の構造体で記述し、 また動的セク"
1451 "ション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1452
1453 #. type: Plain text
1454 #: build/C/man5/elf.5:98
1455 msgid ""
1456 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1457 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1458 "I<uint64_t>):"
1459 msgstr ""
1460 "以下の型は N ビットアーキテクチャーで使われる (N=32,64 であり I<ElfN> は "
1461 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1462 "I<uint64_t> を表す):"
1463
1464 #.  Elf32_Size  Unsigned object size
1465 #. type: Plain text
1466 #: build/C/man5/elf.5:112
1467 #, no-wrap
1468 msgid ""
1469 "ElfN_Addr       Unsigned program address, uintN_t\n"
1470 "ElfN_Off        Unsigned file offset, uintN_t\n"
1471 "ElfN_Section    Unsigned section index, uint16_t\n"
1472 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
1473 "Elf_Byte        unsigned char\n"
1474 "ElfN_Half       uint16_t\n"
1475 "ElfN_Sword      int32_t\n"
1476 "ElfN_Word       uint32_t\n"
1477 "ElfN_Sxword     int64_t\n"
1478 "ElfN_Xword      uint64_t\n"
1479 msgstr ""
1480 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
1481 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
1482 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
1483 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
1484 "Elf_Byte        unsigned char\n"
1485 "ElfN_Half       uint16_t\n"
1486 "ElfN_Sword      int32_t\n"
1487 "ElfN_Word       uint32_t\n"
1488 "ElfN_Sxword     int64_t\n"
1489 "ElfN_Xword      uint64_t\n"
1490
1491 #. type: Plain text
1492 #: build/C/man5/elf.5:127
1493 msgid ""
1494 "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
1495 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1496 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
1497 "explicit ones in the below.)"
1498 msgstr ""
1499 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1500 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1501 "は、これらの型はサイズが自明な型に置き換えてある。)"
1502
1503 #. type: Plain text
1504 #: build/C/man5/elf.5:134
1505 msgid ""
1506 "All data structures that the file format defines follow the \"natural\" size "
1507 "and alignment guidelines for the relevant class.  If necessary, data "
1508 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1509 "objects, to force structure sizes to a multiple of 4, and so on."
1510 msgstr ""
1511 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1512 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1513 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
1514 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1515 "る。"
1516
1517 #. type: Plain text
1518 #: build/C/man5/elf.5:139
1519 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1520 msgstr "ELF ヘッダーは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1521
1522 #. type: Plain text
1523 #: build/C/man5/elf.5:143
1524 #, no-wrap
1525 msgid "#define EI_NIDENT 16\n"
1526 msgstr "#define EI_NIDENT 16\n"
1527
1528 #. type: Plain text
1529 #: build/C/man5/elf.5:160
1530 #, no-wrap
1531 msgid ""
1532 "typedef struct {\n"
1533 "    unsigned char e_ident[EI_NIDENT];\n"
1534 "    uint16_t      e_type;\n"
1535 "    uint16_t      e_machine;\n"
1536 "    uint32_t      e_version;\n"
1537 "    ElfN_Addr     e_entry;\n"
1538 "    ElfN_Off      e_phoff;\n"
1539 "    ElfN_Off      e_shoff;\n"
1540 "    uint32_t      e_flags;\n"
1541 "    uint16_t      e_ehsize;\n"
1542 "    uint16_t      e_phentsize;\n"
1543 "    uint16_t      e_phnum;\n"
1544 "    uint16_t      e_shentsize;\n"
1545 "    uint16_t      e_shnum;\n"
1546 "    uint16_t      e_shstrndx;\n"
1547 "} ElfN_Ehdr;\n"
1548 msgstr ""
1549 "typedef struct {\n"
1550 "    unsigned char e_ident[EI_NIDENT];\n"
1551 "    uint16_t      e_type;\n"
1552 "    uint16_t      e_machine;\n"
1553 "    uint32_t      e_version;\n"
1554 "    ElfN_Addr     e_entry;\n"
1555 "    ElfN_Off      e_phoff;\n"
1556 "    ElfN_Off      e_shoff;\n"
1557 "    uint32_t      e_flags;\n"
1558 "    uint16_t      e_ehsize;\n"
1559 "    uint16_t      e_phentsize;\n"
1560 "    uint16_t      e_phnum;\n"
1561 "    uint16_t      e_shentsize;\n"
1562 "    uint16_t      e_shnum;\n"
1563 "    uint16_t      e_shstrndx;\n"
1564 "} ElfN_Ehdr;\n"
1565
1566 #.  .Bl -tag -width "e_phentsize"
1567 #. type: Plain text
1568 #: build/C/man5/elf.5:165
1569 msgid "The fields have the following meanings:"
1570 msgstr "フィールドは以下の意味を持つ:"
1571
1572 #. type: TP
1573 #: build/C/man5/elf.5:165
1574 #, no-wrap
1575 msgid "I<e_ident>"
1576 msgstr "I<e_ident>"
1577
1578 #. type: Plain text
1579 #: build/C/man5/elf.5:175
1580 msgid ""
1581 "This array of bytes specifies to interpret the file, independent of the "
1582 "processor or the file's remaining contents.  Within this array everything is "
1583 "named by macros, which start with the prefix B<EI_> and may contain values "
1584 "which start with the prefix B<ELF>.  The following macros are defined:"
1585 msgstr ""
1586 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1587 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1588 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1589 "クロが定義されている:"
1590
1591 #. type: TP
1592 #: build/C/man5/elf.5:177
1593 #, no-wrap
1594 msgid "B<EI_MAG0>"
1595 msgstr "B<EI_MAG0>"
1596
1597 #. type: Plain text
1598 #: build/C/man5/elf.5:183
1599 msgid ""
1600 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
1601 "0x7f)"
1602 msgstr ""
1603 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1604
1605 #. type: TP
1606 #: build/C/man5/elf.5:183
1607 #, no-wrap
1608 msgid "B<EI_MAG1>"
1609 msgstr "B<EI_MAG1>"
1610
1611 #. type: Plain text
1612 #: build/C/man5/elf.5:189
1613 msgid ""
1614 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
1615 "(1: \\(aqE\\(aq)"
1616 msgstr ""
1617 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1618 "\\(aqE\\(aq)"
1619
1620 #. type: TP
1621 #: build/C/man5/elf.5:189
1622 #, no-wrap
1623 msgid "B<EI_MAG2>"
1624 msgstr "B<EI_MAG2>"
1625
1626 #. type: Plain text
1627 #: build/C/man5/elf.5:195
1628 msgid ""
1629 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
1630 "\\(aqL\\(aq)"
1631 msgstr ""
1632 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1633 "\\(aqL\\(aq)"
1634
1635 #. type: TP
1636 #: build/C/man5/elf.5:195
1637 #, no-wrap
1638 msgid "B<EI_MAG3>"
1639 msgstr "B<EI_MAG3>"
1640
1641 #. type: Plain text
1642 #: build/C/man5/elf.5:201
1643 msgid ""
1644 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
1645 "(3: \\(aqF\\(aq)"
1646 msgstr ""
1647 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1648 "\\(aqF\\(aq)"
1649
1650 #. type: TP
1651 #: build/C/man5/elf.5:201
1652 #, no-wrap
1653 msgid "B<EI_CLASS>"
1654 msgstr "B<EI_CLASS>"
1655
1656 #. type: Plain text
1657 #: build/C/man5/elf.5:204
1658 msgid "The fifth byte identifies the architecture for this binary:"
1659 msgstr "第 5 バイトは、このバイナリのアーキテクチャーを示す:"
1660
1661 #. type: TP
1662 #: build/C/man5/elf.5:206
1663 #, no-wrap
1664 msgid "B<ELFCLASSNONE>"
1665 msgstr "B<ELFCLASSNONE>"
1666
1667 #. type: Plain text
1668 #: build/C/man5/elf.5:210
1669 msgid "This class is invalid."
1670 msgstr "このクラスは不正である。"
1671
1672 #. type: TP
1673 #: build/C/man5/elf.5:210
1674 #, no-wrap
1675 msgid "B<ELFCLASS32>"
1676 msgstr "B<ELFCLASS32>"
1677
1678 #. type: Plain text
1679 #: build/C/man5/elf.5:215
1680 msgid ""
1681 "This defines the 32-bit architecture.  It supports machines with files and "
1682 "virtual address spaces up to 4 Gigabytes."
1683 msgstr ""
1684 "32 ビットアーキテクチャーを定義する。 ファイルと仮想アドレス空間が 4 ギガバイ"
1685 "トまでのマシンをサポートする。"
1686
1687 #. type: TP
1688 #: build/C/man5/elf.5:215
1689 #, no-wrap
1690 msgid "B<ELFCLASS64>"
1691 msgstr "B<ELFCLASS64>"
1692
1693 #. type: Plain text
1694 #: build/C/man5/elf.5:218
1695 msgid "This defines the 64-bit architecture."
1696 msgstr "64 ビットアーキテクチャーを定義する。"
1697
1698 #. type: TP
1699 #: build/C/man5/elf.5:221
1700 #, no-wrap
1701 msgid "B<EI_DATA>"
1702 msgstr "B<EI_DATA>"
1703
1704 #.  .Bl -tag -width "ELFDATA2LSB" -compact
1705 #. type: Plain text
1706 #: build/C/man5/elf.5:227
1707 msgid ""
1708 "The sixth byte specifies the data encoding of the processor-specific data in "
1709 "the file.  Currently these encodings are supported:"
1710 msgstr ""
1711 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1712 "する。 現在のところ以下のエンコーディングがサポートされている:"
1713
1714 #. type: TP
1715 #: build/C/man5/elf.5:228
1716 #, no-wrap
1717 msgid "B<ELFDATANONE>"
1718 msgstr "B<ELFDATANONE>"
1719
1720 #. type: Plain text
1721 #: build/C/man5/elf.5:232
1722 msgid "Unknown data format."
1723 msgstr "不明なデータフォーマット。"
1724
1725 #. type: TP
1726 #: build/C/man5/elf.5:232
1727 #, no-wrap
1728 msgid "B<ELFDATA2LSB>"
1729 msgstr "B<ELFDATA2LSB>"
1730
1731 #. type: Plain text
1732 #: build/C/man5/elf.5:235
1733 msgid "Two's complement, little-endian."
1734 msgstr "2 の補数、リトルエンディアン。"
1735
1736 #. type: TP
1737 #: build/C/man5/elf.5:235
1738 #, no-wrap
1739 msgid "B<ELFDATA2MSB>"
1740 msgstr "B<ELFDATA2MSB>"
1741
1742 #. type: Plain text
1743 #: build/C/man5/elf.5:238
1744 msgid "Two's complement, big-endian."
1745 msgstr "2 の補数、ビッグエンディアン。"
1746
1747 #. type: TP
1748 #: build/C/man5/elf.5:241
1749 #, no-wrap
1750 msgid "B<EI_VERSION>"
1751 msgstr "B<EI_VERSION>"
1752
1753 #.  .Bl -tag -width "EV_CURRENT" -compact
1754 #. type: Plain text
1755 #: build/C/man5/elf.5:246
1756 msgid "The seventh byte is the version number of the ELF specification:"
1757 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1758
1759 #. type: TP
1760 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1761 #, no-wrap
1762 msgid "B<EV_NONE>"
1763 msgstr "B<EV_NONE>"
1764
1765 #. type: Plain text
1766 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1767 msgid "Invalid version."
1768 msgstr "不正なバージョン。"
1769
1770 #. type: TP
1771 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1772 #, no-wrap
1773 msgid "B<EV_CURRENT>"
1774 msgstr "B<EV_CURRENT>"
1775
1776 #.  .El
1777 #. type: Plain text
1778 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1779 msgid "Current version."
1780 msgstr "現在のバージョン。"
1781
1782 #. type: TP
1783 #: build/C/man5/elf.5:256
1784 #, no-wrap
1785 msgid "B<EI_OSABI>"
1786 msgstr "B<EI_OSABI>"
1787
1788 #.  .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1789 #. type: Plain text
1790 #: build/C/man5/elf.5:265
1791 msgid ""
1792 "The eighth byte identifies the operating system and ABI to which the object "
1793 "is targeted.  Some fields in other ELF structures have flags and values that "
1794 "have platform-specific meanings; the interpretation of those fields is "
1795 "determined by the value of this byte.  For example:"
1796 msgstr ""
1797 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1798 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1799 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1800 "される。以下に例を挙げる。"
1801
1802 #. type: TP
1803 #: build/C/man5/elf.5:266
1804 #, no-wrap
1805 msgid "B<ELFOSABI_NONE>"
1806 msgstr "B<ELFOSABI_NONE>"
1807
1808 #.  0
1809 #. type: Plain text
1810 #: build/C/man5/elf.5:271
1811 msgid "Same as ELFOSABI_SYSV"
1812 msgstr "ELFOSABI_SYSV と同じ。"
1813
1814 #. type: TP
1815 #: build/C/man5/elf.5:271
1816 #, no-wrap
1817 msgid "B<ELFOSABI_SYSV>"
1818 msgstr "B<ELFOSABI_SYSV>"
1819
1820 #.  0
1821 #.  synonym: ELFOSABI_NONE
1822 #. type: Plain text
1823 #: build/C/man5/elf.5:276
1824 msgid "UNIX System V ABI."
1825 msgstr "UNIX System V ABI."
1826
1827 #. type: TP
1828 #: build/C/man5/elf.5:276
1829 #, no-wrap
1830 msgid "B<ELFOSABI_HPUX>"
1831 msgstr "B<ELFOSABI_HPUX>"
1832
1833 #.  1
1834 #. type: Plain text
1835 #: build/C/man5/elf.5:280
1836 msgid "HP-UX ABI."
1837 msgstr "HP-UX ABI."
1838
1839 #. type: TP
1840 #: build/C/man5/elf.5:280
1841 #, no-wrap
1842 msgid "B<ELFOSABI_NETBSD>"
1843 msgstr "B<ELFOSABI_NETBSD>"
1844
1845 #.  2
1846 #. type: Plain text
1847 #: build/C/man5/elf.5:284
1848 msgid "NetBSD ABI."
1849 msgstr "NetBSD ABI."
1850
1851 #. type: TP
1852 #: build/C/man5/elf.5:284
1853 #, no-wrap
1854 msgid "B<ELFOSABI_LINUX>"
1855 msgstr "B<ELFOSABI_LINUX>"
1856
1857 #.  3
1858 #.  .TP
1859 #.  .BR ELFOSABI_HURD
1860 #.  Hurd ABI.
1861 #.  4
1862 #.  .TP
1863 #.  .BR ELFOSABI_86OPEN
1864 #.  86Open Common IA32 ABI.
1865 #.  5
1866 #. type: Plain text
1867 #: build/C/man5/elf.5:296
1868 msgid "Linux ABI."
1869 msgstr "Linux ABI."
1870
1871 #. type: TP
1872 #: build/C/man5/elf.5:296
1873 #, no-wrap
1874 msgid "B<ELFOSABI_SOLARIS>"
1875 msgstr "B<ELFOSABI_SOLARIS>"
1876
1877 #.  6
1878 #.  .TP
1879 #.  .BR ELFOSABI_MONTEREY
1880 #.  Monterey project ABI.
1881 #.  Now replaced by
1882 #.  ELFOSABI_AIX
1883 #.  7
1884 #. type: Plain text
1885 #: build/C/man5/elf.5:306
1886 msgid "Solaris ABI."
1887 msgstr "Solaris ABI."
1888
1889 #. type: TP
1890 #: build/C/man5/elf.5:306
1891 #, no-wrap
1892 msgid "B<ELFOSABI_IRIX>"
1893 msgstr "B<ELFOSABI_IRIX>"
1894
1895 #.  8
1896 #. type: Plain text
1897 #: build/C/man5/elf.5:310
1898 msgid "IRIX ABI."
1899 msgstr "IRIX ABI."
1900
1901 #. type: TP
1902 #: build/C/man5/elf.5:310
1903 #, no-wrap
1904 msgid "B<ELFOSABI_FREEBSD>"
1905 msgstr "B<ELFOSABI_FREEBSD>"
1906
1907 #.  9
1908 #. type: Plain text
1909 #: build/C/man5/elf.5:314
1910 msgid "FreeBSD ABI."
1911 msgstr "FreeBSD ABI."
1912
1913 #. type: TP
1914 #: build/C/man5/elf.5:314
1915 #, no-wrap
1916 msgid "B<ELFOSABI_TRU64>"
1917 msgstr "B<ELFOSABI_TRU64>"
1918
1919 #.  10
1920 #.  ELFOSABI_MODESTO
1921 #.  11
1922 #.  ELFOSABI_OPENBSD
1923 #.  12
1924 #. type: Plain text
1925 #: build/C/man5/elf.5:322
1926 msgid "TRU64 UNIX ABI."
1927 msgstr "TRU64 UNIX ABI."
1928
1929 #. type: TP
1930 #: build/C/man5/elf.5:322
1931 #, no-wrap
1932 msgid "B<ELFOSABI_ARM>"
1933 msgstr "B<ELFOSABI_ARM>"
1934
1935 #.  97
1936 #. type: Plain text
1937 #: build/C/man5/elf.5:326
1938 msgid "ARM architecture ABI."
1939 msgstr "ARM アーキテクチャー ABI."
1940
1941 #. type: TP
1942 #: build/C/man5/elf.5:326
1943 #, no-wrap
1944 msgid "B<ELFOSABI_STANDALONE>"
1945 msgstr "B<ELFOSABI_STANDALONE>"
1946
1947 #.  255
1948 #.  .El
1949 #. type: Plain text
1950 #: build/C/man5/elf.5:331
1951 msgid "Stand-alone (embedded) ABI."
1952 msgstr "スタンドアロン (組み込み) ABI."
1953
1954 #. type: TP
1955 #: build/C/man5/elf.5:333
1956 #, no-wrap
1957 msgid "B<EI_ABIVERSION>"
1958 msgstr "B<EI_ABIVERSION>"
1959
1960 #. type: Plain text
1961 #: build/C/man5/elf.5:343
1962 msgid ""
1963 "The ninth byte identifies the version of the ABI to which the object is "
1964 "targeted.  This field is used to distinguish among incompatible versions of "
1965 "an ABI.  The interpretation of this version number is dependent on the ABI "
1966 "identified by the B<EI_OSABI> field.  Applications conforming to this "
1967 "specification use the value 0."
1968 msgstr ""
1969 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1970 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1971 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1972 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1973
1974 #. type: TP
1975 #: build/C/man5/elf.5:343
1976 #, no-wrap
1977 msgid "B<EI_PAD>"
1978 msgstr "B<EI_PAD>"
1979
1980 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1981 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1982 #.  It looks to be a BSDism
1983 #.  .TP
1984 #.  .BR EI_BRAND
1985 #.  Start of architecture identification.
1986 #. type: Plain text
1987 #: build/C/man5/elf.5:359
1988 msgid ""
1989 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
1990 "read them should ignore them.  The value for B<EI_PAD> will change in the "
1991 "future if currently unused bytes are given meanings."
1992 msgstr ""
1993 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1994 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1995 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1996
1997 #. type: TP
1998 #: build/C/man5/elf.5:359
1999 #, no-wrap
2000 msgid "B<EI_NIDENT>"
2001 msgstr "B<EI_NIDENT>"
2002
2003 #.  .El
2004 #. type: Plain text
2005 #: build/C/man5/elf.5:365
2006 msgid "The size of the I<e_ident> array."
2007 msgstr "I<e_ident> 配列のサイズ。"
2008
2009 #. type: TP
2010 #: build/C/man5/elf.5:366
2011 #, no-wrap
2012 msgid "I<e_type>"
2013 msgstr "I<e_type>"
2014
2015 #. type: Plain text
2016 #: build/C/man5/elf.5:369
2017 msgid "This member of the structure identifies the object file type:"
2018 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
2019
2020 #. type: TP
2021 #: build/C/man5/elf.5:371
2022 #, no-wrap
2023 msgid "B<ET_NONE>"
2024 msgstr "B<ET_NONE>"
2025
2026 #. type: Plain text
2027 #: build/C/man5/elf.5:375
2028 msgid "An unknown type."
2029 msgstr "不明なタイプ。"
2030
2031 #. type: TP
2032 #: build/C/man5/elf.5:375
2033 #, no-wrap
2034 msgid "B<ET_REL>"
2035 msgstr "B<ET_REL>"
2036
2037 #. type: Plain text
2038 #: build/C/man5/elf.5:378
2039 msgid "A relocatable file."
2040 msgstr "再配置可能ファイル。"
2041
2042 #. type: TP
2043 #: build/C/man5/elf.5:378
2044 #, no-wrap
2045 msgid "B<ET_EXEC>"
2046 msgstr "B<ET_EXEC>"
2047
2048 #. type: Plain text
2049 #: build/C/man5/elf.5:381
2050 msgid "An executable file."
2051 msgstr "実行可能ファイル。"
2052
2053 #. type: TP
2054 #: build/C/man5/elf.5:381
2055 #, no-wrap
2056 msgid "B<ET_DYN>"
2057 msgstr "B<ET_DYN>"
2058
2059 #. type: Plain text
2060 #: build/C/man5/elf.5:384
2061 msgid "A shared object."
2062 msgstr "共有オブジェクト。"
2063
2064 #. type: TP
2065 #: build/C/man5/elf.5:384
2066 #, no-wrap
2067 msgid "B<ET_CORE>"
2068 msgstr "B<ET_CORE>"
2069
2070 #. type: Plain text
2071 #: build/C/man5/elf.5:387
2072 msgid "A core file."
2073 msgstr "コアファイル。"
2074
2075 #. type: TP
2076 #: build/C/man5/elf.5:390
2077 #, no-wrap
2078 msgid "I<e_machine>"
2079 msgstr "I<e_machine>"
2080
2081 #. type: Plain text
2082 #: build/C/man5/elf.5:394
2083 msgid ""
2084 "This member specifies the required architecture for an individual file.  For "
2085 "example:"
2086 msgstr ""
2087 "このメンバは個々のファイルに必要とされるアーキテクチャーを指定する。 例:"
2088
2089 #. type: TP
2090 #: build/C/man5/elf.5:396
2091 #, no-wrap
2092 msgid "B<EM_NONE>"
2093 msgstr "B<EM_NONE>"
2094
2095 #.  0
2096 #. type: Plain text
2097 #: build/C/man5/elf.5:401
2098 msgid "An unknown machine."
2099 msgstr "不明なマシン。"
2100
2101 #. type: TP
2102 #: build/C/man5/elf.5:401
2103 #, no-wrap
2104 msgid "B<EM_M32>"
2105 msgstr "B<EM_M32>"
2106
2107 #.  1
2108 #. type: Plain text
2109 #: build/C/man5/elf.5:405
2110 msgid "AT&T WE 32100."
2111 msgstr "AT&T WE 32100."
2112
2113 #. type: TP
2114 #: build/C/man5/elf.5:405
2115 #, no-wrap
2116 msgid "B<EM_SPARC>"
2117 msgstr "B<EM_SPARC>"
2118
2119 #.  2
2120 #. type: Plain text
2121 #: build/C/man5/elf.5:409
2122 msgid "Sun Microsystems SPARC."
2123 msgstr "Sun Microsystems SPARC."
2124
2125 #. type: TP
2126 #: build/C/man5/elf.5:409
2127 #, no-wrap
2128 msgid "B<EM_386>"
2129 msgstr "B<EM_386>"
2130
2131 #.  3
2132 #. type: Plain text
2133 #: build/C/man5/elf.5:413
2134 msgid "Intel 80386."
2135 msgstr "Intel 80386."
2136
2137 #. type: TP
2138 #: build/C/man5/elf.5:413
2139 #, no-wrap
2140 msgid "B<EM_68K>"
2141 msgstr "B<EM_68K>"
2142
2143 #.  4
2144 #. type: Plain text
2145 #: build/C/man5/elf.5:417
2146 msgid "Motorola 68000."
2147 msgstr "Motorola 68000."
2148
2149 #. type: TP
2150 #: build/C/man5/elf.5:417
2151 #, no-wrap
2152 msgid "B<EM_88K>"
2153 msgstr "B<EM_88K>"
2154
2155 #.  5
2156 #.  .TP
2157 #.  .BR EM_486
2158 #.  Intel 80486.
2159 #.  6
2160 #. type: Plain text
2161 #: build/C/man5/elf.5:425
2162 msgid "Motorola 88000."
2163 msgstr "Motorola 88000."
2164
2165 #. type: TP
2166 #: build/C/man5/elf.5:425
2167 #, no-wrap
2168 msgid "B<EM_860>"
2169 msgstr "B<EM_860>"
2170
2171 #.  7
2172 #. type: Plain text
2173 #: build/C/man5/elf.5:429
2174 msgid "Intel 80860."
2175 msgstr "Intel 80860."
2176
2177 #. type: TP
2178 #: build/C/man5/elf.5:429
2179 #, no-wrap
2180 msgid "B<EM_MIPS>"
2181 msgstr "B<EM_MIPS>"
2182
2183 #.  8
2184 #.  EM_S370
2185 #.  9
2186 #.  .TP
2187 #.  .BR EM_MIPS_RS4_BE
2188 #.  MIPS RS4000 (big-endian only). Deprecated.
2189 #.  10
2190 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2191 #.  10
2192 #. type: Plain text
2193 #: build/C/man5/elf.5:441
2194 msgid "MIPS RS3000 (big-endian only)."
2195 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2196
2197 #. type: TP
2198 #: build/C/man5/elf.5:441
2199 #, no-wrap
2200 msgid "B<EM_PARISC>"
2201 msgstr "B<EM_PARISC>"
2202
2203 #.  15
2204 #. type: Plain text
2205 #: build/C/man5/elf.5:445
2206 msgid "HP/PA."
2207 msgstr "HP/PA."
2208
2209 #. type: TP
2210 #: build/C/man5/elf.5:445
2211 #, no-wrap
2212 msgid "B<EM_SPARC32PLUS>"
2213 msgstr "B<EM_SPARC32PLUS>"
2214
2215 #.  18
2216 #. type: Plain text
2217 #: build/C/man5/elf.5:449
2218 msgid "SPARC with enhanced instruction set."
2219 msgstr "拡張命令セット付き SPARC。"
2220
2221 #. type: TP
2222 #: build/C/man5/elf.5:449
2223 #, no-wrap
2224 msgid "B<EM_PPC>"
2225 msgstr "B<EM_PPC>"
2226
2227 #.  20
2228 #. type: Plain text
2229 #: build/C/man5/elf.5:453
2230 msgid "PowerPC."
2231 msgstr "PowerPC."
2232
2233 #. type: TP
2234 #: build/C/man5/elf.5:453
2235 #, no-wrap
2236 msgid "B<EM_PPC64>"
2237 msgstr "B<EM_PPC64>"
2238
2239 #.  21
2240 #. type: Plain text
2241 #: build/C/man5/elf.5:457
2242 msgid "PowerPC 64-bit."
2243 msgstr "PowerPC 64-bit."
2244
2245 #. type: TP
2246 #: build/C/man5/elf.5:457
2247 #, no-wrap
2248 msgid "B<EM_S390>"
2249 msgstr "B<EM_S390>"
2250
2251 #.  22
2252 #. type: Plain text
2253 #: build/C/man5/elf.5:461
2254 msgid "IBM S/390"
2255 msgstr "IBM S/390"
2256
2257 #. type: TP
2258 #: build/C/man5/elf.5:461
2259 #, no-wrap
2260 msgid "B<EM_ARM>"
2261 msgstr "B<EM_ARM>"
2262
2263 #.  40
2264 #. type: Plain text
2265 #: build/C/man5/elf.5:465
2266 msgid "Advanced RISC Machines"
2267 msgstr "Advanced RISC Machines"
2268
2269 #. type: TP
2270 #: build/C/man5/elf.5:465
2271 #, no-wrap
2272 msgid "B<EM_SH>"
2273 msgstr "B<EM_SH>"
2274
2275 #.  42
2276 #. type: Plain text
2277 #: build/C/man5/elf.5:469
2278 msgid "Renesas SuperH"
2279 msgstr "Renesas SuperH"
2280
2281 #. type: TP
2282 #: build/C/man5/elf.5:469
2283 #, no-wrap
2284 msgid "B<EM_SPARCV9>"
2285 msgstr "B<EM_SPARCV9>"
2286
2287 #.  43
2288 #. type: Plain text
2289 #: build/C/man5/elf.5:473
2290 msgid "SPARC v9 64-bit."
2291 msgstr "SPARC v9 64-bit."
2292
2293 #. type: TP
2294 #: build/C/man5/elf.5:473
2295 #, no-wrap
2296 msgid "B<EM_IA_64>"
2297 msgstr "B<EM_IA_64>"
2298
2299 #.  50
2300 #. type: Plain text
2301 #: build/C/man5/elf.5:477
2302 msgid "Intel Itanium"
2303 msgstr "Intel Itanium"
2304
2305 #. type: TP
2306 #: build/C/man5/elf.5:477
2307 #, no-wrap
2308 msgid "B<EM_X86_64>"
2309 msgstr "B<EM_X86_64>"
2310
2311 #.  62
2312 #. type: Plain text
2313 #: build/C/man5/elf.5:481
2314 msgid "AMD x86-64"
2315 msgstr "AMD x86-64"
2316
2317 #. type: TP
2318 #: build/C/man5/elf.5:481
2319 #, no-wrap
2320 msgid "B<EM_VAX>"
2321 msgstr "B<EM_VAX>"
2322
2323 #.  75
2324 #.  EM_CRIS
2325 #.  76
2326 #.  .TP
2327 #.  .BR EM_ALPHA
2328 #.  Compaq [DEC] Alpha.
2329 #.  .TP
2330 #.  .BR EM_ALPHA_EXP
2331 #.  Compaq [DEC] Alpha with enhanced instruction set.
2332 #. type: Plain text
2333 #: build/C/man5/elf.5:493
2334 msgid "DEC Vax."
2335 msgstr "DEC Vax."
2336
2337 #. type: TP
2338 #: build/C/man5/elf.5:496
2339 #, no-wrap
2340 msgid "I<e_version>"
2341 msgstr "I<e_version>"
2342
2343 #.  .Bl -tag -width "EV_CURRENT" -compact
2344 #. type: Plain text
2345 #: build/C/man5/elf.5:500
2346 msgid "This member identifies the file version:"
2347 msgstr "このメンバはファイルバージョンを示す:"
2348
2349 #. type: TP
2350 #: build/C/man5/elf.5:511
2351 #, no-wrap
2352 msgid "I<e_entry>"
2353 msgstr "I<e_entry>"
2354
2355 #. type: Plain text
2356 #: build/C/man5/elf.5:517
2357 msgid ""
2358 "This member gives the virtual address to which the system first transfers "
2359 "control, thus starting the process.  If the file has no associated entry "
2360 "point, this member holds zero."
2361 msgstr ""
2362 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2363 "スを指定する。 ファイルにエントリーポイントが関連付けられていない場合、 この"
2364 "メンバには 0 が入る。"
2365
2366 #. type: TP
2367 #: build/C/man5/elf.5:517
2368 #, no-wrap
2369 msgid "I<e_phoff>"
2370 msgstr "I<e_phoff>"
2371
2372 #. type: Plain text
2373 #: build/C/man5/elf.5:522
2374 msgid ""
2375 "This member holds the program header table's file offset in bytes.  If the "
2376 "file has no program header table, this member holds zero."
2377 msgstr ""
2378 "このメンバはプログラムヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2379 "持する。 ファイルにプログラムヘッダーテーブルがない場合、 このメンバには 0 が"
2380 "入る。"
2381
2382 #. type: TP
2383 #: build/C/man5/elf.5:522
2384 #, no-wrap
2385 msgid "I<e_shoff>"
2386 msgstr "I<e_shoff>"
2387
2388 #. type: Plain text
2389 #: build/C/man5/elf.5:527
2390 msgid ""
2391 "This member holds the section header table's file offset in bytes.  If the "
2392 "file has no section header table, this member holds zero."
2393 msgstr ""
2394 "このメンバはセクションヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2395 "持する。 ファイルにセクションヘッダーテーブルがない場合、 このメンバには 0 が"
2396 "入る。"
2397
2398 #. type: TP
2399 #: build/C/man5/elf.5:527
2400 #, no-wrap
2401 msgid "I<e_flags>"
2402 msgstr "I<e_flags>"
2403
2404 #. type: Plain text
2405 #: build/C/man5/elf.5:532
2406 msgid ""
2407 "This member holds processor-specific flags associated with the file.  Flag "
2408 "names take the form EF_`machine_flag'.  Currently no flags have been defined."
2409 msgstr ""
2410 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2411 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2412 "いない。"
2413
2414 #. type: TP
2415 #: build/C/man5/elf.5:532
2416 #, no-wrap
2417 msgid "I<e_ehsize>"
2418 msgstr "I<e_ehsize>"
2419
2420 #. type: Plain text
2421 #: build/C/man5/elf.5:535
2422 msgid "This member holds the ELF header's size in bytes."
2423 msgstr "このメンバは ELF ヘッダーサイズ (バイト単位) を保持する。"
2424
2425 #. type: TP
2426 #: build/C/man5/elf.5:535
2427 #, no-wrap
2428 msgid "I<e_phentsize>"
2429 msgstr "I<e_phentsize>"
2430
2431 #. type: Plain text
2432 #: build/C/man5/elf.5:539
2433 msgid ""
2434 "This member holds the size in bytes of one entry in the file's program "
2435 "header table; all entries are the same size."
2436 msgstr ""
2437 "このメンバはこのファイルのプログラムヘッダーテーブルの 1 エントリーあたりのサ"
2438 "イズ (バイト単位) を保持する; 全てのエントリーは同じサイズである。"
2439
2440 #. type: TP
2441 #: build/C/man5/elf.5:539
2442 #, no-wrap
2443 msgid "I<e_phnum>"
2444 msgstr "I<e_phnum>"
2445
2446 #. type: Plain text
2447 #: build/C/man5/elf.5:552
2448 msgid ""
2449 "This member holds the number of entries in the program header table.  Thus "
2450 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2451 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
2452 msgstr ""
2453 "このメンバはプログラムヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2454 "て I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 "
2455 "ファイルにプログラムヘッダーがない場合、 I<e_phnum> は値 0 を保持する。"
2456
2457 #.  This is a Linux extension, added in Linux 2.6.34.
2458 #.  .Bl -tag -width "PN_XNUM"
2459 #. type: Plain text
2460 #: build/C/man5/elf.5:566
2461 msgid ""
2462 "If the number of entries in the program header table is larger than or equal "
2463 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2464 "number of entries in the program header table is held in the I<sh_info> "
2465 "member of the initial entry in section header table.  Otherwise, the "
2466 "I<sh_info> member of the initial entry contains the value zero."
2467 msgstr ""
2468 "プログラムヘッダーテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2469 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダーテーブルの\n"
2470 "エントリーの実際の数は、セクションヘッダーテーブルの最初のエントリーの \n"
2471 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2472 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2473
2474 #. type: TP
2475 #: build/C/man5/elf.5:567
2476 #, no-wrap
2477 msgid "B<PN_XNUM>"
2478 msgstr "B<PN_XNUM>"
2479
2480 #. type: Plain text
2481 #: build/C/man5/elf.5:572
2482 msgid ""
2483 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2484 "specifying where the actual number of program headers is assigned."
2485 msgstr ""
2486 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2487 "はプログラムヘッダーの実際の数がどこに割り当てられているかを示す。"
2488
2489 #. type: TP
2490 #: build/C/man5/elf.5:576
2491 #, no-wrap
2492 msgid "I<e_shentsize>"
2493 msgstr "I<e_shentsize>"
2494
2495 #. type: Plain text
2496 #: build/C/man5/elf.5:581
2497 msgid ""
2498 "This member holds a sections header's size in bytes.  A section header is "
2499 "one entry in the section header table; all entries are the same size."
2500 msgstr ""
2501 "このメンバはセクションヘッダーのサイズ (バイト単位) を保持する。 セクション"
2502 "ヘッダーはセクションヘッダーテーブルの 1 つのエントリーである; 全てのエント"
2503 "リーは同じサイズである。"
2504
2505 #. type: TP
2506 #: build/C/man5/elf.5:581
2507 #, no-wrap
2508 msgid "I<e_shnum>"
2509 msgstr "I<e_shnum>"
2510
2511 #. type: Plain text
2512 #: build/C/man5/elf.5:594
2513 msgid ""
2514 "This member holds the number of entries in the section header table.  Thus "
2515 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2516 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
2517 "holds the value of zero."
2518 msgstr ""
2519 "このメンバはセクションヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2520 "て I<e_shentsize> と I<e_shnum> の積はセクションヘッダーテーブルのサイズ (バ"
2521 "イト単位) になる。 ファイルにセクションヘッダーテーブルがない場合、 "
2522 "I<e_shnum> は値 0 を保持する。"
2523
2524 #. type: Plain text
2525 #: build/C/man5/elf.5:606
2526 msgid ""
2527 "If the number of entries in the section header table is larger than or equal "
2528 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2529 "number of entries in the section header table is held in the I<sh_size> "
2530 "member of the initial entry in section header table.  Otherwise, the "
2531 "I<sh_size> member of the initial entry in the section header table holds the "
2532 "value zero."
2533 msgstr ""
2534 "セクションヘッダーテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2535 "合、\n"
2536 "I<e_shnum> には値 0 が入り、セクションヘッダーテーブルのエントリーの実際の数"
2537 "は\n"
2538 "セクションヘッダーテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2539 "る。\n"
2540 "それ以外の場合、セクションヘッダーテーブルの最初のエントリーの I<sh_info> メ"
2541 "ンバ\n"
2542 "には値 0 が格納される。"
2543
2544 #. type: TP
2545 #: build/C/man5/elf.5:606
2546 #, no-wrap
2547 msgid "I<e_shstrndx>"
2548 msgstr "I<e_shstrndx>"
2549
2550 #. type: Plain text
2551 #: build/C/man5/elf.5:613
2552 msgid ""
2553 "This member holds the section header table index of the entry associated "
2554 "with the section name string table.  If the file has no section name string "
2555 "table, this member holds the value B<SHN_UNDEF>."
2556 msgstr ""
2557 "このメンバはセクション名文字列テーブルに関連付けられたエントリーの セクション"
2558 "ヘッダーテーブルインデックスを保持する。 ファイルにセクション名文字列テーブル"
2559 "がない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2560
2561 #. type: Plain text
2562 #: build/C/man5/elf.5:625
2563 msgid ""
2564 "If the index of section name string table section is larger than or equal to "
2565 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2566 "real index of the section name string table section is held in the "
2567 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
2568 "the I<sh_link> member of the initial entry in section header table contains "
2569 "the value zero."
2570 msgstr ""
2571 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2572 "の\n"
2573 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2574 "テーブルの実際のインデックスはセクションヘッダーテーブルの最初のエントリー"
2575 "の\n"
2576 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2577 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2578
2579 #. type: TP
2580 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2581 #, no-wrap
2582 msgid "B<SHN_UNDEF>"
2583 msgstr "B<SHN_UNDEF>"
2584
2585 #. type: Plain text
2586 #: build/C/man5/elf.5:636
2587 msgid ""
2588 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2589 "section reference.  For example, a symbol \"defined\" relative to section "
2590 "number B<SHN_UNDEF> is an undefined symbol."
2591 msgstr ""
2592 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2593 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2594 "ボルは、「未定義」なシンボルである。"
2595
2596 #. type: TP
2597 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2598 #, no-wrap
2599 msgid "B<SHN_LORESERVE>"
2600 msgstr "B<SHN_LORESERVE>"
2601
2602 #. type: Plain text
2603 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2604 msgid "This value specifies the lower bound of the range of reserved indices."
2605 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2606
2607 #. type: TP
2608 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2609 #, no-wrap
2610 msgid "B<SHN_LOPROC>"
2611 msgstr "B<SHN_LOPROC>"
2612
2613 #. type: Plain text
2614 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2615 msgid ""
2616 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2617 "specific semantics."
2618 msgstr ""
2619 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2620
2621 #. type: TP
2622 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2623 #, no-wrap
2624 msgid "B<SHN_HIPROC>"
2625 msgstr "B<SHN_HIPROC>"
2626
2627 #. type: Plain text
2628 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2629 msgid ""
2630 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2631 "specific semantics."
2632 msgstr ""
2633 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2634
2635 #. type: TP
2636 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2637 #, no-wrap
2638 msgid "B<SHN_ABS>"
2639 msgstr "B<SHN_ABS>"
2640
2641 #. type: Plain text
2642 #: build/C/man5/elf.5:656
2643 msgid ""
2644 "This value specifies absolute values for the corresponding reference.  For "
2645 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2646 "values and are not affected by relocation."
2647 msgstr ""
2648 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2649 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2650
2651 #. type: TP
2652 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2653 #, no-wrap
2654 msgid "B<SHN_COMMON>"
2655 msgstr "B<SHN_COMMON>"
2656
2657 #. type: Plain text
2658 #: build/C/man5/elf.5:660
2659 msgid ""
2660 "Symbols defined relative to this section are common symbols, such as Fortran "
2661 "COMMON or unallocated C external variables."
2662 msgstr ""
2663 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2664 "り当て external 変数のような、 共通シンボルである。"
2665
2666 #. type: TP
2667 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2668 #, no-wrap
2669 msgid "B<SHN_HIRESERVE>"
2670 msgstr "B<SHN_HIRESERVE>"
2671
2672 #. type: Plain text
2673 #: build/C/man5/elf.5:673
2674 msgid ""
2675 "This value specifies the upper bound of the range of reserved indices "
2676 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2677 "reference the section header table.  That is, the section header table does "
2678 "I<not> contain entries for the reserved indices."
2679 msgstr ""
2680 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2681 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダーテーブルを参照しな"
2682 "い。 つまり、セクションヘッダーテーブルは 予約されたインデックスのエントリー"
2683 "を I<含まない 。>"
2684
2685 #. type: Plain text
2686 #: build/C/man5/elf.5:695
2687 msgid ""
2688 "An executable or shared object file's program header table is an array of "
2689 "structures, each describing a segment or other information the system needs "
2690 "to prepare the program for execution.  An object file I<segment> contains "
2691 "one or more I<sections>.  Program headers are meaningful only for executable "
2692 "and shared object files.  A file specifies its own program header size with "
2693 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
2694 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2695 "the architecture:"
2696 msgstr ""
2697 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダーテーブル"
2698 "は、 システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する"
2699 "構造体の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<"
2700 "セクション> が含まれる。 プログラムヘッダーは実行可能ファイルと共有オブジェク"
2701 "トファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダーサイズを ELF "
2702 "ヘッダーの I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラ"
2703 "ムヘッダーは I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらにな"
2704 "るかはアーキテクチャー依存):"
2705
2706 #. type: Plain text
2707 #: build/C/man5/elf.5:708
2708 #, no-wrap
2709 msgid ""
2710 "typedef struct {\n"
2711 "    uint32_t   p_type;\n"
2712 "    Elf32_Off  p_offset;\n"
2713 "    Elf32_Addr p_vaddr;\n"
2714 "    Elf32_Addr p_paddr;\n"
2715 "    uint32_t   p_filesz;\n"
2716 "    uint32_t   p_memsz;\n"
2717 "    uint32_t   p_flags;\n"
2718 "    uint32_t   p_align;\n"
2719 "} Elf32_Phdr;\n"
2720 msgstr ""
2721 "typedef struct {\n"
2722 "    uint32_t   p_type;\n"
2723 "    Elf32_Off  p_offset;\n"
2724 "    Elf32_Addr p_vaddr;\n"
2725 "    Elf32_Addr p_paddr;\n"
2726 "    uint32_t   p_filesz;\n"
2727 "    uint32_t   p_memsz;\n"
2728 "    uint32_t   p_flags;\n"
2729 "    uint32_t   p_align;\n"
2730 "} Elf32_Phdr;\n"
2731
2732 #. type: Plain text
2733 #: build/C/man5/elf.5:723
2734 #, no-wrap
2735 msgid ""
2736 "typedef struct {\n"
2737 "    uint32_t   p_type;\n"
2738 "    uint32_t   p_flags;\n"
2739 "    Elf64_Off  p_offset;\n"
2740 "    Elf64_Addr p_vaddr;\n"
2741 "    Elf64_Addr p_paddr;\n"
2742 "    uint64_t   p_filesz;\n"
2743 "    uint64_t   p_memsz;\n"
2744 "    uint64_t   p_align;\n"
2745 "} Elf64_Phdr;\n"
2746 msgstr ""
2747 "typedef struct {\n"
2748 "    uint32_t   p_type;\n"
2749 "    uint32_t   p_flags;\n"
2750 "    Elf64_Off  p_offset;\n"
2751 "    Elf64_Addr p_vaddr;\n"
2752 "    Elf64_Addr p_paddr;\n"
2753 "    uint64_t   p_filesz;\n"
2754 "    uint64_t   p_memsz;\n"
2755 "    uint64_t   p_align;\n"
2756 "} Elf64_Phdr;\n"
2757
2758 #.  .Bl -tag -width "p_offset"
2759 #. type: Plain text
2760 #: build/C/man5/elf.5:731
2761 msgid ""
2762 "The main difference between the 32-bit and the 64-bit program header lies in "
2763 "the location of the I<p_flags> member in the total struct."
2764 msgstr ""
2765 "32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における "
2766 "I<p_flags> メンバの位置にある。"
2767
2768 #. type: TP
2769 #: build/C/man5/elf.5:731
2770 #, no-wrap
2771 msgid "I<p_type>"
2772 msgstr "I<p_type>"
2773
2774 #.  .Bl -tag -width "PT_DYNAMIC"
2775 #. type: Plain text
2776 #: build/C/man5/elf.5:736
2777 msgid ""
2778 "This member of the Phdr struct tells what kind of segment this array element "
2779 "describes or how to interpret the array element's information."
2780 msgstr ""
2781 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2782 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2783
2784 #. type: TP
2785 #: build/C/man5/elf.5:737
2786 #, no-wrap
2787 msgid "B<PT_NULL>"
2788 msgstr "B<PT_NULL>"
2789
2790 #. type: Plain text
2791 #: build/C/man5/elf.5:741
2792 msgid ""
2793 "The array element is unused and the other members' values are undefined.  "
2794 "This lets the program header have ignored entries."
2795 msgstr ""
2796 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2797 "り、このプログラムヘッダーのエントリーは無視される。"
2798
2799 #. type: TP
2800 #: build/C/man5/elf.5:741
2801 #, no-wrap
2802 msgid "B<PT_LOAD>"
2803 msgstr "B<PT_LOAD>"
2804
2805 #. type: Plain text
2806 #: build/C/man5/elf.5:762
2807 msgid ""
2808 "The array element specifies a loadable segment, described by I<p_filesz> and "
2809 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
2810 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
2811 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2812 "and to follow the segment's initialized area.  The file size may not be "
2813 "larger than the memory size.  Loadable segment entries in the program header "
2814 "table appear in ascending order, sorted on the I<p_vaddr> member."
2815 msgstr ""
2816 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2817 "定する。 このファイルからのバイトデータが、このメモリーセグメントの先頭から"
2818 "マップされる。 セグメントのメモリーサイズ I<Sy>p_memsz がファイルサイズ "
2819 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2820 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリーサイズ"
2821 "より大きくてはいけない。 プログラムヘッダーテーブルのロード可能セグメントエン"
2822 "トリーは、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2823
2824 #. type: TP
2825 #: build/C/man5/elf.5:762
2826 #, no-wrap
2827 msgid "B<PT_DYNAMIC>"
2828 msgstr "B<PT_DYNAMIC>"
2829
2830 #. type: Plain text
2831 #: build/C/man5/elf.5:765
2832 msgid "The array element specifies dynamic linking information."
2833 msgstr "この配列要素は動的リンク情報を指定する。"
2834
2835 #. type: TP
2836 #: build/C/man5/elf.5:765
2837 #, no-wrap
2838 msgid "B<PT_INTERP>"
2839 msgstr "B<PT_INTERP>"
2840
2841 #. type: Plain text
2842 #: build/C/man5/elf.5:773
2843 msgid ""
2844 "The array element specifies the location and size of a null-terminated "
2845 "pathname to invoke as an interpreter.  This segment type is meaningful only "
2846 "for executable files (though it may occur for shared objects).  However it "
2847 "may not occur more than once in a file.  If it is present, it must precede "
2848 "any loadable segment entry."
2849 msgstr ""
2850 "この配列要素は、インタープリターとして起動されるパス名 (ヌル文字終端)  の位置"
2851 "とサイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2852 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2853 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2854 "のロード可能セグメントエントリーより前になければならない。"
2855
2856 #. type: TP
2857 #: build/C/man5/elf.5:773
2858 #, no-wrap
2859 msgid "B<PT_NOTE>"
2860 msgstr "B<PT_NOTE>"
2861
2862 #. type: Plain text
2863 #: build/C/man5/elf.5:776
2864 msgid ""
2865 "The array element specifies the location and size for auxiliary information."
2866 msgstr ""
2867 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2868
2869 #. type: TP
2870 #: build/C/man5/elf.5:776
2871 #, no-wrap
2872 msgid "B<PT_SHLIB>"
2873 msgstr "B<PT_SHLIB>"
2874
2875 #. type: Plain text
2876 #: build/C/man5/elf.5:781
2877 msgid ""
2878 "This segment type is reserved but has unspecified semantics.  Programs that "
2879 "contain an array element of this type do not conform to the ABI."
2880 msgstr ""
2881 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2882 "を保持するプログラムは ABI に準拠しない。"
2883
2884 #. type: TP
2885 #: build/C/man5/elf.5:781
2886 #, no-wrap
2887 msgid "B<PT_PHDR>"
2888 msgstr "B<PT_PHDR>"
2889
2890 #. type: Plain text
2891 #: build/C/man5/elf.5:790
2892 msgid ""
2893 "The array element, if present, specifies the location and size of the "
2894 "program header table itself, both in the file and in the memory image of the "
2895 "program.  This segment type may not occur more than once in a file.  "
2896 "Moreover, it may occur only if the program header table is part of the "
2897 "memory image of the program.  If it is present, it must precede any loadable "
2898 "segment entry."
2899 msgstr ""
2900 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリーイ"
2901 "メージ双方における プログラムヘッダーテーブル自身の位置とサイズを指定する。 "
2902 "このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、この"
2903 "セグメント型が存在してもよいのは、プログラムヘッダーテーブルが プログラムのメ"
2904 "モリーイメージの一部である場合のみである。 もし存在する場合、これは全てのロー"
2905 "ド可能セグメントエントリーより 前になければならない。"
2906
2907 #. type: TP
2908 #: build/C/man5/elf.5:790
2909 #, no-wrap
2910 msgid "B<PT_LOPROC>"
2911 msgstr "B<PT_LOPROC>"
2912
2913 #. type: Plain text
2914 #: build/C/man5/elf.5:795
2915 msgid ""
2916 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2917 "specific semantics."
2918 msgstr ""
2919 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2920
2921 #. type: TP
2922 #: build/C/man5/elf.5:795
2923 #, no-wrap
2924 msgid "B<PT_HIPROC>"
2925 msgstr "B<PT_HIPROC>"
2926
2927 #. type: Plain text
2928 #: build/C/man5/elf.5:800
2929 msgid ""
2930 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2931 "specific semantics."
2932 msgstr ""
2933 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2934
2935 #. type: TP
2936 #: build/C/man5/elf.5:800
2937 #, no-wrap
2938 msgid "B<PT_GNU_STACK>"
2939 msgstr "B<PT_GNU_STACK>"
2940
2941 #.  .El
2942 #. type: Plain text
2943 #: build/C/man5/elf.5:807
2944 msgid ""
2945 "GNU extension which is used by the Linux kernel to control the state of the "
2946 "stack via the flags set in the I<p_flags> member."
2947 msgstr ""
2948 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2949 "由でスタックの状態を制御するために使用する。"
2950
2951 #. type: TP
2952 #: build/C/man5/elf.5:808
2953 #, no-wrap
2954 msgid "I<p_offset>"
2955 msgstr "I<p_offset>"
2956
2957 #. type: Plain text
2958 #: build/C/man5/elf.5:812
2959 msgid ""
2960 "This member holds the offset from the beginning of the file at which the "
2961 "first byte of the segment resides."
2962 msgstr ""
2963 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2964 "保持する。"
2965
2966 #. type: TP
2967 #: build/C/man5/elf.5:812
2968 #, no-wrap
2969 msgid "I<p_vaddr>"
2970 msgstr "I<p_vaddr>"
2971
2972 #. type: Plain text
2973 #: build/C/man5/elf.5:816
2974 msgid ""
2975 "This member holds the virtual address at which the first byte of the segment "
2976 "resides in memory."
2977 msgstr ""
2978 "このメンバは、セグメントの先頭バイトがある メモリーの仮想アドレスを保持する。"
2979
2980 #. type: TP
2981 #: build/C/man5/elf.5:816
2982 #, no-wrap
2983 msgid "I<p_paddr>"
2984 msgstr "I<p_paddr>"
2985
2986 #. type: Plain text
2987 #: build/C/man5/elf.5:824
2988 msgid ""
2989 "On systems for which physical addressing is relevant, this member is "
2990 "reserved for the segment's physical address.  Under BSD this member is not "
2991 "used and must be zero."
2992 msgstr ""
2993 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2994 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2995
2996 #. type: TP
2997 #: build/C/man5/elf.5:824
2998 #, no-wrap
2999 msgid "I<p_filesz>"
3000 msgstr "I<p_filesz>"
3001
3002 #. type: Plain text
3003 #: build/C/man5/elf.5:828
3004 msgid ""
3005 "This member holds the number of bytes in the file image of the segment.  It "
3006 "may be zero."
3007 msgstr ""
3008 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
3009 "よい。"
3010
3011 #. type: TP
3012 #: build/C/man5/elf.5:828
3013 #, no-wrap
3014 msgid "I<p_memsz>"
3015 msgstr "I<p_memsz>"
3016
3017 #. type: Plain text
3018 #: build/C/man5/elf.5:832
3019 msgid ""
3020 "This member holds the number of bytes in the memory image of the segment.  "
3021 "It may be zero."
3022 msgstr ""
3023 "このメンバはセグメントのメモリーイメージのバイト数を保持する。 これは 0 でも"
3024 "よい。"
3025
3026 #. type: TP
3027 #: build/C/man5/elf.5:832
3028 #, no-wrap
3029 msgid "I<p_flags>"
3030 msgstr "I<p_flags>"
3031
3032 #.  .Bl -tag -width "PF_X" -compact
3033 #. type: Plain text
3034 #: build/C/man5/elf.5:836
3035 msgid "This member holds a bit mask of flags relevant to the segment:"
3036 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3037
3038 #. type: TP
3039 #: build/C/man5/elf.5:837
3040 #, no-wrap
3041 msgid "B<PF_X>"
3042 msgstr "B<PF_X>"
3043
3044 #. type: Plain text
3045 #: build/C/man5/elf.5:841
3046 msgid "An executable segment."
3047 msgstr "実行可能セグメント。"
3048
3049 #. type: TP
3050 #: build/C/man5/elf.5:841
3051 #, no-wrap
3052 msgid "B<PF_W>"
3053 msgstr "B<PF_W>"
3054
3055 #. type: Plain text
3056 #: build/C/man5/elf.5:844
3057 msgid "A writable segment."
3058 msgstr "書き込み可能セグメント."
3059
3060 #. type: TP
3061 #: build/C/man5/elf.5:844
3062 #, no-wrap
3063 msgid "B<PF_R>"
3064 msgstr "B<PF_R>"
3065
3066 #. type: Plain text
3067 #: build/C/man5/elf.5:847
3068 msgid "A readable segment."
3069 msgstr "読み込み可能セグメント。"
3070
3071 #. type: Plain text
3072 #: build/C/man5/elf.5:860
3073 msgid ""
3074 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
3075 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3076 msgstr ""
3077 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3078 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3079
3080 #. type: TP
3081 #: build/C/man5/elf.5:860
3082 #, no-wrap
3083 msgid "I<p_align>"
3084 msgstr "I<p_align>"
3085
3086 #.  .El
3087 #. type: Plain text
3088 #: build/C/man5/elf.5:879
3089 msgid ""
3090 "This member holds the value to which the segments are aligned in memory and "
3091 "in the file.  Loadable process segments must have congruent values for "
3092 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
3093 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
3094 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3095 "I<p_align>."
3096 msgstr ""
3097 "このメンバは、セグメントがメモリーおよびファイルにおいて配置 (align)  される"
3098 "値を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3099 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3100 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3101 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3102 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3103 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3104 "ばならない)。"
3105
3106 #. type: Plain text
3107 #: build/C/man5/elf.5:896
3108 msgid ""
3109 "A file's section header table lets one locate all the file's sections.  The "
3110 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3111 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
3112 "the beginning of the file to the section header table.  I<e_shnum> holds the "
3113 "number of entries the section header table contains.  I<e_shentsize> holds "
3114 "the size in bytes of each entry."
3115 msgstr ""
3116 "ファイルのセクションヘッダーテーブルには、 全てのファイルセクションの場所が記"
3117 "述されている。 セクションヘッダーテーブルは I<Elf32_Shdr> 構造体または "
3118 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダーの I<e_shoff> メンバはファイル"
3119 "の先頭から セクションヘッダーテーブルへのバイトオフセットである。 I<e_shnum> "
3120 "はセクションヘッダーテーブルに含まれるエントリーの数を保持する。 "
3121 "I<e_shentsize> は各エントリーのサイズ (バイト単位) を保持する。"
3122
3123 #.  .Bl -tag -width "SHN_LORESERVE"
3124 #. type: Plain text
3125 #: build/C/man5/elf.5:913
3126 msgid ""
3127 "A section header table index is a subscript into this array.  Some section "
3128 "header table indices are reserved: the initial entry and the indices between "
3129 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
3130 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3131 "field in the initial entry is set to zero.  An object file does not have "
3132 "sections for these special indices:"
3133 msgstr ""
3134 "セクションヘッダーテーブルインデックスは、この配列の添字である。\n"
3135 "いくつかのセクションヘッダーテーブルインデックスは予約されている。予約され"
3136 "て\n"
3137 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3138 "インデックスである。\n"
3139 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3140 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3141 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3142 "い。"
3143
3144 #. type: Plain text
3145 #: build/C/man5/elf.5:918
3146 msgid ""
3147 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3148 "section reference."
3149 msgstr ""
3150 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3151 "味なセクション参照を示す。"
3152
3153 #. type: Plain text
3154 #: build/C/man5/elf.5:938
3155 msgid ""
3156 "This value specifies the absolute value for the corresponding reference.  "
3157 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3158 "absolute value and is not affected by relocation."
3159 msgstr ""
3160 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3161 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3162 "ない。"
3163
3164 #. type: Plain text
3165 #: build/C/man5/elf.5:942
3166 msgid ""
3167 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3168 "COMMON or unallocated C external variables."
3169 msgstr ""
3170 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3171 "未割り当て外部変数のような共通シンボルである。"
3172
3173 #. type: Plain text
3174 #: build/C/man5/elf.5:953
3175 msgid ""
3176 "This value specifies the upper bound of the range of reserved indices.  The "
3177 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3178 "inclusive.  The section header table does not contain entries for the "
3179 "reserved indices."
3180 msgstr ""
3181 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3182 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッ"
3183 "ダーテーブルは予約されたインデックスに対応するエントリーを持たない。"
3184
3185 #. type: Plain text
3186 #: build/C/man5/elf.5:957
3187 msgid "The section header has the following structure:"
3188 msgstr "セクションヘッダーは以下の構造体を持つ:"
3189
3190 #. type: Plain text
3191 #: build/C/man5/elf.5:972
3192 #, no-wrap
3193 msgid ""
3194 "typedef struct {\n"
3195 "    uint32_t   sh_name;\n"
3196 "    uint32_t   sh_type;\n"
3197 "    uint32_t   sh_flags;\n"
3198 "    Elf32_Addr sh_addr;\n"
3199 "    Elf32_Off  sh_offset;\n"
3200 "    uint32_t   sh_size;\n"
3201 "    uint32_t   sh_link;\n"
3202 "    uint32_t   sh_info;\n"
3203 "    uint32_t   sh_addralign;\n"
3204 "    uint32_t   sh_entsize;\n"
3205 "} Elf32_Shdr;\n"
3206 msgstr ""
3207 "typedef struct {\n"
3208 "    uint32_t   sh_name;\n"
3209 "    uint32_t   sh_type;\n"
3210 "    uint32_t   sh_flags;\n"
3211 "    Elf32_Addr sh_addr;\n"
3212 "    Elf32_Off  sh_offset;\n"
3213 "    uint32_t   sh_size;\n"
3214 "    uint32_t   sh_link;\n"
3215 "    uint32_t   sh_info;\n"
3216 "    uint32_t   sh_addralign;\n"
3217 "    uint32_t   sh_entsize;\n"
3218 "} Elf32_Shdr;\n"
3219
3220 #. type: Plain text
3221 #: build/C/man5/elf.5:989
3222 #, no-wrap
3223 msgid ""
3224 "typedef struct {\n"
3225 "    uint32_t   sh_name;\n"
3226 "    uint32_t   sh_type;\n"
3227 "    uint64_t   sh_flags;\n"
3228 "    Elf64_Addr sh_addr;\n"
3229 "    Elf64_Off  sh_offset;\n"
3230 "    uint64_t   sh_size;\n"
3231 "    uint32_t   sh_link;\n"
3232 "    uint32_t   sh_info;\n"
3233 "    uint64_t   sh_addralign;\n"
3234 "    uint64_t   sh_entsize;\n"
3235 "} Elf64_Shdr;\n"
3236 msgstr ""
3237 "typedef struct {\n"
3238 "    uint32_t   sh_name;\n"
3239 "    uint32_t   sh_type;\n"
3240 "    uint64_t   sh_flags;\n"
3241 "    Elf64_Addr sh_addr;\n"
3242 "    Elf64_Off  sh_offset;\n"
3243 "    uint64_t   sh_size;\n"
3244 "    uint32_t   sh_link;\n"
3245 "    uint32_t   sh_info;\n"
3246 "    uint64_t   sh_addralign;\n"
3247 "    uint64_t   sh_entsize;\n"
3248 "} Elf64_Shdr;\n"
3249
3250 #.  .Bl -tag -width "sh_addralign"
3251 #. type: Plain text
3252 #: build/C/man5/elf.5:994
3253 msgid ""
3254 "No real differences exist between the 32-bit and 64-bit section headers."
3255 msgstr "32 ビットと 64 ビットのセクションヘッダーには実際の違いはない。"
3256
3257 #. type: TP
3258 #: build/C/man5/elf.5:994
3259 #, no-wrap
3260 msgid "I<sh_name>"
3261 msgstr "I<sh_name>"
3262
3263 #. type: Plain text
3264 #: build/C/man5/elf.5:1000
3265 msgid ""
3266 "This member specifies the name of the section.  Its value is an index into "
3267 "the section header string table section, giving the location of a null-"
3268 "terminated string."
3269 msgstr ""
3270 "このメンバはセクション名を定める。 この値はセクションヘッダー文字列テーブルセ"
3271 "クションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
3272
3273 #. type: TP
3274 #: build/C/man5/elf.5:1000
3275 #, no-wrap
3276 msgid "I<sh_type>"
3277 msgstr "I<sh_type>"
3278
3279 #.  .Bl -tag -width "SHT_PROGBITS"
3280 #. type: Plain text
3281 #: build/C/man5/elf.5:1004
3282 msgid "This member categorizes the section's contents and semantics."
3283 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリーを示す。"
3284
3285 #. type: TP
3286 #: build/C/man5/elf.5:1005
3287 #, no-wrap
3288 msgid "B<SHT_NULL>"
3289 msgstr "B<SHT_NULL>"
3290
3291 #. type: Plain text
3292 #: build/C/man5/elf.5:1012
3293 msgid ""
3294 "This value marks the section header as inactive.  It does not have an "
3295 "associated section.  Other members of the section header have undefined "
3296 "values."
3297 msgstr ""
3298 "この値はセクションヘッダーが不活性であることを示す。 これは関連するセクション"
3299 "を持たない。 このセクションヘッダーの他のメンバは、未定義の値を持つ。"
3300
3301 #. type: TP
3302 #: build/C/man5/elf.5:1012
3303 #, no-wrap
3304 msgid "B<SHT_PROGBITS>"
3305 msgstr "B<SHT_PROGBITS>"
3306
3307 #. type: Plain text
3308 #: build/C/man5/elf.5:1016
3309 msgid ""
3310 "This section holds information defined by the program, whose format and "
3311 "meaning are determined solely by the program."
3312 msgstr ""
3313 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3314 "味は、ひとえにプログラムによって決定される。"
3315
3316 #. type: TP
3317 #: build/C/man5/elf.5:1016
3318 #, no-wrap
3319 msgid "B<SHT_SYMTAB>"
3320 msgstr "B<SHT_SYMTAB>"
3321
3322 #. type: Plain text
3323 #: build/C/man5/elf.5:1029
3324 msgid ""
3325 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
3326 "symbols for link editing, though it may also be used for dynamic linking.  "
3327 "As a complete symbol table, it may contain many symbols unnecessary for "
3328 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
3329 msgstr ""
3330 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3331 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3332 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3333 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3334
3335 #. type: TP
3336 #: build/C/man5/elf.5:1029
3337 #, no-wrap
3338 msgid "B<SHT_STRTAB>"
3339 msgstr "B<SHT_STRTAB>"
3340
3341 #. type: Plain text
3342 #: build/C/man5/elf.5:1034
3343 msgid ""
3344 "This section holds a string table.  An object file may have multiple string "
3345 "table sections."
3346 msgstr ""
3347 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3348 "テーブルセクションを持つことができる。"
3349
3350 #. type: TP
3351 #: build/C/man5/elf.5:1034
3352 #, no-wrap
3353 msgid "B<SHT_RELA>"
3354 msgstr "B<SHT_RELA>"
3355
3356 #. type: Plain text
3357 #: build/C/man5/elf.5:1042
3358 msgid ""
3359 "This section holds relocation entries with explicit addends, such as type "
3360 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
3361 "multiple relocation sections."
3362 msgstr ""
3363 "このセクションは明示的な加数 (addend) を持つ再配置エントリーを保持する。 再配"
3364 "置エントリーの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> "
3365 "である。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3366
3367 #. type: TP
3368 #: build/C/man5/elf.5:1042
3369 #, no-wrap
3370 msgid "B<SHT_HASH>"
3371 msgstr "B<SHT_HASH>"
3372
3373 #. type: Plain text
3374 #: build/C/man5/elf.5:1049
3375 msgid ""
3376 "This section holds a symbol hash table.  An object participating in dynamic "
3377 "linking must contain a symbol hash table.  An object file may have only one "
3378 "hash table."
3379 msgstr ""
3380 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3381 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3382 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3383
3384 #. type: TP
3385 #: build/C/man5/elf.5:1049
3386 #, no-wrap
3387 msgid "B<SHT_DYNAMIC>"
3388 msgstr "B<SHT_DYNAMIC>"
3389
3390 #. type: Plain text
3391 #: build/C/man5/elf.5:1054
3392 msgid ""
3393 "This section holds information for dynamic linking.  An object file may have "
3394 "only one dynamic section."
3395 msgstr ""
3396 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3397 "的セクションのみを持つことができる。"
3398
3399 #. type: TP
3400 #: build/C/man5/elf.5:1054
3401 #, no-wrap
3402 msgid "B<SHT_NOTE>"
3403 msgstr "B<SHT_NOTE>"
3404
3405 #. type: Plain text
3406 #: build/C/man5/elf.5:1057
3407 msgid "This section holds information that marks the file in some way."
3408 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3409
3410 #. type: TP
3411 #: build/C/man5/elf.5:1057
3412 #, no-wrap
3413 msgid "B<SHT_NOBITS>"
3414 msgstr "B<SHT_NOBITS>"
3415
3416 #. type: Plain text
3417 #: build/C/man5/elf.5:1065
3418 msgid ""
3419 "A section of this type occupies no space in the file but otherwise resembles "
3420 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
3421 "member contains the conceptual file offset."
3422 msgstr ""
3423 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3424 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3425 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3426
3427 #. type: TP
3428 #: build/C/man5/elf.5:1065
3429 #, no-wrap
3430 msgid "B<SHT_REL>"
3431 msgstr "B<SHT_REL>"
3432
3433 #. type: Plain text
3434 #: build/C/man5/elf.5:1073
3435 msgid ""
3436 "This section holds relocation offsets without explicit addends, such as type "
3437 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
3438 "multiple relocation sections."
3439 msgstr ""
3440 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3441 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3442 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3443
3444 #. type: TP
3445 #: build/C/man5/elf.5:1073
3446 #, no-wrap
3447 msgid "B<SHT_SHLIB>"
3448 msgstr "B<SHT_SHLIB>"
3449
3450 #. type: Plain text
3451 #: build/C/man5/elf.5:1076
3452 msgid "This section is reserved but has unspecified semantics."
3453 msgstr "このセクションは予約されているが、意味は指定されていない。"
3454
3455 #. type: TP
3456 #: build/C/man5/elf.5:1076
3457 #, no-wrap
3458 msgid "B<SHT_DYNSYM>"
3459 msgstr "B<SHT_DYNSYM>"
3460
3461 #. type: Plain text
3462 #: build/C/man5/elf.5:1083
3463 msgid ""
3464 "This section holds a minimal set of dynamic linking symbols.  An object file "
3465 "can also contain a B<SHT_SYMTAB> section."
3466 msgstr ""
3467 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3468 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3469
3470 #. type: TP
3471 #: build/C/man5/elf.5:1083
3472 #, no-wrap
3473 msgid "B<SHT_LOPROC>"
3474 msgstr "B<SHT_LOPROC>"
3475
3476 #. type: Plain text
3477 #: build/C/man5/elf.5:1088
3478 msgid ""
3479 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3480 "specific semantics."
3481 msgstr ""
3482 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3483
3484 #. type: TP
3485 #: build/C/man5/elf.5:1088
3486 #, no-wrap
3487 msgid "B<SHT_HIPROC>"
3488 msgstr "B<SHT_HIPROC>"
3489
3490 #. type: Plain text
3491 #: build/C/man5/elf.5:1093
3492 msgid ""
3493 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3494 "specific semantics."
3495 msgstr ""
3496 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3497
3498 #. type: TP
3499 #: build/C/man5/elf.5:1093
3500 #, no-wrap
3501 msgid "B<SHT_LOUSER>"
3502 msgstr "B<SHT_LOUSER>"
3503
3504 #. type: Plain text
3505 #: build/C/man5/elf.5:1097
3506 msgid ""
3507 "This value specifies the lower bound of the range of indices reserved for "
3508 "application programs."
3509 msgstr ""
3510 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3511 "指定する。"
3512
3513 #. type: TP
3514 #: build/C/man5/elf.5:1097
3515 #, no-wrap
3516 msgid "B<SHT_HIUSER>"
3517 msgstr "B<SHT_HIUSER>"
3518
3519 #.  .El
3520 #. type: Plain text
3521 #: build/C/man5/elf.5:1108
3522 msgid ""
3523 "This value specifies the upper bound of the range of indices reserved for "
3524 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3525 "may be used by the application, without conflicting with current or future "
3526 "system-defined section types."
3527 msgstr ""
3528 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3529 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3530 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3531 "使用することができる。"
3532
3533 #. type: TP
3534 #: build/C/man5/elf.5:1109
3535 #, no-wrap
3536 msgid "I<sh_flags>"
3537 msgstr "I<sh_flags>"
3538
3539 #.  .Bl -tag -width "SHF_EXECINSTR" -compact
3540 #. type: Plain text
3541 #: build/C/man5/elf.5:1122
3542 msgid ""
3543 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
3544 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
3545 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
3546 "are set to zero."
3547 msgstr ""
3548 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3549 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3550 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3551 "義の属性は 0 に設定される。"
3552
3553 #. type: TP
3554 #: build/C/man5/elf.5:1123
3555 #, no-wrap
3556 msgid "B<SHF_WRITE>"
3557 msgstr "B<SHF_WRITE>"
3558
3559 #. type: Plain text
3560 #: build/C/man5/elf.5:1127
3561 msgid ""
3562 "This section contains data that should be writable during process execution."
3563 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3564
3565 #. type: TP
3566 #: build/C/man5/elf.5:1127
3567 #, no-wrap
3568 msgid "B<SHF_ALLOC>"
3569 msgstr "B<SHF_ALLOC>"
3570
3571 #. type: Plain text
3572 #: build/C/man5/elf.5:1134
3573 msgid ""
3574 "This section occupies memory during process execution.  Some control "
3575 "sections do not reside in the memory image of an object file.  This "
3576 "attribute is off for those sections."
3577 msgstr ""
3578 "このセクションはプロセス実行中にメモリーを使用する。 制御セクションの中には、"
3579 "オブジェクトファイルのメモリーイメージには 存在しないものもある。 そうしたセ"
3580 "クションの場合、この属性はオフである。"
3581
3582 #. type: TP
3583 #: build/C/man5/elf.5:1134
3584 #, no-wrap
3585 msgid "B<SHF_EXECINSTR>"
3586 msgstr "B<SHF_EXECINSTR>"
3587
3588 #. type: Plain text
3589 #: build/C/man5/elf.5:1137
3590 msgid "This section contains executable machine instructions."
3591 msgstr "このセクションは実行可能なマシン命令を含む。"
3592
3593 #. type: TP
3594 #: build/C/man5/elf.5:1137
3595 #, no-wrap
3596 msgid "B<SHF_MASKPROC>"
3597 msgstr "B<SHF_MASKPROC>"
3598
3599 #. type: Plain text
3600 #: build/C/man5/elf.5:1141
3601 msgid ""
3602 "All bits included in this mask are reserved for processor-specific semantics."
3603 msgstr ""
3604 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3605
3606 #. type: TP
3607 #: build/C/man5/elf.5:1143
3608 #, no-wrap
3609 msgid "I<sh_addr>"
3610 msgstr "I<sh_addr>"
3611
3612 #. type: Plain text
3613 #: build/C/man5/elf.5:1148
3614 msgid ""
3615 "If this section appears in the memory image of a process, this member holds "
3616 "the address at which the section's first byte should reside.  Otherwise, the "
3617 "member contains zero."
3618 msgstr ""
3619 "このセクションがプロセスのメモリーイメージにある場合、 このメンバはセクション"
3620 "の最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 "
3621 "である。"
3622
3623 #. type: TP
3624 #: build/C/man5/elf.5:1148
3625 #, no-wrap
3626 msgid "I<sh_offset>"
3627 msgstr "I<sh_offset>"
3628
3629 #. type: Plain text
3630 #: build/C/man5/elf.5:1157
3631 msgid ""
3632 "This member's value holds the byte offset from the beginning of the file to "
3633 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
3634 "space in the file, and its I<sh_offset> member locates the conceptual "
3635 "placement in the file."
3636 msgstr ""
3637 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3638 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3639 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3640
3641 #. type: TP
3642 #: build/C/man5/elf.5:1157
3643 #, no-wrap
3644 msgid "I<sh_size>"
3645 msgstr "I<sh_size>"
3646
3647 #. type: Plain text
3648 #: build/C/man5/elf.5:1169
3649 msgid ""
3650 "This member holds the section's size in bytes.  Unless the section type is "
3651 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
3652 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3653 "the file."
3654 msgstr ""
3655 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3656 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3657 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3658 "領域を使用しない。"
3659
3660 #. type: TP
3661 #: build/C/man5/elf.5:1169
3662 #, no-wrap
3663 msgid "I<sh_link>"
3664 msgstr "I<sh_link>"
3665
3666 #. type: Plain text
3667 #: build/C/man5/elf.5:1173
3668 msgid ""
3669 "This member holds a section header table index link, whose interpretation "
3670 "depends on the section type."
3671 msgstr ""
3672 "このメンバは、セクションヘッダーテーブルインデックスリンクを保持する。 この解"
3673 "釈はセクションタイプに依存する。"
3674
3675 #. type: TP
3676 #: build/C/man5/elf.5:1173
3677 #, no-wrap
3678 msgid "I<sh_info>"
3679 msgstr "I<sh_info>"
3680
3681 #. type: Plain text
3682 #: build/C/man5/elf.5:1177
3683 msgid ""
3684 "This member holds extra information, whose interpretation depends on the "
3685 "section type."
3686 msgstr ""
3687 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3688
3689 #. type: TP
3690 #: build/C/man5/elf.5:1177
3691 #, no-wrap
3692 msgid "I<sh_addralign>"
3693 msgstr "I<sh_addralign>"
3694
3695 #. type: Plain text
3696 #: build/C/man5/elf.5:1190
3697 msgid ""
3698 "Some sections have address alignment constraints.  If a section holds a "
3699 "doubleword, the system must ensure doubleword alignment for the entire "
3700 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
3701 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
3702 "are allowed.  Values of zero or one mean the section has no alignment "
3703 "constraints."
3704 msgstr ""
3705 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3706 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3707 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3708 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3709 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3710 "制約がないことを意味する。"
3711
3712 #. type: TP
3713 #: build/C/man5/elf.5:1190
3714 #, no-wrap
3715 msgid "I<sh_entsize>"
3716 msgstr "I<sh_entsize>"
3717
3718 #.  .El
3719 #. type: Plain text
3720 #: build/C/man5/elf.5:1197
3721 msgid ""
3722 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
3723 "For such a section, this member gives the size in bytes for each entry.  "
3724 "This member contains zero if the section does not hold a table of fixed-size "
3725 "entries."
3726 msgstr ""
3727 "シンボルテーブルのような固定サイズエントリーのテーブルを保持する セクションも"
3728 "ある。 このようなセクションでは、 このメンバは各エントリーのサイズ (バイト単"
3729 "位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリーの"
3730 "テーブルを保持しない。"
3731
3732 #.  .Bl -tag -width ".shstrtab"
3733 #. type: Plain text
3734 #: build/C/man5/elf.5:1200
3735 msgid "Various sections hold program and control information:"
3736 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3737
3738 #. type: TP
3739 #: build/C/man5/elf.5:1200
3740 #, no-wrap
3741 msgid "I<.bss>"
3742 msgstr "I<.bss>"
3743
3744 #. type: Plain text
3745 #: build/C/man5/elf.5:1212
3746 msgid ""
3747 "This section holds uninitialized data that contributes to the program's "
3748 "memory image.  By definition, the system initializes the data with zeros "
3749 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
3750 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3751 msgstr ""
3752 "このセクションはプログラムのメモリーイメージに配置される 非初期化データを保持"
3753 "する。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 "
3754 "このセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3755 "B<SHF_WRITE> である。"
3756
3757 #. type: TP
3758 #: build/C/man5/elf.5:1212
3759 #, no-wrap
3760 msgid "I<.comment>"
3761 msgstr "I<.comment>"
3762
3763 #. type: Plain text
3764 #: build/C/man5/elf.5:1218
3765 msgid ""
3766 "This section holds version control information.  This section is of type "
3767 "B<SHT_PROGBITS>.  No attribute types are used."
3768 msgstr ""
3769 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3770 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3771
3772 #. type: TP
3773 #: build/C/man5/elf.5:1218
3774 #, no-wrap
3775 msgid "I<.ctors>"
3776 msgstr "I<.ctors>"
3777
3778 #. type: Plain text
3779 #: build/C/man5/elf.5:1227
3780 msgid ""
3781 "This section holds initialized pointers to the C++ constructor functions.  "
3782 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3783 "B<SHF_ALLOC> and B<SHF_WRITE>."
3784 msgstr ""
3785 "このセクションは C++ コンストラクター関数への初期化されたポインターを保持す"
3786 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3787 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3788
3789 #. type: TP
3790 #: build/C/man5/elf.5:1227
3791 #, no-wrap
3792 msgid "I<.data>"
3793 msgstr "I<.data>"
3794
3795 #. type: Plain text
3796 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3797 msgid ""
3798 "This section holds initialized data that contribute to the program's memory "
3799 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
3800 "B<SHF_ALLOC> and B<SHF_WRITE>."
3801 msgstr ""
3802 "このセクションはプログラムのメモリーイメージに配置される 初期化済みデータを保"
3803 "持する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3804 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3805
3806 #. type: TP
3807 #: build/C/man5/elf.5:1237
3808 #, no-wrap
3809 msgid "I<.data1>"
3810 msgstr "I<.data1>"
3811
3812 #. type: TP
3813 #: build/C/man5/elf.5:1247
3814 #, no-wrap
3815 msgid "I<.debug>"
3816 msgstr "I<.debug>"
3817
3818 #. type: Plain text
3819 #: build/C/man5/elf.5:1255
3820 msgid ""
3821 "This section holds information for symbolic debugging.  The contents are "
3822 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
3823 "are used."
3824 msgstr ""
3825 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3826 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3827 "れない。"
3828
3829 #. type: TP
3830 #: build/C/man5/elf.5:1255
3831 #, no-wrap
3832 msgid "I<.dtors>"
3833 msgstr "I<.dtors>"
3834
3835 #. type: Plain text
3836 #: build/C/man5/elf.5:1264
3837 msgid ""
3838 "This section holds initialized pointers to the C++ destructor functions.  "
3839 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3840 "B<SHF_ALLOC> and B<SHF_WRITE>."
3841 msgstr ""
3842 "このセクションは C++ デストラクタ関数への初期化されたポインターを保持する。 "
3843 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3844 "と B<SHF_WRITE> である。"
3845
3846 #. type: TP
3847 #: build/C/man5/elf.5:1264
3848 #, no-wrap
3849 msgid "I<.dynamic>"
3850 msgstr "I<.dynamic>"
3851
3852 #. type: Plain text
3853 #: build/C/man5/elf.5:1277
3854 msgid ""
3855 "This section holds dynamic linking information.  The section's attributes "
3856 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
3857 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
3858 "attributes above."
3859 msgstr ""
3860 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3861 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3862 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3863 "ること。"
3864
3865 #. type: TP
3866 #: build/C/man5/elf.5:1277
3867 #, no-wrap
3868 msgid "I<.dynstr>"
3869 msgstr "I<.dynstr>"
3870
3871 #. type: Plain text
3872 #: build/C/man5/elf.5:1285
3873 msgid ""
3874 "This section holds strings needed for dynamic linking, most commonly the "
3875 "strings that represent the names associated with symbol table entries.  This "
3876 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
3877 msgstr ""
3878 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3879 "列はシンボルテーブルエントリーと 関連づけられた名前を表す。 このセクションの"
3880 "タイプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3881
3882 #. type: TP
3883 #: build/C/man5/elf.5:1285
3884 #, no-wrap
3885 msgid "I<.dynsym>"
3886 msgstr "I<.dynsym>"
3887
3888 #. type: Plain text
3889 #: build/C/man5/elf.5:1292
3890 msgid ""
3891 "This section holds the dynamic linking symbol table.  This section is of "
3892 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
3893 msgstr ""
3894 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3895 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3896
3897 #. type: TP
3898 #: build/C/man5/elf.5:1292
3899 #, no-wrap
3900 msgid "I<.fini>"
3901 msgstr "I<.fini>"
3902
3903 #. type: Plain text
3904 #: build/C/man5/elf.5:1304
3905 msgid ""
3906 "This section holds executable instructions that contribute to the process "
3907 "termination code.  When a program exits normally the system arranges to "
3908 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
3909 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3910 msgstr ""
3911 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3912 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3913 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3914 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3915
3916 #. type: TP
3917 #: build/C/man5/elf.5:1304
3918 #, no-wrap
3919 msgid "I<.gnu.version>"
3920 msgstr "I<.gnu.version>"
3921
3922 #. type: Plain text
3923 #: build/C/man5/elf.5:1313
3924 msgid ""
3925 "This section holds the version symbol table, an array of I<ElfN_Half> "
3926 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
3927 "used is B<SHF_ALLOC>."
3928 msgstr ""
3929 "このセクションはバージョンシンボルテーブルを保持する。 その内容は "
3930 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3931 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3932
3933 #. type: TP
3934 #: build/C/man5/elf.5:1313
3935 #, no-wrap
3936 msgid "I<.gnu.version_d>"
3937 msgstr "I<.gnu.version_d>"
3938
3939 #. type: Plain text
3940 #: build/C/man5/elf.5:1322
3941 msgid ""
3942 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3943 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
3944 "used is B<SHF_ALLOC>."
3945 msgstr ""
3946 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3947 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3948 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3949
3950 #. type: TP
3951 #: build/C/man5/elf.5:1322
3952 #, no-wrap
3953 msgid "I<.gnu.version_r>"
3954 msgstr "I<.gnu.version_r>"
3955
3956 #. type: Plain text
3957 #: build/C/man5/elf.5:1332
3958 msgid ""
3959 "This section holds the version symbol needed elements, a table of "
3960 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
3961 "attribute type used is B<SHF_ALLOC>."
3962 msgstr ""
3963 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3964 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3965 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3966
3967 #. type: TP
3968 #: build/C/man5/elf.5:1332
3969 #, no-wrap
3970 msgid "I<.got>"
3971 msgstr "I<.got>"
3972
3973 #. type: Plain text
3974 #: build/C/man5/elf.5:1338
3975 msgid ""
3976 "This section holds the global offset table.  This section is of type "
3977 "B<SHT_PROGBITS>.  The attributes are processor-specific."
3978 msgstr ""
3979 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3980 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3981
3982 #. type: TP
3983 #: build/C/man5/elf.5:1338
3984 #, no-wrap
3985 msgid "I<.hash>"
3986 msgstr "I<.hash>"
3987
3988 #. type: Plain text
3989 #: build/C/man5/elf.5:1345
3990 msgid ""
3991 "This section holds a symbol hash table.  This section is of type "
3992 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
3993 msgstr ""
3994 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3995 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3996
3997 #. type: TP
3998 #: build/C/man5/elf.5:1345
3999 #, no-wrap
4000 msgid "I<.init>"
4001 msgstr "I<.init>"
4002
4003 #. type: Plain text
4004 #: build/C/man5/elf.5:1357
4005 msgid ""
4006 "This section holds executable instructions that contribute to the process "
4007 "initialization code.  When a program starts to run the system arranges to "
4008 "execute the code in this section before calling the main program entry "
4009 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
4010 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4011 msgstr ""
4012 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
4013 "グラムが実行を開始すると、 システムはメインプログラムエントリーポイントを呼び"
4014 "出す前に、 このセクションにあるコードを配置して実行する。 このセクションはの"
4015 "タイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4016 "B<SHF_EXECINSTR> である。"
4017
4018 #. type: TP
4019 #: build/C/man5/elf.5:1357
4020 #, no-wrap
4021 msgid "I<.interp>"
4022 msgstr "I<.interp>"
4023
4024 #. type: Plain text
4025 #: build/C/man5/elf.5:1368
4026 msgid ""
4027 "This section holds the pathname of a program interpreter.  If the file has a "
4028 "loadable segment that includes the section, the section's attributes will "
4029 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
4030 "section is of type B<SHT_PROGBITS>."
4031 msgstr ""
4032 "このセクションはプログラムインタープリターのパス名を保持する。 ファイルにこの"
4033 "セクションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4034 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4035 "クションのタイプは B<SHT_PROGBITS> である。"
4036
4037 #. type: TP
4038 #: build/C/man5/elf.5:1368
4039 #, no-wrap
4040 msgid "I<.line>"
4041 msgstr "I<.line>"
4042
4043 #. type: Plain text
4044 #: build/C/man5/elf.5:1376
4045 msgid ""
4046 "This section holds line number information for symbolic debugging, which "
4047 "describes the correspondence between the program source and the machine "
4048 "code.  The contents are unspecified.  This section is of type "
4049 "B<SHT_PROGBITS>.  No attribute types are used."
4050 msgstr ""
4051 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4052 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4053 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4054 "ない。"
4055
4056 #. type: TP
4057 #: build/C/man5/elf.5:1376
4058 #, no-wrap
4059 msgid "I<.note>"
4060 msgstr "I<.note>"
4061
4062 #. type: Plain text
4063 #: build/C/man5/elf.5:1389
4064 msgid ""
4065 "This section holds information in the \"Note Section\" format.  This section "
4066 "is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD native "
4067 "executables usually contain a I<.note.openbsd.ident> section to identify "
4068 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4069 "tests when loading the file."
4070 msgstr ""
4071 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4072 "プ\n"
4073 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4074 "行\n"
4075 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4076 "つ。\n"
4077 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4078 "ショ\n"
4079 "ンテストを回避できる。"
4080
4081 #. type: TP
4082 #: build/C/man5/elf.5:1389
4083 #, no-wrap
4084 msgid "I<.note.GNU-stack>"
4085 msgstr "I<.note.GNU-stack>"
4086
4087 #. type: Plain text
4088 #: build/C/man5/elf.5:1398
4089 msgid ""
4090 "This section is used in Linux object files for declaring stack attributes.  "
4091 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
4092 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
4093 "requires an executable stack."
4094 msgstr ""
4095 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4096 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4097 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカーに対して オブジェクトファ"
4098 "イルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4099
4100 #. type: TP
4101 #: build/C/man5/elf.5:1398
4102 #, no-wrap
4103 msgid "I<.plt>"
4104 msgstr "I<.plt>"
4105
4106 #. type: Plain text
4107 #: build/C/man5/elf.5:1404
4108 msgid ""
4109 "This section holds the procedure linkage table.  This section is of type "
4110 "B<SHT_PROGBITS>.  The attributes are processor-specific."
4111 msgstr ""
4112 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4113 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4114
4115 #. type: TP
4116 #: build/C/man5/elf.5:1404
4117 #, no-wrap
4118 msgid "I<.relNAME>"
4119 msgstr "I<.relNAME>"
4120
4121 #. type: Plain text
4122 #: build/C/man5/elf.5:1423
4123 msgid ""
4124 "This section holds relocation information as described below.  If the file "
4125 "has a loadable segment that includes relocation, the section's attributes "
4126 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4127 "convention, \"NAME\" is supplied by the section to which the relocations "
4128 "apply.  Thus a relocation section for B<.text> normally would have the name "
4129 "B<.rel.text>.  This section is of type B<SHT_REL>."
4130 msgstr ""
4131 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4132 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4133 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4134 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4135 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4136 "プは B<SHT_REL> である。"
4137
4138 #. type: TP
4139 #: build/C/man5/elf.5:1423
4140 #, no-wrap
4141 msgid "I<.relaNAME>"
4142 msgstr "I<.relaNAME>"
4143
4144 #. type: Plain text
4145 #: build/C/man5/elf.5:1442
4146 msgid ""
4147 "This section holds relocation information as described below.  If the file "
4148 "has a loadable segment that includes relocation, the section's attributes "
4149 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4150 "convention, \"NAME\" is supplied by the section to which the relocations "
4151 "apply.  Thus a relocation section for B<.text> normally would have the name "
4152 "B<.rela.text>.  This section is of type B<SHT_RELA>."
4153 msgstr ""
4154 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4155 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4156 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4157 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4158 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4159 "イプは B<SHT_RELA> である。"
4160
4161 #. type: TP
4162 #: build/C/man5/elf.5:1442
4163 #, no-wrap
4164 msgid "I<.rodata>"
4165 msgstr "I<.rodata>"
4166
4167 #. type: Plain text
4168 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4169 msgid ""
4170 "This section holds read-only data that typically contributes to a "
4171 "nonwritable segment in the process image.  This section is of type "
4172 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
4173 msgstr ""
4174 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4175 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4176 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4177
4178 #. type: TP
4179 #: build/C/man5/elf.5:1450
4180 #, no-wrap
4181 msgid "I<.rodata1>"
4182 msgstr "I<.rodata1>"
4183
4184 #. type: TP
4185 #: build/C/man5/elf.5:1458
4186 #, no-wrap
4187 msgid "I<.shstrtab>"
4188 msgstr "I<.shstrtab>"
4189
4190 #. type: Plain text
4191 #: build/C/man5/elf.5:1464
4192 msgid ""
4193 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
4194 "No attribute types are used."
4195 msgstr ""
4196 "このセクションはセクション名を保持する。 このセクションのタイプは "
4197 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4198
4199 #. type: TP
4200 #: build/C/man5/elf.5:1464
4201 #, no-wrap
4202 msgid "I<.strtab>"
4203 msgstr "I<.strtab>"
4204
4205 #. type: Plain text
4206 #: build/C/man5/elf.5:1476
4207 msgid ""
4208 "This section holds strings, most commonly the strings that represent the "
4209 "names associated with symbol table entries.  If the file has a loadable "
4210 "segment that includes the symbol string table, the section's attributes will "
4211 "include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section "
4212 "is of type B<SHT_STRTAB>."
4213 msgstr ""
4214 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエント"
4215 "リーに関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブ"
4216 "ルを含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビッ"
4217 "トを含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4218 "B<SHT_STRTAB> である。"
4219
4220 #. type: TP
4221 #: build/C/man5/elf.5:1476
4222 #, no-wrap
4223 msgid "I<.symtab>"
4224 msgstr "I<.symtab>"
4225
4226 #. type: Plain text
4227 #: build/C/man5/elf.5:1487
4228 msgid ""
4229 "This section holds a symbol table.  If the file has a loadable segment that "
4230 "includes the symbol table, the section's attributes will include the "
4231 "B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section is of type "
4232 "B<SHT_SYMTAB>."
4233 msgstr ""
4234 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4235 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4236 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4237 "B<SHT_SYMTAB> である。"
4238
4239 #. type: TP
4240 #: build/C/man5/elf.5:1487
4241 #, no-wrap
4242 msgid "I<.text>"
4243 msgstr "I<.text>"
4244
4245 #.  .El
4246 #. type: Plain text
4247 #: build/C/man5/elf.5:1499
4248 msgid ""
4249 "This section holds the \"text\", or executable instructions, of a program.  "
4250 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
4251 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4252 msgstr ""
4253 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4254 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4255 "B<SHF_EXECINSTR> である。"
4256
4257 #. type: Plain text
4258 #: build/C/man5/elf.5:1510
4259 msgid ""
4260 "String table sections hold null-terminated character sequences, commonly "
4261 "called strings.  The object file uses these strings to represent symbol and "
4262 "section names.  One references a string as an index into the string table "
4263 "section.  The first byte, which is index zero, is defined to hold a null "
4264 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
4265 "hold a null byte, ensuring null termination for all strings."
4266 msgstr ""
4267 "文字列テーブルセクションはヌル文字で終端されたキャラクター配列 (通常文字列と"
4268 "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名"
4269 "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン"
4270 "デックスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
4271 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
4272 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
4273 "ていることを保証するためである。"
4274
4275 #. type: Plain text
4276 #: build/C/man5/elf.5:1515
4277 msgid ""
4278 "An object file's symbol table holds information needed to locate and "
4279 "relocate a program's symbolic definitions and references.  A symbol table "
4280 "index is a subscript into this array."
4281 msgstr ""
4282 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4283 "置または再配置するのに 必要な情報を保持する。"
4284
4285 #. type: Plain text
4286 #: build/C/man5/elf.5:1526
4287 #, no-wrap
4288 msgid ""
4289 "typedef struct {\n"
4290 "    uint32_t      st_name;\n"
4291 "    Elf32_Addr    st_value;\n"
4292 "    uint32_t      st_size;\n"
4293 "    unsigned char st_info;\n"
4294 "    unsigned char st_other;\n"
4295 "    uint16_t      st_shndx;\n"
4296 "} Elf32_Sym;\n"
4297 msgstr ""
4298 "typedef struct {\n"
4299 "    uint32_t      st_name;\n"
4300 "    Elf32_Addr    st_value;\n"
4301 "    uint32_t      st_size;\n"
4302 "    unsigned char st_info;\n"
4303 "    unsigned char st_other;\n"
4304 "    uint16_t      st_shndx;\n"
4305 "} Elf32_Sym;\n"
4306
4307 #. type: Plain text
4308 #: build/C/man5/elf.5:1539
4309 #, no-wrap
4310 msgid ""
4311 "typedef struct {\n"
4312 "    uint32_t      st_name;\n"
4313 "    unsigned char st_info;\n"
4314 "    unsigned char st_other;\n"
4315 "    uint16_t      st_shndx;\n"
4316 "    Elf64_Addr    st_value;\n"
4317 "    uint64_t      st_size;\n"
4318 "} Elf64_Sym;\n"
4319 msgstr ""
4320 "typedef struct {\n"
4321 "    uint32_t      st_name;\n"
4322 "    unsigned char st_info;\n"
4323 "    unsigned char st_other;\n"
4324 "    uint16_t      st_shndx;\n"
4325 "    Elf64_Addr    st_value;\n"
4326 "    uint64_t      st_size;\n"
4327 "} Elf64_Sym;\n"
4328
4329 #.  .Bl -tag -width "st_value"
4330 #. type: Plain text
4331 #: build/C/man5/elf.5:1545
4332 msgid ""
4333 "The 32-bit and 64-bit versions have the same members, just in a different "
4334 "order."
4335 msgstr ""
4336 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4337
4338 #. type: TP
4339 #: build/C/man5/elf.5:1545
4340 #, no-wrap
4341 msgid "I<st_name>"
4342 msgstr "I<st_name>"
4343
4344 #. type: Plain text
4345 #: build/C/man5/elf.5:1553
4346 msgid ""
4347 "This member holds an index into the object file's symbol string table, which "
4348 "holds character representations of the symbol names.  If the value is "
4349 "nonzero, it represents a string table index that gives the symbol name.  "
4350 "Otherwise, the symbol table has no name."
4351 msgstr ""
4352 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4353 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4354 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4355 "合、シンボルテーブルは名前を持たない。"
4356
4357 #. type: TP
4358 #: build/C/man5/elf.5:1553
4359 #, no-wrap
4360 msgid "I<st_value>"
4361 msgstr "I<st_value>"
4362
4363 #. type: Plain text
4364 #: build/C/man5/elf.5:1556
4365 msgid "This member gives the value of the associated symbol."
4366 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4367
4368 #. type: TP
4369 #: build/C/man5/elf.5:1556
4370 #, no-wrap
4371 msgid "I<st_size>"
4372 msgstr "I<st_size>"
4373
4374 #. type: Plain text
4375 #: build/C/man5/elf.5:1561
4376 msgid ""
4377 "Many symbols have associated sizes.  This member holds zero if the symbol "
4378 "has no size or an unknown size."
4379 msgstr ""
4380 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4381 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4382
4383 #. type: TP
4384 #: build/C/man5/elf.5:1561
4385 #, no-wrap
4386 msgid "I<st_info>"
4387 msgstr "I<st_info>"
4388
4389 #.  .Bl -tag -width "STT_SECTION"
4390 #. type: Plain text
4391 #: build/C/man5/elf.5:1565
4392 msgid "This member specifies the symbol's type and binding attributes:"
4393 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4394
4395 #. type: TP
4396 #: build/C/man5/elf.5:1566
4397 #, no-wrap
4398 msgid "B<STT_NOTYPE>"
4399 msgstr "B<STT_NOTYPE>"
4400
4401 #. type: Plain text
4402 #: build/C/man5/elf.5:1569
4403 msgid "The symbol's type is not defined."
4404 msgstr "シンボルのタイプが定義されていない。"
4405
4406 #. type: TP
4407 #: build/C/man5/elf.5:1569
4408 #, no-wrap
4409 msgid "B<STT_OBJECT>"
4410 msgstr "B<STT_OBJECT>"
4411
4412 #. type: Plain text
4413 #: build/C/man5/elf.5:1572
4414 msgid "The symbol is associated with a data object."
4415 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4416
4417 #. type: TP
4418 #: build/C/man5/elf.5:1572
4419 #, no-wrap
4420 msgid "B<STT_FUNC>"
4421 msgstr "B<STT_FUNC>"
4422
4423 #. type: Plain text
4424 #: build/C/man5/elf.5:1575
4425 msgid "The symbol is associated with a function or other executable code."
4426 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4427
4428 #. type: TP
4429 #: build/C/man5/elf.5:1575
4430 #, no-wrap
4431 msgid "B<STT_SECTION>"
4432 msgstr "B<STT_SECTION>"
4433
4434 #. type: Plain text
4435 #: build/C/man5/elf.5:1582
4436 msgid ""
4437 "The symbol is associated with a section.  Symbol table entries of this type "
4438 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4439 msgstr ""
4440 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4441 "リーは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4442 "つ。"
4443
4444 #. type: TP
4445 #: build/C/man5/elf.5:1582
4446 #, no-wrap
4447 msgid "B<STT_FILE>"
4448 msgstr "B<STT_FILE>"
4449
4450 #. type: Plain text
4451 #: build/C/man5/elf.5:1593
4452 msgid ""
4453 "By convention, the symbol's name gives the name of the source file "
4454 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
4455 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4456 "symbols of the file, if it is present."
4457 msgstr ""
4458 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4459 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4460 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4461 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4462
4463 #. type: TP
4464 #: build/C/man5/elf.5:1593
4465 #, no-wrap
4466 msgid "B<STT_LOPROC>"
4467 msgstr "B<STT_LOPROC>"
4468
4469 #. type: Plain text
4470 #: build/C/man5/elf.5:1598
4471 msgid ""
4472 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4473 "specific semantics."
4474 msgstr ""
4475 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4476
4477 #. type: TP
4478 #: build/C/man5/elf.5:1598
4479 #, no-wrap
4480 msgid "B<STT_HIPROC>"
4481 msgstr "B<STT_HIPROC>"
4482
4483 #.  .El
4484 #.  .Bl -tag -width "STB_GLOBAL"
4485 #. type: Plain text
4486 #: build/C/man5/elf.5:1605
4487 msgid ""
4488 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4489 "specific semantics."
4490 msgstr ""
4491 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4492
4493 #. type: TP
4494 #: build/C/man5/elf.5:1605
4495 #, no-wrap
4496 msgid "B<STB_LOCAL>"
4497 msgstr "B<STB_LOCAL>"
4498
4499 #. type: Plain text
4500 #: build/C/man5/elf.5:1611
4501 msgid ""
4502 "Local symbols are not visible outside the object file containing their "
4503 "definition.  Local symbols of the same name may exist in multiple files "
4504 "without interfering with each other."
4505 msgstr ""
4506 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4507 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4508 "る。"
4509
4510 #. type: TP
4511 #: build/C/man5/elf.5:1611
4512 #, no-wrap
4513 msgid "B<STB_GLOBAL>"
4514 msgstr "B<STB_GLOBAL>"
4515
4516 #. type: Plain text
4517 #: build/C/man5/elf.5:1617
4518 msgid ""
4519 "Global symbols are visible to all object files being combined.  One file's "
4520 "definition of a global symbol will satisfy another file's undefined "
4521 "reference to the same symbol."
4522 msgstr ""
4523 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4524 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4525 "の参照は未定義でなければならない。"
4526
4527 #. type: TP
4528 #: build/C/man5/elf.5:1617
4529 #, no-wrap
4530 msgid "B<STB_WEAK>"
4531 msgstr "B<STB_WEAK>"
4532
4533 #. type: Plain text
4534 #: build/C/man5/elf.5:1621
4535 msgid ""
4536 "Weak symbols resemble global symbols, but their definitions have lower "
4537 "precedence."
4538 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4539
4540 #. type: TP
4541 #: build/C/man5/elf.5:1621
4542 #, no-wrap
4543 msgid "B<STB_LOPROC>"
4544 msgstr "B<STB_LOPROC>"
4545
4546 #. type: Plain text
4547 #: build/C/man5/elf.5:1626
4548 msgid ""
4549 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4550 "specific semantics."
4551 msgstr ""
4552 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4553
4554 #. type: TP
4555 #: build/C/man5/elf.5:1626
4556 #, no-wrap
4557 msgid "B<STB_HIPROC>"
4558 msgstr "B<STB_HIPROC>"
4559
4560 #. type: Plain text
4561 #: build/C/man5/elf.5:1631
4562 msgid ""
4563 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4564 "specific semantics."
4565 msgstr ""
4566 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4567
4568 #. type: Plain text
4569 #: build/C/man5/elf.5:1633
4570 msgid "There are macros for packing and unpacking the binding and type fields:"
4571 msgstr ""
4572 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4573 "る:"
4574
4575 #. type: Plain text
4576 #: build/C/man5/elf.5:1640
4577 msgid ""
4578 "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from an "
4579 "I<st_info> value."
4580 msgstr ""
4581 "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値からバ"
4582 "インディングを取り出す。"
4583
4584 #. type: Plain text
4585 #: build/C/man5/elf.5:1644
4586 msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
4587 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
4588
4589 #. type: Plain text
4590 #: build/C/man5/elf.5:1648
4591 msgid "extract a type from an I<st_info> value."
4592 msgstr "I<st_info> の値からタイプを取り出す。"
4593
4594 #. type: Plain text
4595 #: build/C/man5/elf.5:1652
4596 msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
4597 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
4598
4599 #. type: Plain text
4600 #: build/C/man5/elf.5:1656
4601 msgid "convert a binding and a type into an I<st_info> value."
4602 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4603
4604 #. type: TP
4605 #: build/C/man5/elf.5:1658
4606 #, no-wrap
4607 msgid "I<st_other>"
4608 msgstr "I<st_other>"
4609
4610 #.  .Bl -tag -width "STV_PROTECTED"
4611 #. type: Plain text
4612 #: build/C/man5/elf.5:1662
4613 msgid "This member defines the symbol visibility."
4614 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4615
4616 #. type: TP
4617 #: build/C/man5/elf.5:1663
4618 #, no-wrap
4619 msgid "B<STV_DEFAULT>"
4620 msgstr "B<STV_DEFAULT>"
4621
4622 #. type: Plain text
4623 #: build/C/man5/elf.5:1667
4624 msgid "Default symbol visibility rules."
4625 msgstr "デフォルトのシンボル visibility ルール。"
4626
4627 #. type: TP
4628 #: build/C/man5/elf.5:1667
4629 #, no-wrap
4630 msgid "B<STV_INTERNAL>"
4631 msgstr "B<STV_INTERNAL>"
4632
4633 #. type: Plain text
4634 #: build/C/man5/elf.5:1670
4635 msgid "Processor-specific hidden class."
4636 msgstr "プロセッサ固有の隠しクラス。"
4637
4638 #. type: TP
4639 #: build/C/man5/elf.5:1670
4640 #, no-wrap
4641 msgid "B<STV_HIDDEN>"
4642 msgstr "B<STV_HIDDEN>"
4643
4644 #. type: Plain text
4645 #: build/C/man5/elf.5:1673
4646 msgid "Symbol is unavailable in other modules."
4647 msgstr "シンボルは他のモジュールからは利用できない。"
4648
4649 #. type: TP
4650 #: build/C/man5/elf.5:1673
4651 #, no-wrap
4652 msgid "B<STV_PROTECTED>"
4653 msgstr "B<STV_PROTECTED>"
4654
4655 #. type: Plain text
4656 #: build/C/man5/elf.5:1676
4657 msgid "Not preemptible, not exported."
4658 msgstr "横取りできず (not preemptible)、公開されない。"
4659
4660 #. type: Plain text
4661 #: build/C/man5/elf.5:1679
4662 msgid "There are macros for extracting the visibility type:"
4663 msgstr "visibility 種別を抽出するためのマクロがある。"
4664
4665 #. type: Plain text
4666 #: build/C/man5/elf.5:1683
4667 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
4668 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
4669
4670 #. type: TP
4671 #: build/C/man5/elf.5:1685
4672 #, no-wrap
4673 msgid "I<st_shndx>"
4674 msgstr "I<st_shndx>"
4675
4676 #.  .El
4677 #. type: Plain text
4678 #: build/C/man5/elf.5:1693
4679 msgid ""
4680 "Every symbol table entry is \"defined\" in relation to some section.  This "
4681 "member holds the relevant section header table index."
4682 msgstr ""
4683 "各シンボルテーブルエントリーは、いくつかのセクションに関連して \"定義されてい"
4684 "る\"。 このメンバは関連するセクションヘッダーテーブルインデックスを保持する。"
4685
4686 #. type: Plain text
4687 #: build/C/man5/elf.5:1701
4688 msgid ""
4689 "Relocation is the process of connecting symbolic references with symbolic "
4690 "definitions.  Relocatable files must have information that describes how to "
4691 "modify their section contents, thus allowing executable and shared object "
4692 "files to hold the right information for a process's program image.  "
4693 "Relocation entries are these data."
4694 msgstr ""
4695 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4696 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4697 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4698 "グラムイメージについての正しい情報を持つことができる。 再配置エントリーは以下"
4699 "のようなデータである。"
4700
4701 #. type: Plain text
4702 #: build/C/man5/elf.5:1703
4703 msgid "Relocation structures that do not need an addend:"
4704 msgstr "加数を必要としない再配置構造体。"
4705
4706 #. type: Plain text
4707 #: build/C/man5/elf.5:1710
4708 #, no-wrap
4709 msgid ""
4710 "typedef struct {\n"
4711 "    Elf32_Addr r_offset;\n"
4712 "    uint32_t   r_info;\n"
4713 "} Elf32_Rel;\n"
4714 msgstr ""
4715 "typedef struct {\n"
4716 "    Elf32_Addr r_offset;\n"
4717 "    uint32_t   r_info;\n"
4718 "} Elf32_Rel;\n"
4719
4720 #. type: Plain text
4721 #: build/C/man5/elf.5:1719
4722 #, no-wrap
4723 msgid ""
4724 "typedef struct {\n"
4725 "    Elf64_Addr r_offset;\n"
4726 "    uint64_t   r_info;\n"
4727 "} Elf64_Rel;\n"
4728 msgstr ""
4729 "typedef struct {\n"
4730 "    Elf64_Addr r_offset;\n"
4731 "    uint64_t   r_info;\n"
4732 "} Elf64_Rel;\n"
4733
4734 #. type: Plain text
4735 #: build/C/man5/elf.5:1723
4736 msgid "Relocation structures that need an addend:"
4737 msgstr "加数を必要とする再配置構造体。"
4738
4739 #. type: Plain text
4740 #: build/C/man5/elf.5:1731
4741 #, no-wrap
4742 msgid ""
4743 "typedef struct {\n"
4744 "    Elf32_Addr r_offset;\n"
4745 "    uint32_t   r_info;\n"
4746 "    int32_t    r_addend;\n"
4747 "} Elf32_Rela;\n"
4748 msgstr ""
4749 "typedef struct {\n"
4750 "    Elf32_Addr r_offset;\n"
4751 "    uint32_t   r_info;\n"
4752 "    int32_t    r_addend;\n"
4753 "} Elf32_Rela;\n"
4754
4755 #. type: Plain text
4756 #: build/C/man5/elf.5:1741
4757 #, no-wrap
4758 msgid ""
4759 "typedef struct {\n"
4760 "    Elf64_Addr r_offset;\n"
4761 "    uint64_t   r_info;\n"
4762 "    int64_t    r_addend;\n"
4763 "} Elf64_Rela;\n"
4764 msgstr ""
4765 "typedef struct {\n"
4766 "    Elf64_Addr r_offset;\n"
4767 "    uint64_t   r_info;\n"
4768 "    int64_t    r_addend;\n"
4769 "} Elf64_Rela;\n"
4770
4771 #. type: TP
4772 #: build/C/man5/elf.5:1744
4773 #, no-wrap
4774 msgid "I<r_offset>"
4775 msgstr "I<r_offset>"
4776
4777 #. type: Plain text
4778 #: build/C/man5/elf.5:1752
4779 msgid ""
4780 "This member gives the location at which to apply the relocation action.  For "
4781 "a relocatable file, the value is the byte offset from the beginning of the "
4782 "section to the storage unit affected by the relocation.  For an executable "
4783 "file or shared object, the value is the virtual address of the storage unit "
4784 "affected by the relocation."
4785 msgstr ""
4786 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4787 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4788 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4789 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4790
4791 #. type: TP
4792 #: build/C/man5/elf.5:1752
4793 #, no-wrap
4794 msgid "I<r_info>"
4795 msgstr "I<r_info>"
4796
4797 #. type: Plain text
4798 #: build/C/man5/elf.5:1767
4799 msgid ""
4800 "This member gives both the symbol table index with respect to which the "
4801 "relocation must be made and the type of relocation to apply.  Relocation "
4802 "types are processor-specific.  When the text refers to a relocation entry's "
4803 "relocation type or symbol table index, it means the result of applying "
4804 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4805 "I<r_info> member."
4806 msgstr ""
4807 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4808 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4809 "る。 テキストが再配置エントリーの再配置タイプ またはシンボルテーブルインデッ"
4810 "クスを参照している場合、 それぞれエントリーの I<r_info> メンバに対して、それ"
4811 "ぞれ B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4812
4813 #. type: TP
4814 #: build/C/man5/elf.5:1767
4815 #, no-wrap
4816 msgid "I<r_addend>"
4817 msgstr "I<r_addend>"
4818
4819 #.  .El
4820 #. type: Plain text
4821 #: build/C/man5/elf.5:1772
4822 msgid ""
4823 "This member specifies a constant addend used to compute the value to be "
4824 "stored into the relocatable field."
4825 msgstr ""
4826 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4827 "値を計算するために使われる。"
4828
4829 #. type: Plain text
4830 #: build/C/man5/elf.5:1777
4831 msgid ""
4832 "The .dynamic section contains a series of structures that hold relevant "
4833 "dynamic linking information.  The d_tag member controls the interpretation "
4834 "of d_un."
4835 msgstr ""
4836 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4837 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4838
4839 #. type: Plain text
4840 #: build/C/man5/elf.5:1788
4841 #, no-wrap
4842 msgid ""
4843 "typedef struct {\n"
4844 "    Elf32_Sword    d_tag;\n"
4845 "    union {\n"
4846 "        Elf32_Word d_val;\n"
4847 "        Elf32_Addr d_ptr;\n"
4848 "    } d_un;\n"
4849 "} Elf32_Dyn;\n"
4850 "extern Elf32_Dyn _DYNAMIC[];\n"
4851 msgstr ""
4852 "typedef struct {\n"
4853 "    Elf32_Sword    d_tag;\n"
4854 "    union {\n"
4855 "        Elf32_Word d_val;\n"
4856 "        Elf32_Addr d_ptr;\n"
4857 "    } d_un;\n"
4858 "} Elf32_Dyn;\n"
4859 "extern Elf32_Dyn _DYNAMIC[];\n"
4860
4861 #. type: Plain text
4862 #: build/C/man5/elf.5:1801
4863 #, no-wrap
4864 msgid ""
4865 "typedef struct {\n"
4866 "    Elf64_Sxword    d_tag;\n"
4867 "    union {\n"
4868 "        Elf64_Xword d_val;\n"
4869 "        Elf64_Addr  d_ptr;\n"
4870 "    } d_un;\n"
4871 "} Elf64_Dyn;\n"
4872 "extern Elf64_Dyn _DYNAMIC[];\n"
4873 msgstr ""
4874 "typedef struct {\n"
4875 "    Elf64_Sxword    d_tag;\n"
4876 "    union {\n"
4877 "        Elf64_Xword d_val;\n"
4878 "        Elf64_Addr  d_ptr;\n"
4879 "    } d_un;\n"
4880 "} Elf64_Dyn;\n"
4881 "extern Elf64_Dyn _DYNAMIC[];\n"
4882
4883 #. type: TP
4884 #: build/C/man5/elf.5:1804
4885 #, no-wrap
4886 msgid "I<d_tag>"
4887 msgstr "I<d_tag>"
4888
4889 #.  .Bl -tag -width "DT_SYMBOLIC"
4890 #. type: Plain text
4891 #: build/C/man5/elf.5:1808
4892 msgid "This member may have any of the following values:"
4893 msgstr "このメンバは以下の値を持つことができる:"
4894
4895 #. type: TP
4896 #: build/C/man5/elf.5:1809
4897 #, no-wrap
4898 msgid "B<DT_NULL>"
4899 msgstr "B<DT_NULL>"
4900
4901 #. type: Plain text
4902 #: build/C/man5/elf.5:1812
4903 msgid "Marks end of dynamic section"
4904 msgstr "動的セクションの終りのマーク"
4905
4906 #. type: TP
4907 #: build/C/man5/elf.5:1812
4908 #, no-wrap
4909 msgid "B<DT_NEEDED>"
4910 msgstr "B<DT_NEEDED>"
4911
4912 #. type: Plain text
4913 #: build/C/man5/elf.5:1815
4914 msgid "String table offset to name of a needed library"
4915 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4916
4917 #. type: TP
4918 #: build/C/man5/elf.5:1815
4919 #, no-wrap
4920 msgid "B<DT_PLTRELSZ>"
4921 msgstr "B<DT_PLTRELSZ>"
4922
4923 #. type: Plain text
4924 #: build/C/man5/elf.5:1818
4925 msgid "Size in bytes of PLT relocs"
4926 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4927
4928 #. type: TP
4929 #: build/C/man5/elf.5:1818
4930 #, no-wrap
4931 msgid "B<DT_PLTGOT>"
4932 msgstr "B<DT_PLTGOT>"
4933
4934 #. type: Plain text
4935 #: build/C/man5/elf.5:1821
4936 msgid "Address of PLT and/or GOT"
4937 msgstr "PLT と GOT (または何れか一方) のアドレス"
4938
4939 #. type: TP
4940 #: build/C/man5/elf.5:1821
4941 #, no-wrap
4942 msgid "B<DT_HASH>"
4943 msgstr "B<DT_HASH>"
4944
4945 #. type: Plain text
4946 #: build/C/man5/elf.5:1824
4947 msgid "Address of symbol hash table"
4948 msgstr "シンボルハッシュテーブルのアドレス"
4949
4950 #. type: TP
4951 #: build/C/man5/elf.5:1824
4952 #, no-wrap
4953 msgid "B<DT_STRTAB>"
4954 msgstr "B<DT_STRTAB>"
4955
4956 #. type: Plain text
4957 #: build/C/man5/elf.5:1827
4958 msgid "Address of string table"
4959 msgstr "文字列テーブルのアドレス"
4960
4961 #. type: TP
4962 #: build/C/man5/elf.5:1827
4963 #, no-wrap
4964 msgid "B<DT_SYMTAB>"
4965 msgstr "B<DT_SYMTAB>"
4966
4967 #. type: Plain text
4968 #: build/C/man5/elf.5:1830
4969 msgid "Address of symbol table"
4970 msgstr "シンボルテーブルのアドレス"
4971
4972 #. type: TP
4973 #: build/C/man5/elf.5:1830
4974 #, no-wrap
4975 msgid "B<DT_RELA>"
4976 msgstr "B<DT_RELA>"
4977
4978 #. type: Plain text
4979 #: build/C/man5/elf.5:1833
4980 msgid "Address of Rela relocs table"
4981 msgstr "Rela 再配置テーブルのアドレス"
4982
4983 #. type: TP
4984 #: build/C/man5/elf.5:1833
4985 #, no-wrap
4986 msgid "B<DT_RELASZ>"
4987 msgstr "B<DT_RELASZ>"
4988
4989 #. type: Plain text
4990 #: build/C/man5/elf.5:1836
4991 msgid "Size in bytes of Rela table"
4992 msgstr "Rela テーブルのサイズ (バイト単位)"
4993
4994 #. type: TP
4995 #: build/C/man5/elf.5:1836
4996 #, no-wrap
4997 msgid "B<DT_RELAENT>"
4998 msgstr "B<DT_RELAENT>"
4999
5000 #. type: Plain text
5001 #: build/C/man5/elf.5:1839
5002 msgid "Size in bytes of a Rela table entry"
5003 msgstr "Rela テーブルエントリーのサイズ (バイト単位)"
5004
5005 #. type: TP
5006 #: build/C/man5/elf.5:1839
5007 #, no-wrap
5008 msgid "B<DT_STRSZ>"
5009 msgstr "B<DT_STRSZ>"
5010
5011 #. type: Plain text
5012 #: build/C/man5/elf.5:1842
5013 msgid "Size in bytes of string table"
5014 msgstr "文字列テーブルのサイズ (バイト単位)"
5015
5016 #. type: TP
5017 #: build/C/man5/elf.5:1842
5018 #, no-wrap
5019 msgid "B<DT_SYMENT>"
5020 msgstr "B<DT_SYMENT>"
5021
5022 #. type: Plain text
5023 #: build/C/man5/elf.5:1845
5024 msgid "Size in bytes of a symbol table entry"
5025 msgstr "シンボルテーブルエントリーのサイズ (バイト単位)"
5026
5027 #. type: TP
5028 #: build/C/man5/elf.5:1845
5029 #, no-wrap
5030 msgid "B<DT_INIT>"
5031 msgstr "B<DT_INIT>"
5032
5033 #. type: Plain text
5034 #: build/C/man5/elf.5:1848
5035 msgid "Address of the initialization function"
5036 msgstr "初期化関数のアドレス"
5037
5038 #. type: TP
5039 #: build/C/man5/elf.5:1848
5040 #, no-wrap
5041 msgid "B<DT_FINI>"
5042 msgstr "B<DT_FINI>"
5043
5044 #. type: Plain text
5045 #: build/C/man5/elf.5:1851
5046 msgid "Address of the termination function"
5047 msgstr "終了関数のアドレス"
5048
5049 #. type: TP
5050 #: build/C/man5/elf.5:1851
5051 #, no-wrap
5052 msgid "B<DT_SONAME>"
5053 msgstr "B<DT_SONAME>"
5054
5055 #. type: Plain text
5056 #: build/C/man5/elf.5:1854
5057 msgid "String table offset to name of shared object"
5058 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5059
5060 #. type: TP
5061 #: build/C/man5/elf.5:1854
5062 #, no-wrap
5063 msgid "B<DT_RPATH>"
5064 msgstr "B<DT_RPATH>"
5065
5066 #. type: Plain text
5067 #: build/C/man5/elf.5:1857
5068 msgid "String table offset to library search path (deprecated)"
5069 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5070
5071 #. type: TP
5072 #: build/C/man5/elf.5:1857
5073 #, no-wrap
5074 msgid "B<DT_SYMBOLIC>"
5075 msgstr "B<DT_SYMBOLIC>"
5076
5077 #. type: Plain text
5078 #: build/C/man5/elf.5:1860
5079 msgid ""
5080 "Alert linker to search this shared object before the executable for symbols"
5081 msgstr ""
5082 "リンカーがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場"
5083 "合は、警告を出す。"
5084
5085 #. type: TP
5086 #: build/C/man5/elf.5:1860
5087 #, no-wrap
5088 msgid "B<DT_REL>"
5089 msgstr "B<DT_REL>"
5090
5091 #. type: Plain text
5092 #: build/C/man5/elf.5:1863
5093 msgid "Address of Rel relocs table"
5094 msgstr "Rel 再配置テーブルのアドレス"
5095
5096 #. type: TP
5097 #: build/C/man5/elf.5:1863
5098 #, no-wrap
5099 msgid "B<DT_RELSZ>"
5100 msgstr "B<DT_RELSZ>"
5101
5102 #. type: Plain text
5103 #: build/C/man5/elf.5:1866
5104 msgid "Size in bytes of Rel table"
5105 msgstr "Rel テーブルのサイズ (バイト単位)"
5106
5107 #. type: TP
5108 #: build/C/man5/elf.5:1866
5109 #, no-wrap
5110 msgid "B<DT_RELENT>"
5111 msgstr "B<DT_RELENT>"
5112
5113 #. type: Plain text
5114 #: build/C/man5/elf.5:1869
5115 msgid "Size in bytes of a Rel table entry"
5116 msgstr "Rel テーブルエントリーのサイズ (バイト単位)"
5117
5118 #. type: TP
5119 #: build/C/man5/elf.5:1869
5120 #, no-wrap
5121 msgid "B<DT_PLTREL>"
5122 msgstr "B<DT_PLTREL>"
5123
5124 #. type: Plain text
5125 #: build/C/man5/elf.5:1872
5126 msgid "Type of reloc the PLT refers (Rela or Rel)"
5127 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5128
5129 #. type: TP
5130 #: build/C/man5/elf.5:1872
5131 #, no-wrap
5132 msgid "B<DT_DEBUG>"
5133 msgstr "B<DT_DEBUG>"
5134
5135 #. type: Plain text
5136 #: build/C/man5/elf.5:1875
5137 msgid "Undefined use for debugging"
5138 msgstr "デバッグのために使用されている。内容は定義されていない。"
5139
5140 #. type: TP
5141 #: build/C/man5/elf.5:1875
5142 #, no-wrap
5143 msgid "B<DT_TEXTREL>"
5144 msgstr "B<DT_TEXTREL>"
5145
5146 #. type: Plain text
5147 #: build/C/man5/elf.5:1878
5148 msgid ""
5149 "Absence of this indicates no relocs should apply to a nonwritable segment"
5150 msgstr ""
5151 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5152 "い。"
5153
5154 #. type: TP
5155 #: build/C/man5/elf.5:1878
5156 #, no-wrap
5157 msgid "B<DT_JMPREL>"
5158 msgstr "B<DT_JMPREL>"
5159
5160 #. type: Plain text
5161 #: build/C/man5/elf.5:1881
5162 msgid "Address of reloc entries solely for the PLT"
5163 msgstr "PLT 専用の再配置エントリーのアドレス"
5164
5165 #. type: TP
5166 #: build/C/man5/elf.5:1881
5167 #, no-wrap
5168 msgid "B<DT_BIND_NOW>"
5169 msgstr "B<DT_BIND_NOW>"
5170
5171 #. type: Plain text
5172 #: build/C/man5/elf.5:1885
5173 msgid ""
5174 "Instruct dynamic linker to process all relocs before transferring control to "
5175 "the executable"
5176 msgstr ""
5177 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカーに"
5178 "指示する。"
5179
5180 #. type: TP
5181 #: build/C/man5/elf.5:1885
5182 #, no-wrap
5183 msgid "B<DT_RUNPATH>"
5184 msgstr "B<DT_RUNPATH>"
5185
5186 #. type: Plain text
5187 #: build/C/man5/elf.5:1888
5188 msgid "String table offset to library search path"
5189 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5190
5191 #. type: TP
5192 #: build/C/man5/elf.5:1888
5193 #, no-wrap
5194 msgid "B<DT_LOPROC>"
5195 msgstr "B<DT_LOPROC>"
5196
5197 #. type: Plain text
5198 #: build/C/man5/elf.5:1891
5199 msgid "Start of processor-specific semantics"
5200 msgstr "プロセッサ固有の意味の開始"
5201
5202 #. type: TP
5203 #: build/C/man5/elf.5:1891
5204 #, no-wrap
5205 msgid "B<DT_HIPROC>"
5206 msgstr "B<DT_HIPROC>"
5207
5208 #. type: Plain text
5209 #: build/C/man5/elf.5:1894
5210 msgid "End of processor-specific semantics"
5211 msgstr "プロセッサ固有の意味の終了"
5212
5213 #. type: TP
5214 #: build/C/man5/elf.5:1896
5215 #, no-wrap
5216 msgid "I<d_val>"
5217 msgstr "I<d_val>"
5218
5219 #. type: Plain text
5220 #: build/C/man5/elf.5:1899
5221 msgid "This member represents integer values with various interpretations."
5222 msgstr "このメンバは様々な意味に解釈される整数値である。"
5223
5224 #. type: TP
5225 #: build/C/man5/elf.5:1899
5226 #, no-wrap
5227 msgid "I<d_ptr>"
5228 msgstr "I<d_ptr>"
5229
5230 #. type: Plain text
5231 #: build/C/man5/elf.5:1907
5232 msgid ""
5233 "This member represents program virtual addresses.  When interpreting these "
5234 "addresses, the actual address should be computed based on the original file "
5235 "value and memory base address.  Files do not contain relocation entries to "
5236 "fixup these addresses."
5237 msgstr ""
5238 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5239 "に、 実際のアドレスは元々のファイルの値と メモリーの基底アドレスから計算され"
5240 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリーを含めては"
5241 "ならない。"
5242
5243 #. type: TP
5244 #: build/C/man5/elf.5:1907
5245 #, no-wrap
5246 msgid "I<_DYNAMIC>"
5247 msgstr "I<_DYNAMIC>"
5248
5249 #.  .El
5250 #. type: Plain text
5251 #: build/C/man5/elf.5:1912
5252 msgid ""
5253 "Array containing all the dynamic structures in the .dynamic section.  This "
5254 "is automatically populated by the linker."
5255 msgstr ""
5256 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリン"
5257 "カーに渡される。"
5258
5259 #.  OpenBSD
5260 #.  ELF support first appeared in
5261 #.  OpenBSD 1.2,
5262 #.  although not all supported platforms use it as the native
5263 #.  binary file format.
5264 #. type: Plain text
5265 #: build/C/man5/elf.5:1921
5266 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
5267 msgstr ""
5268 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5269 "ELF フォーマットは採択された標準である。"
5270
5271 #.  .SH AUTHORS
5272 #.  The original version of this manual page was written by
5273 #.  .An Jeroen Ruigrok van der Werven
5274 #.  .Aq asmodai@FreeBSD.org
5275 #.  with inspiration from BSDi's
5276 #.  .Bsx
5277 #.  .Nm elf
5278 #.  man page.
5279 #. type: Plain text
5280 #: build/C/man5/elf.5:1939
5281 msgid ""
5282 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5283 "Linux extensions.  Sun, BSD and AMD64 also support them; for further "
5284 "information, look under SEE ALSO."
5285 msgstr ""
5286 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5287 "で\n"
5288 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5289
5290 #. type: Plain text
5291 #: build/C/man5/elf.5:1946
5292 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5293 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5294
5295 #. type: Plain text
5296 #: build/C/man5/elf.5:1949
5297 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5298 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5299
5300 #. type: Plain text
5301 #: build/C/man5/elf.5:1952
5302 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5303 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5304
5305 #. type: Plain text
5306 #: build/C/man5/elf.5:1956
5307 msgid ""
5308 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5309 "(ELF)>."
5310 msgstr ""
5311 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5312 "(ELF)>."
5313
5314 #. type: Plain text
5315 #: build/C/man5/elf.5:1959
5316 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5317 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5318
5319 #. type: Plain text
5320 #: build/C/man5/elf.5:1962
5321 msgid ""
5322 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5323 "Processor Supplement>."
5324 msgstr ""
5325 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5326 "Processor Supplement>."
5327
5328 #. type: TH
5329 #: build/C/man3/end.3:26
5330 #, no-wrap
5331 msgid "END"
5332 msgstr "END"
5333
5334 #. type: TH
5335 #: build/C/man3/end.3:26
5336 #, no-wrap
5337 msgid "2008-07-17"
5338 msgstr "2008-07-17"
5339
5340 #. type: Plain text
5341 #: build/C/man3/end.3:29
5342 msgid "etext, edata, end - end of program segments"
5343 msgstr "etext, edata, end - プログラムセグメントの終わり"
5344
5345 #. type: Plain text
5346 #: build/C/man3/end.3:34
5347 #, no-wrap
5348 msgid ""
5349 "B<extern>I< etext>B<;>\n"
5350 "B<extern>I< edata>B<;>\n"
5351 "B<extern>I< end>B<;>\n"
5352 msgstr ""
5353 "B<extern>I< etext>B<;>\n"
5354 "B<extern>I< edata>B<;>\n"
5355 "B<extern>I< end>B<;>\n"
5356
5357 #. type: Plain text
5358 #: build/C/man3/end.3:38
5359 msgid ""
5360 "The addresses of these symbols indicate the end of various program segments:"
5361 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5362
5363 #. type: TP
5364 #: build/C/man3/end.3:38
5365 #, no-wrap
5366 msgid "I<etext>"
5367 msgstr "I<etext>"
5368
5369 #. type: Plain text
5370 #: build/C/man3/end.3:42
5371 msgid ""
5372 "This is the first address past the end of the text segment (the program "
5373 "code)."
5374 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5375
5376 #. type: TP
5377 #: build/C/man3/end.3:42
5378 #, no-wrap
5379 msgid "I<edata>"
5380 msgstr "I<edata>"
5381
5382 #. type: Plain text
5383 #: build/C/man3/end.3:46
5384 msgid "This is the first address past the end of the initialized data segment."
5385 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5386
5387 #. type: TP
5388 #: build/C/man3/end.3:46
5389 #, no-wrap
5390 msgid "I<end>"
5391 msgstr "I<end>"
5392
5393 #. type: Plain text
5394 #: build/C/man3/end.3:50
5395 msgid ""
5396 "This is the first address past the end of the uninitialized data segment "
5397 "(also known as the BSS segment)."
5398 msgstr ""
5399 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
5400 "のアドレス。"
5401
5402 #. type: Plain text
5403 #: build/C/man3/end.3:53
5404 msgid ""
5405 "Although these symbols have long been provided on most UNIX systems, they "
5406 "are not standardized; use with caution."
5407 msgstr ""
5408 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5409 "てはいない。注意して使うこと。"
5410
5411 #. type: Plain text
5412 #: build/C/man3/end.3:56
5413 msgid ""
5414 "The program must explicitly declare these symbols; they are not defined in "
5415 "any header file."
5416 msgstr ""
5417 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5418 "ヘッダーファイルでも定義されていない。"
5419
5420 #. type: Plain text
5421 #: build/C/man3/end.3:64
5422 msgid ""
5423 "On some systems the names of these symbols are preceded by underscores, "
5424 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
5425 "programs compiled on Linux."
5426 msgstr ""
5427 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5428 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5429 "ログラムでは、 これらのシンボルでも定義される。"
5430
5431 #. type: Plain text
5432 #: build/C/man3/end.3:76
5433 msgid ""
5434 "At the start of program execution, the program break will be somewhere near "
5435 "I<&end> (perhaps at the start of the following page).  However, the break "
5436 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
5437 "B<sbrk>(2)  with an argument of zero to find the current value of the "
5438 "program break."
5439 msgstr ""
5440 "プログラムの実行開始時に、プログラムブレークは I<&end> の近くのどこか (おそら"
5441 "く次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  でメ"
5442 "モリーが割り当てられるに連れて、プログラムブレークは変化していく。 引き数に "
5443 "0 を指定して B<sbrk>(2)  を呼び出すことで、プログラムブレークの現在値を知るこ"
5444 "とができる。"
5445
5446 #. type: Plain text
5447 #: build/C/man3/end.3:78
5448 msgid "When run, the program below produces output such as the following:"
5449 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5450
5451 #. type: Plain text
5452 #: build/C/man3/end.3:86
5453 #, no-wrap
5454 msgid ""
5455 "$B< ./a.out>\n"
5456 "First address past:\n"
5457 "    program text (etext)       0x8048568\n"
5458 "    initialized data (edata)   0x804a01c\n"
5459 "    uninitialized data (end)   0x804a024\n"
5460 msgstr ""
5461 "$B< ./a.out>\n"
5462 "First address past:\n"
5463 "    program text (etext)       0x8048568\n"
5464 "    initialized data (edata)   0x804a01c\n"
5465 "    uninitialized data (end)   0x804a024\n"
5466
5467 #. type: SS
5468 #: build/C/man3/end.3:88 build/C/man1/memusage.1:234
5469 #, no-wrap
5470 msgid "Program source"
5471 msgstr "プログラムのソース"
5472
5473 #. type: Plain text
5474 #: build/C/man3/end.3:93 build/C/man1/memusage.1:238
5475 #, no-wrap
5476 msgid ""
5477 "#include E<lt>stdio.hE<gt>\n"
5478 "#include E<lt>stdlib.hE<gt>\n"
5479 msgstr ""
5480 "#include E<lt>stdio.hE<gt>\n"
5481 "#include E<lt>stdlib.hE<gt>\n"
5482
5483 #. type: Plain text
5484 #: build/C/man3/end.3:96
5485 #, no-wrap
5486 msgid ""
5487 "extern char etext, edata, end; /* The symbols must have some type,\n"
5488 "                                   or \"gcc -Wall\" complains */\n"
5489 msgstr ""
5490 "extern char etext, edata, end; /* The symbols must have some type,\n"
5491 "                                   or \"gcc -Wall\" complains */\n"
5492
5493 #. type: Plain text
5494 #: build/C/man3/end.3:104
5495 #, no-wrap
5496 msgid ""
5497 "int\n"
5498 "main(int argc, char *argv[])\n"
5499 "{\n"
5500 "    printf(\"First address past:\\en\");\n"
5501 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5502 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5503 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5504 msgstr ""
5505 "int\n"
5506 "main(int argc, char *argv[])\n"
5507 "{\n"
5508 "    printf(\"First address past:\\en\");\n"
5509 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5510 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5511 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5512
5513 #. type: Plain text
5514 #: build/C/man3/end.3:113
5515 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5516 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5517
5518 #. type: TH
5519 #: build/C/man8/ld.so.8:5
5520 #, no-wrap
5521 msgid "LD.SO"
5522 msgstr "LD.SO"
5523
5524 #. type: TH
5525 #: build/C/man8/ld.so.8:5
5526 #, no-wrap
5527 msgid "2014-12-31"
5528 msgstr "2014-12-31"
5529
5530 #. type: Plain text
5531 #: build/C/man8/ld.so.8:8
5532 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5533 msgstr "ld.so, ld-linux.so* - 動的なリンカー/ローダー"
5534
5535 #. type: Plain text
5536 #: build/C/man8/ld.so.8:15
5537 msgid ""
5538 "The dynamic linker can be run either indirectly by running some dynamically "
5539 "linked program or library (in which case no command-line options to the "
5540 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5541 "is stored in the B<.interp> section of the program is executed) or directly "
5542 "by running:"
5543 msgstr ""
5544 "動的リンカーは、動的にリンクされたプログラムやライブラリの実行によって 間接的"
5545 "に実行することができる (ELF の場合、動的リンカーにコマンドラインオプションを"
5546 "渡すことはできず、 プログラムの B<.interp> セクションに入っている動的リンカー"
5547 "が実行される)。 また以下のように直接実行することもできる"
5548
5549 #. type: Plain text
5550 #: build/C/man8/ld.so.8:18
5551 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5552 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5553
5554 #. type: Plain text
5555 #: build/C/man8/ld.so.8:25
5556 msgid ""
5557 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5558 "needed by a program, prepare the program to run, and then run it."
5559 msgstr ""
5560 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5561 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5562
5563 #. type: Plain text
5564 #: build/C/man8/ld.so.8:32
5565 msgid ""
5566 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
5567 "static> option was given to B<ld>(1)  during compilation."
5568 msgstr ""
5569 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
5570 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5571
5572 #. type: Plain text
5573 #: build/C/man8/ld.so.8:45
5574 msgid ""
5575 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5576 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5577 "so.2> for glibc2), which everybody has been using for years now.  Otherwise, "
5578 "both have the same behavior, and use the same support files and programs "
5579 "B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
5580 msgstr ""
5581 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5582 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5583 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
5584 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5585 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5586 "so.conf> を使用する。"
5587
5588 #. type: Plain text
5589 #: build/C/man8/ld.so.8:53
5590 msgid ""
5591 "When resolving library dependencies, the dynamic linker first inspects each "
5592 "dependency string to see if it contains a slash (this can occur if a library "
5593 "pathname containing slashes was specified at link time).  If a slash is "
5594 "found, then the dependency string is interpreted as a (relative or absolute) "
5595 "pathname, and the library is loaded using that pathname."
5596 msgstr ""
5597 "ライブラリの依存関係を解決する際、動的リンカーは、最初に、依存関係の各文字列"
5598 "がスラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にス"
5599 "ラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかっ"
5600 "た場合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として"
5601 "解釈され、そのパス名を使ってそのライブラリはロードされる。"
5602
5603 #. type: Plain text
5604 #: build/C/man8/ld.so.8:56
5605 msgid ""
5606 "If a library dependency does not contain a slash, then it is searched for in "
5607 "the following order:"
5608 msgstr ""
5609 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5610
5611 #. type: Plain text
5612 #: build/C/man8/ld.so.8:61
5613 msgid ""
5614 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5615 "attribute of the binary if present and DT_RUNPATH attribute does not exist.  "
5616 "Use of DT_RPATH is deprecated."
5617 msgstr ""
5618 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5619 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5620 "の使用は推奨されない。"
5621
5622 #. type: Plain text
5623 #: build/C/man8/ld.so.8:66
5624 msgid ""
5625 "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the executable "
5626 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5627 msgstr ""
5628 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5629 "group-ID バイナリの場合、 これは無視される。"
5630
5631 #. type: Plain text
5632 #: build/C/man8/ld.so.8:70
5633 msgid ""
5634 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5635 "attribute of the binary if present."
5636 msgstr ""
5637 "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5638 "DT_RUNPATH で指定されたディレクトリを使用する。"
5639
5640 #. type: Plain text
5641 #: build/C/man8/ld.so.8:80
5642 msgid ""
5643 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5644 "candidate libraries previously found in the augmented library path.  If, "
5645 "however, the binary was linked with the B<-z nodeflib> linker option, "
5646 "libraries in the default library paths are skipped.  Libraries installed in "
5647 "hardware capability directories (see below)  are preferred to other "
5648 "libraries."
5649 msgstr ""
5650 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5651 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5652 "イルの情報を集めたものである。ただし、バイナリがリンカーオプション B<-z "
5653 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5654 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5655 "れたライブラリは、他のライブラリよりも優先される。"
5656
5657 #. type: Plain text
5658 #: build/C/man8/ld.so.8:88
5659 msgid ""
5660 "In the default path I</lib>, and then I</usr/lib>.  If the binary was linked "
5661 "with the B<-z nodeflib> linker option, this step is skipped."
5662 msgstr ""
5663 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリン"
5664 "カーオプション B<-z nodeflib> でリンクされている場合、このステップはスキップ"
5665 "される。"
5666
5667 #. type: SS
5668 #: build/C/man8/ld.so.8:88
5669 #, no-wrap
5670 msgid "Rpath token expansion"
5671 msgstr "rpath トークンの展開"
5672
5673 #. type: Plain text
5674 #: build/C/man8/ld.so.8:92
5675 msgid ""
5676 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5677 "DT_RUNPATH); those strings are substituted as follows"
5678 msgstr ""
5679 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5680 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5681
5682 #. type: TP
5683 #: build/C/man8/ld.so.8:92
5684 #, no-wrap
5685 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5686 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5687
5688 #. type: Plain text
5689 #: build/C/man8/ld.so.8:99
5690 msgid ""
5691 "This expands to the directory containing the program or shared library.  "
5692 "Thus, an application located in I<somedir/app> could be compiled with"
5693 msgstr ""
5694 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
5695 "て、 I<somedir/app> に置かれたアプリケーションを"
5696
5697 #. type: Plain text
5698 #: build/C/man8/ld.so.8:101
5699 #, no-wrap
5700 msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5701 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5702
5703 #. type: Plain text
5704 #: build/C/man8/ld.so.8:111
5705 msgid ""
5706 "so that it finds an associated shared library in I<somedir/lib> no matter "
5707 "where I<somedir> is located in the directory hierarchy.  This facilitates "
5708 "the creation of \"turn-key\" applications that do not need to be installed "
5709 "into special directories, but can instead be unpacked into any directory and "
5710 "still find their own shared libraries."
5711 msgstr ""
5712 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5713 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5714 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5715 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5716 "ションを作成することができる。"
5717
5718 #. type: TP
5719 #: build/C/man8/ld.so.8:111
5720 #, no-wrap
5721 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5722 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5723
5724 #. type: Plain text
5725 #: build/C/man8/ld.so.8:123
5726 msgid ""
5727 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5728 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5729 msgstr ""
5730 "アーキテクチャーに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 で"
5731 "は I<lib64> に、 x86-32 では I<lib> に展開される)。"
5732
5733 #. type: TP
5734 #: build/C/man8/ld.so.8:123
5735 #, no-wrap
5736 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5737 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5738
5739 #
5740 #
5741 #.  To get an idea of the places that $PLATFORM would match,
5742 #.  look at the output of the following:
5743 #.      mkdir /tmp/d
5744 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5745 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5746 #.  Don't do this!!
5747 #. type: Plain text
5748 #: build/C/man8/ld.so.8:141
5749 msgid ""
5750 "This expands to a string corresponding to the processor type of the host "
5751 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
5752 "provide a platform string to the dynamic linker.  The value of this string "
5753 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5754 "B<getauxval>(3))."
5755 msgstr ""
5756 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5757 "\"x86_64\")。\n"
5758 "いくつかのアーキテクチャーでは、 Linux カーネルから動的リンカーにプラット"
5759 "フォームを表す文字列が提供されない。 この文字列の値は補助ベクトルの "
5760 "B<AT_PLATFORM> 値から取得される (B<getauxval>(3) 参照)。"
5761
5762 #. type: SH
5763 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5764 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47
5765 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
5766 #, no-wrap
5767 msgid "OPTIONS"
5768 msgstr "オプション"
5769
5770 #. type: TP
5771 #: build/C/man8/ld.so.8:142
5772 #, no-wrap
5773 msgid "B<--list>"
5774 msgstr "B<--list>"
5775
5776 #. type: Plain text
5777 #: build/C/man8/ld.so.8:145
5778 msgid "List all dependencies and how they are resolved."
5779 msgstr "全ての依存関係とその解決法をリストする。"
5780
5781 #. type: TP
5782 #: build/C/man8/ld.so.8:145
5783 #, no-wrap
5784 msgid "B<--verify>"
5785 msgstr "B<--verify>"
5786
5787 #. type: Plain text
5788 #: build/C/man8/ld.so.8:149
5789 msgid ""
5790 "Verify that program is dynamically linked and this dynamic linker can handle "
5791 "it."
5792 msgstr ""
5793 "プログラムが動的にリンクされているかと、 動的リンカーがそのプログラムを扱える"
5794 "かを検証する。"
5795
5796 #. type: TP
5797 #: build/C/man8/ld.so.8:149
5798 #, no-wrap
5799 msgid "B<--inhibit-cache>"
5800 msgstr "B<--inhibit-cache>"
5801
5802 #. type: Plain text
5803 #: build/C/man8/ld.so.8:152
5804 msgid "Do not use /etc/ld.so.cache."
5805 msgstr "/etc/ld.so.cache を使用しない。"
5806
5807 #. type: TP
5808 #: build/C/man8/ld.so.8:152
5809 #, no-wrap
5810 msgid "B<--library-path PATH>"
5811 msgstr "B<--library-path PATH>"
5812
5813 #. type: Plain text
5814 #: build/C/man8/ld.so.8:157
5815 msgid ""
5816 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5817 "below)."
5818 msgstr ""
5819 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5820 "指定した PATH を使用する (下記参照)。"
5821
5822 #. type: TP
5823 #: build/C/man8/ld.so.8:157
5824 #, no-wrap
5825 msgid "B<--inhibit-rpath LIST>"
5826 msgstr "B<--inhibit-rpath LIST>"
5827
5828 #. type: Plain text
5829 #: build/C/man8/ld.so.8:163
5830 msgid ""
5831 "Ignore RPATH and RUNPATH information in object names in LIST.  This option "
5832 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5833 msgstr ""
5834 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5835 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5836
5837 #. type: TP
5838 #: build/C/man8/ld.so.8:163
5839 #, no-wrap
5840 msgid "B<--audit LIST>"
5841 msgstr "B<--audit LIST>"
5842
5843 #. type: Plain text
5844 #: build/C/man8/ld.so.8:166
5845 msgid "Use objects named in LIST as auditors."
5846 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5847
5848 #. type: SH
5849 #: build/C/man8/ld.so.8:166
5850 #, no-wrap
5851 msgid "HARDWARE CAPABILITIES"
5852 msgstr "ハードウェア機能"
5853
5854 #. type: Plain text
5855 #: build/C/man8/ld.so.8:177
5856 msgid ""
5857 "Some libraries are compiled using hardware-specific instructions which do "
5858 "not exist on every CPU.  Such libraries should be installed in directories "
5859 "whose names define the required hardware capabilities, such as I</usr/lib/"
5860 "sse2/>.  The dynamic linker checks these directories against the hardware of "
5861 "the machine and selects the most suitable version of a given library.  "
5862 "Hardware capability directories can be cascaded to combine CPU features.  "
5863 "The list of supported hardware capability names depends on the CPU.  The "
5864 "following names are currently recognized:"
5865 msgstr ""
5866 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5867 "有\n"
5868 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5869 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5870 "規\n"
5871 "定する名前のディレクトリにインストールすべきである。\n"
5872 "動的リンカーは、マシンのハードウェアに基づいてこれらのディレクトリを確認"
5873 "し、\n"
5874 "指定されたライブラリに最も適したバージョンを選択する。\n"
5875 "ハードウェア機能ディレクトリはつなげることができ、\n"
5876 "複数の CPU 機能を組み合わることができる。\n"
5877 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5878 "現在のところ、以下の名前が認識される。"
5879
5880 #. type: TP
5881 #: build/C/man8/ld.so.8:177
5882 #, no-wrap
5883 msgid "B<Alpha>"
5884 msgstr "B<Alpha>"
5885
5886 #. type: Plain text
5887 #: build/C/man8/ld.so.8:180
5888 msgid "ev4, ev5, ev56, ev6, ev67"
5889 msgstr "ev4, ev5, ev56, ev6, ev67"
5890
5891 #. type: TP
5892 #: build/C/man8/ld.so.8:180
5893 #, no-wrap
5894 msgid "B<MIPS>"
5895 msgstr "B<MIPS>"
5896
5897 #. type: Plain text
5898 #: build/C/man8/ld.so.8:183
5899 msgid "loongson2e, loongson2f, octeon, octeon2"
5900 msgstr "loongson2e, loongson2f, octeon, octeon2"
5901
5902 #. type: TP
5903 #: build/C/man8/ld.so.8:183
5904 #, no-wrap
5905 msgid "B<PowerPC>"
5906 msgstr "B<PowerPC>"
5907
5908 #. type: Plain text
5909 #: build/C/man8/ld.so.8:188
5910 msgid ""
5911 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5912 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5913 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5914 msgstr ""
5915 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5916 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5917 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5918
5919 #. type: TP
5920 #: build/C/man8/ld.so.8:188
5921 #, no-wrap
5922 msgid "B<SPARC>"
5923 msgstr "B<SPARC>"
5924
5925 #. type: Plain text
5926 #: build/C/man8/ld.so.8:191
5927 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5928 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5929
5930 #. type: TP
5931 #: build/C/man8/ld.so.8:191
5932 #, no-wrap
5933 msgid "B<s390>"
5934 msgstr "B<s390>"
5935
5936 #. type: Plain text
5937 #: build/C/man8/ld.so.8:195
5938 msgid ""
5939 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5940 "z990, z9-109, z10, zarch"
5941 msgstr ""
5942 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5943 "z990, z9-109, z10, zarch"
5944
5945 #. type: TP
5946 #: build/C/man8/ld.so.8:195
5947 #, no-wrap
5948 msgid "B<x86 (32-bit only)>"
5949 msgstr "B<x86 (32-bit のみ)>"
5950
5951 #. type: Plain text
5952 #: build/C/man8/ld.so.8:199
5953 msgid ""
5954 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5955 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5956 msgstr ""
5957 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5958 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5959
5960 #. type: SH
5961 #: build/C/man8/ld.so.8:199
5962 #, no-wrap
5963 msgid "ENVIRONMENT"
5964 msgstr "環境変数"
5965
5966 #. type: Plain text
5967 #: build/C/man8/ld.so.8:201
5968 msgid "Among the more important environment variables are the following:"
5969 msgstr "重要な環境変数には以下のものがある。"
5970
5971 #. type: TP
5972 #: build/C/man8/ld.so.8:201
5973 #, no-wrap
5974 msgid "B<LD_ASSUME_KERNEL>"
5975 msgstr "B<LD_ASSUME_KERNEL>"
5976
5977 #. type: Plain text
5978 #: build/C/man8/ld.so.8:214
5979 msgid ""
5980 "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
5981 "the minimum kernel ABI version that it requires.  (This requirement is "
5982 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5983 "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
5984 "determines the ABI version of the running kernel and will reject loading "
5985 "shared libraries that specify minimum ABI versions that exceed that ABI "
5986 "version."
5987 msgstr ""
5988 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカーに必要なカーネル ABI の最小"
5989 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5990 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5991 "て見ることができる)。 実行時に、 動的リンカーは実行中のカーネルの ABI バー"
5992 "ジョンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが"
5993 "指定された共有ライブラリのロードを行わない。"
5994
5995 #. type: Plain text
5996 #: build/C/man8/ld.so.8:223
5997 msgid ""
5998 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5999 "it is running on a system with a different kernel ABI version.  For example, "
6000 "the following command line causes the dynamic linker to assume it is running "
6001 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
6002 msgstr ""
6003 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカーに、 異なるカーネル ABI バー"
6004 "ジョンのシステムで実行されているかのように見せることができる。 例えば、 以下"
6005 "のコマンドラインを実行すると、 動的リンカーは I<myprog> が必要とする共有ライ"
6006 "ブラリをロードする際に Linux 2.2.5 上で動作していると仮定する。"
6007
6008 #. type: Plain text
6009 #: build/C/man8/ld.so.8:227
6010 #, no-wrap
6011 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6012 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6013
6014 #. type: Plain text
6015 #: build/C/man8/ld.so.8:244
6016 msgid ""
6017 "On systems that provide multiple versions of a shared library (in different "
6018 "directories in the search path) that have different minimum kernel ABI "
6019 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
6020 "of the library that is used (dependent on the directory search order).  "
6021 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
6022 "manually select the older LinuxThreads POSIX threads implementation on "
6023 "systems that provided both LinuxThreads and NPTL (which latter was typically "
6024 "the default on such systems); see B<pthreads>(7)."
6025 msgstr ""
6026 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
6027 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
6028 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
6029 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
6030 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
6031 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
6032 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
6033
6034 #. type: TP
6035 #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325
6036 #, no-wrap
6037 msgid "B<LD_BIND_NOT>"
6038 msgstr "B<LD_BIND_NOT>"
6039
6040 #. type: Plain text
6041 #: build/C/man8/ld.so.8:249
6042 msgid ""
6043 "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and Procedure "
6044 "Linkage Table (PLT)  when resolving a symbol."
6045 msgstr ""
6046 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
6047 "Procedure Linkage Table (PLT) を更新しない。"
6048
6049 #. type: TP
6050 #: build/C/man8/ld.so.8:249
6051 #, no-wrap
6052 msgid "B<LD_BIND_NOW>"
6053 msgstr "B<LD_BIND_NOW>"
6054
6055 #. type: Plain text
6056 #: build/C/man8/ld.so.8:257
6057 msgid ""
6058 "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the dynamic "
6059 "linker to resolve all symbols at program startup instead of deferring "
6060 "function call resolution to the point when they are first referenced.  This "
6061 "is useful when using a debugger."
6062 msgstr ""
6063 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカーはプログラムの開"
6064 "始時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼"
6065 "び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6066
6067 #. type: TP
6068 #: build/C/man8/ld.so.8:257
6069 #, no-wrap
6070 msgid "B<LD_LIBRARY_PATH>"
6071 msgstr "B<LD_LIBRARY_PATH>"
6072
6073 #. type: Plain text
6074 #: build/C/man8/ld.so.8:265
6075 msgid ""
6076 "A colon-separated list of directories in which to search for ELF libraries "
6077 "at execution-time.  Similar to the B<PATH> environment variable.  Ignored in "
6078 "set-user-ID and set-group-ID programs."
6079 msgstr ""
6080 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6081 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6082 "group-ID されたプログラムでは無視される。"
6083
6084 #. type: TP
6085 #: build/C/man8/ld.so.8:265
6086 #, no-wrap
6087 msgid "B<LD_PRELOAD>"
6088 msgstr "B<LD_PRELOAD>"
6089
6090 #. type: Plain text
6091 #: build/C/man8/ld.so.8:276
6092 msgid ""
6093 "A list of additional, user-specified, ELF shared libraries to be loaded "
6094 "before all others.  The items of the list can be separated by spaces or "
6095 "colons.  This can be used to selectively override functions in other shared "
6096 "libraries.  The libraries are searched for using the rules given under "
6097 "DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6098 "containing slashes are ignored, and libraries in the standard search "
6099 "directories are loaded only if the set-user-ID permission bit is enabled on "
6100 "the library file."
6101 msgstr ""
6102 "追加でユーザーが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、"
6103 "すべてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6104 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6105 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6106 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6107 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6108 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6109
6110 #. type: TP
6111 #: build/C/man8/ld.so.8:276
6112 #, no-wrap
6113 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6114 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6115
6116 #. type: Plain text
6117 #: build/C/man8/ld.so.8:283
6118 msgid ""
6119 "(ELF only)  If set to a nonempty string, causes the program to list its "
6120 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6121 "normally."
6122 msgstr ""
6123 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6124 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6125
6126 #. type: Plain text
6127 #: build/C/man8/ld.so.8:286
6128 msgid ""
6129 "Then there are lots of more or less obscure variables, many obsolete or only "
6130 "for internal use."
6131 msgstr ""
6132 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6133 "でのみ使用される環境変数である。"
6134
6135 #. type: TP
6136 #: build/C/man8/ld.so.8:286
6137 #, no-wrap
6138 msgid "B<LD_AOUT_LIBRARY_PATH>"
6139 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6140
6141 #. type: Plain text
6142 #: build/C/man8/ld.so.8:294
6143 msgid ""
6144 "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
6145 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6146 msgstr ""
6147 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6148 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6149 "トしていた。"
6150
6151 #. type: TP
6152 #: build/C/man8/ld.so.8:294
6153 #, no-wrap
6154 msgid "B<LD_AOUT_PRELOAD>"
6155 msgstr "B<LD_AOUT_PRELOAD>"
6156
6157 #. type: Plain text
6158 #: build/C/man8/ld.so.8:302
6159 msgid ""
6160 "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions of "
6161 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6162 msgstr ""
6163 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6164 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6165 "た。"
6166
6167 #. type: TP
6168 #: build/C/man8/ld.so.8:302
6169 #, no-wrap
6170 msgid "B<LD_AUDIT>"
6171 msgstr "B<LD_AUDIT>"
6172
6173 #. type: Plain text
6174 #: build/C/man8/ld.so.8:312
6175 msgid ""
6176 "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
6177 "objects to be loaded before all others in a separate linker namespace (i.e., "
6178 "one that does not intrude upon the normal symbol bindings that would occur "
6179 "in the process).  These libraries can be used to audit the operation of the "
6180 "dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6181 "binaries."
6182 msgstr ""
6183 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカー名前空間 (そのプロ"
6184 "セスで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) "
6185 "で ロードされる、ユーザー指定の ELF 共有オブジェクトのコロン区切りのリスト。 "
6186 "これらのライブラリを使って、動的リンカーの動作を監査することができる。 set-"
6187 "user-ID/set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6188
6189 #. type: Plain text
6190 #: build/C/man8/ld.so.8:325
6191 msgid ""
6192 "The dynamic linker will notify the audit libraries at so-called auditing "
6193 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6194 "calling a symbol from another shared object\\(emby calling an appropriate "
6195 "function within the audit library.  For details, see B<rtld-audit>(7).  The "
6196 "auditing interface is largely compatible with that provided on Solaris, as "
6197 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6198 "Linker Auditing Interface>."
6199 msgstr ""
6200 "動的リンカーは、いわゆる監査チェックポイント (auditing checkpoints)  におい"
6201 "て、監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの"
6202 "通知を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シン"
6203 "ボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細"
6204 "は B<rtld-audit>(7)  を参照してほしい。 audit インターフェースは、Solaris で"
6205 "提供されているものと 大部分は互換性がある。Solaris の audit インターフェース"
6206 "については、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing "
6207 "Interface> の章に説明がある。"
6208
6209 #. type: Plain text
6210 #: build/C/man8/ld.so.8:330
6211 msgid ""
6212 "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
6213 "(procedure linkage table)  after resolving a symbol."
6214 msgstr ""
6215 "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT "
6216 "(procedure linkage table) を更新しない。"
6217
6218 #. type: TP
6219 #: build/C/man8/ld.so.8:330
6220 #, no-wrap
6221 msgid "B<LD_DEBUG>"
6222 msgstr "B<LD_DEBUG>"
6223
6224 #. type: Plain text
6225 #: build/C/man8/ld.so.8:343
6226 msgid ""
6227 "(glibc since 2.1)  Output verbose debugging information about the dynamic "
6228 "linker.  If set to B<all> prints all debugging information it has, if set to "
6229 "B<help> prints a help message about which categories can be specified in "
6230 "this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6231 "set-user-ID/set-group-ID binaries."
6232 msgstr ""
6233 "(glibc 2.1 以降)  動的リンカーの詳細なデバッグ情報を出力する。 B<all> に設定"
6234 "した場合、全ての動的リンカーが持つデバッグ情報を表示する。 B<help> に設定した"
6235 "場合、この環境変数で指定されるカテゴリーのヘルプ情報を表示する。 glibc 2.3.4 "
6236 "以降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6237
6238 #. type: TP
6239 #: build/C/man8/ld.so.8:343
6240 #, no-wrap
6241 msgid "B<LD_DEBUG_OUTPUT>"
6242 msgstr "B<LD_DEBUG_OUTPUT>"
6243
6244 #. type: Plain text
6245 #: build/C/man8/ld.so.8:352
6246 msgid ""
6247 "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  The "
6248 "default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6249 "set-group-ID binaries."
6250 msgstr ""
6251 "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6252 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6253 "B<LD_DEBUG_OUTPUT> は無視される。"
6254
6255 #. type: TP
6256 #: build/C/man8/ld.so.8:352
6257 #, no-wrap
6258 msgid "B<LD_DYNAMIC_WEAK>"
6259 msgstr "B<LD_DYNAMIC_WEAK>"
6260
6261 #. type: Plain text
6262 #: build/C/man8/ld.so.8:359
6263 msgid ""
6264 "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to old "
6265 "glibc behavior).  For security reasons, since glibc 2.3.4, "
6266 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6267 msgstr ""
6268 "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6269 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6270 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6271
6272 #. type: TP
6273 #: build/C/man8/ld.so.8:359
6274 #, no-wrap
6275 msgid "B<LD_HWCAP_MASK>"
6276 msgstr "B<LD_HWCAP_MASK>"
6277
6278 #. type: Plain text
6279 #: build/C/man8/ld.so.8:363
6280 msgid "(glibc since 2.1)  Mask for hardware capabilities."
6281 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
6282
6283 #. type: TP
6284 #: build/C/man8/ld.so.8:363
6285 #, no-wrap
6286 msgid "B<LD_KEEPDIR>"
6287 msgstr "B<LD_KEEPDIR>"
6288
6289 #. type: Plain text
6290 #: build/C/man8/ld.so.8:368
6291 msgid ""
6292 "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
6293 "libraries to be loaded.  Use of this option is strongly discouraged."
6294 msgstr ""
6295 "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリ"
6296 "を無視しない。 このオプションは用いるべきではない。"
6297
6298 #. type: TP
6299 #: build/C/man8/ld.so.8:368
6300 #, no-wrap
6301 msgid "B<LD_NOWARN>"
6302 msgstr "B<LD_NOWARN>"
6303
6304 #. type: Plain text
6305 #: build/C/man8/ld.so.8:373
6306 msgid ""
6307 "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
6308 "incompatible minor version numbers."
6309 msgstr ""
6310 "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換"
6311 "に 対する警告メッセージを抑制する。"
6312
6313 #. type: TP
6314 #: build/C/man8/ld.so.8:373
6315 #, no-wrap
6316 msgid "B<LD_ORIGIN_PATH>"
6317 msgstr "B<LD_ORIGIN_PATH>"
6318
6319 #.  Only used if $ORIGIN can't be determined by normal means
6320 #.  (from the origin path saved at load time, or from /proc/self/exe)?
6321 #. type: Plain text
6322 #: build/C/man8/ld.so.8:382
6323 msgid ""
6324 "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
6325 "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6326 "ignored for set-user-ID/set-group-ID binaries."
6327 msgstr ""
6328 "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムについ"
6329 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6330 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6331
6332 #. type: TP
6333 #: build/C/man8/ld.so.8:382
6334 #, no-wrap
6335 msgid "B<LD_POINTER_GUARD>"
6336 msgstr "B<LD_POINTER_GUARD>"
6337
6338 #. type: Plain text
6339 #: build/C/man8/ld.so.8:394
6340 msgid ""
6341 "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
6342 "enables pointer guarding, which is also the default.  Pointer guarding is a "
6343 "security mechanism whereby some pointers to code stored in writable program "
6344 "memory (return addresses saved by B<setjmp>(3)  or function pointers used by "
6345 "various glibc internals) are mangled semi-randomly to make it more difficult "
6346 "for an attacker to hijack the pointers for use in the event of a buffer "
6347 "overrun or stack-smashing attack."
6348 msgstr ""
6349 "(glibc 2.4 以降)  0 に設定すると、ポインター保護 (pointer guarding) が無効に"
6350 "なる。 それ以外の値の場合はポインター保護が有効になる。 デフォルトはポイン"
6351 "ター保護有効である。 ポインター保護はセキュリティ機構の一つで、書き込み可能な"
6352 "プログラムメモリー に格納されたコードへのポインターをほぼランダム化すること"
6353 "で、 攻撃者がバッファーオーバーランやスタック破壊 (stack-smashing) 攻撃の際"
6354 "に ポインターを乗っ取ることを困難にするものである。"
6355
6356 #. type: TP
6357 #: build/C/man8/ld.so.8:394
6358 #, no-wrap
6359 msgid "B<LD_PROFILE>"
6360 msgstr "B<LD_PROFILE>"
6361
6362 #. type: Plain text
6363 #: build/C/man8/ld.so.8:401
6364 msgid ""
6365 "(glibc since 2.1)  The name of a (single) shared object to be profiled, "
6366 "specified either as a pathname or a soname.  Profiling output is appended to "
6367 "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6368 msgstr ""
6369 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
6370 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
6371 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
6372 "る。"
6373
6374 #. type: TP
6375 #: build/C/man8/ld.so.8:401
6376 #, no-wrap
6377 msgid "B<LD_PROFILE_OUTPUT>"
6378 msgstr "B<LD_PROFILE_OUTPUT>"
6379
6380 #. type: Plain text
6381 #: build/C/man8/ld.so.8:414
6382 msgid ""
6383 "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be written.  "
6384 "If this variable is not defined, or is defined as an empty string, then the "
6385 "default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6386 "set-group-ID programs, which always use I</var/profile>."
6387 msgstr ""
6388 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6389 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6390 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6391 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6392 "れる。"
6393
6394 #. type: TP
6395 #: build/C/man8/ld.so.8:414
6396 #, no-wrap
6397 msgid "B<LD_SHOW_AUXV>"
6398 msgstr "B<LD_SHOW_AUXV>"
6399
6400 #.  FIXME
6401 #.  Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6402 #.      Available since glibc 2.3
6403 #.      Also enables DL_DEBUG_PRELINK
6404 #. type: Plain text
6405 #: build/C/man8/ld.so.8:425
6406 msgid ""
6407 "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
6408 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6409 "ID/set-group-ID binaries."
6410 msgstr ""
6411 "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメーターの) 配列を表示す"
6412 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6413 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6414
6415 #. type: TP
6416 #: build/C/man8/ld.so.8:425
6417 #, no-wrap
6418 msgid "B<LD_USE_LOAD_BIAS>"
6419 msgstr "B<LD_USE_LOAD_BIAS>"
6420
6421 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6422 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
6423 #.  Jakub Jelinek
6424 #. type: Plain text
6425 #: build/C/man8/ld.so.8:444
6426 msgid ""
6427 "By default (i.e., if this variable is not defined)  executables and "
6428 "prelinked shared objects will honor base addresses of their dependent "
6429 "libraries and (nonprelinked) position-independent executables (PIEs)  and "
6430 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
6431 "with the value 1, both executables and PIEs will honor the base addresses.  "
6432 "If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6433 "PIEs will honor the base addresses.  This variable is ignored by set-user-ID "
6434 "and set-group-ID programs."
6435 msgstr ""
6436 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6437 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6438 "スが尊重される一方、 (prelink されていない) position-independent executables "
6439 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6440 "れない。 B<LD_USE_LOAD_BIAS> が値 1 で定義された場合、実行ファイルと PIE のど"
6441 "ちらでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された"
6442 "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-"
6443 "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6444
6445 #. type: TP
6446 #: build/C/man8/ld.so.8:444
6447 #, no-wrap
6448 msgid "B<LD_VERBOSE>"
6449 msgstr "B<LD_VERBOSE>"
6450
6451 #. type: Plain text
6452 #: build/C/man8/ld.so.8:452
6453 msgid ""
6454 "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
6455 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6456 "variable has been set."
6457 msgstr ""
6458 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6459 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6460
6461 #. type: TP
6462 #: build/C/man8/ld.so.8:452
6463 #, no-wrap
6464 msgid "B<LD_WARN>"
6465 msgstr "B<LD_WARN>"
6466
6467 #. type: Plain text
6468 #: build/C/man8/ld.so.8:456
6469 msgid ""
6470 "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
6471 "unresolved symbols."
6472 msgstr ""
6473 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
6474 "あれば警告を出す。"
6475
6476 #. type: TP
6477 #: build/C/man8/ld.so.8:456
6478 #, no-wrap
6479 msgid "B<LDD_ARGV0>"
6480 msgstr "B<LDD_ARGV0>"
6481
6482 #. type: Plain text
6483 #: build/C/man8/ld.so.8:463
6484 msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
6485 msgstr ""
6486 "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
6487
6488 #. type: SH
6489 #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156
6490 #, no-wrap
6491 msgid "FILES"
6492 msgstr "ファイル"
6493
6494 #. type: TP
6495 #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158
6496 #, no-wrap
6497 msgid "I</lib/ld.so>"
6498 msgstr "I</lib/ld.so>"
6499
6500 #. type: Plain text
6501 #: build/C/man8/ld.so.8:468
6502 msgid "a.out dynamic linker/loader"
6503 msgstr "a.out の動的リンカー/ローダー"
6504
6505 #. type: TP
6506 #: build/C/man8/ld.so.8:468
6507 #, no-wrap
6508 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6509 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6510
6511 #. type: Plain text
6512 #: build/C/man8/ld.so.8:471
6513 msgid "ELF dynamic linker/loader"
6514 msgstr "ELF の動的リンカー/ローダー"
6515
6516 #. type: TP
6517 #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165
6518 #, no-wrap
6519 msgid "I</etc/ld.so.cache>"
6520 msgstr "I</etc/ld.so.cache>"
6521
6522 #. type: Plain text
6523 #: build/C/man8/ld.so.8:475
6524 msgid ""
6525 "File containing a compiled list of directories in which to search for "
6526 "libraries and an ordered list of candidate libraries."
6527 msgstr ""
6528 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6529 "リストを含むファイル。"
6530
6531 #. type: TP
6532 #: build/C/man8/ld.so.8:475
6533 #, no-wrap
6534 msgid "I</etc/ld.so.preload>"
6535 msgstr "I</etc/ld.so.preload>"
6536
6537 #. type: Plain text
6538 #: build/C/man8/ld.so.8:479
6539 msgid ""
6540 "File containing a whitespace-separated list of ELF shared libraries to be "
6541 "loaded before the program."
6542 msgstr ""
6543 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6544 "書かれているファイル。"
6545
6546 #. type: TP
6547 #: build/C/man8/ld.so.8:479
6548 #, no-wrap
6549 msgid "B<lib*.so*>"
6550 msgstr "B<lib*.so*>"
6551
6552 #. type: Plain text
6553 #: build/C/man8/ld.so.8:482
6554 msgid "shared libraries"
6555 msgstr "共有ライブラリ"
6556
6557 #. type: Plain text
6558 #: build/C/man8/ld.so.8:489
6559 msgid ""
6560 "The B<ld.so> functionality is available for executables compiled using libc "
6561 "version 4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 "
6562 "and libc5."
6563 msgstr ""
6564 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6565 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6566 "可能である。"
6567
6568 #.  .SH AUTHORS
6569 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6570 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
6571 #.  ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6572 #.  In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6573 #. type: Plain text
6574 #: build/C/man8/ld.so.8:505
6575 msgid ""
6576 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6577 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6578 msgstr ""
6579 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6580 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6581
6582 #. type: TH
6583 #: build/C/man8/ldconfig.8:22
6584 #, no-wrap
6585 msgid "LDCONFIG"
6586 msgstr "LDCONFIG"
6587
6588 #. type: TH
6589 #: build/C/man8/ldconfig.8:22
6590 #, no-wrap
6591 msgid "2012-05-10"
6592 msgstr "2012-05-10"
6593
6594 #. type: Plain text
6595 #: build/C/man8/ldconfig.8:25
6596 msgid "ldconfig - configure dynamic linker run-time bindings"
6597 msgstr "ldconfig - 動的リンカーによる実行時の結合関係を設定する"
6598
6599 #. type: Plain text
6600 #: build/C/man8/ldconfig.8:40
6601 msgid ""
6602 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6603 "root> ] I<directory>\\ ..."
6604 msgstr ""
6605 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6606 "root> ] I<directory>\\ ..."
6607
6608 #. type: Plain text
6609 #: build/C/man8/ldconfig.8:49
6610 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6611 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6612
6613 #. type: Plain text
6614 #: build/C/man8/ldconfig.8:54
6615 msgid "B</sbin/ldconfig> B<-p>"
6616 msgstr "B</sbin/ldconfig> B<-p>"
6617
6618 #. type: Plain text
6619 #: build/C/man8/ldconfig.8:71
6620 msgid ""
6621 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6622 "libraries found in the directories specified on the command line, in the "
6623 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6624 "lib>).  The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6625 "so>.  B<ldconfig> checks the header and filenames of the libraries it "
6626 "encounters when determining which versions should have their links updated."
6627 msgstr ""
6628 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6629 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6630 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6631 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカー "
6632 "I<ld.so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライ"
6633 "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを"
6634 "更新すべきかを判断する。"
6635
6636 #.  The following sentence looks suspect
6637 #.  (perhaps historical cruft) -- MTK, Jul 2005
6638 #.  Therefore, when making dynamic libraries,
6639 #.  it is wise to explicitly link against libc (use \-lc).
6640 #. type: Plain text
6641 #: build/C/man8/ldconfig.8:79
6642 msgid ""
6643 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6644 "libc6/glibc)  based on what C libs, if any, the library was linked against."
6645 msgstr ""
6646 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6647 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6648
6649 #. type: Plain text
6650 #: build/C/man8/ldconfig.8:100
6651 msgid ""
6652 "Some existing libs do not contain enough information to allow the deduction "
6653 "of their type.  Therefore, the I</etc/ld.so.conf> file format allows the "
6654 "specification of an expected type.  This is used I<only> for those ELF libs "
6655 "which we can not work out.  The format is \"dirname=TYPE\", where TYPE can "
6656 "be libc4, libc5, or libc6.  (This syntax also works on the command line.)  "
6657 "Spaces are I<not> allowed.  Also see the B<-p> option.  B<ldconfig> should "
6658 "normally be run by the superuser as it may require write permission on some "
6659 "root owned directories and files."
6660 msgstr ""
6661 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6662 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6663 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6664 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6665 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6666 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6667 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6668 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6669
6670 #. type: TP
6671 #: build/C/man8/ldconfig.8:101
6672 #, no-wrap
6673 msgid "B<-v>"
6674 msgstr "B<-v>"
6675
6676 #. type: Plain text
6677 #: build/C/man8/ldconfig.8:107
6678 msgid ""
6679 "Verbose mode.  Print current version number, the name of each directory as "
6680 "it is scanned, and any links that are created.  Overrides quiet mode."
6681 msgstr ""
6682 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6683 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6684 "抑制モードを上書きする。"
6685
6686 #. type: TP
6687 #: build/C/man8/ldconfig.8:107
6688 #, no-wrap
6689 msgid "B<-n>"
6690 msgstr "B<-n>"
6691
6692 #. type: Plain text
6693 #: build/C/man8/ldconfig.8:118
6694 msgid ""
6695 "Only process directories specified on the command line.  Don't process the "
6696 "trusted directories (I</lib> and I</usr/lib>)  nor those specified in I</etc/"
6697 "ld.so.conf>.  Implies B<-N>."
6698 msgstr ""
6699 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6700 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
6701 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6702
6703 #. type: TP
6704 #: build/C/man8/ldconfig.8:118
6705 #, no-wrap
6706 msgid "B<-N>"
6707 msgstr "B<-N>"
6708
6709 #. type: Plain text
6710 #: build/C/man8/ldconfig.8:124
6711 msgid ""
6712 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
6713 "updated."
6714 msgstr ""
6715 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6716 "うは更新される。"
6717
6718 #. type: TP
6719 #: build/C/man8/ldconfig.8:124
6720 #, no-wrap
6721 msgid "B<-X>"
6722 msgstr "B<-X>"
6723
6724 #. type: Plain text
6725 #: build/C/man8/ldconfig.8:130
6726 msgid ""
6727 "Don't update links.  Unless B<-N> is also specified, the cache is still "
6728 "rebuilt."
6729 msgstr ""
6730 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6731 "される。"
6732
6733 #. type: TP
6734 #: build/C/man8/ldconfig.8:130
6735 #, no-wrap
6736 msgid "B<-f conf>"
6737 msgstr "B<-f conf>"
6738
6739 #. type: Plain text
6740 #: build/C/man8/ldconfig.8:136
6741 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6742 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6743
6744 #. type: TP
6745 #: build/C/man8/ldconfig.8:136
6746 #, no-wrap
6747 msgid "B<-C cache>"
6748 msgstr "B<-C cache>"
6749
6750 #. type: Plain text
6751 #: build/C/man8/ldconfig.8:142
6752 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6753 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6754
6755 #. type: TP
6756 #: build/C/man8/ldconfig.8:142
6757 #, no-wrap
6758 msgid "B<-r root>"
6759 msgstr "B<-r root>"
6760
6761 #. type: Plain text
6762 #: build/C/man8/ldconfig.8:147
6763 msgid "Change to and use I<root> as the root directory."
6764 msgstr ""
6765 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6766 "る。"
6767
6768 #. type: TP
6769 #: build/C/man8/ldconfig.8:147
6770 #, no-wrap
6771 msgid "B<-l>"
6772 msgstr "B<-l>"
6773
6774 #. type: Plain text
6775 #: build/C/man8/ldconfig.8:152
6776 msgid ""
6777 "Library mode.  Manually link individual libraries.  Intended for use by "
6778 "experts only."
6779 msgstr ""
6780 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6781 "べきである。"
6782
6783 #. type: TP
6784 #: build/C/man8/ldconfig.8:152
6785 #, no-wrap
6786 msgid "B<-p>"
6787 msgstr "B<-p>"
6788
6789 #. type: Plain text
6790 #: build/C/man8/ldconfig.8:156
6791 msgid ""
6792 "Print the lists of directories and candidate libraries stored in the current "
6793 "cache."
6794 msgstr ""
6795 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6796 "示する。"
6797
6798 #. type: Plain text
6799 #: build/C/man8/ldconfig.8:161
6800 msgid "run-time linker/loader"
6801 msgstr "実行時リンカー/ローダー。"
6802
6803 #. type: TP
6804 #: build/C/man8/ldconfig.8:161
6805 #, no-wrap
6806 msgid "I</etc/ld.so.conf>"
6807 msgstr "I</etc/ld.so.conf>"
6808
6809 #. type: Plain text
6810 #: build/C/man8/ldconfig.8:165
6811 msgid ""
6812 "File containing a list of colon, space, tab, newline, or comma-separated "
6813 "directories in which to search for libraries."
6814 msgstr ""
6815 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6816 "れのディレクトリでライブラリが検索される。"
6817
6818 #. type: Plain text
6819 #: build/C/man8/ldconfig.8:174
6820 msgid ""
6821 "File containing an ordered list of libraries found in the directories "
6822 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6823 "usr/lib>."
6824 msgstr ""
6825 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6826 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6827
6828 #. type: Plain text
6829 #: build/C/man8/ldconfig.8:178
6830 msgid "B<ldd>(1), B<ld.so>(8)"
6831 msgstr "B<ldd>(1), B<ld.so>(8)"
6832
6833 #. type: TH
6834 #: build/C/man1/ldd.1:14
6835 #, no-wrap
6836 msgid "LDD"
6837 msgstr "LDD"
6838
6839 #. type: Plain text
6840 #: build/C/man1/ldd.1:17
6841 msgid "ldd - print shared library dependencies"
6842 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6843
6844 #. type: Plain text
6845 #: build/C/man1/ldd.1:19
6846 msgid "B<ldd> [I<option>]... I<file>..."
6847 msgstr "B<ldd> [I<option>]... I<file>..."
6848
6849 #. type: Plain text
6850 #: build/C/man1/ldd.1:23
6851 msgid ""
6852 "B<ldd> prints the shared libraries required by each program or shared "
6853 "library specified on the command line."
6854 msgstr ""
6855 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6856 "れで必要とされる共有ライブラリを表示する。"
6857
6858 #. type: SS
6859 #: build/C/man1/ldd.1:23
6860 #, no-wrap
6861 msgid "Security"
6862 msgstr "セキュリティ"
6863
6864 #.  Mainline glibc's ldd allows this possibility (the line
6865 #.       try_trace "$file"
6866 #.  in glibc 2.15, for example), but many distro versions of
6867 #.  ldd seem to remove that code path from the script.
6868 #. type: Plain text
6869 #: build/C/man1/ldd.1:49
6870 msgid ""
6871 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
6872 "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6873 "which causes the linker to display the library dependencies.  Be aware, "
6874 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6875 "obtain the dependency information by directly executing the program.  Thus, "
6876 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6877 "result in the execution of arbitrary code.  A safer alternative when dealing "
6878 "with untrusted executables is:"
6879 msgstr ""
6880 "通常の場合、 B<ldd> は標準の動的リンカー (B<ld.so>(8) 参照) を "
6881 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6882 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカーはライブラリの依存関"
6883 "係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実"
6884 "行するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに"
6885 "対しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行すること"
6886 "につながるからである。信頼できない実行ファイルを扱う、より安全な別の方法とし"
6887 "ては次のようにするとよい。"
6888
6889 #. type: Plain text
6890 #: build/C/man1/ldd.1:51
6891 #, no-wrap
6892 msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
6893 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
6894
6895 #. type: TP
6896 #: build/C/man1/ldd.1:52 build/C/man1/mtrace.1:55
6897 #, no-wrap
6898 msgid "B<--version>"
6899 msgstr "B<--version>"
6900
6901 #. type: Plain text
6902 #: build/C/man1/ldd.1:56
6903 msgid "Print the version number of B<ldd>."
6904 msgstr "B<ldd> のバージョン番号を表示する。"
6905
6906 #. type: TP
6907 #: build/C/man1/ldd.1:56
6908 #, no-wrap
6909 msgid "B<-v\\ --verbose>"
6910 msgstr "B<-v\\ --verbose>"
6911
6912 #. type: Plain text
6913 #: build/C/man1/ldd.1:60
6914 msgid ""
6915 "Print all information, including, for example, symbol versioning information."
6916 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6917
6918 #. type: TP
6919 #: build/C/man1/ldd.1:60
6920 #, no-wrap
6921 msgid "B<-u\\ --unused>"
6922 msgstr "B<-u\\ --unused>"
6923
6924 #. type: Plain text
6925 #: build/C/man1/ldd.1:64
6926 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
6927 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6928
6929 #. type: TP
6930 #: build/C/man1/ldd.1:64
6931 #, no-wrap
6932 msgid "B<-d\\ --data-relocs>"
6933 msgstr "B<-d\\ --data-relocs>"
6934
6935 #. type: Plain text
6936 #: build/C/man1/ldd.1:67
6937 msgid "Perform relocations and report any missing objects (ELF only)."
6938 msgstr ""
6939 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6940
6941 #. type: TP
6942 #: build/C/man1/ldd.1:67
6943 #, no-wrap
6944 msgid "B<-r\\ --function-relocs>"
6945 msgstr "B<-r\\ --function-relocs>"
6946
6947 #. type: Plain text
6948 #: build/C/man1/ldd.1:71
6949 msgid ""
6950 "Perform relocations for both data objects and functions, and report any "
6951 "missing objects or functions (ELF only)."
6952 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6953
6954 #. type: TP
6955 #: build/C/man1/ldd.1:71 build/C/man1/mtrace.1:52
6956 #, no-wrap
6957 msgid "B<--help>"
6958 msgstr "B<--help>"
6959
6960 #.  .SH NOTES
6961 #.  The standard version of
6962 #.  .B ldd
6963 #.  comes with glibc2.
6964 #.  Libc5 came with an older version, still present
6965 #.  on some systems.
6966 #.  The long options are not supported by the libc5 version.
6967 #.  On the other hand, the glibc2 version does not support
6968 #.  .B \-V
6969 #.  and only has the equivalent
6970 #.  .BR \-\-version .
6971 #.  .LP
6972 #.  The libc5 version of this program will use the name of a library given
6973 #.  on the command line as-is when it contains a \(aq/\(aq; otherwise it
6974 #.  searches for the library in the standard locations.
6975 #.  To run it
6976 #.  on a shared library in the current directory, prefix the name with "./".
6977 #. type: Plain text
6978 #: build/C/man1/ldd.1:91
6979 msgid "Usage information."
6980 msgstr "使用法を表示する。"
6981
6982 #. type: Plain text
6983 #: build/C/man1/ldd.1:94
6984 msgid "B<ldd> does not work on a.out shared libraries."
6985 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6986
6987 #.  .SH AUTHOR
6988 #.  David Engel.
6989 #.  Roland McGrath and Ulrich Drepper.
6990 #. type: Plain text
6991 #: build/C/man1/ldd.1:108
6992 msgid ""
6993 "B<ldd> does not work with some extremely old a.out programs which were built "
6994 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
6995 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6996 "and the results will be unpredictable."
6997 msgstr ""
6998 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6999 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
7000 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
7001 "不可能である。"
7002
7003 #. type: Plain text
7004 #: build/C/man1/ldd.1:113
7005 msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7006 msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7007
7008 #. type: TH
7009 #: build/C/man1/memusage.1:24
7010 #, no-wrap
7011 msgid "MEMUSAGE"
7012 msgstr "MEMUSAGE"
7013
7014 #. type: TH
7015 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
7016 #, no-wrap
7017 msgid "2014-09-06"
7018 msgstr "2014-09-06"
7019
7020 #. type: TH
7021 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
7022 #, no-wrap
7023 msgid "Linux user manual"
7024 msgstr "Linux user manual"
7025
7026 #. type: Plain text
7027 #: build/C/man1/memusage.1:27
7028 msgid "memusage - profile memory usage of a program"
7029 msgstr "memusage - プログラムのメモリー使用量のプロファイルを行う"
7030
7031 #. type: Plain text
7032 #: build/C/man1/memusage.1:29
7033 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7034 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7035
7036 #. type: Plain text
7037 #: build/C/man1/memusage.1:53
7038 msgid ""
7039 "B<memusage> is a bash script which profiles memory usage of the program, "
7040 "I<program>.  It preloads the B<libmemusage.so> library into the caller's "
7041 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)).  "
7042 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
7043 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
7044 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2)  can also be intercepted."
7045 msgstr ""
7046 "B<memusage> は、 プログラム I<program> のメモリー使用量のプロファイルを行う "
7047 "bash スクリプトである。 呼び出し元の環境に (B<LD_PRELOAD> 環境変数を使って) "
7048 "B<libmemusage.so> ライブラリをプレロードする。 B<ld.so>(8) を参照。 "
7049 "B<libmemusage.so> ライブラリは、 B<malloc>(3), B<calloc>(3), B<free>(3), "
7050 "B<realloc>(3) の呼び出しを横取りし、 メモリー割り当て状況の追跡を行う。 追加"
7051 "で、 B<mmap>(2), B<mremap>(2), B<munmap>(2) を追跡することもできる。"
7052
7053 #. type: Plain text
7054 #: build/C/man1/memusage.1:62
7055 msgid ""
7056 "B<memusage> can output the collected data in textual form, or it can use "
7057 "B<memusagestat>(1)  (see the B<-p> option, below)  to create a PNG file "
7058 "containing graphical representation of the collected data."
7059 msgstr ""
7060 "B<memusage> は収集したデータをテキスト形式で出力することもできるし、 "
7061 "B<memusagestat>(1) を使って収集したデータをグラフにした PNG ファイルを作成す"
7062 "ることもできる (以下の B<-p> オプションを参照)。"
7063
7064 #. type: SS
7065 #: build/C/man1/memusage.1:62
7066 #, no-wrap
7067 msgid "Memory usage summary"
7068 msgstr "メモリー使用量概要"
7069
7070 #. type: Plain text
7071 #: build/C/man1/memusage.1:66
7072 msgid ""
7073 "The \"Memory usage summary\" line output by B<memusage> contains three "
7074 "fields:"
7075 msgstr ""
7076 "B<memusage> が出力する \"Memory usage summary\" (メモリー使用量概要) の行には"
7077 "以下のフィールドが含まれる。"
7078
7079 #. type: TP
7080 #: build/C/man1/memusage.1:67
7081 #, no-wrap
7082 msgid "B<heap total>"
7083 msgstr "B<heap total>"
7084
7085 #. type: Plain text
7086 #: build/C/man1/memusage.1:84
7087 msgid ""
7088 "Sum of I<size> arguments of all B<malloc>(3)  calls, products of arguments "
7089 "(I<nmemb>*I<size>) of all B<calloc>(3)  calls, and sum of I<length> "
7090 "arguments of all B<mmap>(2)  calls.  In the case of B<realloc>(3)  and "
7091 "B<mremap>(2), if the new size of an allocation is larger than the previous "
7092 "size, the sum of all such differences (new size minus old size) is added."
7093 msgstr ""
7094 "B<malloc>(3) のすべての呼び出しの I<size> 引き数の合計、 B<calloc>(3) のすべ"
7095 "ての呼び出しの引き数の積 (I<nmemb>*I<size>)、 B<mmap>(2) のすべての呼び出し"
7096 "の I<length> 引き数の合計。 B<realloc>(3) と B<mremap>(2) の場合、 割り当ての"
7097 "新しいサイズが以前のサイズよりも大きい場合、 差分 (新しいサイズから古いサイズ"
7098 "を引いた値) の合計が加算される。"
7099
7100 #. type: TP
7101 #: build/C/man1/memusage.1:84
7102 #, no-wrap
7103 msgid "B<heap peak>"
7104 msgstr "B<heap peak>"
7105
7106 #. type: Plain text
7107 #: build/C/man1/memusage.1:98
7108 msgid ""
7109 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
7110 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
7111 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
7112 msgstr ""
7113 "B<malloc>(3) の I<size> 引き数、 B<calloc>(3) の I<nmemb>*I<size> の積、 "
7114 "B<realloc>(3) の I<size> 引き数、 B<mmap>(2) の I<length> 引き数、 "
7115 "B<mremap>(2) の I<new_size> 引き数、 の中の最大値。"
7116
7117 #. type: TP
7118 #: build/C/man1/memusage.1:98
7119 #, no-wrap
7120 msgid "B<stack peak>"
7121 msgstr "B<stack peak>"
7122
7123 #. type: Plain text
7124 #: build/C/man1/memusage.1:105
7125 msgid ""
7126 "Before the first call to any monitored function, the stack pointer address "
7127 "(base stack pointer) is saved.  After each function call, the actual stack "
7128 "pointer address is read and the difference from the base stack pointer "
7129 "computed.  The maximum of these differences is then the stack peak."
7130 msgstr ""
7131 "監視される関数の最初の呼び出しが行われる前に、 スタックポインターアドレス "
7132 "(ベーススタックポインター) が保存される。 関数のそれぞれの呼び出し後には、 実"
7133 "際のスタックポインターアドレスを読み込み、 ベースポインターアドレスを元に差分"
7134 "を計算する。これらの差分の最大値がスタックのピーク値となる。"
7135
7136 #. type: Plain text
7137 #: build/C/man1/memusage.1:122
7138 msgid ""
7139 "Immediately following this summary line, a table shows the number calls, "
7140 "total memory allocated or deallocated, and number of failed calls for each "
7141 "intercepted function.  For B<realloc>(3)  and B<mremap>(2), the additional "
7142 "field \"nomove\" shows reallocations that changed the address of a block, "
7143 "and the additional \"dec\" field shows reallocations that decreased the size "
7144 "of the block.  For B<realloc>(3), the additional field \"free\" shows "
7145 "reallocations that caused a block to be freed (i.e., the reallocated size "
7146 "was 0)."
7147 msgstr ""
7148 "この概要行の直後には、 監視対象の各関数の呼び出し回数、 割り当て・割り当て解"
7149 "除された全メモリー量、 失敗した回数がテーブルで表示される。 B<realloc>(3) と "
7150 "B<mremap>(2) の場合には、 フィールド \"nomove\" でブロックアドレスを変更した"
7151 "再割り当て数を、 フィールド \"dec\" でブロックサイズが減少した再割り当て数が"
7152 "追加で表示される。 B<realloc>(3) の場合、 フィールド \"free\" でブロックの解"
7153 "放が行われた再割り当て (サイズが 0 の再割り当て) の数も追加で表示される。"
7154
7155 #. type: Plain text
7156 #: build/C/man1/memusage.1:132
7157 msgid ""
7158 "The \"realloc/total memory\" of the table output by B<memusage> does not "
7159 "reflect cases where B<realloc>(3)  is used to reallocate a block of memory "
7160 "to have a smaller size than previously.  This can cause sum of all \"total "
7161 "memory\" cells (excluding \"free\")  to be larger than the \"free/total "
7162 "memory\" cell."
7163 msgstr ""
7164 "B<memusage> が出力するテーブルの \"realloc/total memory\" (再割り当てメモ"
7165 "リー/全メモリー) には、 B<realloc>(3) を使ってメモリーブロックをその前よりも"
7166 "小さいサイズに再割り当てされた場合は含まれない。 このため、 (\"free\" 以外"
7167 "の) すべての「総メモリー」のセルは \"free/total memory\" セルよりも大きくなる"
7168 "ことがある。"
7169
7170 #. type: SS
7171 #: build/C/man1/memusage.1:132
7172 #, no-wrap
7173 msgid "Histogram for block sizes"
7174 msgstr "ブロックサイズのヒストグラム"
7175
7176 #. type: Plain text
7177 #: build/C/man1/memusage.1:135
7178 msgid ""
7179 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
7180 "into various bucket sizes."
7181 msgstr ""
7182 "\"Histogram for block sizes\" (ブロックサイズのヒストグラム) は、 メモリー割"
7183 "り当てをバケットサイズ単位に分割した情報である。"
7184
7185 #. type: TP
7186 #: build/C/man1/memusage.1:136
7187 #, no-wrap
7188 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7189 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7190
7191 #. type: Plain text
7192 #: build/C/man1/memusage.1:139
7193 msgid "Name of the program file to profile."
7194 msgstr "プロファイル対象のプログラムファイル名。"
7195
7196 #. type: TP
7197 #: build/C/man1/memusage.1:139
7198 #, no-wrap
7199 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7200 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7201
7202 #. type: Plain text
7203 #: build/C/man1/memusage.1:143
7204 msgid "Generate PNG graphic and store it in I<file>."
7205 msgstr "PNG 画像を生成し、 I<file> に格納する。"
7206
7207 #. type: TP
7208 #: build/C/man1/memusage.1:143
7209 #, no-wrap
7210 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7211 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7212
7213 #. type: Plain text
7214 #: build/C/man1/memusage.1:147
7215 msgid "Generate binary data file and store it in I<file>."
7216 msgstr "バイナリーデータファイルを生成し、 I<file> に格納する。"
7217
7218 #. type: TP
7219 #: build/C/man1/memusage.1:147
7220 #, no-wrap
7221 msgid "B<-u>,\\ B<--unbuffered>"
7222 msgstr "B<-u>,\\ B<--unbuffered>"
7223
7224 #. type: Plain text
7225 #: build/C/man1/memusage.1:150
7226 msgid "Do not buffer output."
7227 msgstr "出力バッファーリングを行わない。"
7228
7229 #. type: TP
7230 #: build/C/man1/memusage.1:150
7231 #, no-wrap
7232 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7233 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7234
7235 #. type: Plain text
7236 #: build/C/man1/memusage.1:155
7237 msgid "Collect I<size> entries before writing them out."
7238 msgstr "出力する前に I<size> 個のエントリーの収集を行う。"
7239
7240 #. type: TP
7241 #: build/C/man1/memusage.1:155
7242 #, no-wrap
7243 msgid "B<--no-timer>"
7244 msgstr "B<--no-timer>"
7245
7246 #. type: Plain text
7247 #: build/C/man1/memusage.1:160
7248 msgid "Disable timer-based (B<SIGPROF>)  sampling of stack pointer value."
7249 msgstr ""
7250 "スタックポインター値の時間ベースのサンプリング (B<SIGPROF>) を無効にする。"
7251
7252 #. type: TP
7253 #: build/C/man1/memusage.1:160
7254 #, no-wrap
7255 msgid "B<-m>,\\ B<--mmap>"
7256 msgstr "B<-m>,\\ B<--mmap>"
7257
7258 #. type: Plain text
7259 #: build/C/man1/memusage.1:167
7260 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
7261 msgstr "B<mmap>(2), B<mremap>(2), B<mmap>(2) も追跡対象とする。"
7262
7263 #. type: TP
7264 #: build/C/man1/memusage.1:167 build/C/man1/memusagestat.1:72
7265 #, no-wrap
7266 msgid "B<-?>,\\ B<--help>"
7267 msgstr "B<-?>,\\ B<--help>"
7268
7269 #. type: Plain text
7270 #: build/C/man1/memusage.1:170 build/C/man1/mtrace.1:55
7271 msgid "Print help and exit."
7272 msgstr "ヘルプを表示し、終了する。"
7273
7274 #. type: TP
7275 #: build/C/man1/memusage.1:170 build/C/man1/memusagestat.1:75
7276 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
7277 #, no-wrap
7278 msgid "B<--usage>"
7279 msgstr "B<--usage>"
7280
7281 #. type: Plain text
7282 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7283 msgid "Print a short usage message and exit."
7284 msgstr "簡潔な使用方法を表示して終了する。"
7285
7286 #. type: TP
7287 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7288 #, no-wrap
7289 msgid "B<-V>,\\ B<--version>"
7290 msgstr "B<-V>,\\ B<--version>"
7291
7292 #. type: Plain text
7293 #: build/C/man1/memusage.1:176 build/C/man1/memusagestat.1:81
7294 #: build/C/man1/mtrace.1:58
7295 msgid "Print version information and exit."
7296 msgstr "バージョン情報を表示して終了する。"
7297
7298 #. type: TP
7299 #: build/C/man1/memusage.1:176
7300 #, fuzzy, no-wrap
7301 #| msgid "The following options only apply when generating graphical output:"
7302 msgid "The following options apply only when generating graphical output:"
7303 msgstr "以下のオプションは画像出力を行う場合にのみ適用される。"
7304
7305 #. type: TP
7306 #: build/C/man1/memusage.1:178
7307 #, no-wrap
7308 msgid "B<-t>,\\ B<--time-based>"
7309 msgstr "B<-t>,\\ B<--time-based>"
7310
7311 #. type: Plain text
7312 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7313 msgid ""
7314 "Use time (rather than number of function calls) as the scale for the X axis."
7315 msgstr "X 軸の目盛として (関数呼び出し数ではなく) 時間を使用する。"
7316
7317 #. type: TP
7318 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7319 #, no-wrap
7320 msgid "B<-T>,\\ B<--total>"
7321 msgstr "B<-T>,\\ B<--total>"
7322
7323 #. type: Plain text
7324 #: build/C/man1/memusage.1:184
7325 msgid "Also draw a graph of total memory use."
7326 msgstr "メモリーの全使用量のグラフも生成する。"
7327
7328 #. type: TP
7329 #: build/C/man1/memusage.1:184
7330 #, no-wrap
7331 msgid "B<--title=>I<name>"
7332 msgstr "B<--title=>I<name>"
7333
7334 #. type: Plain text
7335 #: build/C/man1/memusage.1:189
7336 msgid "Use I<name> as the title of the graph."
7337 msgstr "グラフのタイトルとして I<name> を使用する。"
7338
7339 #. type: TP
7340 #: build/C/man1/memusage.1:189 build/C/man1/memusagestat.1:62
7341 #, no-wrap
7342 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7343 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7344
7345 #. type: Plain text
7346 #: build/C/man1/memusage.1:194
7347 msgid "Make the graph I<size> pixels wide."
7348 msgstr "グラフの幅を I<size> ピクセルにする。"
7349
7350 #. type: TP
7351 #: build/C/man1/memusage.1:194 build/C/man1/memusagestat.1:67
7352 #, no-wrap
7353 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7354 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7355
7356 #. type: Plain text
7357 #: build/C/man1/memusage.1:199
7358 msgid "Make the graph I<size> pixels high."
7359 msgstr "グラフの高さを I<size> ピクセルにする。"
7360
7361 #. type: SH
7362 #: build/C/man1/memusage.1:199 build/C/man1/pldd.1:60
7363 #, no-wrap
7364 msgid "EXIT STATUS"
7365 msgstr "終了ステータス"
7366
7367 #. type: Plain text
7368 #: build/C/man1/memusage.1:201
7369 msgid "Exit status is equal to the exit status of profiled program."
7370 msgstr ""
7371 "終了ステータスはプロファイルしたプログラムの終了ステータスと同じになる。"
7372
7373 #. type: Plain text
7374 #: build/C/man1/memusage.1:208
7375 msgid ""
7376 "Below is a simple program that reallocates a block of memory in cycles that "
7377 "rise to a peak before then cyclically reallocating the memory in smaller "
7378 "blocks that return to zero.  After compiling the program and running the "
7379 "following commands, a graph of the memory usage of the program can be found "
7380 "in the file I<memusage.png>:"
7381 msgstr ""
7382 "以下の簡単なプログラムは、 ピークに達するまで繰り返しメモリーブロックの再割り"
7383 "当てを行い、 その後ブロックサイズが 0 になるまで繰り返し順に小さなブロックに"
7384 "再割り当てを行う。 このプログラムをコンパイルして以下のコマンドを実行する"
7385 "と、 このプログラムのメモリー使用量がファイル I<memusage.png> に出力される。"
7386
7387 #. type: Plain text
7388 #: build/C/man1/memusage.1:232
7389 #, no-wrap
7390 msgid ""
7391 "$ B<memusage --data=memusage.dat ./a.out>\n"
7392 "\\&...\n"
7393 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7394 "        total calls  total memory  failed calls\n"
7395 " malloc|         1           400             0\n"
7396 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7397 " calloc|         0             0             0\n"
7398 "   free|         1           440\n"
7399 "Histogram for block sizes:\n"
7400 "  192-207             1   2% ================\n"
7401 "\\&...\n"
7402 " 2192-2207            1   2% ================\n"
7403 " 2240-2255            2   4% =================================\n"
7404 " 2832-2847            2   4% =================================\n"
7405 " 3440-3455            2   4% =================================\n"
7406 " 4032-4047            2   4% =================================\n"
7407 " 4640-4655            2   4% =================================\n"
7408 " 5232-5247            2   4% =================================\n"
7409 " 5840-5855            2   4% =================================\n"
7410 " 6432-6447            1   2% ================\n"
7411 "$ B<memusagestat memusage.dat memusage.png>\n"
7412 msgstr ""
7413 "$ B<memusage --data=memusage.dat ./a.out>\n"
7414 "\\&...\n"
7415 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7416 "        total calls  total memory  failed calls\n"
7417 " malloc|         1           400             0\n"
7418 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7419 " calloc|         0             0             0\n"
7420 "   free|         1           440\n"
7421 "Histogram for block sizes:\n"
7422 "  192-207             1   2% ================\n"
7423 "\\&...\n"
7424 " 2192-2207            1   2% ================\n"
7425 " 2240-2255            2   4% =================================\n"
7426 " 2832-2847            2   4% =================================\n"
7427 " 3440-3455            2   4% =================================\n"
7428 " 4032-4047            2   4% =================================\n"
7429 " 4640-4655            2   4% =================================\n"
7430 " 5232-5247            2   4% =================================\n"
7431 " 5840-5855            2   4% =================================\n"
7432 " 6432-6447            1   2% ================\n"
7433 "$ B<memusagestat memusage.dat memusage.png>\n"
7434
7435 #. type: Plain text
7436 #: build/C/man1/memusage.1:240
7437 #, no-wrap
7438 msgid "#define CYCLES 20\n"
7439 msgstr "#define CYCLES 20\n"
7440
7441 #. type: Plain text
7442 #: build/C/man1/memusage.1:246
7443 #, no-wrap
7444 msgid ""
7445 "int\n"
7446 "main(int argc, char *argv[])\n"
7447 "{\n"
7448 "     int i, j;\n"
7449 "     int *p;\n"
7450 msgstr ""
7451 "int\n"
7452 "main(int argc, char *argv[])\n"
7453 "{\n"
7454 "     int i, j;\n"
7455 "     int *p;\n"
7456
7457 #. type: Plain text
7458 #: build/C/man1/memusage.1:249
7459 #, no-wrap
7460 msgid ""
7461 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7462 "     p = malloc(sizeof(int) * 100);\n"
7463 msgstr ""
7464 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7465 "     p = malloc(sizeof(int) * 100);\n"
7466
7467 #. type: Plain text
7468 #: build/C/man1/memusage.1:255
7469 #, no-wrap
7470 msgid ""
7471 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7472 "         if (i E<lt> CYCLES / 2)\n"
7473 "             j = i;\n"
7474 "         else\n"
7475 "             j--;\n"
7476 msgstr ""
7477 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7478 "         if (i E<lt> CYCLES / 2)\n"
7479 "             j = i;\n"
7480 "         else\n"
7481 "             j--;\n"
7482
7483 #. type: Plain text
7484 #: build/C/man1/memusage.1:258
7485 #, no-wrap
7486 msgid ""
7487 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7488 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7489 msgstr ""
7490 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7491 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7492
7493 #. type: Plain text
7494 #: build/C/man1/memusage.1:262
7495 #, no-wrap
7496 msgid ""
7497 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7498 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7499 "     }\n"
7500 msgstr ""
7501 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7502 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7503 "     }\n"
7504
7505 #. type: Plain text
7506 #: build/C/man1/memusage.1:266
7507 #, no-wrap
7508 msgid ""
7509 "     free(p);\n"
7510 "     exit(EXIT_SUCCESS);\n"
7511 "}\n"
7512 msgstr ""
7513 "     free(p);\n"
7514 "     exit(EXIT_SUCCESS);\n"
7515 "}\n"
7516
7517 #. type: Plain text
7518 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
7519 msgid ""
7520 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
7521 msgstr ""
7522 "バグ報告については E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE> "
7523 "を参照のこと。"
7524
7525 #. type: Plain text
7526 #: build/C/man1/memusage.1:275
7527 msgid "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7528 msgstr "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7529
7530 #. type: TH
7531 #: build/C/man1/memusagestat.1:23
7532 #, no-wrap
7533 msgid "MEMUSAGESTAT"
7534 msgstr "MEMUSAGESTAT"
7535
7536 #. type: TH
7537 #: build/C/man1/memusagestat.1:23
7538 #, no-wrap
7539 msgid "Linux programmer's manual"
7540 msgstr "Linux programmer's manual"
7541
7542 #. type: Plain text
7543 #: build/C/man1/memusagestat.1:26
7544 msgid "memusagestat - generate graphic from memory profiling data"
7545 msgstr "memusagestat - メモリーのプロファイリングデータからグラフを出力する"
7546
7547 #. type: Plain text
7548 #: build/C/man1/memusagestat.1:28
7549 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7550 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7551
7552 #. type: Plain text
7553 #: build/C/man1/memusagestat.1:39
7554 msgid ""
7555 "B<memusagestat> creates a PNG file containing a graphical representation of "
7556 "the memory profiling data in the file I<datafile>; that file is generated "
7557 "via the I<-d> (or I<--data>)  option of B<memusage>(1)."
7558 msgstr ""
7559 "B<memusagestat> は、 ファイル I<datafile> に格納されたメモリーのプロファイリ"
7560 "ングデータをグラフとして表現した PNG ファイルを作成する。 I<datafile> は "
7561 "B<memusage>(1) の I<-d> (I<--data>) オプションで生成される。"
7562
7563 #. type: Plain text
7564 #: build/C/man1/memusagestat.1:47
7565 msgid ""
7566 "The red line in the graph shows the heap usage (allocated memory)  and the "
7567 "green line shows the stack usage.  The x-scale is either the number of "
7568 "memory-handling function calls or (if the I<-t> option is specified)  time."
7569 msgstr ""
7570 "グラフの赤色の線はヒープ使用量 (割り当てられたメモリー) を示し、 緑色の線はス"
7571 "タック使用量を示す。 X 軸はメモリー処理関数の呼び出し数 (I<-t> オプションが指"
7572 "定された場合は時間) である。"
7573
7574 #. type: TP
7575 #: build/C/man1/memusagestat.1:48
7576 #, no-wrap
7577 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7578 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7579
7580 #. type: Plain text
7581 #: build/C/man1/memusagestat.1:51
7582 msgid "Name of the output file."
7583 msgstr "出力ファイルの名前。"
7584
7585 #. type: TP
7586 #: build/C/man1/memusagestat.1:51
7587 #, no-wrap
7588 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7589 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7590
7591 #. type: Plain text
7592 #: build/C/man1/memusagestat.1:56
7593 msgid "Use I<string> as the title inside the output graph."
7594 msgstr "出力グラフに表示するタイトルとして I<string> を使用する。"
7595
7596 #. type: TP
7597 #: build/C/man1/memusagestat.1:56
7598 #, no-wrap
7599 msgid "B<-t>,\\ B<--time>"
7600 msgstr "B<-t>,\\ B<--time>"
7601
7602 #. type: Plain text
7603 #: build/C/man1/memusagestat.1:62
7604 msgid "Also draw a graph of total memory consumption."
7605 msgstr "全メモリー消費量のグラフも出力する。"
7606
7607 #. type: Plain text
7608 #: build/C/man1/memusagestat.1:67
7609 msgid "Make the output graph I<size> pixels wide."
7610 msgstr "出力グラフの幅を I<size> ピクセルにする。"
7611
7612 #. type: Plain text
7613 #: build/C/man1/memusagestat.1:72
7614 msgid "Make the output graph I<size> pixels high."
7615 msgstr "出力グラフの高さを I<size> ピクセルにする。"
7616
7617 #. type: Plain text
7618 #: build/C/man1/memusagestat.1:75
7619 msgid "Print a help message and exit."
7620 msgstr "ヘルプメッセージを表示して終了する。"
7621
7622 #. type: Plain text
7623 #: build/C/man1/memusagestat.1:84
7624 msgid "See B<memusage>(1)."
7625 msgstr "B<memusage>(1) を参照。"
7626
7627 #. type: Plain text
7628 #: build/C/man1/memusagestat.1:91
7629 msgid "B<memusage>(1), B<mtrace>(1)"
7630 msgstr "B<memusage>(1), B<mtrace>(1)"
7631
7632 #. type: TH
7633 #: build/C/man1/mtrace.1:23
7634 #, no-wrap
7635 msgid "MTRACE"
7636 msgstr "MTRACE"
7637
7638 #. type: TH
7639 #: build/C/man1/mtrace.1:23
7640 #, no-wrap
7641 msgid "2014-09-01"
7642 msgstr "2014-09-01"
7643
7644 #. type: Plain text
7645 #: build/C/man1/mtrace.1:26
7646 msgid "mtrace - interpret the malloc trace log"
7647 msgstr "mtrace - malloc のトレースログを解釈する"
7648
7649 #. type: Plain text
7650 #: build/C/man1/mtrace.1:28
7651 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7652 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7653
7654 #. type: Plain text
7655 #: build/C/man1/mtrace.1:44
7656 msgid ""
7657 "B<mtrace> is a Perl script used to interpret and provide human readable "
7658 "output of the trace log contained in the file I<mtracedata>, whose contents "
7659 "were produced by B<mtrace>(3).  If I<binary> is provided, the output of "
7660 "B<mtrace> also contains the source file name with line number information "
7661 "for problem locations (assuming that I<binary> was compiled with debugging "
7662 "information)."
7663 msgstr ""
7664 "B<mtrace> は B<mtrace>(3) の出力内容が入ったファイル I<mtracedata> のトレース"
7665 "ログを解釈し人間が読みやすい出力に変換する Perl スクリプトである。 I<binary> "
7666 "が渡されると、 B<mtrace> の出力に問題箇所にソースファイル名と行番号も出力され"
7667 "る (I<binary> はデバッグ情報付きでコンパイルされているものとする)。"
7668
7669 #. type: Plain text
7670 #: build/C/man1/mtrace.1:51
7671 msgid ""
7672 "For more information about the B<mtrace>(3)  function and B<mtrace> script "
7673 "usage, see B<mtrace>(3)."
7674 msgstr ""
7675 "B<mtrace>(3) 関数と B<mtrace> スクリプトの使用方法の詳細は B<mtrace>(3) を参"
7676 "照。"
7677
7678 #. type: Plain text
7679 #: build/C/man1/mtrace.1:61
7680 msgid ""
7681 "For bug reporting instructions, please see: E<lt>http://www.gnu.org/software/"
7682 "libc/bugs.htmlE<gt>."
7683 msgstr ""
7684 "バグ報告の方法については E<lt>http://www.gnu.org/software/libc/bugs."
7685 "htmlE<gt> を参照。"
7686
7687 #. type: Plain text
7688 #: build/C/man1/mtrace.1:64
7689 msgid "B<memusage>(1), B<mtrace>(3)"
7690 msgstr "B<memusage>(1), B<mtrace>(3)"
7691
7692 #. type: TH
7693 #: build/C/man1/pldd.1:25
7694 #, no-wrap
7695 msgid "PLDD"
7696 msgstr "PLDD"
7697
7698 #. type: TH
7699 #: build/C/man1/pldd.1:25
7700 #, no-wrap
7701 msgid "2014-09-27"
7702 msgstr "2014-09-27"
7703
7704 #. type: TH
7705 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
7706 #, no-wrap
7707 msgid "Linux User Manual"
7708 msgstr "Linux User Manual"
7709
7710 #. type: Plain text
7711 #: build/C/man1/pldd.1:28
7712 msgid "pldd - display dynamic shared objects linked into a process"
7713 msgstr "pldd - プロセスにリンクされている動的共有オブジェクトを表示する"
7714
7715 #. type: Plain text
7716 #: build/C/man1/pldd.1:32
7717 #, no-wrap
7718 msgid ""
7719 "B<pldd >I<PID>\n"
7720 "B<pldd> OPTION\n"
7721 msgstr ""
7722 "B<pldd >I<PID>\n"
7723 "B<pldd> OPTION\n"
7724
7725 #. type: Plain text
7726 #: build/C/man1/pldd.1:40
7727 msgid ""
7728 "The B<pldd> command displays a list of the dynamic shared objects that are "
7729 "linked into the process with the specified process ID.  The list includes "
7730 "the libraries that have been dynamically loaded using B<dlopen>(3)."
7731 msgstr ""
7732 "B<pldd> コマンドは、 指定されたプロセス ID のプロセスにリンクされている動的共"
7733 "有オブジェクトのリストを表示する。 このリストには B<dlopen>(3) を使って動的に"
7734 "ロードされたライブラリーも含まれる。"
7735
7736 #. type: TP
7737 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
7738 #, no-wrap
7739 msgid "B<-?>, B<--help>"
7740 msgstr "B<-?>, B<--help>"
7741
7742 #. type: Plain text
7743 #: build/C/man1/pldd.1:44
7744 msgid "Display program help message."
7745 msgstr "プログラムのヘルプメッセージを表示する。"
7746
7747 #. type: Plain text
7748 #: build/C/man1/pldd.1:47
7749 msgid "Display a short usage message."
7750 msgstr "簡潔な使用方法を表示する。"
7751
7752 #. type: TP
7753 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
7754 #, no-wrap
7755 msgid "B<-V>, B<--version>"
7756 msgstr "B<-V>, B<--version>"
7757
7758 #. type: Plain text
7759 #: build/C/man1/pldd.1:50
7760 msgid "Display the program version."
7761 msgstr "プログラムのバージョンを表示する。"
7762
7763 #. type: Plain text
7764 #: build/C/man1/pldd.1:53
7765 msgid "B<pldd> is available since glibc 2.15."
7766 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
7767
7768 #.  There are man pages on Solaris and HP-UX.
7769 #. type: Plain text
7770 #: build/C/man1/pldd.1:60
7771 msgid ""
7772 "The B<pldd> command is not specified by POSIX.1.  Some other systems have a "
7773 "similar command."
7774 msgstr ""
7775 "B<pldd> コマンドは POSIX.1 では規定されていない。 他のいくつかのシステムにも"
7776 "同様のコマンドがある。"
7777
7778 #. type: Plain text
7779 #: build/C/man1/pldd.1:71
7780 msgid ""
7781 "On success, B<pldd> exits with the status 0.  If the specified process does "
7782 "not exist, the user does not have permission to access its dynamic shared "
7783 "object list, or no command-line arguments are supplied, B<pldd> exists with "
7784 "a status of 1.  If given an invalid option, it exits with the status 64."
7785 msgstr ""
7786 "成功すると B<pldd> はステータス 0 を返す。 指定されたプロセスが存在しない場"
7787 "合、 ユーザーが自身の動的共有オブジェクトのリストにアクセスする許可を持ってい"
7788 "ない場合、 もしくはコマンドライン引き数が指定されていない場合、 B<pldd> はス"
7789 "テータス 1 で終了する。 無効なオプションが指定された場合、 ステータス 64 で終"
7790 "了する。"
7791
7792 #. type: Plain text
7793 #: build/C/man1/pldd.1:83
7794 #, no-wrap
7795 msgid ""
7796 "$ B<echo $$>               # Display PID of shell\n"
7797 "1143\n"
7798 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
7799 "1143:\t/usr/bin/bash\n"
7800 "linux-vdso.so.1\n"
7801 "/lib64/libtinfo.so.5\n"
7802 "/lib64/libdl.so.2\n"
7803 "/lib64/libc.so.6\n"
7804 "/lib64/ld-linux-x86-64.so.2\n"
7805 "/lib64/libnss_files.so.2\n"
7806 msgstr ""
7807 "$ B<echo $$>               # シェルの PID を表示する\n"
7808 "1143\n"
7809 "$ B<pldd $$>               # このシェルにリンクされている動的共有オブジェクトを表示\n"
7810 "1143:\t/usr/bin/bash\n"
7811 "linux-vdso.so.1\n"
7812 "/lib64/libtinfo.so.5\n"
7813 "/lib64/libdl.so.2\n"
7814 "/lib64/libc.so.6\n"
7815 "/lib64/ld-linux-x86-64.so.2\n"
7816 "/lib64/libnss_files.so.2\n"
7817
7818 #. type: Plain text
7819 #: build/C/man1/pldd.1:86
7820 msgid "The command"
7821 msgstr "コマンド"
7822
7823 #. type: Plain text
7824 #: build/C/man1/pldd.1:88
7825 #, no-wrap
7826 msgid "     lsof -p PID\n"
7827 msgstr "     lsof -p PID\n"
7828
7829 #. type: Plain text
7830 #: build/C/man1/pldd.1:91
7831 msgid ""
7832 "also shows output that includes the dynamic shared objects that are linked "
7833 "into a process."
7834 msgstr "は、 プロセスにリンクされた動的共有オブジェクトも出力する。"
7835
7836 #. type: Plain text
7837 #: build/C/man1/pldd.1:96
7838 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7839 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7840
7841 #. type: TH
7842 #: build/C/man7/rtld-audit.7:28
7843 #, no-wrap
7844 msgid "RTLD-AUDIT"
7845 msgstr "RTLD-AUDIT"
7846
7847 #. type: TH
7848 #: build/C/man7/rtld-audit.7:28
7849 #, no-wrap
7850 msgid "2012-07-07"
7851 msgstr "2012-07-07"
7852
7853 #. type: Plain text
7854 #: build/C/man7/rtld-audit.7:31
7855 msgid "rtld-audit - auditing API for the dynamic linker"
7856 msgstr ""
7857
7858 #. type: Plain text
7859 #: build/C/man7/rtld-audit.7:33
7860 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
7861 msgstr ""
7862
7863 #. type: Plain text
7864 #: build/C/man7/rtld-audit.7:35
7865 msgid "B<#include E<lt>link.hE<gt>>"
7866 msgstr "B<#include E<lt>link.hE<gt>>"
7867
7868 #. type: Plain text
7869 #: build/C/man7/rtld-audit.7:43
7870 msgid ""
7871 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
7872 "allows an application to be notified when various dynamic linking events "
7873 "occur.  This API is very similar to the auditing interface provided by the "
7874 "Solaris run-time linker.  The necessary constants and prototypes are defined "
7875 "by including I<E<lt>link.hE<gt>>."
7876 msgstr ""
7877
7878 #. type: Plain text
7879 #: build/C/man7/rtld-audit.7:50
7880 msgid ""
7881 "To use this interface, the programmer creates a shared library that "
7882 "implements a standard set of function names.  Not all of the functions need "
7883 "to be implemented: in most cases, if the programmer is not interested in a "
7884 "particular class of auditing event, then no implementation needs to be "
7885 "provided for the corresponding auditing function."
7886 msgstr ""
7887
7888 #. type: Plain text
7889 #: build/C/man7/rtld-audit.7:58
7890 msgid ""
7891 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7892 "be defined to contain a colon-separated list of shared libraries, each of "
7893 "which can implement (parts of) the auditing API.  When an auditable event "
7894 "occurs, the corresponding function is invoked in each library, in the order "
7895 "that the libraries are listed."
7896 msgstr ""
7897
7898 #. type: SS
7899 #: build/C/man7/rtld-audit.7:58
7900 #, no-wrap
7901 msgid "la_version()"
7902 msgstr "la_version()"
7903
7904 #. type: Plain text
7905 #: build/C/man7/rtld-audit.7:62
7906 #, no-wrap
7907 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7908 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7909
7910 #. type: Plain text
7911 #: build/C/man7/rtld-audit.7:74
7912 msgid ""
7913 "This is the only function that I<must> be defined by an auditing library: it "
7914 "performs the initial handshake between the dynamic linker and the auditing "
7915 "library.  When invoking this function, the dynamic linker passes, in "
7916 "I<version>, the highest version of the auditing interface that the linker "
7917 "supports.  If necessary, the auditing library can check that this version is "
7918 "sufficient for its requirements."
7919 msgstr ""
7920
7921 #. type: Plain text
7922 #: build/C/man7/rtld-audit.7:83
7923 msgid ""
7924 "As its function result, this function should return the version of the "
7925 "auditing interface that this auditing library expects to use (returning "
7926 "I<version> is acceptable).  If the returned value is 0, or a version that is "
7927 "greater than that supported by the dynamic linker, then the audit library is "
7928 "ignored."
7929 msgstr ""
7930
7931 #. type: SS
7932 #: build/C/man7/rtld-audit.7:83
7933 #, no-wrap
7934 msgid "la_objsearch()"
7935 msgstr "la_objsearch()"
7936
7937 #. type: Plain text
7938 #: build/C/man7/rtld-audit.7:88
7939 #, no-wrap
7940 msgid ""
7941 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7942 "B<                   unsigned int >I<flag>B<);>\n"
7943 msgstr ""
7944 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7945 "B<                   unsigned int >I<flag>B<);>\n"
7946
7947 #. type: Plain text
7948 #: build/C/man7/rtld-audit.7:99
7949 msgid ""
7950 "The dynamic linker invokes this function to inform the auditing library that "
7951 "it is about to search for a shared object.  The I<name> argument is the "
7952 "filename or pathname that is to be searched for.  I<cookie> identifies the "
7953 "shared object that initiated the search.  I<flag> is set to one of the "
7954 "following values:"
7955 msgstr ""
7956
7957 #. type: TP
7958 #: build/C/man7/rtld-audit.7:99
7959 #, no-wrap
7960 msgid "B<LA_SER_ORIG>"
7961 msgstr "B<LA_SER_ORIG>"
7962
7963 #. type: Plain text
7964 #: build/C/man7/rtld-audit.7:108
7965 msgid ""
7966 "This is the original name that is being searched for.  Typically, this name "
7967 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7968 "to B<dlopen>(3)."
7969 msgstr ""
7970
7971 #. type: TP
7972 #: build/C/man7/rtld-audit.7:108
7973 #, no-wrap
7974 msgid "B<LA_SER_LIBPATH>"
7975 msgstr "B<LA_SER_LIBPATH>"
7976
7977 #. type: Plain text
7978 #: build/C/man7/rtld-audit.7:113
7979 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7980 msgstr ""
7981
7982 #. type: TP
7983 #: build/C/man7/rtld-audit.7:113
7984 #, no-wrap
7985 msgid "B<LA_SER_RUNPATH>"
7986 msgstr "B<LA_SER_RUNPATH>"
7987
7988 #. type: Plain text
7989 #: build/C/man7/rtld-audit.7:121
7990 msgid ""
7991 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7992 "B<DT_RUNPATH> list."
7993 msgstr ""
7994
7995 #. type: TP
7996 #: build/C/man7/rtld-audit.7:121
7997 #, no-wrap
7998 msgid "B<LA_SER_CONFIG>"
7999 msgstr "B<LA_SER_CONFIG>"
8000
8001 #. type: Plain text
8002 #: build/C/man7/rtld-audit.7:128
8003 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
8004 msgstr ""
8005
8006 #. type: TP
8007 #: build/C/man7/rtld-audit.7:128
8008 #, no-wrap
8009 msgid "B<LA_SER_DEFAULT>"
8010 msgstr "B<LA_SER_DEFAULT>"
8011
8012 #. type: Plain text
8013 #: build/C/man7/rtld-audit.7:132
8014 msgid "I<name> was found via a search of one of the default directories."
8015 msgstr ""
8016
8017 #. type: TP
8018 #: build/C/man7/rtld-audit.7:132
8019 #, no-wrap
8020 msgid "B<LA_SER_SECURE>"
8021 msgstr "B<LA_SER_SECURE>"
8022
8023 #. type: Plain text
8024 #: build/C/man7/rtld-audit.7:136
8025 msgid "I<name> is specific to a secure object (unused on Linux)."
8026 msgstr ""
8027
8028 #. type: Plain text
8029 #: build/C/man7/rtld-audit.7:145
8030 msgid ""
8031 "As its function result, B<la_objsearch>()  returns the pathname that the "
8032 "dynamic linker should use for further processing.  If NULL is returned, then "
8033 "this pathname is ignored for further processing.  If this audit library "
8034 "simply intends to monitor search paths, then I<name> should be returned."
8035 msgstr ""
8036
8037 #. type: SS
8038 #: build/C/man7/rtld-audit.7:145
8039 #, no-wrap
8040 msgid "la_activity()"
8041 msgstr "la_activity()"
8042
8043 #. type: Plain text
8044 #: build/C/man7/rtld-audit.7:149
8045 #, no-wrap
8046 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8047 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8048
8049 #. type: Plain text
8050 #: build/C/man7/rtld-audit.7:158
8051 msgid ""
8052 "The dynamic linker calls this function to inform the auditing library that "
8053 "link-map activity is occurring.  I<cookie> identifies the object at the head "
8054 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
8055 "set to one of the following values:"
8056 msgstr ""
8057
8058 #. type: TP
8059 #: build/C/man7/rtld-audit.7:158
8060 #, no-wrap
8061 msgid "B<LA_ACT_ADD>"
8062 msgstr "B<LA_ACT_ADD>"
8063
8064 #. type: Plain text
8065 #: build/C/man7/rtld-audit.7:161
8066 msgid "New objects are being added to the link map."
8067 msgstr ""
8068
8069 #. type: TP
8070 #: build/C/man7/rtld-audit.7:161
8071 #, no-wrap
8072 msgid "B<LA_ACT_DELETE>"
8073 msgstr "B<LA_ACT_DELETE>"
8074
8075 #. type: Plain text
8076 #: build/C/man7/rtld-audit.7:164
8077 msgid "Objects are being removed from the link map."
8078 msgstr ""
8079
8080 #. type: TP
8081 #: build/C/man7/rtld-audit.7:164
8082 #, no-wrap
8083 msgid "B<LA_ACT_CONSISTENT>"
8084 msgstr "B<LA_ACT_CONSISTENT>"
8085
8086 #. type: Plain text
8087 #: build/C/man7/rtld-audit.7:167
8088 msgid "Link-map activity has been completed: the map is once again consistent."
8089 msgstr ""
8090
8091 #. type: SS
8092 #: build/C/man7/rtld-audit.7:167
8093 #, no-wrap
8094 msgid "la_objopen()"
8095 msgstr "la_objopen()"
8096
8097 #. type: Plain text
8098 #: build/C/man7/rtld-audit.7:172
8099 #, no-wrap
8100 msgid ""
8101 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8102 "B<                        uintptr_t *>I<cookie>B<);>\n"
8103 msgstr ""
8104 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8105 "B<                        uintptr_t *>I<cookie>B<);>\n"
8106
8107 #. type: Plain text
8108 #: build/C/man7/rtld-audit.7:181
8109 msgid ""
8110 "The dynamic linker calls this function when a new shared object is loaded.  "
8111 "The I<map> argument is a pointer to a link-map structure that describes the "
8112 "object.  The I<lmid> field has one of the following values"
8113 msgstr ""
8114
8115 #. type: TP
8116 #: build/C/man7/rtld-audit.7:181
8117 #, no-wrap
8118 msgid "B<LM_ID_BASE>"
8119 msgstr "B<LM_ID_BASE>"
8120
8121 #. type: Plain text
8122 #: build/C/man7/rtld-audit.7:184
8123 msgid "Link map is part of the initial namespace."
8124 msgstr ""
8125
8126 #. type: TP
8127 #: build/C/man7/rtld-audit.7:184
8128 #, no-wrap
8129 msgid "B<LM_ID_NEWLM>"
8130 msgstr "B<LM_ID_NEWLM>"
8131
8132 #. type: Plain text
8133 #: build/C/man7/rtld-audit.7:188
8134 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
8135 msgstr ""
8136
8137 #. type: Plain text
8138 #: build/C/man7/rtld-audit.7:196
8139 msgid ""
8140 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
8141 "provided to later calls to functions in the auditing library in order to "
8142 "identify this object.  This identifier is initialized to point to object's "
8143 "link map, but the audit library can change the identifier to some other "
8144 "value that it may prefer to use to identify the object."
8145 msgstr ""
8146
8147 #. type: Plain text
8148 #: build/C/man7/rtld-audit.7:203
8149 msgid ""
8150 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
8151 "zero or more of the following constants, which allow the auditing library to "
8152 "select the objects to be monitored by B<la_symbind*>():"
8153 msgstr ""
8154
8155 #. type: TP
8156 #: build/C/man7/rtld-audit.7:203
8157 #, no-wrap
8158 msgid "B<LA_FLG_BINDTO>"
8159 msgstr "B<LA_FLG_BINDTO>"
8160
8161 #. type: Plain text
8162 #: build/C/man7/rtld-audit.7:206
8163 msgid "Audit symbol bindings to this object."
8164 msgstr ""
8165
8166 #. type: TP
8167 #: build/C/man7/rtld-audit.7:206
8168 #, no-wrap
8169 msgid "B<LA_FLG_BINDFROM>"
8170 msgstr "B<LA_FLG_BINDFROM>"
8171
8172 #. type: Plain text
8173 #: build/C/man7/rtld-audit.7:209
8174 msgid "Audit symbol bindings from this object."
8175 msgstr ""
8176
8177 #. type: Plain text
8178 #: build/C/man7/rtld-audit.7:213
8179 msgid ""
8180 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
8181 "should be audited for this object."
8182 msgstr ""
8183
8184 #. type: SS
8185 #: build/C/man7/rtld-audit.7:213
8186 #, no-wrap
8187 msgid "la_objclose()"
8188 msgstr "la_objclose()"
8189
8190 #. type: Plain text
8191 #: build/C/man7/rtld-audit.7:217
8192 #, no-wrap
8193 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8194 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8195
8196 #. type: Plain text
8197 #: build/C/man7/rtld-audit.7:226
8198 msgid ""
8199 "The dynamic linker invokes this function after any finalization code for the "
8200 "object has been executed, before the object is unloaded.  The I<cookie> "
8201 "argument is the identifier obtained from a previous invocation of "
8202 "B<la_objopen>()."
8203 msgstr ""
8204
8205 #. type: Plain text
8206 #: build/C/man7/rtld-audit.7:230
8207 msgid ""
8208 "In the current implementation, the value returned by B<la_objclose>()  is "
8209 "ignored."
8210 msgstr ""
8211
8212 #. type: SS
8213 #: build/C/man7/rtld-audit.7:230
8214 #, no-wrap
8215 msgid "la_preinit()"
8216 msgstr "la_preinit()"
8217
8218 #. type: Plain text
8219 #: build/C/man7/rtld-audit.7:234
8220 #, no-wrap
8221 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8222 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8223
8224 #. type: Plain text
8225 #: build/C/man7/rtld-audit.7:244
8226 msgid ""
8227 "The dynamic linker invokes this function after all shared objects have been "
8228 "loaded, before control is passed to the application (i.e., before calling "
8229 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
8230 "using B<dlopen>(3)."
8231 msgstr ""
8232
8233 #. type: SS
8234 #: build/C/man7/rtld-audit.7:244
8235 #, no-wrap
8236 msgid "la_symbind*()"
8237 msgstr "la_symbind*()"
8238
8239 #. type: Plain text
8240 #: build/C/man7/rtld-audit.7:253
8241 #, no-wrap
8242 msgid ""
8243 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8244 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8245 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8246 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8247 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8248 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8249 msgstr ""
8250 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8251 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8252 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8253 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8254 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8255 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8256
8257 #. type: Plain text
8258 #: build/C/man7/rtld-audit.7:265
8259 msgid ""
8260 "The dynamic linker invokes one of these functions when a symbol binding "
8261 "occurs between two shared objects that have been marked for auditing "
8262 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
8263 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
8264 "64-bit platforms."
8265 msgstr ""
8266
8267 #. type: Plain text
8268 #: build/C/man7/rtld-audit.7:275
8269 msgid ""
8270 "The I<sym> argument is a pointer to a structure that provides information "
8271 "about the symbol being bound.  The structure definition is shown in "
8272 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
8273 "indicates the address to which the symbol is bound."
8274 msgstr ""
8275
8276 #. type: Plain text
8277 #: build/C/man7/rtld-audit.7:280
8278 msgid ""
8279 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
8280 "bound shared object."
8281 msgstr ""
8282
8283 #. type: Plain text
8284 #: build/C/man7/rtld-audit.7:295
8285 msgid ""
8286 "The I<refcook> argument identifies the shared object that is making the "
8287 "symbol reference; this is the same identifier that is provided to the "
8288 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
8289 "argument identifies the shared object that defines the referenced symbol; "
8290 "this is the same identifier that is provided to the B<la_objopen>()  "
8291 "function that returned B<LA_FLG_BINDTO>."
8292 msgstr ""
8293
8294 #. type: Plain text
8295 #: build/C/man7/rtld-audit.7:299
8296 msgid ""
8297 "The I<symname> argument points a string containing the name of the symbol."
8298 msgstr ""
8299
8300 #.  LA_SYMB_STRUCTCALL appears to be unused
8301 #. type: Plain text
8302 #: build/C/man7/rtld-audit.7:307
8303 msgid ""
8304 "The I<flags> argument is a bit mask that both provides information about the "
8305 "symbol and can be used to modify further auditing of this PLT (Procedure "
8306 "Linkage Table) entry.  The dynamic linker may supply the following bit "
8307 "values in this argument:"
8308 msgstr ""
8309
8310 #. type: TP
8311 #: build/C/man7/rtld-audit.7:307
8312 #, no-wrap
8313 msgid "B<LA_SYMB_DLSYM>"
8314 msgstr "B<LA_SYMB_DLSYM>"
8315
8316 #. type: Plain text
8317 #: build/C/man7/rtld-audit.7:311
8318 msgid "The binding resulted from a call to B<dlsym>(3)."
8319 msgstr ""
8320
8321 #. type: TP
8322 #: build/C/man7/rtld-audit.7:311
8323 #, no-wrap
8324 msgid "B<LA_SYMB_ALTVALUE>"
8325 msgstr "B<LA_SYMB_ALTVALUE>"
8326
8327 #. type: Plain text
8328 #: build/C/man7/rtld-audit.7:316
8329 msgid ""
8330 "A previous B<la_symbind*>()  call returned an alternate value for this "
8331 "symbol."
8332 msgstr ""
8333
8334 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
8335 #.  but don't seem to be called for dynamically loaded libs?
8336 #.  Is this the same on Solaris?
8337 #. type: Plain text
8338 #: build/C/man7/rtld-audit.7:330
8339 msgid ""
8340 "By default, if the auditing library implements B<la_pltenter>()  and "
8341 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
8342 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
8343 "The following flags can be ORed into I<*flags> to change this default "
8344 "behavior:"
8345 msgstr ""
8346
8347 #. type: TP
8348 #: build/C/man7/rtld-audit.7:330
8349 #, no-wrap
8350 msgid "B<LA_SYMB_NOPLTENTER>"
8351 msgstr "B<LA_SYMB_NOPLTENTER>"
8352
8353 #. type: Plain text
8354 #: build/C/man7/rtld-audit.7:335
8355 msgid "Don't call B<la_pltenter>()  for this symbol."
8356 msgstr ""
8357
8358 #. type: TP
8359 #: build/C/man7/rtld-audit.7:335
8360 #, no-wrap
8361 msgid "B<LA_SYMB_NOPLTEXIT>"
8362 msgstr "B<LA_SYMB_NOPLTEXIT>"
8363
8364 #. type: Plain text
8365 #: build/C/man7/rtld-audit.7:340
8366 msgid "Don't call B<la_pltexit>()  for this symbol."
8367 msgstr ""
8368
8369 #. type: Plain text
8370 #: build/C/man7/rtld-audit.7:351
8371 msgid ""
8372 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
8373 "to which control should be passed after the function returns.  If the "
8374 "auditing library is simply monitoring symbol bindings, then it should return "
8375 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
8376 "wishes to direct control to an alternate location."
8377 msgstr ""
8378
8379 #. type: SS
8380 #: build/C/man7/rtld-audit.7:351
8381 #, no-wrap
8382 msgid "la_pltenter()"
8383 msgstr "la_pltenter()"
8384
8385 #. type: Plain text
8386 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
8387 msgid ""
8388 "The precise name and argument types for this function depend on the hardware "
8389 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
8390 "Here is the definition for x86-32:"
8391 msgstr ""
8392
8393 #. type: Plain text
8394 #: build/C/man7/rtld-audit.7:363
8395 #, no-wrap
8396 msgid ""
8397 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8398 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8399 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8400 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8401 msgstr ""
8402 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8403 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8404 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8405 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8406
8407 #. type: Plain text
8408 #: build/C/man7/rtld-audit.7:367
8409 msgid ""
8410 "This function is invoked just before a PLT entry is called, between two "
8411 "shared objects that have been marked for binding notification."
8412 msgstr ""
8413
8414 #. type: Plain text
8415 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
8416 msgid ""
8417 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
8418 "B<la_symbind*>()."
8419 msgstr ""
8420
8421 #. type: Plain text
8422 #: build/C/man7/rtld-audit.7:384
8423 msgid ""
8424 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
8425 "containing the values of registers to be used for the call to this PLT entry."
8426 msgstr ""
8427
8428 #. type: Plain text
8429 #: build/C/man7/rtld-audit.7:390
8430 msgid ""
8431 "The I<flags> argument points to a bit mask that conveys information about, "
8432 "and can be used to modify subsequent auditing of, this PLT entry, as for "
8433 "B<la_symbind*>()."
8434 msgstr ""
8435
8436 #.  FIXME . Is the following correct?
8437 #. type: Plain text
8438 #: build/C/man7/rtld-audit.7:406
8439 msgid ""
8440 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
8441 "to explicitly set the frame size used for the call to this PLT entry.  If "
8442 "different B<la_pltenter>()  invocations for this symbol return different "
8443 "values, then the maximum returned value is used.  The B<la_pltenter>()  "
8444 "function is called only if this buffer is explicitly set to a suitable value."
8445 msgstr ""
8446
8447 #. type: Plain text
8448 #: build/C/man7/rtld-audit.7:411
8449 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
8450 msgstr ""
8451
8452 #. type: SS
8453 #: build/C/man7/rtld-audit.7:411
8454 #, no-wrap
8455 msgid "la_pltexit()"
8456 msgstr "la_pltexit()"
8457
8458 #. type: Plain text
8459 #: build/C/man7/rtld-audit.7:423
8460 #, no-wrap
8461 msgid ""
8462 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8463 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8464 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8465 "B<                 const char *>I<symname>B<);>\n"
8466 msgstr ""
8467 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8468 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8469 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8470 "B<                 const char *>I<symname>B<);>\n"
8471
8472 #. type: Plain text
8473 #: build/C/man7/rtld-audit.7:430
8474 msgid ""
8475 "This function is called when a PLT entry, made between two shared objects "
8476 "that have been marked for binding notification, returns.  The function is "
8477 "called just before control returns to the caller of the PLT entry."
8478 msgstr ""
8479
8480 #. type: Plain text
8481 #: build/C/man7/rtld-audit.7:453
8482 msgid ""
8483 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
8484 "hE<gt>>)  containing the values of registers used for the call to this PLT "
8485 "entry.  The I<outregs> argument points to a structure (defined in "
8486 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
8487 "entry.  These values can be modified by the caller, and the changes will be "
8488 "visible to the caller of the PLT entry."
8489 msgstr ""
8490
8491 #.  This differs from Solaris, where an audit library that monitors
8492 #.  symbol binding should return the value of the 'retval' argument
8493 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
8494 #.  on (say) x86-32).
8495 #. type: Plain text
8496 #: build/C/man7/rtld-audit.7:461
8497 msgid ""
8498 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
8499 "ignored."
8500 msgstr ""
8501
8502 #. type: Plain text
8503 #: build/C/man7/rtld-audit.7:467
8504 msgid ""
8505 "This API is nonstandard, but very similar to the Solaris API, described in "
8506 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
8507 "Auditing Interface>."
8508 msgstr ""
8509
8510 #. type: Plain text
8511 #: build/C/man7/rtld-audit.7:470
8512 msgid ""
8513 "Note the following differences from the Solaris dynamic linker auditing API:"
8514 msgstr ""
8515
8516 #. type: IP
8517 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
8518 #: build/C/man7/rtld-audit.7:482
8519 #, no-wrap
8520 msgid "*"
8521 msgstr "*"
8522
8523 #. type: Plain text
8524 #: build/C/man7/rtld-audit.7:474
8525 msgid ""
8526 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
8527 "implementation."
8528 msgstr ""
8529
8530 #. type: Plain text
8531 #: build/C/man7/rtld-audit.7:482
8532 msgid ""
8533 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
8534 "a I<symname> argument."
8535 msgstr ""
8536
8537 #. type: Plain text
8538 #: build/C/man7/rtld-audit.7:492
8539 msgid ""
8540 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
8541 "I<outregs> arguments (but does provide a I<retval> argument with the "
8542 "function return value)."
8543 msgstr ""
8544
8545 #.  FIXME . Specifying multiple audit libraries doesn't work on GNU.
8546 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
8547 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
8548 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
8549 #. type: Plain text
8550 #: build/C/man7/rtld-audit.7:502
8551 msgid ""
8552 "In glibc versions up to and include 2.9, specifying more than one audit "
8553 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
8554 "fixed in glibc 2.10."
8555 msgstr ""
8556
8557 #. type: Plain text
8558 #: build/C/man7/rtld-audit.7:506
8559 #, no-wrap
8560 msgid ""
8561 "#include E<lt>link.hE<gt>\n"
8562 "#include E<lt>stdio.hE<gt>\n"
8563 msgstr ""
8564 "#include E<lt>link.hE<gt>\n"
8565 "#include E<lt>stdio.hE<gt>\n"
8566
8567 #. type: Plain text
8568 #: build/C/man7/rtld-audit.7:511
8569 #, no-wrap
8570 msgid ""
8571 "unsigned int\n"
8572 "la_version(unsigned int version)\n"
8573 "{\n"
8574 "    printf(\"la_version(): %d\\en\", version);\n"
8575 msgstr ""
8576 "unsigned int\n"
8577 "la_version(unsigned int version)\n"
8578 "{\n"
8579 "    printf(\"la_version(): %d\\en\", version);\n"
8580
8581 #. type: Plain text
8582 #: build/C/man7/rtld-audit.7:514
8583 #, no-wrap
8584 msgid ""
8585 "    return version;\n"
8586 "}\n"
8587 msgstr ""
8588 "    return version;\n"
8589 "}\n"
8590
8591 #. type: Plain text
8592 #: build/C/man7/rtld-audit.7:527
8593 #, no-wrap
8594 msgid ""
8595 "char *\n"
8596 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8597 "{\n"
8598 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8599 "    printf(\"; flag = %s\\en\",\n"
8600 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8601 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8602 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8603 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8604 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8605 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8606 "            \"???\");\n"
8607 msgstr ""
8608 "char *\n"
8609 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8610 "{\n"
8611 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8612 "    printf(\"; flag = %s\\en\",\n"
8613 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8614 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8615 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8616 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8617 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8618 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8619 "            \"???\");\n"
8620
8621 #. type: Plain text
8622 #: build/C/man7/rtld-audit.7:530
8623 #, no-wrap
8624 msgid ""
8625 "    return name;\n"
8626 "}\n"
8627 msgstr ""
8628 "    return name;\n"
8629 "}\n"
8630
8631 #. type: Plain text
8632 #: build/C/man7/rtld-audit.7:540
8633 #, no-wrap
8634 msgid ""
8635 "void\n"
8636 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8637 "{\n"
8638 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8639 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8640 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8641 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8642 "            \"???\");\n"
8643 "}\n"
8644 msgstr ""
8645 "void\n"
8646 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8647 "{\n"
8648 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8649 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8650 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8651 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8652 "            \"???\");\n"
8653 "}\n"
8654
8655 #. type: Plain text
8656 #: build/C/man7/rtld-audit.7:550
8657 #, no-wrap
8658 msgid ""
8659 "unsigned int\n"
8660 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8661 "{\n"
8662 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8663 "            map-E<gt>l_name,\n"
8664 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8665 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8666 "            \"???\",\n"
8667 "            cookie);\n"
8668 msgstr ""
8669 "unsigned int\n"
8670 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8671 "{\n"
8672 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8673 "            map-E<gt>l_name,\n"
8674 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8675 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8676 "            \"???\",\n"
8677 "            cookie);\n"
8678
8679 #. type: Plain text
8680 #: build/C/man7/rtld-audit.7:553
8681 #, no-wrap
8682 msgid ""
8683 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8684 "}\n"
8685 msgstr ""
8686 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8687 "}\n"
8688
8689 #. type: Plain text
8690 #: build/C/man7/rtld-audit.7:558
8691 #, no-wrap
8692 msgid ""
8693 "unsigned int\n"
8694 "la_objclose (uintptr_t *cookie)\n"
8695 "{\n"
8696 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8697 msgstr ""
8698 "unsigned int\n"
8699 "la_objclose (uintptr_t *cookie)\n"
8700 "{\n"
8701 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8702
8703 #. type: Plain text
8704 #: build/C/man7/rtld-audit.7:561
8705 #, no-wrap
8706 msgid ""
8707 "    return 0;\n"
8708 "}\n"
8709 msgstr ""
8710 "    return 0;\n"
8711 "}\n"
8712
8713 #. type: Plain text
8714 #: build/C/man7/rtld-audit.7:567
8715 #, no-wrap
8716 msgid ""
8717 "void\n"
8718 "la_preinit(uintptr_t *cookie)\n"
8719 "{\n"
8720 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8721 "}\n"
8722 msgstr ""
8723 "void\n"
8724 "la_preinit(uintptr_t *cookie)\n"
8725 "{\n"
8726 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8727 "}\n"
8728
8729 #. type: Plain text
8730 #: build/C/man7/rtld-audit.7:576
8731 #, no-wrap
8732 msgid ""
8733 "uintptr_t\n"
8734 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8735 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8736 "{\n"
8737 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8738 "            symname, sym-E<gt>st_value);\n"
8739 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8740 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8741 msgstr ""
8742 "uintptr_t\n"
8743 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8744 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8745 "{\n"
8746 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8747 "            symname, sym-E<gt>st_value);\n"
8748 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8749 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8750
8751 #. type: Plain text
8752 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
8753 #: build/C/man7/rtld-audit.7:601
8754 #, no-wrap
8755 msgid ""
8756 "    return sym-E<gt>st_value;\n"
8757 "}\n"
8758 msgstr ""
8759 "    return sym-E<gt>st_value;\n"
8760 "}\n"
8761
8762 #. type: Plain text
8763 #: build/C/man7/rtld-audit.7:588
8764 #, no-wrap
8765 msgid ""
8766 "uintptr_t\n"
8767 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8768 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8769 "{\n"
8770 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8771 "            symname, sym-E<gt>st_value);\n"
8772 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8773 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8774 msgstr ""
8775 "uintptr_t\n"
8776 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8777 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8778 "{\n"
8779 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8780 "            symname, sym-E<gt>st_value);\n"
8781 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8782 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8783
8784 #. type: Plain text
8785 #: build/C/man7/rtld-audit.7:598
8786 #, no-wrap
8787 msgid ""
8788 "Elf32_Addr\n"
8789 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8790 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8791 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8792 "{\n"
8793 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8794 msgstr ""
8795 "Elf32_Addr\n"
8796 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8797 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8798 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8799 "{\n"
8800 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8801
8802 #. type: Plain text
8803 #: build/C/man7/rtld-audit.7:607
8804 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8805 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8806
8807 #. type: TH
8808 #: build/C/man8/sln.8:25
8809 #, no-wrap
8810 msgid "SLN"
8811 msgstr "SLN"
8812
8813 #. type: TH
8814 #: build/C/man8/sln.8:25
8815 #, no-wrap
8816 msgid "2013-02-10"
8817 msgstr "2013-02-10"
8818
8819 #. type: Plain text
8820 #: build/C/man8/sln.8:28
8821 msgid "sln - create symbolic links"
8822 msgstr "sln - シンボリックリンクを作成する"
8823
8824 #. type: Plain text
8825 #: build/C/man8/sln.8:30
8826 msgid "B<sln>I< source dest>"
8827 msgstr "B<sln>I< source dest>"
8828
8829 #. type: Plain text
8830 #: build/C/man8/sln.8:32
8831 msgid "B<sln>I< filelist>"
8832 msgstr "B<sln>I< filelist>"
8833
8834 #. type: Plain text
8835 #: build/C/man8/sln.8:42
8836 msgid ""
8837 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
8838 "is statically linked.  This means that if for some reason the dynamic linker "
8839 "is not working, B<sln> can be used to make symbolic links to dynamic "
8840 "libraries."
8841 msgstr ""
8842 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
8843 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
8844 "カーが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリン"
8845 "クを作成することができる。"
8846
8847 #. type: Plain text
8848 #: build/C/man8/sln.8:48
8849 msgid ""
8850 "The command line has two forms.  In the first form, it creates I<dest> as a "
8851 "new symbolic link to I<source>."
8852 msgstr ""
8853 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
8854 "クリンクとして I<dest> を作成する。"
8855
8856 #. type: Plain text
8857 #: build/C/man8/sln.8:56
8858 msgid ""
8859 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
8860 "and the effect is as if B<sln> was executed once for each line of the file, "
8861 "with the two pathnames as the arguments."
8862 msgstr ""
8863 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
8864 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
8865 "のと同じ結果となる。"
8866
8867 #. type: Plain text
8868 #: build/C/man8/sln.8:60
8869 msgid "The B<sln> program supports no command-line options."
8870 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
8871
8872 #. type: Plain text
8873 #: build/C/man8/sln.8:64
8874 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8875 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8876
8877 #. type: TH
8878 #: build/C/man1/sprof.1:25
8879 #, no-wrap
8880 msgid "SPROF"
8881 msgstr "SPROF"
8882
8883 #. type: TH
8884 #: build/C/man1/sprof.1:25
8885 #, no-wrap
8886 msgid "2014-06-24"
8887 msgstr "2014-06-24"
8888
8889 #. type: Plain text
8890 #: build/C/man1/sprof.1:28
8891 msgid "sprof - read and display shared object profiling data"
8892 msgstr "sprof - 共有オブジェクトのプロファイルデータを読み出して表示する"
8893
8894 #. type: Plain text
8895 #: build/C/man1/sprof.1:32
8896 #, no-wrap
8897 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8898 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8899
8900 #. type: Plain text
8901 #: build/C/man1/sprof.1:46
8902 msgid ""
8903 "The B<sprof> command displays a profiling summary for the shared object "
8904 "specified as its first command-line argument.  The profiling summary is "
8905 "created using previously generated profiling data in the (optional) second "
8906 "command-line argument.  If the profiling data pathname is omitted, then "
8907 "B<sprof> will attempt to deduce it using the soname of the shared object, "
8908 "looking for a file with the name I<E<lt>sonameE<gt>.profile> in the current "
8909 "directory."
8910 msgstr ""
8911 "B<sprof> コマンドは、 最初のコマンドライン引き数で指定された共有オブジェクト"
8912 "のプロファイルの概要を表示する。 2 番目のコマンドライン引き数 (省略可能) で指"
8913 "定された生成済みのプロファイルデータを使って、 プロファイルの概要が生成され"
8914 "る。 プロファイルデータのパス名が省略された場合、 B<sprof> は、 共有オブジェ"
8915 "クトの soname を使ってパス名を元に、 カレントディレクトリに "
8916 "I<E<lt>sonameE<gt>.profile> という名前のファイルを探して、 プロファイルデータ"
8917 "を特定しようとする。"
8918
8919 #. type: Plain text
8920 #: build/C/man1/sprof.1:49
8921 msgid ""
8922 "The following command-line options specify the profile output to be produced:"
8923 msgstr ""
8924 "以下のコマンドラインオプションは生成されるプロファイリング出力を指定する。"
8925
8926 #. type: TP
8927 #: build/C/man1/sprof.1:49
8928 #, no-wrap
8929 msgid "B<-c>, B<--call-pairs>"
8930 msgstr "B<-c>, B<--call-pairs>"
8931
8932 #. type: Plain text
8933 #: build/C/man1/sprof.1:54
8934 msgid ""
8935 "Print a list of pairs of call paths for the interfaces exported by the "
8936 "shared object, along with the number of times each path is used."
8937 msgstr ""
8938 "共有オブジェクトで公開されているインターフェースに対して呼び出し経路のペアの"
8939 "リストを表示する。 各経路が使用された回数も表示される。"
8940
8941 #. type: TP
8942 #: build/C/man1/sprof.1:54
8943 #, no-wrap
8944 msgid "B<-p>, B<--flat-profile>"
8945 msgstr "B<-p>, B<--flat-profile>"
8946
8947 #. type: Plain text
8948 #: build/C/man1/sprof.1:58
8949 msgid ""
8950 "Generate a flat profile of all of the functions in the monitored object, "
8951 "with counts and ticks."
8952 msgstr ""
8953 "監視対象のオブジェクトの全関数の、 回数と tick が入った flat profile を生成す"
8954 "る。"
8955
8956 #. type: TP
8957 #: build/C/man1/sprof.1:58
8958 #, no-wrap
8959 msgid "B<-q>, B<--graph>"
8960 msgstr "B<-q>, B<--graph>"
8961
8962 #. type: Plain text
8963 #: build/C/man1/sprof.1:61
8964 msgid "Generate a call graph."
8965 msgstr "コールグラフを生成する。"
8966
8967 #. type: Plain text
8968 #: build/C/man1/sprof.1:64
8969 msgid ""
8970 "If none of the above options is specified, then the default behavior is to "
8971 "display a flat profile and a call graph."
8972 msgstr ""
8973 "上記のオプションがどれも指定されなかった場合のデフォルトの動作は、 flat "
8974 "profile とコールグラフが表示される。"
8975
8976 #. type: Plain text
8977 #: build/C/man1/sprof.1:66
8978 msgid "The following additional command-line options are available:"
8979 msgstr "以下のコマンドラインオプションも使用できる。"
8980
8981 #. type: Plain text
8982 #: build/C/man1/sprof.1:69
8983 msgid "Display a summary of command-line options and arguments and exit."
8984 msgstr "コマンドラインオプションと引き数の概要を表示し終了する。"
8985
8986 #. type: Plain text
8987 #: build/C/man1/sprof.1:72
8988 msgid "Display a short usage message and exit."
8989 msgstr "使用方法の簡潔な概要を表示し終了する。"
8990
8991 #. type: Plain text
8992 #: build/C/man1/sprof.1:75
8993 msgid "Display the program version and exit."
8994 msgstr "プログラムのバージョンを表示し終了する。"
8995
8996 #. type: Plain text
8997 #: build/C/man1/sprof.1:79
8998 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
8999 msgstr "B<sprof> コマンドは GNU 拡張であり、 POSIX.1 には存在しない。"
9000
9001 #. type: Plain text
9002 #: build/C/man1/sprof.1:85
9003 msgid ""
9004 "The following example demonstrates the use of B<sprof>.  The example "
9005 "consists of a main program that calls two functions in a shared library.  "
9006 "First, the code of the main program:"
9007 msgstr ""
9008 "以下は B<sprof> の使用例を示したものである。 この例では、メインプログラムで共"
9009 "有ライブラリ内の 2 つの関数を呼び出している。 最初に、 メインプログラムのコー"
9010 "ドは以下の通りである。"
9011
9012 #. type: Plain text
9013 #: build/C/man1/sprof.1:90
9014 #, no-wrap
9015 msgid ""
9016 "$ B<cat prog.c>\n"
9017 "#include E<lt>stdlib.hE<gt>\n"
9018 msgstr ""
9019 "$ B<cat prog.c>\n"
9020 "#include E<lt>stdlib.hE<gt>\n"
9021
9022 #. type: Plain text
9023 #: build/C/man1/sprof.1:93
9024 #, no-wrap
9025 msgid ""
9026 "void x1(void);\n"
9027 "void x2(void);\n"
9028 msgstr ""
9029 "void x1(void);\n"
9030 "void x2(void);\n"
9031
9032 #. type: Plain text
9033 #: build/C/man1/sprof.1:101
9034 #, no-wrap
9035 msgid ""
9036 "int\n"
9037 "main(int argc, char *argv[])\n"
9038 "{\n"
9039 "    x1();\n"
9040 "    x2();\n"
9041 "    exit(EXIT_SUCCESS);\n"
9042 "}\n"
9043 msgstr ""
9044 "int\n"
9045 "main(int argc, char *argv[])\n"
9046 "{\n"
9047 "    x1();\n"
9048 "    x2();\n"
9049 "    exit(EXIT_SUCCESS);\n"
9050 "}\n"
9051
9052 #. type: Plain text
9053 #: build/C/man1/sprof.1:110
9054 msgid ""
9055 "The functions I<x1()> and I<x2()> are defined in the following source file "
9056 "that is used to construct the shared library:"
9057 msgstr ""
9058 "関数 I<x1()> と I<x2()> は以下のソースファイルで定義されており、 このファイル"
9059 "から共有ライブラリが構成される。"
9060
9061 #. type: Plain text
9062 #: build/C/man1/sprof.1:115
9063 #, no-wrap
9064 msgid ""
9065 "$ B<cat libdemo.c>\n"
9066 "#include E<lt>unistd.hE<gt>\n"
9067 msgstr ""
9068 "$ B<cat libdemo.c>\n"
9069 "#include E<lt>unistd.hE<gt>\n"
9070
9071 #. type: Plain text
9072 #: build/C/man1/sprof.1:120
9073 #, no-wrap
9074 msgid ""
9075 "void\n"
9076 "consumeCpu1(int lim)\n"
9077 "{\n"
9078 "    int j;\n"
9079 msgstr ""
9080 "void\n"
9081 "consumeCpu1(int lim)\n"
9082 "{\n"
9083 "    int j;\n"
9084
9085 #. type: Plain text
9086 #: build/C/man1/sprof.1:124 build/C/man1/sprof.1:141
9087 #, no-wrap
9088 msgid ""
9089 "    for (j = 0; j E<lt> lim; j++)\n"
9090 "\tgetppid();\n"
9091 "}\n"
9092 msgstr ""
9093 "    for (j = 0; j E<lt> lim; j++)\n"
9094 "\tgetppid();\n"
9095 "}\n"
9096
9097 #. type: Plain text
9098 #: build/C/man1/sprof.1:128
9099 #, no-wrap
9100 msgid ""
9101 "void\n"
9102 "x1(void) {\n"
9103 "    int j;\n"
9104 msgstr ""
9105 "void\n"
9106 "x1(void) {\n"
9107 "    int j;\n"
9108
9109 #. type: Plain text
9110 #: build/C/man1/sprof.1:132
9111 #, no-wrap
9112 msgid ""
9113 "    for (j = 0; j E<lt> 100; j++)\n"
9114 "\tconsumeCpu1(200000);\n"
9115 "}\n"
9116 msgstr ""
9117 "    for (j = 0; j E<lt> 100; j++)\n"
9118 "\tconsumeCpu1(200000);\n"
9119 "}\n"
9120
9121 #. type: Plain text
9122 #: build/C/man1/sprof.1:137
9123 #, no-wrap
9124 msgid ""
9125 "void\n"
9126 "consumeCpu2(int lim)\n"
9127 "{\n"
9128 "    int j;\n"
9129 msgstr ""
9130 "void\n"
9131 "consumeCpu2(int lim)\n"
9132 "{\n"
9133 "    int j;\n"
9134
9135 #. type: Plain text
9136 #: build/C/man1/sprof.1:146
9137 #, no-wrap
9138 msgid ""
9139 "void\n"
9140 "x2(void)\n"
9141 "{\n"
9142 "    int j;\n"
9143 msgstr ""
9144 "void\n"
9145 "x2(void)\n"
9146 "{\n"
9147 "    int j;\n"
9148
9149 #. type: Plain text
9150 #: build/C/man1/sprof.1:150
9151 #, no-wrap
9152 msgid ""
9153 "    for (j = 0; j E<lt> 1000; j++)\n"
9154 "\tconsumeCpu2(10000);\n"
9155 "}\n"
9156 msgstr ""
9157 "    for (j = 0; j E<lt> 1000; j++)\n"
9158 "\tconsumeCpu2(10000);\n"
9159 "}\n"
9160
9161 #. type: Plain text
9162 #: build/C/man1/sprof.1:157
9163 msgid ""
9164 "Now we construct the shared library with the real name I<libdemo.so.1.0.1>, "
9165 "and the soname I<libdemo.so.1>:"
9166 msgstr ""
9167 "ここで、 実際の名前は I<libdemo.so.1.0.1> で soname は I<libdemo.so.1> で共有"
9168 "ライブラリを構成する。"
9169
9170 #. type: Plain text
9171 #: build/C/man1/sprof.1:162
9172 #, no-wrap
9173 msgid ""
9174 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9175 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9176 msgstr ""
9177 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9178 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9179
9180 #. type: Plain text
9181 #: build/C/man1/sprof.1:167
9182 msgid ""
9183 "Then we construct symbolic links for the library soname and the library "
9184 "linker name:"
9185 msgstr ""
9186 "次に、 ライブラリ soname とライブラリのリンカー名へのシンボリックリンクを作成"
9187 "する。"
9188
9189 #. type: Plain text
9190 #: build/C/man1/sprof.1:172
9191 #, no-wrap
9192 msgid ""
9193 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9194 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9195 msgstr ""
9196 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9197 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9198
9199 #. type: Plain text
9200 #: build/C/man1/sprof.1:177
9201 msgid ""
9202 "Next, we compile the main program, linking it against the shared library, "
9203 "and then list the dynamic dependencies of the program:"
9204 msgstr ""
9205 "続けて、 共有ライブラリとリンクしてメインプログラムをコンパイルし、 プログラ"
9206 "ムが依存する共有ライブラリの一覧を表示する。"
9207
9208 #. type: Plain text
9209 #: build/C/man1/sprof.1:186
9210 #, no-wrap
9211 msgid ""
9212 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9213 "$ B<ldd prog>\n"
9214 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9215 "\tlibdemo.so.1 =E<gt> not found\n"
9216 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9217 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9218 msgstr ""
9219 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9220 "$ B<ldd prog>\n"
9221 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9222 "\tlibdemo.so.1 =E<gt> not found\n"
9223 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9224 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9225
9226 #. type: Plain text
9227 #: build/C/man1/sprof.1:193
9228 msgid ""
9229 "In order to get profiling information for the shared library, we define the "
9230 "environment variable B<LD_PROFILE> with the soname of the library:"
9231 msgstr ""
9232 "共有ライブラリのプロファイル情報を取得するために、 環境変数 B<LD_PROFILE> に"
9233 "このライブラリの soname を設定する。"
9234
9235 #. type: Plain text
9236 #: build/C/man1/sprof.1:197
9237 #, no-wrap
9238 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
9239 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
9240
9241 #. type: Plain text
9242 #: build/C/man1/sprof.1:204
9243 msgid ""
9244 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
9245 "pathname of the directory where profile output should be written, and create "
9246 "that directory if it does not exist already:"
9247 msgstr ""
9248 "環境変数 B<LD_PROFILE_OUTPUT> にプロファイル情報を出力するディレクトリのパス"
9249 "名を設定し、 このディレクトリが存在しない場合は作成する。"
9250
9251 #. type: Plain text
9252 #: build/C/man1/sprof.1:209
9253 #, no-wrap
9254 msgid ""
9255 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9256 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9257 msgstr ""
9258 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9259 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9260
9261 #. type: Plain text
9262 #: build/C/man1/sprof.1:217
9263 msgid ""
9264 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
9265 "if it already exists, so we ensure that there is no preexisting profiling "
9266 "data:"
9267 msgstr ""
9268 "B<LD_PROFILE> を設定すると、 プロファイルの出力は出力ファイルがすでに存在する"
9269 "場合は「追記」されるので、 既存のプロファイルデータが存在しないようにしてお"
9270 "く。"
9271
9272 #. type: Plain text
9273 #: build/C/man1/sprof.1:221
9274 #, no-wrap
9275 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9276 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9277
9278 #. type: Plain text
9279 #: build/C/man1/sprof.1:227
9280 msgid ""
9281 "We then run the program to produce the profiling output, which is written to "
9282 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
9283 msgstr ""
9284 "次にプログラムを実行し、 プロファイリング出力を生成させる。 プロファイリング"
9285 "出力は B<LD_PROFILE_OUTPUT> で指定されたディレクトリにファイルが書き込まれ"
9286 "る。"
9287
9288 #. type: Plain text
9289 #: build/C/man1/sprof.1:233
9290 #, no-wrap
9291 msgid ""
9292 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9293 "$ B<ls prof_data>\n"
9294 "libdemo.so.1.profile\n"
9295 msgstr ""
9296 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9297 "$ B<ls prof_data>\n"
9298 "libdemo.so.1.profile\n"
9299
9300 #. type: Plain text
9301 #: build/C/man1/sprof.1:239
9302 msgid ""
9303 "We then use the B<sprof -p> option to generate a flat profile with counts "
9304 "and ticks:"
9305 msgstr ""
9306 "B<sprof -p> オプションを使って、 呼び出し回数と tick 数が含まれる flat プロ"
9307 "ファイルを生成する。"
9308
9309 #. type: Plain text
9310 #: build/C/man1/sprof.1:244
9311 #, no-wrap
9312 msgid ""
9313 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9314 "Flat profile:\n"
9315 msgstr ""
9316 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9317 "Flat profile:\n"
9318
9319 #. type: Plain text
9320 #: build/C/man1/sprof.1:252
9321 #, no-wrap
9322 msgid ""
9323 "Each sample counts as 0.01 seconds.\n"
9324 "  %   cumulative   self              self     total\n"
9325 " time   seconds   seconds    calls  us/call  us/call  name\n"
9326 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9327 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9328 "  0.00      0.10     0.00        1     0.00           x1\n"
9329 "  0.00      0.10     0.00        1     0.00           x2\n"
9330 msgstr ""
9331 "Each sample counts as 0.01 seconds.\n"
9332 "  %   cumulative   self              self     total\n"
9333 " time   seconds   seconds    calls  us/call  us/call  name\n"
9334 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9335 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9336 "  0.00      0.10     0.00        1     0.00           x1\n"
9337 "  0.00      0.10     0.00        1     0.00           x2\n"
9338
9339 #. type: Plain text
9340 #: build/C/man1/sprof.1:258
9341 msgid "The B<sprof -q> option generates a call graph:"
9342 msgstr "B<sprof -q> オプションを使うと、 コールグラフが生成される。"
9343
9344 #. type: Plain text
9345 #: build/C/man1/sprof.1:262
9346 #, no-wrap
9347 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9348 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9349
9350 #. type: Plain text
9351 #: build/C/man1/sprof.1:264
9352 #, no-wrap
9353 msgid "index % time    self  children    called     name\n"
9354 msgstr "index % time    self  children    called     name\n"
9355
9356 #. type: Plain text
9357 #: build/C/man1/sprof.1:279
9358 #, no-wrap
9359 msgid ""
9360 "                0.00    0.00      100/100         x1 [1]\n"
9361 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9362 "-----------------------------------------------\n"
9363 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9364 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9365 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9366 "-----------------------------------------------\n"
9367 "                0.00    0.00     1000/1000        x2 [3]\n"
9368 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9369 "-----------------------------------------------\n"
9370 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9371 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9372 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9373 "-----------------------------------------------\n"
9374 msgstr ""
9375 "                0.00    0.00      100/100         x1 [1]\n"
9376 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9377 "-----------------------------------------------\n"
9378 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9379 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9380 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9381 "-----------------------------------------------\n"
9382 "                0.00    0.00     1000/1000        x2 [3]\n"
9383 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9384 "-----------------------------------------------\n"
9385 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9386 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9387 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9388 "-----------------------------------------------\n"
9389
9390 #. type: Plain text
9391 #: build/C/man1/sprof.1:285
9392 msgid ""
9393 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
9394 "that are outside of the profiled object (in this example, these are "
9395 "instances of I<main()>)."
9396 msgstr ""
9397 "上記や以下の例で、 \"E<lt>UNKNOWNE<gt>\" の文字列は、 識別子がプロファイルさ"
9398 "れたオブジェクトの外部にあることを表している (この例では \"E<lt>UNKNOWNE<gt>"
9399 "\" になっているのは I<main()> 内のオブジェクトである)。"
9400
9401 #. type: Plain text
9402 #: build/C/man1/sprof.1:289
9403 msgid ""
9404 "The B<sprof -c> option generates a list of call pairs and the number of "
9405 "their occurrences:"
9406 msgstr ""
9407 "B<sprof -c> オプションを使うと、 呼び出しの組とその発生回数のリストが生成され"
9408 "る。"
9409
9410 #. type: Plain text
9411 #: build/C/man1/sprof.1:297
9412 #, no-wrap
9413 msgid ""
9414 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9415 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9416 "x1                         consumeCpu1                      100\n"
9417 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9418 "x2                         consumeCpu2                     1000\n"
9419 msgstr ""
9420 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9421 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9422 "x1                         consumeCpu1                      100\n"
9423 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9424 "x2                         consumeCpu2                     1000\n"
9425
9426 #. type: Plain text
9427 #: build/C/man1/sprof.1:303
9428 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9429 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"