OSDN Git Service

Update README
[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-02-05 00:00+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 msgid ""
460 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
461 "description of the project, information about reporting bugs, and the latest "
462 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
463 "pages/."
464 msgstr ""
465 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.79 の一部\n"
466 "である。プロジェクトの説明とバグ報告に関する情報は\n"
467 "http://www.kernel.org/doc/man-pages/ に書かれている。"
468
469 #. type: TH
470 #: build/C/man3/dlopen.3:35
471 #, no-wrap
472 msgid "DLOPEN"
473 msgstr "DLOPEN"
474
475 #. type: TH
476 #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14
477 #, no-wrap
478 msgid "2014-10-02"
479 msgstr "2014-10-02"
480
481 #. type: TH
482 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
483 #: build/C/man1/sprof.1:25
484 #, no-wrap
485 msgid "Linux"
486 msgstr "Linux"
487
488 #. type: Plain text
489 #: build/C/man3/dlopen.3:39
490 msgid ""
491 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
492 "dynamic linking loader"
493 msgstr ""
494 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダーへの プログラミング"
495 "インターフェース"
496
497 #. type: Plain text
498 #: build/C/man3/dlopen.3:41
499 msgid "B<#include E<lt>dlfcn.hE<gt>>"
500 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
501
502 #. type: Plain text
503 #: build/C/man3/dlopen.3:43
504 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
505 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
506
507 #. type: Plain text
508 #: build/C/man3/dlopen.3:45
509 msgid "B<char *dlerror(void);>"
510 msgstr "B<char *dlerror(void);>"
511
512 #. type: Plain text
513 #: build/C/man3/dlopen.3:47
514 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
515 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
516
517 #. type: Plain text
518 #: build/C/man3/dlopen.3:49
519 msgid "B<int dlclose(void *>I<handle>B<);>"
520 msgstr "B<int dlclose(void *>I<handle>B<);>"
521
522 #. type: Plain text
523 #: build/C/man3/dlopen.3:51
524 msgid "Link with I<-ldl>."
525 msgstr "I<-ldl> でリンクする。"
526
527 #. type: Plain text
528 #: build/C/man3/dlopen.3:58
529 msgid ""
530 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
531 "implement the interface to the dynamic linking loader."
532 msgstr ""
533 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的リン"
534 "ク (dynamic linking) を行うローダーへの インターフェースを実装したものであ"
535 "る。"
536
537 #. type: SS
538 #: build/C/man3/dlopen.3:58
539 #, no-wrap
540 msgid "dlerror()"
541 msgstr "dlerror()"
542
543 #. type: Plain text
544 #: build/C/man3/dlopen.3:71
545 msgid ""
546 "The function B<dlerror>()  returns a human-readable string describing the "
547 "most recent error that occurred from B<dlopen>(), B<dlsym>()  or "
548 "B<dlclose>()  since the last call to B<dlerror>().  It returns NULL if no "
549 "errors have occurred since initialization or since it was last called."
550 msgstr ""
551 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
552 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
553 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
554 "ば NULL を返す。"
555
556 #. type: SS
557 #: build/C/man3/dlopen.3:71
558 #, no-wrap
559 msgid "dlopen()"
560 msgstr "dlopen()"
561
562 #. type: Plain text
563 #: build/C/man3/dlopen.3:89
564 msgid ""
565 "The function B<dlopen>()  loads the dynamic library file named by the null-"
566 "terminated string I<filename> and returns an opaque \"handle\" for the "
567 "dynamic library.  If I<filename> is NULL, then the returned handle is for "
568 "the main program.  If I<filename> contains a slash (\"/\"), then it is "
569 "interpreted as a (relative or absolute) pathname.  Otherwise, the dynamic "
570 "linker searches for the library as follows (see B<ld.so>(8)  for further "
571 "details):"
572 msgstr ""
573 "関数 B<dlopen>()  は、ヌル終端された文字列 I<filename> で指定されたファイル名"
574 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
575 "「ハンドル」を返す。 I<filename> が NULL の場合、メインプログラムへのハンドル"
576 "が返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)パ"
577 "ス名として解釈される。 それ以外の場合、動的リンカーは以下の手順でライブラリを"
578 "検索する (詳細は B<ld.so>(8)  を参照):"
579
580 #. type: IP
581 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
582 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
583 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
584 #: build/C/man8/ld.so.8:80
585 #, no-wrap
586 msgid "o"
587 msgstr "o"
588
589 #. type: Plain text
590 #: build/C/man3/dlopen.3:93
591 msgid ""
592 "(ELF only) If the executable file for the calling program contains a "
593 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
594 "listed in the DT_RPATH tag are searched."
595 msgstr ""
596 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
597 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
598 "クトリリストを検索する。"
599
600 #. type: Plain text
601 #: build/C/man3/dlopen.3:100
602 msgid ""
603 "If, at the time that the program was started, the environment variable "
604 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
605 "directories, then these are searched.  (As a security measure this variable "
606 "is ignored for set-user-ID and set-group-ID programs.)"
607 msgstr ""
608 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
609 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
610 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
611 "場合は無視される)。"
612
613 #. type: Plain text
614 #: build/C/man3/dlopen.3:104
615 msgid ""
616 "(ELF only) If the executable file for the calling program contains a "
617 "DT_RUNPATH tag, then the directories listed in that tag are searched."
618 msgstr ""
619 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
620 "る場合、そのタグに書かれているディレクトリリストを検索する。"
621
622 #. type: Plain text
623 #: build/C/man3/dlopen.3:111
624 msgid ""
625 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
626 "checked to see whether it contains an entry for I<filename>."
627 msgstr ""
628 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリーが入っ"
629 "ているかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理さ"
630 "れている)。"
631
632 #. type: Plain text
633 #: build/C/man3/dlopen.3:117
634 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
635 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
636
637 #. type: Plain text
638 #: build/C/man3/dlopen.3:123
639 msgid ""
640 "If the library has dependencies on other shared libraries, then these are "
641 "also automatically loaded by the dynamic linker using the same rules.  (This "
642 "process may occur recursively, if those libraries in turn have dependencies, "
643 "and so on.)"
644 msgstr ""
645 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
646 "リも動的リンカーが同じ検索ルールに基づいて 自動的にロードする (それらのライブ"
647 "ラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
648
649 #. type: Plain text
650 #: build/C/man3/dlopen.3:126
651 msgid "One of the following two values must be included in I<flag>:"
652 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
653
654 #. type: TP
655 #: build/C/man3/dlopen.3:126
656 #, no-wrap
657 msgid "B<RTLD_LAZY>"
658 msgstr "B<RTLD_LAZY>"
659
660 #. type: Plain text
661 #: build/C/man3/dlopen.3:134
662 msgid ""
663 "Perform lazy binding.  Only resolve symbols as the code that references them "
664 "is executed.  If the symbol is never referenced, then it is never resolved.  "
665 "(Lazy binding is performed only for function references; references to "
666 "variables are always immediately bound when the library is loaded.)"
667 msgstr ""
668 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
669 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
670 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
671 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
672 "直ちに解決される。)"
673
674 #. type: TP
675 #: build/C/man3/dlopen.3:134
676 #, no-wrap
677 msgid "B<RTLD_NOW>"
678 msgstr "B<RTLD_NOW>"
679
680 #. type: Plain text
681 #: build/C/man3/dlopen.3:143
682 msgid ""
683 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
684 "set to a nonempty string, all undefined symbols in the library are resolved "
685 "before B<dlopen>()  returns.  If this cannot be done, an error is returned."
686 msgstr ""
687 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
688 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
689 "る。解決できなかったときにはエラーが返される。"
690
691 #. type: Plain text
692 #: build/C/man3/dlopen.3:146
693 msgid "Zero or more of the following values may also be ORed in I<flag>:"
694 msgstr ""
695 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
696
697 #. type: TP
698 #: build/C/man3/dlopen.3:146
699 #, no-wrap
700 msgid "B<RTLD_GLOBAL>"
701 msgstr "B<RTLD_GLOBAL>"
702
703 #. type: Plain text
704 #: build/C/man3/dlopen.3:150
705 msgid ""
706 "The symbols defined by this library will be made available for symbol "
707 "resolution of subsequently loaded libraries."
708 msgstr ""
709 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
710 "のシンボル解決で利用できるようになる。"
711
712 #. type: TP
713 #: build/C/man3/dlopen.3:150
714 #, no-wrap
715 msgid "B<RTLD_LOCAL>"
716 msgstr "B<RTLD_LOCAL>"
717
718 #. type: Plain text
719 #: build/C/man3/dlopen.3:157
720 msgid ""
721 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
722 "specified.  Symbols defined in this library are not made available to "
723 "resolve references in subsequently loaded libraries."
724 msgstr ""
725 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
726 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
727 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
728
729 #. type: TP
730 #: build/C/man3/dlopen.3:157
731 #, no-wrap
732 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
733 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
734
735 #.  (But it is present on Solaris.)
736 #. type: Plain text
737 #: build/C/man3/dlopen.3:167
738 msgid ""
739 "Do not unload the library during B<dlclose>().  Consequently, the library's "
740 "static variables are not reinitialized if the library is reloaded with "
741 "B<dlopen>()  at a later time.  This flag is not specified in POSIX.1-2001."
742 msgstr ""
743 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
744 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
745 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
746
747 #. type: TP
748 #: build/C/man3/dlopen.3:167
749 #, no-wrap
750 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
751 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
752
753 #.  (But it is present on Solaris.)
754 #. type: Plain text
755 #: build/C/man3/dlopen.3:182
756 msgid ""
757 "Don't load the library.  This can be used to test if the library is already "
758 "resident (B<dlopen>()  returns NULL if it is not, or the library's handle if "
759 "it is resident).  This flag can also be used to promote the flags on a "
760 "library that is already loaded.  For example, a library that was previously "
761 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
762 "RTLD_GLOBAL>.  This flag is not specified in POSIX.1-2001."
763 msgstr ""
764 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
765 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
766 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
767 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
768 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
769 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
770 "規定されていない。"
771
772 #. type: TP
773 #: build/C/man3/dlopen.3:182
774 #, no-wrap
775 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
776 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
777
778 #.  Inimitably described by UD in
779 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
780 #. type: Plain text
781 #: build/C/man3/dlopen.3:192
782 msgid ""
783 "Place the lookup scope of the symbols in this library ahead of the global "
784 "scope.  This means that a self-contained library will use its own symbols in "
785 "preference to global symbols with the same name contained in libraries that "
786 "have already been loaded.  This flag is not specified in POSIX.1-2001."
787 msgstr ""
788 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
789 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
790 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
791 "フラグは POSIX.1-2001 では規定されていない。"
792
793 #. type: Plain text
794 #: build/C/man3/dlopen.3:204
795 msgid ""
796 "If I<filename> is NULL, then the returned handle is for the main program.  "
797 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
798 "main program, followed by all shared libraries loaded at program startup, "
799 "and then all shared libraries loaded by B<dlopen>()  with the flag "
800 "B<RTLD_GLOBAL>."
801 msgstr ""
802 "I<filename> が NULL である場合は、 返されるハンドルはメインプログラムのものに"
803 "なる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メインプロ"
804 "グラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
805 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
806 "ラリ、の順序で行われる。"
807
808 #. type: Plain text
809 #: build/C/man3/dlopen.3:214
810 msgid ""
811 "External references in the library are resolved using the libraries in that "
812 "library's dependency list and any other libraries previously opened with the "
813 "B<RTLD_GLOBAL> flag.  If the executable was linked with the flag \"-rdynamic"
814 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
815 "executable will also be used to resolve references in a dynamically loaded "
816 "library."
817 msgstr ""
818 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
819 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
820 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
821 "も同義)  付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
822 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
823
824 #. type: Plain text
825 #: build/C/man3/dlopen.3:232
826 msgid ""
827 "If the same library is loaded again with B<dlopen>(), the same library "
828 "handle is returned.  The dl library maintains reference counts for library "
829 "handles, so a dynamic library is not deallocated until B<dlclose>()  has "
830 "been called on it as many times as B<dlopen>()  has succeeded on it.  The "
831 "B<_init>()  routine, if present, is called only once.  But a subsequent call "
832 "with B<RTLD_NOW> may force symbol resolution for a library earlier loaded "
833 "with B<RTLD_LAZY>."
834 msgstr ""
835 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じライブラ"
836 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
837 "いる。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だ"
838 "け呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出"
839 "される (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
840 "B<dlopen>()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
841 "のシンボル解決が実行されることがある。"
842
843 #. type: Plain text
844 #: build/C/man3/dlopen.3:236
845 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
846 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
847
848 #. type: SS
849 #: build/C/man3/dlopen.3:236
850 #, no-wrap
851 msgid "dlsym()"
852 msgstr "dlsym()"
853
854 #. type: Plain text
855 #: build/C/man3/dlopen.3:265
856 msgid ""
857 "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned by "
858 "B<dlopen>()  and the null-terminated symbol name, returning the address "
859 "where that symbol is loaded into memory.  If the symbol is not found, in the "
860 "specified library or any of the libraries that were automatically loaded by "
861 "B<dlopen>()  when that library was loaded, B<dlsym>()  returns NULL.  (The "
862 "search performed by B<dlsym>()  is breadth first through the dependency tree "
863 "of these libraries.)  Since the value of the symbol could actually be NULL "
864 "(so that a NULL return from B<dlsym>()  need not indicate an error), the "
865 "correct way to test for an error is to call B<dlerror>()  to clear any old "
866 "error conditions, then call B<dlsym>(), and then call B<dlerror>()  again, "
867 "saving its return value into a variable, and check whether this saved value "
868 "is not NULL."
869 msgstr ""
870 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
871 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
872 "メモリーのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライ"
873 "ブラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれ"
874 "にも見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
875 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
876 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
877 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
878 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
879 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
880 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
881 "定する。"
882
883 #. type: Plain text
884 #: build/C/man3/dlopen.3:277
885 msgid ""
886 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  The "
887 "former will find the first occurrence of the desired symbol using the "
888 "default library search order.  The latter will find the next occurrence of a "
889 "function in the search order after the current library.  This allows one to "
890 "provide a wrapper around a function in another shared library."
891 msgstr ""
892 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
893 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
894 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
895 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
896 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
897
898 #. type: SS
899 #: build/C/man3/dlopen.3:277
900 #, no-wrap
901 msgid "dlclose()"
902 msgstr "dlclose()"
903
904 #. type: Plain text
905 #: build/C/man3/dlopen.3:284
906 msgid ""
907 "The function B<dlclose>()  decrements the reference count on the dynamic "
908 "library handle I<handle>.  If the reference count drops to zero and no other "
909 "loaded libraries use symbols in it, then the dynamic library is unloaded."
910 msgstr ""
911 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
912 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
913 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
914
915 #. type: Plain text
916 #: build/C/man3/dlopen.3:288
917 msgid "The function B<dlclose>()  returns 0 on success, and nonzero on error."
918 msgstr ""
919 "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
920
921 #. type: SS
922 #: build/C/man3/dlopen.3:288
923 #, no-wrap
924 msgid "The obsolete symbols _init() and _fini()"
925 msgstr "廃止されたシンボル _init() と _fini()"
926
927 #. type: Plain text
928 #: build/C/man3/dlopen.3:306
929 msgid ""
930 "The linker recognizes special symbols B<_init> and B<_fini>.  If a dynamic "
931 "library exports a routine named B<_init>(), then that code is executed after "
932 "the loading, before B<dlopen>()  returns.  If the dynamic library exports a "
933 "routine named B<_fini>(), then that routine is called just before the "
934 "library is unloaded.  In case you need to avoid linking against the system "
935 "startup files, this can be done by using the B<gcc>(1)  I<-nostartfiles> "
936 "command-line option."
937 msgstr ""
938 "リンカーは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラ"
939 "リで B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
940 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
941 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
942 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
943 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
944 "I<-nostartfiles> オプションを指定すればよい。"
945
946 #.  void _init(void) __attribute__((constructor));
947 #.  void _fini(void) __attribute__((destructor));
948 #. type: Plain text
949 #: build/C/man3/dlopen.3:317
950 msgid ""
951 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
952 "is not recommended.  Their use may result in undesired behavior, since the "
953 "constructor/destructor routines will not be executed (unless special "
954 "measures are taken)."
955 msgstr ""
956 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
957 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
958 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
959 "行されないからである。"
960
961 #. type: Plain text
962 #: build/C/man3/dlopen.3:329
963 msgid ""
964 "Instead, libraries should export routines using the "
965 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
966 "attributes.  See the gcc info pages for information on these.  Constructor "
967 "routines are executed before B<dlopen>()  returns, and destructor routines "
968 "are executed before B<dlclose>()  returns."
969 msgstr ""
970 "代わりに、ライブラリは B<__attribute__((constructor))> や "
971 "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート"
972 "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor "
973 "ルーチンは B<dlopen>()  が復帰する前に実行され、 destructor ルーチンは "
974 "B<dlclose>()  が復帰する前に実行される。"
975
976 #. type: SS
977 #: build/C/man3/dlopen.3:329
978 #, no-wrap
979 msgid "Glibc extensions: dladdr() and dlvsym()"
980 msgstr "GNU での拡張: dladdr() と dlvsym()"
981
982 #. type: Plain text
983 #: build/C/man3/dlopen.3:331
984 msgid "Glibc adds two functions not described by POSIX, with prototypes"
985 msgstr ""
986 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
987 "は以下の通りである。"
988
989 #. type: Plain text
990 #: build/C/man3/dlopen.3:335
991 #, no-wrap
992 msgid ""
993 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
994 "B<#include E<lt>dlfcn.hE<gt>>\n"
995 msgstr ""
996 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
997 "B<#include E<lt>dlfcn.hE<gt>>\n"
998
999 #. type: Plain text
1000 #: build/C/man3/dlopen.3:337
1001 #, no-wrap
1002 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1003 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1004
1005 #. type: Plain text
1006 #: build/C/man3/dlopen.3:339
1007 #, no-wrap
1008 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1009 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1010
1011 #. type: Plain text
1012 #: build/C/man3/dlopen.3:348
1013 msgid ""
1014 "The function B<dladdr>()  takes a function pointer and tries to resolve name "
1015 "and file where it is located.  Information is stored in the I<Dl_info> "
1016 "structure:"
1017 msgstr ""
1018 "関数 B<dladdr>()  は、関数のポインターを引き数にとり、関数の名前と関数が定義"
1019 "されている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1020
1021 #. type: Plain text
1022 #: build/C/man3/dlopen.3:361
1023 #, no-wrap
1024 msgid ""
1025 "typedef struct {\n"
1026 "    const char *dli_fname;  /* Pathname of shared object that\n"
1027 "                               contains address */\n"
1028 "    void       *dli_fbase;  /* Address at which shared object\n"
1029 "                               is loaded */\n"
1030 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1031 "                               overlaps I<addr> */\n"
1032 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1033 "                               in I<dli_sname> */\n"
1034 "} Dl_info;\n"
1035 msgstr ""
1036 "typedef struct {\n"
1037 "    const char *dli_fname;  /* Pathname of shared object that\n"
1038 "                               contains address */\n"
1039 "    void       *dli_fbase;  /* Address at which shared object\n"
1040 "                               is loaded */\n"
1041 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1042 "                               overlaps I<addr> */\n"
1043 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1044 "                               in I<dli_sname> */\n"
1045 "} Dl_info;\n"
1046
1047 #. type: Plain text
1048 #: build/C/man3/dlopen.3:371
1049 msgid ""
1050 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1051 "I<dli_saddr> are set to NULL."
1052 msgstr ""
1053 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1054 "I<dli_saddr> は NULL にセットされる。"
1055
1056 #. type: Plain text
1057 #: build/C/man3/dlopen.3:374
1058 msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
1059 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1060
1061 #. type: Plain text
1062 #: build/C/man3/dlopen.3:381
1063 msgid ""
1064 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1065 "as B<dlsym>()  but takes a version string as an additional argument."
1066 msgstr ""
1067 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
1068 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
1069 "glibc で提供されている)。"
1070
1071 #. type: Plain text
1072 #: build/C/man3/dlopen.3:388
1073 msgid ""
1074 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
1075 "B<dlsym>()."
1076 msgstr ""
1077 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
1078 "載がある。"
1079
1080 #. type: SH
1081 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1082 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84
1083 #: build/C/man7/rtld-audit.7:467
1084 #, no-wrap
1085 msgid "NOTES"
1086 msgstr "注意"
1087
1088 #.  .LP
1089 #.  The string returned by
1090 #.  .BR dlerror ()
1091 #.  should not be modified.
1092 #.  Some systems give the prototype as
1093 #.  .sp
1094 #.  .in +5
1095 #.  .B "const char *dlerror(void);"
1096 #.  .in
1097 #. type: Plain text
1098 #: build/C/man3/dlopen.3:407
1099 msgid ""
1100 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1101 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1102 msgstr ""
1103 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1104 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1105 "る場合のみ有効となる。"
1106
1107 #. type: Plain text
1108 #: build/C/man3/dlopen.3:412
1109 msgid ""
1110 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
1111 "that is automatically called when a library is unloaded."
1112 msgstr ""
1113 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
1114 "に自動的に呼び出される 終了ハンドラー (exit handler) を登録することができる。"
1115
1116 #. type: SS
1117 #: build/C/man3/dlopen.3:412
1118 #, no-wrap
1119 msgid "History"
1120 msgstr "歴史"
1121
1122 #. type: Plain text
1123 #: build/C/man3/dlopen.3:418
1124 msgid ""
1125 "The dlopen interface standard comes from SunOS.  That system also has "
1126 "B<dladdr>(), but not B<dlvsym>()."
1127 msgstr ""
1128 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
1129 "B<dladdr>()  もあったが、 B<dlvsym>()  はなかった。"
1130
1131 #. type: SH
1132 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267
1133 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58
1134 #: build/C/man7/rtld-audit.7:492
1135 #, no-wrap
1136 msgid "BUGS"
1137 msgstr "バグ"
1138
1139 #. type: Plain text
1140 #: build/C/man3/dlopen.3:430
1141 msgid ""
1142 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1143 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1144 "I<dli_fbase> may end up pointing back at the object from which you called "
1145 "B<dladdr>(), even if the function used as an argument should come from a "
1146 "dynamically linked library."
1147 msgstr ""
1148 "時として、 B<dladdr>()  に渡した関数ポインターは驚くような値になることがあ"
1149 "る。 いくつかのアーキテクチャー (特に i386 と x86_64) では、 引き数として使用"
1150 "した関数が動的リンクライブラリで定義されるもので あったとしても、 "
1151 "I<dli_fname> と I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照し"
1152 "た状態で終わっていることがある。"
1153
1154 #. type: Plain text
1155 #: build/C/man3/dlopen.3:446
1156 msgid ""
1157 "The problem is that the function pointer will still be resolved at compile "
1158 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1159 "the original object (which dispatches the call after asking the dynamic "
1160 "linker to resolve the symbol).  To work around this, you can try to compile "
1161 "the code to be position-independent: then, the compiler cannot prepare the "
1162 "pointer at compile time anymore and today's B<gcc>(1)  will generate code "
1163 "that just loads the final symbol address from the I<got> (Global Offset "
1164 "Table) at run time before passing it to B<dladdr>()."
1165 msgstr ""
1166 "問題は、関数ポインターの解決は今なおコンパイル時に行われるが、 そのポインター"
1167 "は元のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指している"
1168 "だけだという点にある (オブジェクト自体は、ダイナミックリンカーによってシンボ"
1169 "ルの解決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法として"
1170 "は、 コードを position-independent でコンパイルするという方法がある。 そうす"
1171 "ると、コンパイラはコンパイル時にポインターを用意することができず、 今日の "
1172 "B<gcc>(1)  では、実行時に B<dladdr>()  に関数ポインターを渡す前に、 I<got> "
1173 "(Global Offset Table) から最終的なシンボルのアドレスをロードするだけの コード"
1174 "が生成される。"
1175
1176 #. type: Plain text
1177 #: build/C/man3/dlopen.3:448
1178 msgid "Load the math library, and print the cosine of 2.0:"
1179 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1180
1181 #. type: Plain text
1182 #: build/C/man3/dlopen.3:453
1183 #, no-wrap
1184 msgid ""
1185 "#include E<lt>stdio.hE<gt>\n"
1186 "#include E<lt>stdlib.hE<gt>\n"
1187 "#include E<lt>dlfcn.hE<gt>\n"
1188 msgstr ""
1189 "#include E<lt>stdio.hE<gt>\n"
1190 "#include E<lt>stdlib.hE<gt>\n"
1191 "#include E<lt>dlfcn.hE<gt>\n"
1192
1193 #. type: Plain text
1194 #: build/C/man3/dlopen.3:460
1195 #, no-wrap
1196 msgid ""
1197 "int\n"
1198 "main(int argc, char **argv)\n"
1199 "{\n"
1200 "    void *handle;\n"
1201 "    double (*cosine)(double);\n"
1202 "    char *error;\n"
1203 msgstr ""
1204 "int\n"
1205 "main(int argc, char **argv)\n"
1206 "{\n"
1207 "    void *handle;\n"
1208 "    double (*cosine)(double);\n"
1209 "    char *error;\n"
1210
1211 #. type: Plain text
1212 #: build/C/man3/dlopen.3:466
1213 #, no-wrap
1214 msgid ""
1215 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1216 "    if (!handle) {\n"
1217 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1218 "        exit(EXIT_FAILURE);\n"
1219 "    }\n"
1220 msgstr ""
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
1227 #. type: Plain text
1228 #: build/C/man3/dlopen.3:468
1229 #, no-wrap
1230 msgid "    dlerror();    /* Clear any existing error */\n"
1231 msgstr "    dlerror();    /* Clear any existing error */\n"
1232
1233 #. type: Plain text
1234 #: build/C/man3/dlopen.3:470
1235 #, no-wrap
1236 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1237 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1238
1239 #. type: Plain text
1240 #: build/C/man3/dlopen.3:475
1241 #, no-wrap
1242 msgid ""
1243 "    /* According to the ISO C standard, casting between function\n"
1244 "       pointers and 'void *', as done above, produces undefined results.\n"
1245 "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1246 "       proposed the following workaround:\n"
1247 msgstr ""
1248 "    /* ISO の C 標準によれば、上のような、関数ポインターと 'void *' 間の\n"
1249 "       キャストを行った場合に得られる結果は不定である。\n"
1250 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1251 "       以下のようなワークアラウンドが提案されている。\n"
1252
1253 #. type: Plain text
1254 #: build/C/man3/dlopen.3:477
1255 #, no-wrap
1256 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1257 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1258
1259 #. type: Plain text
1260 #: build/C/man3/dlopen.3:480
1261 #, no-wrap
1262 msgid ""
1263 "       This (clumsy) cast conforms with the ISO C standard and will\n"
1264 "       avoid any compiler warnings.\n"
1265 msgstr ""
1266 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1267 "       コンパイラの警告を避けることができる。\n"
1268
1269 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1270 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1271 #.  http://austingroupbugs.net/view.php?id=74
1272 #. type: Plain text
1273 #: build/C/man3/dlopen.3:489
1274 #, no-wrap
1275 msgid ""
1276 "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1277 "       POSIX.1-2013) improved matters by requiring that conforming\n"
1278 "       implementations support casting 'void *' to a function pointer.\n"
1279 "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1280 "       option) may complain about the cast used in this program. */\n"
1281 msgstr ""
1282 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1283 "       では、 POSIX に準拠する実装では 'void *' から関数ポインターへの\n"
1284 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
1285 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1286 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1287 "       キャストについて文句を言うのだ。\n"
1288
1289 #. type: Plain text
1290 #: build/C/man3/dlopen.3:495
1291 #, no-wrap
1292 msgid ""
1293 "    error = dlerror();\n"
1294 "    if (error != NULL) {\n"
1295 "        fprintf(stderr, \"%s\\en\", error);\n"
1296 "        exit(EXIT_FAILURE);\n"
1297 "    }\n"
1298 msgstr ""
1299 "    error = dlerror();\n"
1300 "    if (error != NULL) {\n"
1301 "        fprintf(stderr, \"%s\\en\", error);\n"
1302 "        exit(EXIT_FAILURE);\n"
1303 "    }\n"
1304
1305 #. type: Plain text
1306 #: build/C/man3/dlopen.3:500
1307 #, no-wrap
1308 msgid ""
1309 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1310 "    dlclose(handle);\n"
1311 "    exit(EXIT_SUCCESS);\n"
1312 "}\n"
1313 msgstr ""
1314 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1315 "    dlclose(handle);\n"
1316 "    exit(EXIT_SUCCESS);\n"
1317 "}\n"
1318
1319 #. type: Plain text
1320 #: build/C/man3/dlopen.3:504
1321 msgid ""
1322 "If this program were in a file named \"foo.c\", you would build the program "
1323 "with the following command:"
1324 msgstr ""
1325 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1326 "ルドできる。"
1327
1328 #. type: Plain text
1329 #: build/C/man3/dlopen.3:507
1330 #, no-wrap
1331 msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
1332 msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
1333
1334 #. type: Plain text
1335 #: build/C/man3/dlopen.3:517
1336 msgid ""
1337 "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled as "
1338 "follows, using I<bar.c> as the example name:"
1339 msgstr ""
1340 "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のように"
1341 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1342
1343 #. type: Plain text
1344 #: build/C/man3/dlopen.3:520
1345 #, no-wrap
1346 msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
1347 msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
1348
1349 #. type: Plain text
1350 #: build/C/man3/dlopen.3:529
1351 msgid ""
1352 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1353 "B<ld.so>(8), B<ldconfig>(8)"
1354 msgstr ""
1355 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1356 "B<ld.so>(8), B<ldconfig>(8)"
1357
1358 #. type: Plain text
1359 #: build/C/man3/dlopen.3:531
1360 msgid "ld.so info pages, gcc info pages, ld info pages"
1361 msgstr "ld.so info pages, gcc info pages, ld info pages"
1362
1363 #. type: TH
1364 #: build/C/man5/elf.5:35
1365 #, no-wrap
1366 msgid "ELF"
1367 msgstr "ELF"
1368
1369 #. type: TH
1370 #: build/C/man5/elf.5:35
1371 #, no-wrap
1372 msgid "2013-04-17"
1373 msgstr "2013-04-17"
1374
1375 #. type: Plain text
1376 #: build/C/man5/elf.5:38
1377 msgid "elf - format of Executable and Linking Format (ELF) files"
1378 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1379
1380 #.  .B #include <elf_abi.h>
1381 #. type: Plain text
1382 #: build/C/man5/elf.5:42
1383 #, no-wrap
1384 msgid "B<#include E<lt>elf.hE<gt>>\n"
1385 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1386
1387 #. type: Plain text
1388 #: build/C/man5/elf.5:50
1389 msgid ""
1390 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1391 "binary files.  Amongst these files are normal executable files, relocatable "
1392 "object files, core files and shared libraries."
1393 msgstr ""
1394 "ヘッダーファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォー"
1395 "マットを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置"
1396 "可能オブジェクトファイル・コアファイル・共有ライブラリがある。"
1397
1398 #. type: Plain text
1399 #: build/C/man5/elf.5:59
1400 msgid ""
1401 "An executable file using the ELF file format consists of an ELF header, "
1402 "followed by a program header table or a section header table, or both.  The "
1403 "ELF header is always at offset zero of the file.  The program header table "
1404 "and the section header table's offset in the file are defined in the ELF "
1405 "header.  The two tables describe the rest of the particularities of the file."
1406 msgstr ""
1407 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダーの後にプログラ"
1408 "ムヘッダーテーブルまたは セクションヘッダーテーブル (またはその両方) が続く構"
1409 "成である。 ELF ヘッダーは常にファイルのオフセット 0 にある。 プログラムヘッ"
1410 "ダーテーブルとセクションヘッダーテーブルの ファイル内でのオフセットは、ELF "
1411 "ヘッダーに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を"
1412 "記述する。"
1413
1414 #.  Applications which wish to process ELF binary files for their native
1415 #.  architecture only should include
1416 #.  .I <elf_abi.h>
1417 #.  in their source code.
1418 #.  These applications should need to refer to
1419 #.  all the types and structures by their generic names
1420 #.  "Elf_xxx"
1421 #.  and to the macros by
1422 #.  ELF_xxx".
1423 #.  Applications written this way can be compiled on any architecture,
1424 #.  regardless of whether the host is 32-bit or 64-bit.
1425 #.  .PP
1426 #.  Should an application need to process ELF files of an unknown
1427 #.  architecture, then the application needs to explicitly use either
1428 #.  "Elf32_xxx"
1429 #.  or
1430 #.  "Elf64_xxx"
1431 #.  type and structure names.
1432 #.  Likewise, the macros need to be identified by
1433 #.  "ELF32_xxx"
1434 #.  or
1435 #.  "ELF64_xxx".
1436 #.  .PP
1437 #. type: Plain text
1438 #: build/C/man5/elf.5:86
1439 msgid ""
1440 "This header file describes the above mentioned headers as C structures and "
1441 "also includes structures for dynamic sections, relocation sections and "
1442 "symbol tables."
1443 msgstr ""
1444 "このヘッダーファイルは上記のヘッダーを C 言語の構造体で記述し、 また動的セク"
1445 "ション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1446
1447 #. type: Plain text
1448 #: build/C/man5/elf.5:98
1449 msgid ""
1450 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1451 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1452 "I<uint64_t>):"
1453 msgstr ""
1454 "以下の型は N ビットアーキテクチャーで使われる (N=32,64 であり I<ElfN> は "
1455 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1456 "I<uint64_t> を表す):"
1457
1458 #.  Elf32_Size  Unsigned object size
1459 #. type: Plain text
1460 #: build/C/man5/elf.5:112
1461 #, no-wrap
1462 msgid ""
1463 "ElfN_Addr       Unsigned program address, uintN_t\n"
1464 "ElfN_Off        Unsigned file offset, uintN_t\n"
1465 "ElfN_Section    Unsigned section index, uint16_t\n"
1466 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
1467 "Elf_Byte        unsigned char\n"
1468 "ElfN_Half       uint16_t\n"
1469 "ElfN_Sword      int32_t\n"
1470 "ElfN_Word       uint32_t\n"
1471 "ElfN_Sxword     int64_t\n"
1472 "ElfN_Xword      uint64_t\n"
1473 msgstr ""
1474 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
1475 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
1476 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
1477 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
1478 "Elf_Byte        unsigned char\n"
1479 "ElfN_Half       uint16_t\n"
1480 "ElfN_Sword      int32_t\n"
1481 "ElfN_Word       uint32_t\n"
1482 "ElfN_Sxword     int64_t\n"
1483 "ElfN_Xword      uint64_t\n"
1484
1485 #. type: Plain text
1486 #: build/C/man5/elf.5:127
1487 msgid ""
1488 "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
1489 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1490 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
1491 "explicit ones in the below.)"
1492 msgstr ""
1493 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1494 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1495 "は、これらの型はサイズが自明な型に置き換えてある。)"
1496
1497 #. type: Plain text
1498 #: build/C/man5/elf.5:134
1499 msgid ""
1500 "All data structures that the file format defines follow the \"natural\" size "
1501 "and alignment guidelines for the relevant class.  If necessary, data "
1502 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1503 "objects, to force structure sizes to a multiple of 4, and so on."
1504 msgstr ""
1505 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1506 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1507 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
1508 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1509 "る。"
1510
1511 #. type: Plain text
1512 #: build/C/man5/elf.5:139
1513 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1514 msgstr "ELF ヘッダーは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1515
1516 #. type: Plain text
1517 #: build/C/man5/elf.5:143
1518 #, no-wrap
1519 msgid "#define EI_NIDENT 16\n"
1520 msgstr "#define EI_NIDENT 16\n"
1521
1522 #. type: Plain text
1523 #: build/C/man5/elf.5:160
1524 #, no-wrap
1525 msgid ""
1526 "typedef struct {\n"
1527 "    unsigned char e_ident[EI_NIDENT];\n"
1528 "    uint16_t      e_type;\n"
1529 "    uint16_t      e_machine;\n"
1530 "    uint32_t      e_version;\n"
1531 "    ElfN_Addr     e_entry;\n"
1532 "    ElfN_Off      e_phoff;\n"
1533 "    ElfN_Off      e_shoff;\n"
1534 "    uint32_t      e_flags;\n"
1535 "    uint16_t      e_ehsize;\n"
1536 "    uint16_t      e_phentsize;\n"
1537 "    uint16_t      e_phnum;\n"
1538 "    uint16_t      e_shentsize;\n"
1539 "    uint16_t      e_shnum;\n"
1540 "    uint16_t      e_shstrndx;\n"
1541 "} ElfN_Ehdr;\n"
1542 msgstr ""
1543 "typedef struct {\n"
1544 "    unsigned char e_ident[EI_NIDENT];\n"
1545 "    uint16_t      e_type;\n"
1546 "    uint16_t      e_machine;\n"
1547 "    uint32_t      e_version;\n"
1548 "    ElfN_Addr     e_entry;\n"
1549 "    ElfN_Off      e_phoff;\n"
1550 "    ElfN_Off      e_shoff;\n"
1551 "    uint32_t      e_flags;\n"
1552 "    uint16_t      e_ehsize;\n"
1553 "    uint16_t      e_phentsize;\n"
1554 "    uint16_t      e_phnum;\n"
1555 "    uint16_t      e_shentsize;\n"
1556 "    uint16_t      e_shnum;\n"
1557 "    uint16_t      e_shstrndx;\n"
1558 "} ElfN_Ehdr;\n"
1559
1560 #.  .Bl -tag -width "e_phentsize"
1561 #. type: Plain text
1562 #: build/C/man5/elf.5:165
1563 msgid "The fields have the following meanings:"
1564 msgstr "フィールドは以下の意味を持つ:"
1565
1566 #. type: TP
1567 #: build/C/man5/elf.5:165
1568 #, no-wrap
1569 msgid "I<e_ident>"
1570 msgstr "I<e_ident>"
1571
1572 #. type: Plain text
1573 #: build/C/man5/elf.5:175
1574 msgid ""
1575 "This array of bytes specifies to interpret the file, independent of the "
1576 "processor or the file's remaining contents.  Within this array everything is "
1577 "named by macros, which start with the prefix B<EI_> and may contain values "
1578 "which start with the prefix B<ELF>.  The following macros are defined:"
1579 msgstr ""
1580 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1581 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1582 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1583 "クロが定義されている:"
1584
1585 #. type: TP
1586 #: build/C/man5/elf.5:177
1587 #, no-wrap
1588 msgid "B<EI_MAG0>"
1589 msgstr "B<EI_MAG0>"
1590
1591 #. type: Plain text
1592 #: build/C/man5/elf.5:183
1593 msgid ""
1594 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
1595 "0x7f)"
1596 msgstr ""
1597 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1598
1599 #. type: TP
1600 #: build/C/man5/elf.5:183
1601 #, no-wrap
1602 msgid "B<EI_MAG1>"
1603 msgstr "B<EI_MAG1>"
1604
1605 #. type: Plain text
1606 #: build/C/man5/elf.5:189
1607 msgid ""
1608 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
1609 "(1: \\(aqE\\(aq)"
1610 msgstr ""
1611 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1612 "\\(aqE\\(aq)"
1613
1614 #. type: TP
1615 #: build/C/man5/elf.5:189
1616 #, no-wrap
1617 msgid "B<EI_MAG2>"
1618 msgstr "B<EI_MAG2>"
1619
1620 #. type: Plain text
1621 #: build/C/man5/elf.5:195
1622 msgid ""
1623 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
1624 "\\(aqL\\(aq)"
1625 msgstr ""
1626 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1627 "\\(aqL\\(aq)"
1628
1629 #. type: TP
1630 #: build/C/man5/elf.5:195
1631 #, no-wrap
1632 msgid "B<EI_MAG3>"
1633 msgstr "B<EI_MAG3>"
1634
1635 #. type: Plain text
1636 #: build/C/man5/elf.5:201
1637 msgid ""
1638 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
1639 "(3: \\(aqF\\(aq)"
1640 msgstr ""
1641 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1642 "\\(aqF\\(aq)"
1643
1644 #. type: TP
1645 #: build/C/man5/elf.5:201
1646 #, no-wrap
1647 msgid "B<EI_CLASS>"
1648 msgstr "B<EI_CLASS>"
1649
1650 #. type: Plain text
1651 #: build/C/man5/elf.5:204
1652 msgid "The fifth byte identifies the architecture for this binary:"
1653 msgstr "第 5 バイトは、このバイナリのアーキテクチャーを示す:"
1654
1655 #. type: TP
1656 #: build/C/man5/elf.5:206
1657 #, no-wrap
1658 msgid "B<ELFCLASSNONE>"
1659 msgstr "B<ELFCLASSNONE>"
1660
1661 #. type: Plain text
1662 #: build/C/man5/elf.5:210
1663 msgid "This class is invalid."
1664 msgstr "このクラスは不正である。"
1665
1666 #. type: TP
1667 #: build/C/man5/elf.5:210
1668 #, no-wrap
1669 msgid "B<ELFCLASS32>"
1670 msgstr "B<ELFCLASS32>"
1671
1672 #. type: Plain text
1673 #: build/C/man5/elf.5:215
1674 msgid ""
1675 "This defines the 32-bit architecture.  It supports machines with files and "
1676 "virtual address spaces up to 4 Gigabytes."
1677 msgstr ""
1678 "32 ビットアーキテクチャーを定義する。 ファイルと仮想アドレス空間が 4 ギガバイ"
1679 "トまでのマシンをサポートする。"
1680
1681 #. type: TP
1682 #: build/C/man5/elf.5:215
1683 #, no-wrap
1684 msgid "B<ELFCLASS64>"
1685 msgstr "B<ELFCLASS64>"
1686
1687 #. type: Plain text
1688 #: build/C/man5/elf.5:218
1689 msgid "This defines the 64-bit architecture."
1690 msgstr "64 ビットアーキテクチャーを定義する。"
1691
1692 #. type: TP
1693 #: build/C/man5/elf.5:221
1694 #, no-wrap
1695 msgid "B<EI_DATA>"
1696 msgstr "B<EI_DATA>"
1697
1698 #.  .Bl -tag -width "ELFDATA2LSB" -compact
1699 #. type: Plain text
1700 #: build/C/man5/elf.5:227
1701 msgid ""
1702 "The sixth byte specifies the data encoding of the processor-specific data in "
1703 "the file.  Currently these encodings are supported:"
1704 msgstr ""
1705 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1706 "する。 現在のところ以下のエンコーディングがサポートされている:"
1707
1708 #. type: TP
1709 #: build/C/man5/elf.5:228
1710 #, no-wrap
1711 msgid "B<ELFDATANONE>"
1712 msgstr "B<ELFDATANONE>"
1713
1714 #. type: Plain text
1715 #: build/C/man5/elf.5:232
1716 msgid "Unknown data format."
1717 msgstr "不明なデータフォーマット。"
1718
1719 #. type: TP
1720 #: build/C/man5/elf.5:232
1721 #, no-wrap
1722 msgid "B<ELFDATA2LSB>"
1723 msgstr "B<ELFDATA2LSB>"
1724
1725 #. type: Plain text
1726 #: build/C/man5/elf.5:235
1727 msgid "Two's complement, little-endian."
1728 msgstr "2 の補数、リトルエンディアン。"
1729
1730 #. type: TP
1731 #: build/C/man5/elf.5:235
1732 #, no-wrap
1733 msgid "B<ELFDATA2MSB>"
1734 msgstr "B<ELFDATA2MSB>"
1735
1736 #. type: Plain text
1737 #: build/C/man5/elf.5:238
1738 msgid "Two's complement, big-endian."
1739 msgstr "2 の補数、ビッグエンディアン。"
1740
1741 #. type: TP
1742 #: build/C/man5/elf.5:241
1743 #, no-wrap
1744 msgid "B<EI_VERSION>"
1745 msgstr "B<EI_VERSION>"
1746
1747 #.  .Bl -tag -width "EV_CURRENT" -compact
1748 #. type: Plain text
1749 #: build/C/man5/elf.5:246
1750 msgid "The seventh byte is the version number of the ELF specification:"
1751 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1752
1753 #. type: TP
1754 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1755 #, no-wrap
1756 msgid "B<EV_NONE>"
1757 msgstr "B<EV_NONE>"
1758
1759 #. type: Plain text
1760 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1761 msgid "Invalid version."
1762 msgstr "不正なバージョン。"
1763
1764 #. type: TP
1765 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1766 #, no-wrap
1767 msgid "B<EV_CURRENT>"
1768 msgstr "B<EV_CURRENT>"
1769
1770 #.  .El
1771 #. type: Plain text
1772 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1773 msgid "Current version."
1774 msgstr "現在のバージョン。"
1775
1776 #. type: TP
1777 #: build/C/man5/elf.5:256
1778 #, no-wrap
1779 msgid "B<EI_OSABI>"
1780 msgstr "B<EI_OSABI>"
1781
1782 #.  .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1783 #. type: Plain text
1784 #: build/C/man5/elf.5:265
1785 msgid ""
1786 "The eighth byte identifies the operating system and ABI to which the object "
1787 "is targeted.  Some fields in other ELF structures have flags and values that "
1788 "have platform-specific meanings; the interpretation of those fields is "
1789 "determined by the value of this byte.  For example:"
1790 msgstr ""
1791 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1792 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1793 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1794 "される。以下に例を挙げる。"
1795
1796 #. type: TP
1797 #: build/C/man5/elf.5:266
1798 #, no-wrap
1799 msgid "B<ELFOSABI_NONE>"
1800 msgstr "B<ELFOSABI_NONE>"
1801
1802 #.  0
1803 #. type: Plain text
1804 #: build/C/man5/elf.5:271
1805 msgid "Same as ELFOSABI_SYSV"
1806 msgstr "ELFOSABI_SYSV と同じ。"
1807
1808 #. type: TP
1809 #: build/C/man5/elf.5:271
1810 #, no-wrap
1811 msgid "B<ELFOSABI_SYSV>"
1812 msgstr "B<ELFOSABI_SYSV>"
1813
1814 #.  0
1815 #.  synonym: ELFOSABI_NONE
1816 #. type: Plain text
1817 #: build/C/man5/elf.5:276
1818 msgid "UNIX System V ABI."
1819 msgstr "UNIX System V ABI."
1820
1821 #. type: TP
1822 #: build/C/man5/elf.5:276
1823 #, no-wrap
1824 msgid "B<ELFOSABI_HPUX>"
1825 msgstr "B<ELFOSABI_HPUX>"
1826
1827 #.  1
1828 #. type: Plain text
1829 #: build/C/man5/elf.5:280
1830 msgid "HP-UX ABI."
1831 msgstr "HP-UX ABI."
1832
1833 #. type: TP
1834 #: build/C/man5/elf.5:280
1835 #, no-wrap
1836 msgid "B<ELFOSABI_NETBSD>"
1837 msgstr "B<ELFOSABI_NETBSD>"
1838
1839 #.  2
1840 #. type: Plain text
1841 #: build/C/man5/elf.5:284
1842 msgid "NetBSD ABI."
1843 msgstr "NetBSD ABI."
1844
1845 #. type: TP
1846 #: build/C/man5/elf.5:284
1847 #, no-wrap
1848 msgid "B<ELFOSABI_LINUX>"
1849 msgstr "B<ELFOSABI_LINUX>"
1850
1851 #.  3
1852 #.  .TP
1853 #.  .BR ELFOSABI_HURD
1854 #.  Hurd ABI.
1855 #.  4
1856 #.  .TP
1857 #.  .BR ELFOSABI_86OPEN
1858 #.  86Open Common IA32 ABI.
1859 #.  5
1860 #. type: Plain text
1861 #: build/C/man5/elf.5:296
1862 msgid "Linux ABI."
1863 msgstr "Linux ABI."
1864
1865 #. type: TP
1866 #: build/C/man5/elf.5:296
1867 #, no-wrap
1868 msgid "B<ELFOSABI_SOLARIS>"
1869 msgstr "B<ELFOSABI_SOLARIS>"
1870
1871 #.  6
1872 #.  .TP
1873 #.  .BR ELFOSABI_MONTEREY
1874 #.  Monterey project ABI.
1875 #.  Now replaced by
1876 #.  ELFOSABI_AIX
1877 #.  7
1878 #. type: Plain text
1879 #: build/C/man5/elf.5:306
1880 msgid "Solaris ABI."
1881 msgstr "Solaris ABI."
1882
1883 #. type: TP
1884 #: build/C/man5/elf.5:306
1885 #, no-wrap
1886 msgid "B<ELFOSABI_IRIX>"
1887 msgstr "B<ELFOSABI_IRIX>"
1888
1889 #.  8
1890 #. type: Plain text
1891 #: build/C/man5/elf.5:310
1892 msgid "IRIX ABI."
1893 msgstr "IRIX ABI."
1894
1895 #. type: TP
1896 #: build/C/man5/elf.5:310
1897 #, no-wrap
1898 msgid "B<ELFOSABI_FREEBSD>"
1899 msgstr "B<ELFOSABI_FREEBSD>"
1900
1901 #.  9
1902 #. type: Plain text
1903 #: build/C/man5/elf.5:314
1904 msgid "FreeBSD ABI."
1905 msgstr "FreeBSD ABI."
1906
1907 #. type: TP
1908 #: build/C/man5/elf.5:314
1909 #, no-wrap
1910 msgid "B<ELFOSABI_TRU64>"
1911 msgstr "B<ELFOSABI_TRU64>"
1912
1913 #.  10
1914 #.  ELFOSABI_MODESTO
1915 #.  11
1916 #.  ELFOSABI_OPENBSD
1917 #.  12
1918 #. type: Plain text
1919 #: build/C/man5/elf.5:322
1920 msgid "TRU64 UNIX ABI."
1921 msgstr "TRU64 UNIX ABI."
1922
1923 #. type: TP
1924 #: build/C/man5/elf.5:322
1925 #, no-wrap
1926 msgid "B<ELFOSABI_ARM>"
1927 msgstr "B<ELFOSABI_ARM>"
1928
1929 #.  97
1930 #. type: Plain text
1931 #: build/C/man5/elf.5:326
1932 msgid "ARM architecture ABI."
1933 msgstr "ARM アーキテクチャー ABI."
1934
1935 #. type: TP
1936 #: build/C/man5/elf.5:326
1937 #, no-wrap
1938 msgid "B<ELFOSABI_STANDALONE>"
1939 msgstr "B<ELFOSABI_STANDALONE>"
1940
1941 #.  255
1942 #.  .El
1943 #. type: Plain text
1944 #: build/C/man5/elf.5:331
1945 msgid "Stand-alone (embedded) ABI."
1946 msgstr "スタンドアロン (組み込み) ABI."
1947
1948 #. type: TP
1949 #: build/C/man5/elf.5:333
1950 #, no-wrap
1951 msgid "B<EI_ABIVERSION>"
1952 msgstr "B<EI_ABIVERSION>"
1953
1954 #. type: Plain text
1955 #: build/C/man5/elf.5:343
1956 msgid ""
1957 "The ninth byte identifies the version of the ABI to which the object is "
1958 "targeted.  This field is used to distinguish among incompatible versions of "
1959 "an ABI.  The interpretation of this version number is dependent on the ABI "
1960 "identified by the B<EI_OSABI> field.  Applications conforming to this "
1961 "specification use the value 0."
1962 msgstr ""
1963 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1964 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1965 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1966 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1967
1968 #. type: TP
1969 #: build/C/man5/elf.5:343
1970 #, no-wrap
1971 msgid "B<EI_PAD>"
1972 msgstr "B<EI_PAD>"
1973
1974 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1975 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1976 #.  It looks to be a BSDism
1977 #.  .TP
1978 #.  .BR EI_BRAND
1979 #.  Start of architecture identification.
1980 #. type: Plain text
1981 #: build/C/man5/elf.5:359
1982 msgid ""
1983 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
1984 "read them should ignore them.  The value for B<EI_PAD> will change in the "
1985 "future if currently unused bytes are given meanings."
1986 msgstr ""
1987 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1988 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1989 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1990
1991 #. type: TP
1992 #: build/C/man5/elf.5:359
1993 #, no-wrap
1994 msgid "B<EI_NIDENT>"
1995 msgstr "B<EI_NIDENT>"
1996
1997 #.  .El
1998 #. type: Plain text
1999 #: build/C/man5/elf.5:365
2000 msgid "The size of the I<e_ident> array."
2001 msgstr "I<e_ident> 配列のサイズ。"
2002
2003 #. type: TP
2004 #: build/C/man5/elf.5:366
2005 #, no-wrap
2006 msgid "I<e_type>"
2007 msgstr "I<e_type>"
2008
2009 #. type: Plain text
2010 #: build/C/man5/elf.5:369
2011 msgid "This member of the structure identifies the object file type:"
2012 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
2013
2014 #. type: TP
2015 #: build/C/man5/elf.5:371
2016 #, no-wrap
2017 msgid "B<ET_NONE>"
2018 msgstr "B<ET_NONE>"
2019
2020 #. type: Plain text
2021 #: build/C/man5/elf.5:375
2022 msgid "An unknown type."
2023 msgstr "不明なタイプ。"
2024
2025 #. type: TP
2026 #: build/C/man5/elf.5:375
2027 #, no-wrap
2028 msgid "B<ET_REL>"
2029 msgstr "B<ET_REL>"
2030
2031 #. type: Plain text
2032 #: build/C/man5/elf.5:378
2033 msgid "A relocatable file."
2034 msgstr "再配置可能ファイル。"
2035
2036 #. type: TP
2037 #: build/C/man5/elf.5:378
2038 #, no-wrap
2039 msgid "B<ET_EXEC>"
2040 msgstr "B<ET_EXEC>"
2041
2042 #. type: Plain text
2043 #: build/C/man5/elf.5:381
2044 msgid "An executable file."
2045 msgstr "実行可能ファイル。"
2046
2047 #. type: TP
2048 #: build/C/man5/elf.5:381
2049 #, no-wrap
2050 msgid "B<ET_DYN>"
2051 msgstr "B<ET_DYN>"
2052
2053 #. type: Plain text
2054 #: build/C/man5/elf.5:384
2055 msgid "A shared object."
2056 msgstr "共有オブジェクト。"
2057
2058 #. type: TP
2059 #: build/C/man5/elf.5:384
2060 #, no-wrap
2061 msgid "B<ET_CORE>"
2062 msgstr "B<ET_CORE>"
2063
2064 #. type: Plain text
2065 #: build/C/man5/elf.5:387
2066 msgid "A core file."
2067 msgstr "コアファイル。"
2068
2069 #. type: TP
2070 #: build/C/man5/elf.5:390
2071 #, no-wrap
2072 msgid "I<e_machine>"
2073 msgstr "I<e_machine>"
2074
2075 #. type: Plain text
2076 #: build/C/man5/elf.5:394
2077 msgid ""
2078 "This member specifies the required architecture for an individual file.  For "
2079 "example:"
2080 msgstr ""
2081 "このメンバは個々のファイルに必要とされるアーキテクチャーを指定する。 例:"
2082
2083 #. type: TP
2084 #: build/C/man5/elf.5:396
2085 #, no-wrap
2086 msgid "B<EM_NONE>"
2087 msgstr "B<EM_NONE>"
2088
2089 #.  0
2090 #. type: Plain text
2091 #: build/C/man5/elf.5:401
2092 msgid "An unknown machine."
2093 msgstr "不明なマシン。"
2094
2095 #. type: TP
2096 #: build/C/man5/elf.5:401
2097 #, no-wrap
2098 msgid "B<EM_M32>"
2099 msgstr "B<EM_M32>"
2100
2101 #.  1
2102 #. type: Plain text
2103 #: build/C/man5/elf.5:405
2104 msgid "AT&T WE 32100."
2105 msgstr "AT&T WE 32100."
2106
2107 #. type: TP
2108 #: build/C/man5/elf.5:405
2109 #, no-wrap
2110 msgid "B<EM_SPARC>"
2111 msgstr "B<EM_SPARC>"
2112
2113 #.  2
2114 #. type: Plain text
2115 #: build/C/man5/elf.5:409
2116 msgid "Sun Microsystems SPARC."
2117 msgstr "Sun Microsystems SPARC."
2118
2119 #. type: TP
2120 #: build/C/man5/elf.5:409
2121 #, no-wrap
2122 msgid "B<EM_386>"
2123 msgstr "B<EM_386>"
2124
2125 #.  3
2126 #. type: Plain text
2127 #: build/C/man5/elf.5:413
2128 msgid "Intel 80386."
2129 msgstr "Intel 80386."
2130
2131 #. type: TP
2132 #: build/C/man5/elf.5:413
2133 #, no-wrap
2134 msgid "B<EM_68K>"
2135 msgstr "B<EM_68K>"
2136
2137 #.  4
2138 #. type: Plain text
2139 #: build/C/man5/elf.5:417
2140 msgid "Motorola 68000."
2141 msgstr "Motorola 68000."
2142
2143 #. type: TP
2144 #: build/C/man5/elf.5:417
2145 #, no-wrap
2146 msgid "B<EM_88K>"
2147 msgstr "B<EM_88K>"
2148
2149 #.  5
2150 #.  .TP
2151 #.  .BR EM_486
2152 #.  Intel 80486.
2153 #.  6
2154 #. type: Plain text
2155 #: build/C/man5/elf.5:425
2156 msgid "Motorola 88000."
2157 msgstr "Motorola 88000."
2158
2159 #. type: TP
2160 #: build/C/man5/elf.5:425
2161 #, no-wrap
2162 msgid "B<EM_860>"
2163 msgstr "B<EM_860>"
2164
2165 #.  7
2166 #. type: Plain text
2167 #: build/C/man5/elf.5:429
2168 msgid "Intel 80860."
2169 msgstr "Intel 80860."
2170
2171 #. type: TP
2172 #: build/C/man5/elf.5:429
2173 #, no-wrap
2174 msgid "B<EM_MIPS>"
2175 msgstr "B<EM_MIPS>"
2176
2177 #.  8
2178 #.  EM_S370
2179 #.  9
2180 #.  .TP
2181 #.  .BR EM_MIPS_RS4_BE
2182 #.  MIPS RS4000 (big-endian only). Deprecated.
2183 #.  10
2184 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2185 #.  10
2186 #. type: Plain text
2187 #: build/C/man5/elf.5:441
2188 msgid "MIPS RS3000 (big-endian only)."
2189 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2190
2191 #. type: TP
2192 #: build/C/man5/elf.5:441
2193 #, no-wrap
2194 msgid "B<EM_PARISC>"
2195 msgstr "B<EM_PARISC>"
2196
2197 #.  15
2198 #. type: Plain text
2199 #: build/C/man5/elf.5:445
2200 msgid "HP/PA."
2201 msgstr "HP/PA."
2202
2203 #. type: TP
2204 #: build/C/man5/elf.5:445
2205 #, no-wrap
2206 msgid "B<EM_SPARC32PLUS>"
2207 msgstr "B<EM_SPARC32PLUS>"
2208
2209 #.  18
2210 #. type: Plain text
2211 #: build/C/man5/elf.5:449
2212 msgid "SPARC with enhanced instruction set."
2213 msgstr "拡張命令セット付き SPARC。"
2214
2215 #. type: TP
2216 #: build/C/man5/elf.5:449
2217 #, no-wrap
2218 msgid "B<EM_PPC>"
2219 msgstr "B<EM_PPC>"
2220
2221 #.  20
2222 #. type: Plain text
2223 #: build/C/man5/elf.5:453
2224 msgid "PowerPC."
2225 msgstr "PowerPC."
2226
2227 #. type: TP
2228 #: build/C/man5/elf.5:453
2229 #, no-wrap
2230 msgid "B<EM_PPC64>"
2231 msgstr "B<EM_PPC64>"
2232
2233 #.  21
2234 #. type: Plain text
2235 #: build/C/man5/elf.5:457
2236 msgid "PowerPC 64-bit."
2237 msgstr "PowerPC 64-bit."
2238
2239 #. type: TP
2240 #: build/C/man5/elf.5:457
2241 #, no-wrap
2242 msgid "B<EM_S390>"
2243 msgstr "B<EM_S390>"
2244
2245 #.  22
2246 #. type: Plain text
2247 #: build/C/man5/elf.5:461
2248 msgid "IBM S/390"
2249 msgstr "IBM S/390"
2250
2251 #. type: TP
2252 #: build/C/man5/elf.5:461
2253 #, no-wrap
2254 msgid "B<EM_ARM>"
2255 msgstr "B<EM_ARM>"
2256
2257 #.  40
2258 #. type: Plain text
2259 #: build/C/man5/elf.5:465
2260 msgid "Advanced RISC Machines"
2261 msgstr "Advanced RISC Machines"
2262
2263 #. type: TP
2264 #: build/C/man5/elf.5:465
2265 #, no-wrap
2266 msgid "B<EM_SH>"
2267 msgstr "B<EM_SH>"
2268
2269 #.  42
2270 #. type: Plain text
2271 #: build/C/man5/elf.5:469
2272 msgid "Renesas SuperH"
2273 msgstr "Renesas SuperH"
2274
2275 #. type: TP
2276 #: build/C/man5/elf.5:469
2277 #, no-wrap
2278 msgid "B<EM_SPARCV9>"
2279 msgstr "B<EM_SPARCV9>"
2280
2281 #.  43
2282 #. type: Plain text
2283 #: build/C/man5/elf.5:473
2284 msgid "SPARC v9 64-bit."
2285 msgstr "SPARC v9 64-bit."
2286
2287 #. type: TP
2288 #: build/C/man5/elf.5:473
2289 #, no-wrap
2290 msgid "B<EM_IA_64>"
2291 msgstr "B<EM_IA_64>"
2292
2293 #.  50
2294 #. type: Plain text
2295 #: build/C/man5/elf.5:477
2296 msgid "Intel Itanium"
2297 msgstr "Intel Itanium"
2298
2299 #. type: TP
2300 #: build/C/man5/elf.5:477
2301 #, no-wrap
2302 msgid "B<EM_X86_64>"
2303 msgstr "B<EM_X86_64>"
2304
2305 #.  62
2306 #. type: Plain text
2307 #: build/C/man5/elf.5:481
2308 msgid "AMD x86-64"
2309 msgstr "AMD x86-64"
2310
2311 #. type: TP
2312 #: build/C/man5/elf.5:481
2313 #, no-wrap
2314 msgid "B<EM_VAX>"
2315 msgstr "B<EM_VAX>"
2316
2317 #.  75
2318 #.  EM_CRIS
2319 #.  76
2320 #.  .TP
2321 #.  .BR EM_ALPHA
2322 #.  Compaq [DEC] Alpha.
2323 #.  .TP
2324 #.  .BR EM_ALPHA_EXP
2325 #.  Compaq [DEC] Alpha with enhanced instruction set.
2326 #. type: Plain text
2327 #: build/C/man5/elf.5:493
2328 msgid "DEC Vax."
2329 msgstr "DEC Vax."
2330
2331 #. type: TP
2332 #: build/C/man5/elf.5:496
2333 #, no-wrap
2334 msgid "I<e_version>"
2335 msgstr "I<e_version>"
2336
2337 #.  .Bl -tag -width "EV_CURRENT" -compact
2338 #. type: Plain text
2339 #: build/C/man5/elf.5:500
2340 msgid "This member identifies the file version:"
2341 msgstr "このメンバはファイルバージョンを示す:"
2342
2343 #. type: TP
2344 #: build/C/man5/elf.5:511
2345 #, no-wrap
2346 msgid "I<e_entry>"
2347 msgstr "I<e_entry>"
2348
2349 #. type: Plain text
2350 #: build/C/man5/elf.5:517
2351 msgid ""
2352 "This member gives the virtual address to which the system first transfers "
2353 "control, thus starting the process.  If the file has no associated entry "
2354 "point, this member holds zero."
2355 msgstr ""
2356 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2357 "スを指定する。 ファイルにエントリーポイントが関連付けられていない場合、 この"
2358 "メンバには 0 が入る。"
2359
2360 #. type: TP
2361 #: build/C/man5/elf.5:517
2362 #, no-wrap
2363 msgid "I<e_phoff>"
2364 msgstr "I<e_phoff>"
2365
2366 #. type: Plain text
2367 #: build/C/man5/elf.5:522
2368 msgid ""
2369 "This member holds the program header table's file offset in bytes.  If the "
2370 "file has no program header table, this member holds zero."
2371 msgstr ""
2372 "このメンバはプログラムヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2373 "持する。 ファイルにプログラムヘッダーテーブルがない場合、 このメンバには 0 が"
2374 "入る。"
2375
2376 #. type: TP
2377 #: build/C/man5/elf.5:522
2378 #, no-wrap
2379 msgid "I<e_shoff>"
2380 msgstr "I<e_shoff>"
2381
2382 #. type: Plain text
2383 #: build/C/man5/elf.5:527
2384 msgid ""
2385 "This member holds the section header table's file offset in bytes.  If the "
2386 "file has no section header table, this member holds zero."
2387 msgstr ""
2388 "このメンバはセクションヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2389 "持する。 ファイルにセクションヘッダーテーブルがない場合、 このメンバには 0 が"
2390 "入る。"
2391
2392 #. type: TP
2393 #: build/C/man5/elf.5:527
2394 #, no-wrap
2395 msgid "I<e_flags>"
2396 msgstr "I<e_flags>"
2397
2398 #. type: Plain text
2399 #: build/C/man5/elf.5:532
2400 msgid ""
2401 "This member holds processor-specific flags associated with the file.  Flag "
2402 "names take the form EF_`machine_flag'.  Currently no flags have been defined."
2403 msgstr ""
2404 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2405 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2406 "いない。"
2407
2408 #. type: TP
2409 #: build/C/man5/elf.5:532
2410 #, no-wrap
2411 msgid "I<e_ehsize>"
2412 msgstr "I<e_ehsize>"
2413
2414 #. type: Plain text
2415 #: build/C/man5/elf.5:535
2416 msgid "This member holds the ELF header's size in bytes."
2417 msgstr "このメンバは ELF ヘッダーサイズ (バイト単位) を保持する。"
2418
2419 #. type: TP
2420 #: build/C/man5/elf.5:535
2421 #, no-wrap
2422 msgid "I<e_phentsize>"
2423 msgstr "I<e_phentsize>"
2424
2425 #. type: Plain text
2426 #: build/C/man5/elf.5:539
2427 msgid ""
2428 "This member holds the size in bytes of one entry in the file's program "
2429 "header table; all entries are the same size."
2430 msgstr ""
2431 "このメンバはこのファイルのプログラムヘッダーテーブルの 1 エントリーあたりのサ"
2432 "イズ (バイト単位) を保持する; 全てのエントリーは同じサイズである。"
2433
2434 #. type: TP
2435 #: build/C/man5/elf.5:539
2436 #, no-wrap
2437 msgid "I<e_phnum>"
2438 msgstr "I<e_phnum>"
2439
2440 #. type: Plain text
2441 #: build/C/man5/elf.5:552
2442 msgid ""
2443 "This member holds the number of entries in the program header table.  Thus "
2444 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2445 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
2446 msgstr ""
2447 "このメンバはプログラムヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2448 "て I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 "
2449 "ファイルにプログラムヘッダーがない場合、 I<e_phnum> は値 0 を保持する。"
2450
2451 #.  This is a Linux extension, added in Linux 2.6.34.
2452 #.  .Bl -tag -width "PN_XNUM"
2453 #. type: Plain text
2454 #: build/C/man5/elf.5:566
2455 msgid ""
2456 "If the number of entries in the program header table is larger than or equal "
2457 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2458 "number of entries in the program header table is held in the I<sh_info> "
2459 "member of the initial entry in section header table.  Otherwise, the "
2460 "I<sh_info> member of the initial entry contains the value zero."
2461 msgstr ""
2462 "プログラムヘッダーテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2463 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダーテーブルの\n"
2464 "エントリーの実際の数は、セクションヘッダーテーブルの最初のエントリーの \n"
2465 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2466 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2467
2468 #. type: TP
2469 #: build/C/man5/elf.5:567
2470 #, no-wrap
2471 msgid "B<PN_XNUM>"
2472 msgstr "B<PN_XNUM>"
2473
2474 #. type: Plain text
2475 #: build/C/man5/elf.5:572
2476 msgid ""
2477 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2478 "specifying where the actual number of program headers is assigned."
2479 msgstr ""
2480 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2481 "はプログラムヘッダーの実際の数がどこに割り当てられているかを示す。"
2482
2483 #. type: TP
2484 #: build/C/man5/elf.5:576
2485 #, no-wrap
2486 msgid "I<e_shentsize>"
2487 msgstr "I<e_shentsize>"
2488
2489 #. type: Plain text
2490 #: build/C/man5/elf.5:581
2491 msgid ""
2492 "This member holds a sections header's size in bytes.  A section header is "
2493 "one entry in the section header table; all entries are the same size."
2494 msgstr ""
2495 "このメンバはセクションヘッダーのサイズ (バイト単位) を保持する。 セクション"
2496 "ヘッダーはセクションヘッダーテーブルの 1 つのエントリーである; 全てのエント"
2497 "リーは同じサイズである。"
2498
2499 #. type: TP
2500 #: build/C/man5/elf.5:581
2501 #, no-wrap
2502 msgid "I<e_shnum>"
2503 msgstr "I<e_shnum>"
2504
2505 #. type: Plain text
2506 #: build/C/man5/elf.5:594
2507 msgid ""
2508 "This member holds the number of entries in the section header table.  Thus "
2509 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2510 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
2511 "holds the value of zero."
2512 msgstr ""
2513 "このメンバはセクションヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2514 "て I<e_shentsize> と I<e_shnum> の積はセクションヘッダーテーブルのサイズ (バ"
2515 "イト単位) になる。 ファイルにセクションヘッダーテーブルがない場合、 "
2516 "I<e_shnum> は値 0 を保持する。"
2517
2518 #. type: Plain text
2519 #: build/C/man5/elf.5:606
2520 msgid ""
2521 "If the number of entries in the section header table is larger than or equal "
2522 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2523 "number of entries in the section header table is held in the I<sh_size> "
2524 "member of the initial entry in section header table.  Otherwise, the "
2525 "I<sh_size> member of the initial entry in the section header table holds the "
2526 "value zero."
2527 msgstr ""
2528 "セクションヘッダーテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2529 "合、\n"
2530 "I<e_shnum> には値 0 が入り、セクションヘッダーテーブルのエントリーの実際の数"
2531 "は\n"
2532 "セクションヘッダーテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2533 "る。\n"
2534 "それ以外の場合、セクションヘッダーテーブルの最初のエントリーの I<sh_info> メ"
2535 "ンバ\n"
2536 "には値 0 が格納される。"
2537
2538 #. type: TP
2539 #: build/C/man5/elf.5:606
2540 #, no-wrap
2541 msgid "I<e_shstrndx>"
2542 msgstr "I<e_shstrndx>"
2543
2544 #. type: Plain text
2545 #: build/C/man5/elf.5:613
2546 msgid ""
2547 "This member holds the section header table index of the entry associated "
2548 "with the section name string table.  If the file has no section name string "
2549 "table, this member holds the value B<SHN_UNDEF>."
2550 msgstr ""
2551 "このメンバはセクション名文字列テーブルに関連付けられたエントリーの セクション"
2552 "ヘッダーテーブルインデックスを保持する。 ファイルにセクション名文字列テーブル"
2553 "がない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2554
2555 #. type: Plain text
2556 #: build/C/man5/elf.5:625
2557 msgid ""
2558 "If the index of section name string table section is larger than or equal to "
2559 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2560 "real index of the section name string table section is held in the "
2561 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
2562 "the I<sh_link> member of the initial entry in section header table contains "
2563 "the value zero."
2564 msgstr ""
2565 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2566 "の\n"
2567 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2568 "テーブルの実際のインデックスはセクションヘッダーテーブルの最初のエントリー"
2569 "の\n"
2570 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2571 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2572
2573 #. type: TP
2574 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2575 #, no-wrap
2576 msgid "B<SHN_UNDEF>"
2577 msgstr "B<SHN_UNDEF>"
2578
2579 #. type: Plain text
2580 #: build/C/man5/elf.5:636
2581 msgid ""
2582 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2583 "section reference.  For example, a symbol \"defined\" relative to section "
2584 "number B<SHN_UNDEF> is an undefined symbol."
2585 msgstr ""
2586 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2587 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2588 "ボルは、「未定義」なシンボルである。"
2589
2590 #. type: TP
2591 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2592 #, no-wrap
2593 msgid "B<SHN_LORESERVE>"
2594 msgstr "B<SHN_LORESERVE>"
2595
2596 #. type: Plain text
2597 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2598 msgid "This value specifies the lower bound of the range of reserved indices."
2599 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2600
2601 #. type: TP
2602 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2603 #, no-wrap
2604 msgid "B<SHN_LOPROC>"
2605 msgstr "B<SHN_LOPROC>"
2606
2607 #. type: Plain text
2608 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2609 msgid ""
2610 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2611 "specific semantics."
2612 msgstr ""
2613 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2614
2615 #. type: TP
2616 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2617 #, no-wrap
2618 msgid "B<SHN_HIPROC>"
2619 msgstr "B<SHN_HIPROC>"
2620
2621 #. type: Plain text
2622 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2623 msgid ""
2624 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2625 "specific semantics."
2626 msgstr ""
2627 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2628
2629 #. type: TP
2630 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2631 #, no-wrap
2632 msgid "B<SHN_ABS>"
2633 msgstr "B<SHN_ABS>"
2634
2635 #. type: Plain text
2636 #: build/C/man5/elf.5:656
2637 msgid ""
2638 "This value specifies absolute values for the corresponding reference.  For "
2639 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2640 "values and are not affected by relocation."
2641 msgstr ""
2642 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2643 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2644
2645 #. type: TP
2646 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2647 #, no-wrap
2648 msgid "B<SHN_COMMON>"
2649 msgstr "B<SHN_COMMON>"
2650
2651 #. type: Plain text
2652 #: build/C/man5/elf.5:660
2653 msgid ""
2654 "Symbols defined relative to this section are common symbols, such as Fortran "
2655 "COMMON or unallocated C external variables."
2656 msgstr ""
2657 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2658 "り当て external 変数のような、 共通シンボルである。"
2659
2660 #. type: TP
2661 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2662 #, no-wrap
2663 msgid "B<SHN_HIRESERVE>"
2664 msgstr "B<SHN_HIRESERVE>"
2665
2666 #. type: Plain text
2667 #: build/C/man5/elf.5:673
2668 msgid ""
2669 "This value specifies the upper bound of the range of reserved indices "
2670 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2671 "reference the section header table.  That is, the section header table does "
2672 "I<not> contain entries for the reserved indices."
2673 msgstr ""
2674 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2675 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダーテーブルを参照しな"
2676 "い。 つまり、セクションヘッダーテーブルは 予約されたインデックスのエントリー"
2677 "を I<含まない 。>"
2678
2679 #. type: Plain text
2680 #: build/C/man5/elf.5:695
2681 msgid ""
2682 "An executable or shared object file's program header table is an array of "
2683 "structures, each describing a segment or other information the system needs "
2684 "to prepare the program for execution.  An object file I<segment> contains "
2685 "one or more I<sections>.  Program headers are meaningful only for executable "
2686 "and shared object files.  A file specifies its own program header size with "
2687 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
2688 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2689 "the architecture:"
2690 msgstr ""
2691 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダーテーブル"
2692 "は、 システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する"
2693 "構造体の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<"
2694 "セクション> が含まれる。 プログラムヘッダーは実行可能ファイルと共有オブジェク"
2695 "トファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダーサイズを ELF "
2696 "ヘッダーの I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラ"
2697 "ムヘッダーは I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらにな"
2698 "るかはアーキテクチャー依存):"
2699
2700 #. type: Plain text
2701 #: build/C/man5/elf.5:708
2702 #, no-wrap
2703 msgid ""
2704 "typedef struct {\n"
2705 "    uint32_t   p_type;\n"
2706 "    Elf32_Off  p_offset;\n"
2707 "    Elf32_Addr p_vaddr;\n"
2708 "    Elf32_Addr p_paddr;\n"
2709 "    uint32_t   p_filesz;\n"
2710 "    uint32_t   p_memsz;\n"
2711 "    uint32_t   p_flags;\n"
2712 "    uint32_t   p_align;\n"
2713 "} Elf32_Phdr;\n"
2714 msgstr ""
2715 "typedef struct {\n"
2716 "    uint32_t   p_type;\n"
2717 "    Elf32_Off  p_offset;\n"
2718 "    Elf32_Addr p_vaddr;\n"
2719 "    Elf32_Addr p_paddr;\n"
2720 "    uint32_t   p_filesz;\n"
2721 "    uint32_t   p_memsz;\n"
2722 "    uint32_t   p_flags;\n"
2723 "    uint32_t   p_align;\n"
2724 "} Elf32_Phdr;\n"
2725
2726 #. type: Plain text
2727 #: build/C/man5/elf.5:723
2728 #, no-wrap
2729 msgid ""
2730 "typedef struct {\n"
2731 "    uint32_t   p_type;\n"
2732 "    uint32_t   p_flags;\n"
2733 "    Elf64_Off  p_offset;\n"
2734 "    Elf64_Addr p_vaddr;\n"
2735 "    Elf64_Addr p_paddr;\n"
2736 "    uint64_t   p_filesz;\n"
2737 "    uint64_t   p_memsz;\n"
2738 "    uint64_t   p_align;\n"
2739 "} Elf64_Phdr;\n"
2740 msgstr ""
2741 "typedef struct {\n"
2742 "    uint32_t   p_type;\n"
2743 "    uint32_t   p_flags;\n"
2744 "    Elf64_Off  p_offset;\n"
2745 "    Elf64_Addr p_vaddr;\n"
2746 "    Elf64_Addr p_paddr;\n"
2747 "    uint64_t   p_filesz;\n"
2748 "    uint64_t   p_memsz;\n"
2749 "    uint64_t   p_align;\n"
2750 "} Elf64_Phdr;\n"
2751
2752 #.  .Bl -tag -width "p_offset"
2753 #. type: Plain text
2754 #: build/C/man5/elf.5:731
2755 msgid ""
2756 "The main difference between the 32-bit and the 64-bit program header lies in "
2757 "the location of the I<p_flags> member in the total struct."
2758 msgstr ""
2759 "32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における "
2760 "I<p_flags> メンバの位置にある。"
2761
2762 #. type: TP
2763 #: build/C/man5/elf.5:731
2764 #, no-wrap
2765 msgid "I<p_type>"
2766 msgstr "I<p_type>"
2767
2768 #.  .Bl -tag -width "PT_DYNAMIC"
2769 #. type: Plain text
2770 #: build/C/man5/elf.5:736
2771 msgid ""
2772 "This member of the Phdr struct tells what kind of segment this array element "
2773 "describes or how to interpret the array element's information."
2774 msgstr ""
2775 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2776 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2777
2778 #. type: TP
2779 #: build/C/man5/elf.5:737
2780 #, no-wrap
2781 msgid "B<PT_NULL>"
2782 msgstr "B<PT_NULL>"
2783
2784 #. type: Plain text
2785 #: build/C/man5/elf.5:741
2786 msgid ""
2787 "The array element is unused and the other members' values are undefined.  "
2788 "This lets the program header have ignored entries."
2789 msgstr ""
2790 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2791 "り、このプログラムヘッダーのエントリーは無視される。"
2792
2793 #. type: TP
2794 #: build/C/man5/elf.5:741
2795 #, no-wrap
2796 msgid "B<PT_LOAD>"
2797 msgstr "B<PT_LOAD>"
2798
2799 #. type: Plain text
2800 #: build/C/man5/elf.5:762
2801 msgid ""
2802 "The array element specifies a loadable segment, described by I<p_filesz> and "
2803 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
2804 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
2805 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2806 "and to follow the segment's initialized area.  The file size may not be "
2807 "larger than the memory size.  Loadable segment entries in the program header "
2808 "table appear in ascending order, sorted on the I<p_vaddr> member."
2809 msgstr ""
2810 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2811 "定する。 このファイルからのバイトデータが、このメモリーセグメントの先頭から"
2812 "マップされる。 セグメントのメモリーサイズ I<Sy>p_memsz がファイルサイズ "
2813 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2814 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリーサイズ"
2815 "より大きくてはいけない。 プログラムヘッダーテーブルのロード可能セグメントエン"
2816 "トリーは、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2817
2818 #. type: TP
2819 #: build/C/man5/elf.5:762
2820 #, no-wrap
2821 msgid "B<PT_DYNAMIC>"
2822 msgstr "B<PT_DYNAMIC>"
2823
2824 #. type: Plain text
2825 #: build/C/man5/elf.5:765
2826 msgid "The array element specifies dynamic linking information."
2827 msgstr "この配列要素は動的リンク情報を指定する。"
2828
2829 #. type: TP
2830 #: build/C/man5/elf.5:765
2831 #, no-wrap
2832 msgid "B<PT_INTERP>"
2833 msgstr "B<PT_INTERP>"
2834
2835 #. type: Plain text
2836 #: build/C/man5/elf.5:773
2837 msgid ""
2838 "The array element specifies the location and size of a null-terminated "
2839 "pathname to invoke as an interpreter.  This segment type is meaningful only "
2840 "for executable files (though it may occur for shared objects).  However it "
2841 "may not occur more than once in a file.  If it is present, it must precede "
2842 "any loadable segment entry."
2843 msgstr ""
2844 "この配列要素は、インタープリターとして起動されるパス名 (ヌル文字終端)  の位置"
2845 "とサイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2846 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2847 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2848 "のロード可能セグメントエントリーより前になければならない。"
2849
2850 #. type: TP
2851 #: build/C/man5/elf.5:773
2852 #, no-wrap
2853 msgid "B<PT_NOTE>"
2854 msgstr "B<PT_NOTE>"
2855
2856 #. type: Plain text
2857 #: build/C/man5/elf.5:776
2858 msgid ""
2859 "The array element specifies the location and size for auxiliary information."
2860 msgstr ""
2861 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2862
2863 #. type: TP
2864 #: build/C/man5/elf.5:776
2865 #, no-wrap
2866 msgid "B<PT_SHLIB>"
2867 msgstr "B<PT_SHLIB>"
2868
2869 #. type: Plain text
2870 #: build/C/man5/elf.5:781
2871 msgid ""
2872 "This segment type is reserved but has unspecified semantics.  Programs that "
2873 "contain an array element of this type do not conform to the ABI."
2874 msgstr ""
2875 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2876 "を保持するプログラムは ABI に準拠しない。"
2877
2878 #. type: TP
2879 #: build/C/man5/elf.5:781
2880 #, no-wrap
2881 msgid "B<PT_PHDR>"
2882 msgstr "B<PT_PHDR>"
2883
2884 #. type: Plain text
2885 #: build/C/man5/elf.5:790
2886 msgid ""
2887 "The array element, if present, specifies the location and size of the "
2888 "program header table itself, both in the file and in the memory image of the "
2889 "program.  This segment type may not occur more than once in a file.  "
2890 "Moreover, it may occur only if the program header table is part of the "
2891 "memory image of the program.  If it is present, it must precede any loadable "
2892 "segment entry."
2893 msgstr ""
2894 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリーイ"
2895 "メージ双方における プログラムヘッダーテーブル自身の位置とサイズを指定する。 "
2896 "このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、この"
2897 "セグメント型が存在してもよいのは、プログラムヘッダーテーブルが プログラムのメ"
2898 "モリーイメージの一部である場合のみである。 もし存在する場合、これは全てのロー"
2899 "ド可能セグメントエントリーより 前になければならない。"
2900
2901 #. type: TP
2902 #: build/C/man5/elf.5:790
2903 #, no-wrap
2904 msgid "B<PT_LOPROC>"
2905 msgstr "B<PT_LOPROC>"
2906
2907 #. type: Plain text
2908 #: build/C/man5/elf.5:795
2909 msgid ""
2910 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2911 "specific semantics."
2912 msgstr ""
2913 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2914
2915 #. type: TP
2916 #: build/C/man5/elf.5:795
2917 #, no-wrap
2918 msgid "B<PT_HIPROC>"
2919 msgstr "B<PT_HIPROC>"
2920
2921 #. type: Plain text
2922 #: build/C/man5/elf.5:800
2923 msgid ""
2924 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2925 "specific semantics."
2926 msgstr ""
2927 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2928
2929 #. type: TP
2930 #: build/C/man5/elf.5:800
2931 #, no-wrap
2932 msgid "B<PT_GNU_STACK>"
2933 msgstr "B<PT_GNU_STACK>"
2934
2935 #.  .El
2936 #. type: Plain text
2937 #: build/C/man5/elf.5:807
2938 msgid ""
2939 "GNU extension which is used by the Linux kernel to control the state of the "
2940 "stack via the flags set in the I<p_flags> member."
2941 msgstr ""
2942 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2943 "由でスタックの状態を制御するために使用する。"
2944
2945 #. type: TP
2946 #: build/C/man5/elf.5:808
2947 #, no-wrap
2948 msgid "I<p_offset>"
2949 msgstr "I<p_offset>"
2950
2951 #. type: Plain text
2952 #: build/C/man5/elf.5:812
2953 msgid ""
2954 "This member holds the offset from the beginning of the file at which the "
2955 "first byte of the segment resides."
2956 msgstr ""
2957 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2958 "保持する。"
2959
2960 #. type: TP
2961 #: build/C/man5/elf.5:812
2962 #, no-wrap
2963 msgid "I<p_vaddr>"
2964 msgstr "I<p_vaddr>"
2965
2966 #. type: Plain text
2967 #: build/C/man5/elf.5:816
2968 msgid ""
2969 "This member holds the virtual address at which the first byte of the segment "
2970 "resides in memory."
2971 msgstr ""
2972 "このメンバは、セグメントの先頭バイトがある メモリーの仮想アドレスを保持する。"
2973
2974 #. type: TP
2975 #: build/C/man5/elf.5:816
2976 #, no-wrap
2977 msgid "I<p_paddr>"
2978 msgstr "I<p_paddr>"
2979
2980 #. type: Plain text
2981 #: build/C/man5/elf.5:824
2982 msgid ""
2983 "On systems for which physical addressing is relevant, this member is "
2984 "reserved for the segment's physical address.  Under BSD this member is not "
2985 "used and must be zero."
2986 msgstr ""
2987 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2988 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2989
2990 #. type: TP
2991 #: build/C/man5/elf.5:824
2992 #, no-wrap
2993 msgid "I<p_filesz>"
2994 msgstr "I<p_filesz>"
2995
2996 #. type: Plain text
2997 #: build/C/man5/elf.5:828
2998 msgid ""
2999 "This member holds the number of bytes in the file image of the segment.  It "
3000 "may be zero."
3001 msgstr ""
3002 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
3003 "よい。"
3004
3005 #. type: TP
3006 #: build/C/man5/elf.5:828
3007 #, no-wrap
3008 msgid "I<p_memsz>"
3009 msgstr "I<p_memsz>"
3010
3011 #. type: Plain text
3012 #: build/C/man5/elf.5:832
3013 msgid ""
3014 "This member holds the number of bytes in the memory image of the segment.  "
3015 "It may be zero."
3016 msgstr ""
3017 "このメンバはセグメントのメモリーイメージのバイト数を保持する。 これは 0 でも"
3018 "よい。"
3019
3020 #. type: TP
3021 #: build/C/man5/elf.5:832
3022 #, no-wrap
3023 msgid "I<p_flags>"
3024 msgstr "I<p_flags>"
3025
3026 #.  .Bl -tag -width "PF_X" -compact
3027 #. type: Plain text
3028 #: build/C/man5/elf.5:836
3029 msgid "This member holds a bit mask of flags relevant to the segment:"
3030 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3031
3032 #. type: TP
3033 #: build/C/man5/elf.5:837
3034 #, no-wrap
3035 msgid "B<PF_X>"
3036 msgstr "B<PF_X>"
3037
3038 #. type: Plain text
3039 #: build/C/man5/elf.5:841
3040 msgid "An executable segment."
3041 msgstr "実行可能セグメント。"
3042
3043 #. type: TP
3044 #: build/C/man5/elf.5:841
3045 #, no-wrap
3046 msgid "B<PF_W>"
3047 msgstr "B<PF_W>"
3048
3049 #. type: Plain text
3050 #: build/C/man5/elf.5:844
3051 msgid "A writable segment."
3052 msgstr "書き込み可能セグメント."
3053
3054 #. type: TP
3055 #: build/C/man5/elf.5:844
3056 #, no-wrap
3057 msgid "B<PF_R>"
3058 msgstr "B<PF_R>"
3059
3060 #. type: Plain text
3061 #: build/C/man5/elf.5:847
3062 msgid "A readable segment."
3063 msgstr "読み込み可能セグメント。"
3064
3065 #. type: Plain text
3066 #: build/C/man5/elf.5:860
3067 msgid ""
3068 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
3069 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3070 msgstr ""
3071 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3072 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3073
3074 #. type: TP
3075 #: build/C/man5/elf.5:860
3076 #, no-wrap
3077 msgid "I<p_align>"
3078 msgstr "I<p_align>"
3079
3080 #.  .El
3081 #. type: Plain text
3082 #: build/C/man5/elf.5:879
3083 msgid ""
3084 "This member holds the value to which the segments are aligned in memory and "
3085 "in the file.  Loadable process segments must have congruent values for "
3086 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
3087 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
3088 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3089 "I<p_align>."
3090 msgstr ""
3091 "このメンバは、セグメントがメモリーおよびファイルにおいて配置 (align)  される"
3092 "値を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3093 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3094 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3095 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3096 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3097 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3098 "ばならない)。"
3099
3100 #. type: Plain text
3101 #: build/C/man5/elf.5:896
3102 msgid ""
3103 "A file's section header table lets one locate all the file's sections.  The "
3104 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3105 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
3106 "the beginning of the file to the section header table.  I<e_shnum> holds the "
3107 "number of entries the section header table contains.  I<e_shentsize> holds "
3108 "the size in bytes of each entry."
3109 msgstr ""
3110 "ファイルのセクションヘッダーテーブルには、 全てのファイルセクションの場所が記"
3111 "述されている。 セクションヘッダーテーブルは I<Elf32_Shdr> 構造体または "
3112 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダーの I<e_shoff> メンバはファイル"
3113 "の先頭から セクションヘッダーテーブルへのバイトオフセットである。 I<e_shnum> "
3114 "はセクションヘッダーテーブルに含まれるエントリーの数を保持する。 "
3115 "I<e_shentsize> は各エントリーのサイズ (バイト単位) を保持する。"
3116
3117 #.  .Bl -tag -width "SHN_LORESERVE"
3118 #. type: Plain text
3119 #: build/C/man5/elf.5:913
3120 msgid ""
3121 "A section header table index is a subscript into this array.  Some section "
3122 "header table indices are reserved: the initial entry and the indices between "
3123 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
3124 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3125 "field in the initial entry is set to zero.  An object file does not have "
3126 "sections for these special indices:"
3127 msgstr ""
3128 "セクションヘッダーテーブルインデックスは、この配列の添字である。\n"
3129 "いくつかのセクションヘッダーテーブルインデックスは予約されている。予約され"
3130 "て\n"
3131 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3132 "インデックスである。\n"
3133 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3134 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3135 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3136 "い。"
3137
3138 #. type: Plain text
3139 #: build/C/man5/elf.5:918
3140 msgid ""
3141 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3142 "section reference."
3143 msgstr ""
3144 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3145 "味なセクション参照を示す。"
3146
3147 #. type: Plain text
3148 #: build/C/man5/elf.5:938
3149 msgid ""
3150 "This value specifies the absolute value for the corresponding reference.  "
3151 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3152 "absolute value and is not affected by relocation."
3153 msgstr ""
3154 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3155 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3156 "ない。"
3157
3158 #. type: Plain text
3159 #: build/C/man5/elf.5:942
3160 msgid ""
3161 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3162 "COMMON or unallocated C external variables."
3163 msgstr ""
3164 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3165 "未割り当て外部変数のような共通シンボルである。"
3166
3167 #. type: Plain text
3168 #: build/C/man5/elf.5:953
3169 msgid ""
3170 "This value specifies the upper bound of the range of reserved indices.  The "
3171 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3172 "inclusive.  The section header table does not contain entries for the "
3173 "reserved indices."
3174 msgstr ""
3175 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3176 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッ"
3177 "ダーテーブルは予約されたインデックスに対応するエントリーを持たない。"
3178
3179 #. type: Plain text
3180 #: build/C/man5/elf.5:957
3181 msgid "The section header has the following structure:"
3182 msgstr "セクションヘッダーは以下の構造体を持つ:"
3183
3184 #. type: Plain text
3185 #: build/C/man5/elf.5:972
3186 #, no-wrap
3187 msgid ""
3188 "typedef struct {\n"
3189 "    uint32_t   sh_name;\n"
3190 "    uint32_t   sh_type;\n"
3191 "    uint32_t   sh_flags;\n"
3192 "    Elf32_Addr sh_addr;\n"
3193 "    Elf32_Off  sh_offset;\n"
3194 "    uint32_t   sh_size;\n"
3195 "    uint32_t   sh_link;\n"
3196 "    uint32_t   sh_info;\n"
3197 "    uint32_t   sh_addralign;\n"
3198 "    uint32_t   sh_entsize;\n"
3199 "} Elf32_Shdr;\n"
3200 msgstr ""
3201 "typedef struct {\n"
3202 "    uint32_t   sh_name;\n"
3203 "    uint32_t   sh_type;\n"
3204 "    uint32_t   sh_flags;\n"
3205 "    Elf32_Addr sh_addr;\n"
3206 "    Elf32_Off  sh_offset;\n"
3207 "    uint32_t   sh_size;\n"
3208 "    uint32_t   sh_link;\n"
3209 "    uint32_t   sh_info;\n"
3210 "    uint32_t   sh_addralign;\n"
3211 "    uint32_t   sh_entsize;\n"
3212 "} Elf32_Shdr;\n"
3213
3214 #. type: Plain text
3215 #: build/C/man5/elf.5:989
3216 #, no-wrap
3217 msgid ""
3218 "typedef struct {\n"
3219 "    uint32_t   sh_name;\n"
3220 "    uint32_t   sh_type;\n"
3221 "    uint64_t   sh_flags;\n"
3222 "    Elf64_Addr sh_addr;\n"
3223 "    Elf64_Off  sh_offset;\n"
3224 "    uint64_t   sh_size;\n"
3225 "    uint32_t   sh_link;\n"
3226 "    uint32_t   sh_info;\n"
3227 "    uint64_t   sh_addralign;\n"
3228 "    uint64_t   sh_entsize;\n"
3229 "} Elf64_Shdr;\n"
3230 msgstr ""
3231 "typedef struct {\n"
3232 "    uint32_t   sh_name;\n"
3233 "    uint32_t   sh_type;\n"
3234 "    uint64_t   sh_flags;\n"
3235 "    Elf64_Addr sh_addr;\n"
3236 "    Elf64_Off  sh_offset;\n"
3237 "    uint64_t   sh_size;\n"
3238 "    uint32_t   sh_link;\n"
3239 "    uint32_t   sh_info;\n"
3240 "    uint64_t   sh_addralign;\n"
3241 "    uint64_t   sh_entsize;\n"
3242 "} Elf64_Shdr;\n"
3243
3244 #.  .Bl -tag -width "sh_addralign"
3245 #. type: Plain text
3246 #: build/C/man5/elf.5:994
3247 msgid ""
3248 "No real differences exist between the 32-bit and 64-bit section headers."
3249 msgstr "32 ビットと 64 ビットのセクションヘッダーには実際の違いはない。"
3250
3251 #. type: TP
3252 #: build/C/man5/elf.5:994
3253 #, no-wrap
3254 msgid "I<sh_name>"
3255 msgstr "I<sh_name>"
3256
3257 #. type: Plain text
3258 #: build/C/man5/elf.5:1000
3259 msgid ""
3260 "This member specifies the name of the section.  Its value is an index into "
3261 "the section header string table section, giving the location of a null-"
3262 "terminated string."
3263 msgstr ""
3264 "このメンバはセクション名を定める。 この値はセクションヘッダー文字列テーブルセ"
3265 "クションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
3266
3267 #. type: TP
3268 #: build/C/man5/elf.5:1000
3269 #, no-wrap
3270 msgid "I<sh_type>"
3271 msgstr "I<sh_type>"
3272
3273 #.  .Bl -tag -width "SHT_PROGBITS"
3274 #. type: Plain text
3275 #: build/C/man5/elf.5:1004
3276 msgid "This member categorizes the section's contents and semantics."
3277 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリーを示す。"
3278
3279 #. type: TP
3280 #: build/C/man5/elf.5:1005
3281 #, no-wrap
3282 msgid "B<SHT_NULL>"
3283 msgstr "B<SHT_NULL>"
3284
3285 #. type: Plain text
3286 #: build/C/man5/elf.5:1012
3287 msgid ""
3288 "This value marks the section header as inactive.  It does not have an "
3289 "associated section.  Other members of the section header have undefined "
3290 "values."
3291 msgstr ""
3292 "この値はセクションヘッダーが不活性であることを示す。 これは関連するセクション"
3293 "を持たない。 このセクションヘッダーの他のメンバは、未定義の値を持つ。"
3294
3295 #. type: TP
3296 #: build/C/man5/elf.5:1012
3297 #, no-wrap
3298 msgid "B<SHT_PROGBITS>"
3299 msgstr "B<SHT_PROGBITS>"
3300
3301 #. type: Plain text
3302 #: build/C/man5/elf.5:1016
3303 msgid ""
3304 "This section holds information defined by the program, whose format and "
3305 "meaning are determined solely by the program."
3306 msgstr ""
3307 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3308 "味は、ひとえにプログラムによって決定される。"
3309
3310 #. type: TP
3311 #: build/C/man5/elf.5:1016
3312 #, no-wrap
3313 msgid "B<SHT_SYMTAB>"
3314 msgstr "B<SHT_SYMTAB>"
3315
3316 #. type: Plain text
3317 #: build/C/man5/elf.5:1029
3318 msgid ""
3319 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
3320 "symbols for link editing, though it may also be used for dynamic linking.  "
3321 "As a complete symbol table, it may contain many symbols unnecessary for "
3322 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
3323 msgstr ""
3324 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3325 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3326 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3327 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3328
3329 #. type: TP
3330 #: build/C/man5/elf.5:1029
3331 #, no-wrap
3332 msgid "B<SHT_STRTAB>"
3333 msgstr "B<SHT_STRTAB>"
3334
3335 #. type: Plain text
3336 #: build/C/man5/elf.5:1034
3337 msgid ""
3338 "This section holds a string table.  An object file may have multiple string "
3339 "table sections."
3340 msgstr ""
3341 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3342 "テーブルセクションを持つことができる。"
3343
3344 #. type: TP
3345 #: build/C/man5/elf.5:1034
3346 #, no-wrap
3347 msgid "B<SHT_RELA>"
3348 msgstr "B<SHT_RELA>"
3349
3350 #. type: Plain text
3351 #: build/C/man5/elf.5:1042
3352 msgid ""
3353 "This section holds relocation entries with explicit addends, such as type "
3354 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
3355 "multiple relocation sections."
3356 msgstr ""
3357 "このセクションは明示的な加数 (addend) を持つ再配置エントリーを保持する。 再配"
3358 "置エントリーの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> "
3359 "である。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3360
3361 #. type: TP
3362 #: build/C/man5/elf.5:1042
3363 #, no-wrap
3364 msgid "B<SHT_HASH>"
3365 msgstr "B<SHT_HASH>"
3366
3367 #. type: Plain text
3368 #: build/C/man5/elf.5:1049
3369 msgid ""
3370 "This section holds a symbol hash table.  An object participating in dynamic "
3371 "linking must contain a symbol hash table.  An object file may have only one "
3372 "hash table."
3373 msgstr ""
3374 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3375 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3376 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3377
3378 #. type: TP
3379 #: build/C/man5/elf.5:1049
3380 #, no-wrap
3381 msgid "B<SHT_DYNAMIC>"
3382 msgstr "B<SHT_DYNAMIC>"
3383
3384 #. type: Plain text
3385 #: build/C/man5/elf.5:1054
3386 msgid ""
3387 "This section holds information for dynamic linking.  An object file may have "
3388 "only one dynamic section."
3389 msgstr ""
3390 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3391 "的セクションのみを持つことができる。"
3392
3393 #. type: TP
3394 #: build/C/man5/elf.5:1054
3395 #, no-wrap
3396 msgid "B<SHT_NOTE>"
3397 msgstr "B<SHT_NOTE>"
3398
3399 #. type: Plain text
3400 #: build/C/man5/elf.5:1057
3401 msgid "This section holds information that marks the file in some way."
3402 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3403
3404 #. type: TP
3405 #: build/C/man5/elf.5:1057
3406 #, no-wrap
3407 msgid "B<SHT_NOBITS>"
3408 msgstr "B<SHT_NOBITS>"
3409
3410 #. type: Plain text
3411 #: build/C/man5/elf.5:1065
3412 msgid ""
3413 "A section of this type occupies no space in the file but otherwise resembles "
3414 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
3415 "member contains the conceptual file offset."
3416 msgstr ""
3417 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3418 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3419 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3420
3421 #. type: TP
3422 #: build/C/man5/elf.5:1065
3423 #, no-wrap
3424 msgid "B<SHT_REL>"
3425 msgstr "B<SHT_REL>"
3426
3427 #. type: Plain text
3428 #: build/C/man5/elf.5:1073
3429 msgid ""
3430 "This section holds relocation offsets without explicit addends, such as type "
3431 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
3432 "multiple relocation sections."
3433 msgstr ""
3434 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3435 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3436 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3437
3438 #. type: TP
3439 #: build/C/man5/elf.5:1073
3440 #, no-wrap
3441 msgid "B<SHT_SHLIB>"
3442 msgstr "B<SHT_SHLIB>"
3443
3444 #. type: Plain text
3445 #: build/C/man5/elf.5:1076
3446 msgid "This section is reserved but has unspecified semantics."
3447 msgstr "このセクションは予約されているが、意味は指定されていない。"
3448
3449 #. type: TP
3450 #: build/C/man5/elf.5:1076
3451 #, no-wrap
3452 msgid "B<SHT_DYNSYM>"
3453 msgstr "B<SHT_DYNSYM>"
3454
3455 #. type: Plain text
3456 #: build/C/man5/elf.5:1083
3457 msgid ""
3458 "This section holds a minimal set of dynamic linking symbols.  An object file "
3459 "can also contain a B<SHT_SYMTAB> section."
3460 msgstr ""
3461 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3462 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3463
3464 #. type: TP
3465 #: build/C/man5/elf.5:1083
3466 #, no-wrap
3467 msgid "B<SHT_LOPROC>"
3468 msgstr "B<SHT_LOPROC>"
3469
3470 #. type: Plain text
3471 #: build/C/man5/elf.5:1088
3472 msgid ""
3473 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3474 "specific semantics."
3475 msgstr ""
3476 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3477
3478 #. type: TP
3479 #: build/C/man5/elf.5:1088
3480 #, no-wrap
3481 msgid "B<SHT_HIPROC>"
3482 msgstr "B<SHT_HIPROC>"
3483
3484 #. type: Plain text
3485 #: build/C/man5/elf.5:1093
3486 msgid ""
3487 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3488 "specific semantics."
3489 msgstr ""
3490 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3491
3492 #. type: TP
3493 #: build/C/man5/elf.5:1093
3494 #, no-wrap
3495 msgid "B<SHT_LOUSER>"
3496 msgstr "B<SHT_LOUSER>"
3497
3498 #. type: Plain text
3499 #: build/C/man5/elf.5:1097
3500 msgid ""
3501 "This value specifies the lower bound of the range of indices reserved for "
3502 "application programs."
3503 msgstr ""
3504 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3505 "指定する。"
3506
3507 #. type: TP
3508 #: build/C/man5/elf.5:1097
3509 #, no-wrap
3510 msgid "B<SHT_HIUSER>"
3511 msgstr "B<SHT_HIUSER>"
3512
3513 #.  .El
3514 #. type: Plain text
3515 #: build/C/man5/elf.5:1108
3516 msgid ""
3517 "This value specifies the upper bound of the range of indices reserved for "
3518 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3519 "may be used by the application, without conflicting with current or future "
3520 "system-defined section types."
3521 msgstr ""
3522 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3523 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3524 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3525 "使用することができる。"
3526
3527 #. type: TP
3528 #: build/C/man5/elf.5:1109
3529 #, no-wrap
3530 msgid "I<sh_flags>"
3531 msgstr "I<sh_flags>"
3532
3533 #.  .Bl -tag -width "SHF_EXECINSTR" -compact
3534 #. type: Plain text
3535 #: build/C/man5/elf.5:1122
3536 msgid ""
3537 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
3538 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
3539 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
3540 "are set to zero."
3541 msgstr ""
3542 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3543 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3544 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3545 "義の属性は 0 に設定される。"
3546
3547 #. type: TP
3548 #: build/C/man5/elf.5:1123
3549 #, no-wrap
3550 msgid "B<SHF_WRITE>"
3551 msgstr "B<SHF_WRITE>"
3552
3553 #. type: Plain text
3554 #: build/C/man5/elf.5:1127
3555 msgid ""
3556 "This section contains data that should be writable during process execution."
3557 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3558
3559 #. type: TP
3560 #: build/C/man5/elf.5:1127
3561 #, no-wrap
3562 msgid "B<SHF_ALLOC>"
3563 msgstr "B<SHF_ALLOC>"
3564
3565 #. type: Plain text
3566 #: build/C/man5/elf.5:1134
3567 msgid ""
3568 "This section occupies memory during process execution.  Some control "
3569 "sections do not reside in the memory image of an object file.  This "
3570 "attribute is off for those sections."
3571 msgstr ""
3572 "このセクションはプロセス実行中にメモリーを使用する。 制御セクションの中には、"
3573 "オブジェクトファイルのメモリーイメージには 存在しないものもある。 そうしたセ"
3574 "クションの場合、この属性はオフである。"
3575
3576 #. type: TP
3577 #: build/C/man5/elf.5:1134
3578 #, no-wrap
3579 msgid "B<SHF_EXECINSTR>"
3580 msgstr "B<SHF_EXECINSTR>"
3581
3582 #. type: Plain text
3583 #: build/C/man5/elf.5:1137
3584 msgid "This section contains executable machine instructions."
3585 msgstr "このセクションは実行可能なマシン命令を含む。"
3586
3587 #. type: TP
3588 #: build/C/man5/elf.5:1137
3589 #, no-wrap
3590 msgid "B<SHF_MASKPROC>"
3591 msgstr "B<SHF_MASKPROC>"
3592
3593 #. type: Plain text
3594 #: build/C/man5/elf.5:1141
3595 msgid ""
3596 "All bits included in this mask are reserved for processor-specific semantics."
3597 msgstr ""
3598 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3599
3600 #. type: TP
3601 #: build/C/man5/elf.5:1143
3602 #, no-wrap
3603 msgid "I<sh_addr>"
3604 msgstr "I<sh_addr>"
3605
3606 #. type: Plain text
3607 #: build/C/man5/elf.5:1148
3608 msgid ""
3609 "If this section appears in the memory image of a process, this member holds "
3610 "the address at which the section's first byte should reside.  Otherwise, the "
3611 "member contains zero."
3612 msgstr ""
3613 "このセクションがプロセスのメモリーイメージにある場合、 このメンバはセクション"
3614 "の最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 "
3615 "である。"
3616
3617 #. type: TP
3618 #: build/C/man5/elf.5:1148
3619 #, no-wrap
3620 msgid "I<sh_offset>"
3621 msgstr "I<sh_offset>"
3622
3623 #. type: Plain text
3624 #: build/C/man5/elf.5:1157
3625 msgid ""
3626 "This member's value holds the byte offset from the beginning of the file to "
3627 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
3628 "space in the file, and its I<sh_offset> member locates the conceptual "
3629 "placement in the file."
3630 msgstr ""
3631 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3632 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3633 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3634
3635 #. type: TP
3636 #: build/C/man5/elf.5:1157
3637 #, no-wrap
3638 msgid "I<sh_size>"
3639 msgstr "I<sh_size>"
3640
3641 #. type: Plain text
3642 #: build/C/man5/elf.5:1169
3643 msgid ""
3644 "This member holds the section's size in bytes.  Unless the section type is "
3645 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
3646 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3647 "the file."
3648 msgstr ""
3649 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3650 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3651 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3652 "領域を使用しない。"
3653
3654 #. type: TP
3655 #: build/C/man5/elf.5:1169
3656 #, no-wrap
3657 msgid "I<sh_link>"
3658 msgstr "I<sh_link>"
3659
3660 #. type: Plain text
3661 #: build/C/man5/elf.5:1173
3662 msgid ""
3663 "This member holds a section header table index link, whose interpretation "
3664 "depends on the section type."
3665 msgstr ""
3666 "このメンバは、セクションヘッダーテーブルインデックスリンクを保持する。 この解"
3667 "釈はセクションタイプに依存する。"
3668
3669 #. type: TP
3670 #: build/C/man5/elf.5:1173
3671 #, no-wrap
3672 msgid "I<sh_info>"
3673 msgstr "I<sh_info>"
3674
3675 #. type: Plain text
3676 #: build/C/man5/elf.5:1177
3677 msgid ""
3678 "This member holds extra information, whose interpretation depends on the "
3679 "section type."
3680 msgstr ""
3681 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3682
3683 #. type: TP
3684 #: build/C/man5/elf.5:1177
3685 #, no-wrap
3686 msgid "I<sh_addralign>"
3687 msgstr "I<sh_addralign>"
3688
3689 #. type: Plain text
3690 #: build/C/man5/elf.5:1190
3691 msgid ""
3692 "Some sections have address alignment constraints.  If a section holds a "
3693 "doubleword, the system must ensure doubleword alignment for the entire "
3694 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
3695 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
3696 "are allowed.  Values of zero or one mean the section has no alignment "
3697 "constraints."
3698 msgstr ""
3699 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3700 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3701 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3702 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3703 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3704 "制約がないことを意味する。"
3705
3706 #. type: TP
3707 #: build/C/man5/elf.5:1190
3708 #, no-wrap
3709 msgid "I<sh_entsize>"
3710 msgstr "I<sh_entsize>"
3711
3712 #.  .El
3713 #. type: Plain text
3714 #: build/C/man5/elf.5:1197
3715 msgid ""
3716 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
3717 "For such a section, this member gives the size in bytes for each entry.  "
3718 "This member contains zero if the section does not hold a table of fixed-size "
3719 "entries."
3720 msgstr ""
3721 "シンボルテーブルのような固定サイズエントリーのテーブルを保持する セクションも"
3722 "ある。 このようなセクションでは、 このメンバは各エントリーのサイズ (バイト単"
3723 "位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリーの"
3724 "テーブルを保持しない。"
3725
3726 #.  .Bl -tag -width ".shstrtab"
3727 #. type: Plain text
3728 #: build/C/man5/elf.5:1200
3729 msgid "Various sections hold program and control information:"
3730 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3731
3732 #. type: TP
3733 #: build/C/man5/elf.5:1200
3734 #, no-wrap
3735 msgid "I<.bss>"
3736 msgstr "I<.bss>"
3737
3738 #. type: Plain text
3739 #: build/C/man5/elf.5:1212
3740 msgid ""
3741 "This section holds uninitialized data that contributes to the program's "
3742 "memory image.  By definition, the system initializes the data with zeros "
3743 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
3744 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3745 msgstr ""
3746 "このセクションはプログラムのメモリーイメージに配置される 非初期化データを保持"
3747 "する。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 "
3748 "このセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3749 "B<SHF_WRITE> である。"
3750
3751 #. type: TP
3752 #: build/C/man5/elf.5:1212
3753 #, no-wrap
3754 msgid "I<.comment>"
3755 msgstr "I<.comment>"
3756
3757 #. type: Plain text
3758 #: build/C/man5/elf.5:1218
3759 msgid ""
3760 "This section holds version control information.  This section is of type "
3761 "B<SHT_PROGBITS>.  No attribute types are used."
3762 msgstr ""
3763 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3764 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3765
3766 #. type: TP
3767 #: build/C/man5/elf.5:1218
3768 #, no-wrap
3769 msgid "I<.ctors>"
3770 msgstr "I<.ctors>"
3771
3772 #. type: Plain text
3773 #: build/C/man5/elf.5:1227
3774 msgid ""
3775 "This section holds initialized pointers to the C++ constructor functions.  "
3776 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3777 "B<SHF_ALLOC> and B<SHF_WRITE>."
3778 msgstr ""
3779 "このセクションは C++ コンストラクター関数への初期化されたポインターを保持す"
3780 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3781 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3782
3783 #. type: TP
3784 #: build/C/man5/elf.5:1227
3785 #, no-wrap
3786 msgid "I<.data>"
3787 msgstr "I<.data>"
3788
3789 #. type: Plain text
3790 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3791 msgid ""
3792 "This section holds initialized data that contribute to the program's memory "
3793 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
3794 "B<SHF_ALLOC> and B<SHF_WRITE>."
3795 msgstr ""
3796 "このセクションはプログラムのメモリーイメージに配置される 初期化済みデータを保"
3797 "持する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3798 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3799
3800 #. type: TP
3801 #: build/C/man5/elf.5:1237
3802 #, no-wrap
3803 msgid "I<.data1>"
3804 msgstr "I<.data1>"
3805
3806 #. type: TP
3807 #: build/C/man5/elf.5:1247
3808 #, no-wrap
3809 msgid "I<.debug>"
3810 msgstr "I<.debug>"
3811
3812 #. type: Plain text
3813 #: build/C/man5/elf.5:1255
3814 msgid ""
3815 "This section holds information for symbolic debugging.  The contents are "
3816 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
3817 "are used."
3818 msgstr ""
3819 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3820 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3821 "れない。"
3822
3823 #. type: TP
3824 #: build/C/man5/elf.5:1255
3825 #, no-wrap
3826 msgid "I<.dtors>"
3827 msgstr "I<.dtors>"
3828
3829 #. type: Plain text
3830 #: build/C/man5/elf.5:1264
3831 msgid ""
3832 "This section holds initialized pointers to the C++ destructor functions.  "
3833 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3834 "B<SHF_ALLOC> and B<SHF_WRITE>."
3835 msgstr ""
3836 "このセクションは C++ デストラクタ関数への初期化されたポインターを保持する。 "
3837 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3838 "と B<SHF_WRITE> である。"
3839
3840 #. type: TP
3841 #: build/C/man5/elf.5:1264
3842 #, no-wrap
3843 msgid "I<.dynamic>"
3844 msgstr "I<.dynamic>"
3845
3846 #. type: Plain text
3847 #: build/C/man5/elf.5:1277
3848 msgid ""
3849 "This section holds dynamic linking information.  The section's attributes "
3850 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
3851 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
3852 "attributes above."
3853 msgstr ""
3854 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3855 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3856 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3857 "ること。"
3858
3859 #. type: TP
3860 #: build/C/man5/elf.5:1277
3861 #, no-wrap
3862 msgid "I<.dynstr>"
3863 msgstr "I<.dynstr>"
3864
3865 #. type: Plain text
3866 #: build/C/man5/elf.5:1285
3867 msgid ""
3868 "This section holds strings needed for dynamic linking, most commonly the "
3869 "strings that represent the names associated with symbol table entries.  This "
3870 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
3871 msgstr ""
3872 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3873 "列はシンボルテーブルエントリーと 関連づけられた名前を表す。 このセクションの"
3874 "タイプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3875
3876 #. type: TP
3877 #: build/C/man5/elf.5:1285
3878 #, no-wrap
3879 msgid "I<.dynsym>"
3880 msgstr "I<.dynsym>"
3881
3882 #. type: Plain text
3883 #: build/C/man5/elf.5:1292
3884 msgid ""
3885 "This section holds the dynamic linking symbol table.  This section is of "
3886 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
3887 msgstr ""
3888 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3889 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3890
3891 #. type: TP
3892 #: build/C/man5/elf.5:1292
3893 #, no-wrap
3894 msgid "I<.fini>"
3895 msgstr "I<.fini>"
3896
3897 #. type: Plain text
3898 #: build/C/man5/elf.5:1304
3899 msgid ""
3900 "This section holds executable instructions that contribute to the process "
3901 "termination code.  When a program exits normally the system arranges to "
3902 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
3903 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3904 msgstr ""
3905 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3906 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3907 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3908 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3909
3910 #. type: TP
3911 #: build/C/man5/elf.5:1304
3912 #, no-wrap
3913 msgid "I<.gnu.version>"
3914 msgstr "I<.gnu.version>"
3915
3916 #. type: Plain text
3917 #: build/C/man5/elf.5:1313
3918 msgid ""
3919 "This section holds the version symbol table, an array of I<ElfN_Half> "
3920 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
3921 "used is B<SHF_ALLOC>."
3922 msgstr ""
3923 "このセクションはバージョンシンボルテーブルを保持する。 その内容は "
3924 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3925 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3926
3927 #. type: TP
3928 #: build/C/man5/elf.5:1313
3929 #, no-wrap
3930 msgid "I<.gnu.version_d>"
3931 msgstr "I<.gnu.version_d>"
3932
3933 #. type: Plain text
3934 #: build/C/man5/elf.5:1322
3935 msgid ""
3936 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3937 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
3938 "used is B<SHF_ALLOC>."
3939 msgstr ""
3940 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3941 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3942 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3943
3944 #. type: TP
3945 #: build/C/man5/elf.5:1322
3946 #, no-wrap
3947 msgid "I<.gnu.version_r>"
3948 msgstr "I<.gnu.version_r>"
3949
3950 #. type: Plain text
3951 #: build/C/man5/elf.5:1332
3952 msgid ""
3953 "This section holds the version symbol needed elements, a table of "
3954 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
3955 "attribute type used is B<SHF_ALLOC>."
3956 msgstr ""
3957 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3958 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3959 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3960
3961 #. type: TP
3962 #: build/C/man5/elf.5:1332
3963 #, no-wrap
3964 msgid "I<.got>"
3965 msgstr "I<.got>"
3966
3967 #. type: Plain text
3968 #: build/C/man5/elf.5:1338
3969 msgid ""
3970 "This section holds the global offset table.  This section is of type "
3971 "B<SHT_PROGBITS>.  The attributes are processor-specific."
3972 msgstr ""
3973 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3974 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3975
3976 #. type: TP
3977 #: build/C/man5/elf.5:1338
3978 #, no-wrap
3979 msgid "I<.hash>"
3980 msgstr "I<.hash>"
3981
3982 #. type: Plain text
3983 #: build/C/man5/elf.5:1345
3984 msgid ""
3985 "This section holds a symbol hash table.  This section is of type "
3986 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
3987 msgstr ""
3988 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3989 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3990
3991 #. type: TP
3992 #: build/C/man5/elf.5:1345
3993 #, no-wrap
3994 msgid "I<.init>"
3995 msgstr "I<.init>"
3996
3997 #. type: Plain text
3998 #: build/C/man5/elf.5:1357
3999 msgid ""
4000 "This section holds executable instructions that contribute to the process "
4001 "initialization code.  When a program starts to run the system arranges to "
4002 "execute the code in this section before calling the main program entry "
4003 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
4004 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4005 msgstr ""
4006 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
4007 "グラムが実行を開始すると、 システムはメインプログラムエントリーポイントを呼び"
4008 "出す前に、 このセクションにあるコードを配置して実行する。 このセクションはの"
4009 "タイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4010 "B<SHF_EXECINSTR> である。"
4011
4012 #. type: TP
4013 #: build/C/man5/elf.5:1357
4014 #, no-wrap
4015 msgid "I<.interp>"
4016 msgstr "I<.interp>"
4017
4018 #. type: Plain text
4019 #: build/C/man5/elf.5:1368
4020 msgid ""
4021 "This section holds the pathname of a program interpreter.  If the file has a "
4022 "loadable segment that includes the section, the section's attributes will "
4023 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
4024 "section is of type B<SHT_PROGBITS>."
4025 msgstr ""
4026 "このセクションはプログラムインタープリターのパス名を保持する。 ファイルにこの"
4027 "セクションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4028 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4029 "クションのタイプは B<SHT_PROGBITS> である。"
4030
4031 #. type: TP
4032 #: build/C/man5/elf.5:1368
4033 #, no-wrap
4034 msgid "I<.line>"
4035 msgstr "I<.line>"
4036
4037 #. type: Plain text
4038 #: build/C/man5/elf.5:1376
4039 msgid ""
4040 "This section holds line number information for symbolic debugging, which "
4041 "describes the correspondence between the program source and the machine "
4042 "code.  The contents are unspecified.  This section is of type "
4043 "B<SHT_PROGBITS>.  No attribute types are used."
4044 msgstr ""
4045 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4046 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4047 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4048 "ない。"
4049
4050 #. type: TP
4051 #: build/C/man5/elf.5:1376
4052 #, no-wrap
4053 msgid "I<.note>"
4054 msgstr "I<.note>"
4055
4056 #. type: Plain text
4057 #: build/C/man5/elf.5:1389
4058 msgid ""
4059 "This section holds information in the \"Note Section\" format.  This section "
4060 "is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD native "
4061 "executables usually contain a I<.note.openbsd.ident> section to identify "
4062 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4063 "tests when loading the file."
4064 msgstr ""
4065 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4066 "プ\n"
4067 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4068 "行\n"
4069 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4070 "つ。\n"
4071 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4072 "ショ\n"
4073 "ンテストを回避できる。"
4074
4075 #. type: TP
4076 #: build/C/man5/elf.5:1389
4077 #, no-wrap
4078 msgid "I<.note.GNU-stack>"
4079 msgstr "I<.note.GNU-stack>"
4080
4081 #. type: Plain text
4082 #: build/C/man5/elf.5:1398
4083 msgid ""
4084 "This section is used in Linux object files for declaring stack attributes.  "
4085 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
4086 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
4087 "requires an executable stack."
4088 msgstr ""
4089 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4090 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4091 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカーに対して オブジェクトファ"
4092 "イルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4093
4094 #. type: TP
4095 #: build/C/man5/elf.5:1398
4096 #, no-wrap
4097 msgid "I<.plt>"
4098 msgstr "I<.plt>"
4099
4100 #. type: Plain text
4101 #: build/C/man5/elf.5:1404
4102 msgid ""
4103 "This section holds the procedure linkage table.  This section is of type "
4104 "B<SHT_PROGBITS>.  The attributes are processor-specific."
4105 msgstr ""
4106 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4107 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4108
4109 #. type: TP
4110 #: build/C/man5/elf.5:1404
4111 #, no-wrap
4112 msgid "I<.relNAME>"
4113 msgstr "I<.relNAME>"
4114
4115 #. type: Plain text
4116 #: build/C/man5/elf.5:1423
4117 msgid ""
4118 "This section holds relocation information as described below.  If the file "
4119 "has a loadable segment that includes relocation, the section's attributes "
4120 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4121 "convention, \"NAME\" is supplied by the section to which the relocations "
4122 "apply.  Thus a relocation section for B<.text> normally would have the name "
4123 "B<.rel.text>.  This section is of type B<SHT_REL>."
4124 msgstr ""
4125 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4126 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4127 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4128 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4129 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4130 "プは B<SHT_REL> である。"
4131
4132 #. type: TP
4133 #: build/C/man5/elf.5:1423
4134 #, no-wrap
4135 msgid "I<.relaNAME>"
4136 msgstr "I<.relaNAME>"
4137
4138 #. type: Plain text
4139 #: build/C/man5/elf.5:1442
4140 msgid ""
4141 "This section holds relocation information as described below.  If the file "
4142 "has a loadable segment that includes relocation, the section's attributes "
4143 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4144 "convention, \"NAME\" is supplied by the section to which the relocations "
4145 "apply.  Thus a relocation section for B<.text> normally would have the name "
4146 "B<.rela.text>.  This section is of type B<SHT_RELA>."
4147 msgstr ""
4148 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4149 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4150 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4151 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4152 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4153 "イプは B<SHT_RELA> である。"
4154
4155 #. type: TP
4156 #: build/C/man5/elf.5:1442
4157 #, no-wrap
4158 msgid "I<.rodata>"
4159 msgstr "I<.rodata>"
4160
4161 #. type: Plain text
4162 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4163 msgid ""
4164 "This section holds read-only data that typically contributes to a "
4165 "nonwritable segment in the process image.  This section is of type "
4166 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
4167 msgstr ""
4168 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4169 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4170 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4171
4172 #. type: TP
4173 #: build/C/man5/elf.5:1450
4174 #, no-wrap
4175 msgid "I<.rodata1>"
4176 msgstr "I<.rodata1>"
4177
4178 #. type: TP
4179 #: build/C/man5/elf.5:1458
4180 #, no-wrap
4181 msgid "I<.shstrtab>"
4182 msgstr "I<.shstrtab>"
4183
4184 #. type: Plain text
4185 #: build/C/man5/elf.5:1464
4186 msgid ""
4187 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
4188 "No attribute types are used."
4189 msgstr ""
4190 "このセクションはセクション名を保持する。 このセクションのタイプは "
4191 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4192
4193 #. type: TP
4194 #: build/C/man5/elf.5:1464
4195 #, no-wrap
4196 msgid "I<.strtab>"
4197 msgstr "I<.strtab>"
4198
4199 #. type: Plain text
4200 #: build/C/man5/elf.5:1476
4201 msgid ""
4202 "This section holds strings, most commonly the strings that represent the "
4203 "names associated with symbol table entries.  If the file has a loadable "
4204 "segment that includes the symbol string table, the section's attributes will "
4205 "include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section "
4206 "is of type B<SHT_STRTAB>."
4207 msgstr ""
4208 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエント"
4209 "リーに関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブ"
4210 "ルを含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビッ"
4211 "トを含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4212 "B<SHT_STRTAB> である。"
4213
4214 #. type: TP
4215 #: build/C/man5/elf.5:1476
4216 #, no-wrap
4217 msgid "I<.symtab>"
4218 msgstr "I<.symtab>"
4219
4220 #. type: Plain text
4221 #: build/C/man5/elf.5:1487
4222 msgid ""
4223 "This section holds a symbol table.  If the file has a loadable segment that "
4224 "includes the symbol table, the section's attributes will include the "
4225 "B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section is of type "
4226 "B<SHT_SYMTAB>."
4227 msgstr ""
4228 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4229 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4230 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4231 "B<SHT_SYMTAB> である。"
4232
4233 #. type: TP
4234 #: build/C/man5/elf.5:1487
4235 #, no-wrap
4236 msgid "I<.text>"
4237 msgstr "I<.text>"
4238
4239 #.  .El
4240 #. type: Plain text
4241 #: build/C/man5/elf.5:1499
4242 msgid ""
4243 "This section holds the \"text\", or executable instructions, of a program.  "
4244 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
4245 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4246 msgstr ""
4247 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4248 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4249 "B<SHF_EXECINSTR> である。"
4250
4251 #. type: Plain text
4252 #: build/C/man5/elf.5:1510
4253 msgid ""
4254 "String table sections hold null-terminated character sequences, commonly "
4255 "called strings.  The object file uses these strings to represent symbol and "
4256 "section names.  One references a string as an index into the string table "
4257 "section.  The first byte, which is index zero, is defined to hold a null "
4258 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
4259 "hold a null byte, ensuring null termination for all strings."
4260 msgstr ""
4261 "文字列テーブルセクションはヌル文字で終端されたキャラクター配列 (通常文字列と"
4262 "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名"
4263 "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン"
4264 "デックスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
4265 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
4266 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
4267 "ていることを保証するためである。"
4268
4269 #. type: Plain text
4270 #: build/C/man5/elf.5:1515
4271 msgid ""
4272 "An object file's symbol table holds information needed to locate and "
4273 "relocate a program's symbolic definitions and references.  A symbol table "
4274 "index is a subscript into this array."
4275 msgstr ""
4276 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4277 "置または再配置するのに 必要な情報を保持する。"
4278
4279 #. type: Plain text
4280 #: build/C/man5/elf.5:1526
4281 #, no-wrap
4282 msgid ""
4283 "typedef struct {\n"
4284 "    uint32_t      st_name;\n"
4285 "    Elf32_Addr    st_value;\n"
4286 "    uint32_t      st_size;\n"
4287 "    unsigned char st_info;\n"
4288 "    unsigned char st_other;\n"
4289 "    uint16_t      st_shndx;\n"
4290 "} Elf32_Sym;\n"
4291 msgstr ""
4292 "typedef struct {\n"
4293 "    uint32_t      st_name;\n"
4294 "    Elf32_Addr    st_value;\n"
4295 "    uint32_t      st_size;\n"
4296 "    unsigned char st_info;\n"
4297 "    unsigned char st_other;\n"
4298 "    uint16_t      st_shndx;\n"
4299 "} Elf32_Sym;\n"
4300
4301 #. type: Plain text
4302 #: build/C/man5/elf.5:1539
4303 #, no-wrap
4304 msgid ""
4305 "typedef struct {\n"
4306 "    uint32_t      st_name;\n"
4307 "    unsigned char st_info;\n"
4308 "    unsigned char st_other;\n"
4309 "    uint16_t      st_shndx;\n"
4310 "    Elf64_Addr    st_value;\n"
4311 "    uint64_t      st_size;\n"
4312 "} Elf64_Sym;\n"
4313 msgstr ""
4314 "typedef struct {\n"
4315 "    uint32_t      st_name;\n"
4316 "    unsigned char st_info;\n"
4317 "    unsigned char st_other;\n"
4318 "    uint16_t      st_shndx;\n"
4319 "    Elf64_Addr    st_value;\n"
4320 "    uint64_t      st_size;\n"
4321 "} Elf64_Sym;\n"
4322
4323 #.  .Bl -tag -width "st_value"
4324 #. type: Plain text
4325 #: build/C/man5/elf.5:1545
4326 msgid ""
4327 "The 32-bit and 64-bit versions have the same members, just in a different "
4328 "order."
4329 msgstr ""
4330 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4331
4332 #. type: TP
4333 #: build/C/man5/elf.5:1545
4334 #, no-wrap
4335 msgid "I<st_name>"
4336 msgstr "I<st_name>"
4337
4338 #. type: Plain text
4339 #: build/C/man5/elf.5:1553
4340 msgid ""
4341 "This member holds an index into the object file's symbol string table, which "
4342 "holds character representations of the symbol names.  If the value is "
4343 "nonzero, it represents a string table index that gives the symbol name.  "
4344 "Otherwise, the symbol table has no name."
4345 msgstr ""
4346 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4347 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4348 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4349 "合、シンボルテーブルは名前を持たない。"
4350
4351 #. type: TP
4352 #: build/C/man5/elf.5:1553
4353 #, no-wrap
4354 msgid "I<st_value>"
4355 msgstr "I<st_value>"
4356
4357 #. type: Plain text
4358 #: build/C/man5/elf.5:1556
4359 msgid "This member gives the value of the associated symbol."
4360 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4361
4362 #. type: TP
4363 #: build/C/man5/elf.5:1556
4364 #, no-wrap
4365 msgid "I<st_size>"
4366 msgstr "I<st_size>"
4367
4368 #. type: Plain text
4369 #: build/C/man5/elf.5:1561
4370 msgid ""
4371 "Many symbols have associated sizes.  This member holds zero if the symbol "
4372 "has no size or an unknown size."
4373 msgstr ""
4374 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4375 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4376
4377 #. type: TP
4378 #: build/C/man5/elf.5:1561
4379 #, no-wrap
4380 msgid "I<st_info>"
4381 msgstr "I<st_info>"
4382
4383 #.  .Bl -tag -width "STT_SECTION"
4384 #. type: Plain text
4385 #: build/C/man5/elf.5:1565
4386 msgid "This member specifies the symbol's type and binding attributes:"
4387 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4388
4389 #. type: TP
4390 #: build/C/man5/elf.5:1566
4391 #, no-wrap
4392 msgid "B<STT_NOTYPE>"
4393 msgstr "B<STT_NOTYPE>"
4394
4395 #. type: Plain text
4396 #: build/C/man5/elf.5:1569
4397 msgid "The symbol's type is not defined."
4398 msgstr "シンボルのタイプが定義されていない。"
4399
4400 #. type: TP
4401 #: build/C/man5/elf.5:1569
4402 #, no-wrap
4403 msgid "B<STT_OBJECT>"
4404 msgstr "B<STT_OBJECT>"
4405
4406 #. type: Plain text
4407 #: build/C/man5/elf.5:1572
4408 msgid "The symbol is associated with a data object."
4409 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4410
4411 #. type: TP
4412 #: build/C/man5/elf.5:1572
4413 #, no-wrap
4414 msgid "B<STT_FUNC>"
4415 msgstr "B<STT_FUNC>"
4416
4417 #. type: Plain text
4418 #: build/C/man5/elf.5:1575
4419 msgid "The symbol is associated with a function or other executable code."
4420 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4421
4422 #. type: TP
4423 #: build/C/man5/elf.5:1575
4424 #, no-wrap
4425 msgid "B<STT_SECTION>"
4426 msgstr "B<STT_SECTION>"
4427
4428 #. type: Plain text
4429 #: build/C/man5/elf.5:1582
4430 msgid ""
4431 "The symbol is associated with a section.  Symbol table entries of this type "
4432 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4433 msgstr ""
4434 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4435 "リーは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4436 "つ。"
4437
4438 #. type: TP
4439 #: build/C/man5/elf.5:1582
4440 #, no-wrap
4441 msgid "B<STT_FILE>"
4442 msgstr "B<STT_FILE>"
4443
4444 #. type: Plain text
4445 #: build/C/man5/elf.5:1593
4446 msgid ""
4447 "By convention, the symbol's name gives the name of the source file "
4448 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
4449 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4450 "symbols of the file, if it is present."
4451 msgstr ""
4452 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4453 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4454 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4455 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4456
4457 #. type: TP
4458 #: build/C/man5/elf.5:1593
4459 #, no-wrap
4460 msgid "B<STT_LOPROC>"
4461 msgstr "B<STT_LOPROC>"
4462
4463 #. type: Plain text
4464 #: build/C/man5/elf.5:1598
4465 msgid ""
4466 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4467 "specific semantics."
4468 msgstr ""
4469 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4470
4471 #. type: TP
4472 #: build/C/man5/elf.5:1598
4473 #, no-wrap
4474 msgid "B<STT_HIPROC>"
4475 msgstr "B<STT_HIPROC>"
4476
4477 #.  .El
4478 #.  .Bl -tag -width "STB_GLOBAL"
4479 #. type: Plain text
4480 #: build/C/man5/elf.5:1605
4481 msgid ""
4482 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4483 "specific semantics."
4484 msgstr ""
4485 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4486
4487 #. type: TP
4488 #: build/C/man5/elf.5:1605
4489 #, no-wrap
4490 msgid "B<STB_LOCAL>"
4491 msgstr "B<STB_LOCAL>"
4492
4493 #. type: Plain text
4494 #: build/C/man5/elf.5:1611
4495 msgid ""
4496 "Local symbols are not visible outside the object file containing their "
4497 "definition.  Local symbols of the same name may exist in multiple files "
4498 "without interfering with each other."
4499 msgstr ""
4500 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4501 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4502 "る。"
4503
4504 #. type: TP
4505 #: build/C/man5/elf.5:1611
4506 #, no-wrap
4507 msgid "B<STB_GLOBAL>"
4508 msgstr "B<STB_GLOBAL>"
4509
4510 #. type: Plain text
4511 #: build/C/man5/elf.5:1617
4512 msgid ""
4513 "Global symbols are visible to all object files being combined.  One file's "
4514 "definition of a global symbol will satisfy another file's undefined "
4515 "reference to the same symbol."
4516 msgstr ""
4517 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4518 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4519 "の参照は未定義でなければならない。"
4520
4521 #. type: TP
4522 #: build/C/man5/elf.5:1617
4523 #, no-wrap
4524 msgid "B<STB_WEAK>"
4525 msgstr "B<STB_WEAK>"
4526
4527 #. type: Plain text
4528 #: build/C/man5/elf.5:1621
4529 msgid ""
4530 "Weak symbols resemble global symbols, but their definitions have lower "
4531 "precedence."
4532 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4533
4534 #. type: TP
4535 #: build/C/man5/elf.5:1621
4536 #, no-wrap
4537 msgid "B<STB_LOPROC>"
4538 msgstr "B<STB_LOPROC>"
4539
4540 #. type: Plain text
4541 #: build/C/man5/elf.5:1626
4542 msgid ""
4543 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4544 "specific semantics."
4545 msgstr ""
4546 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4547
4548 #. type: TP
4549 #: build/C/man5/elf.5:1626
4550 #, no-wrap
4551 msgid "B<STB_HIPROC>"
4552 msgstr "B<STB_HIPROC>"
4553
4554 #. type: Plain text
4555 #: build/C/man5/elf.5:1631
4556 msgid ""
4557 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4558 "specific semantics."
4559 msgstr ""
4560 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4561
4562 #. type: Plain text
4563 #: build/C/man5/elf.5:1633
4564 msgid "There are macros for packing and unpacking the binding and type fields:"
4565 msgstr ""
4566 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4567 "る:"
4568
4569 #. type: Plain text
4570 #: build/C/man5/elf.5:1640
4571 msgid ""
4572 "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from an "
4573 "I<st_info> value."
4574 msgstr ""
4575 "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値からバ"
4576 "インディングを取り出す。"
4577
4578 #. type: Plain text
4579 #: build/C/man5/elf.5:1644
4580 msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
4581 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
4582
4583 #. type: Plain text
4584 #: build/C/man5/elf.5:1648
4585 msgid "extract a type from an I<st_info> value."
4586 msgstr "I<st_info> の値からタイプを取り出す。"
4587
4588 #. type: Plain text
4589 #: build/C/man5/elf.5:1652
4590 msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
4591 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
4592
4593 #. type: Plain text
4594 #: build/C/man5/elf.5:1656
4595 msgid "convert a binding and a type into an I<st_info> value."
4596 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4597
4598 #. type: TP
4599 #: build/C/man5/elf.5:1658
4600 #, no-wrap
4601 msgid "I<st_other>"
4602 msgstr "I<st_other>"
4603
4604 #.  .Bl -tag -width "STV_PROTECTED"
4605 #. type: Plain text
4606 #: build/C/man5/elf.5:1662
4607 msgid "This member defines the symbol visibility."
4608 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4609
4610 #. type: TP
4611 #: build/C/man5/elf.5:1663
4612 #, no-wrap
4613 msgid "B<STV_DEFAULT>"
4614 msgstr "B<STV_DEFAULT>"
4615
4616 #. type: Plain text
4617 #: build/C/man5/elf.5:1667
4618 msgid "Default symbol visibility rules."
4619 msgstr "デフォルトのシンボル visibility ルール。"
4620
4621 #. type: TP
4622 #: build/C/man5/elf.5:1667
4623 #, no-wrap
4624 msgid "B<STV_INTERNAL>"
4625 msgstr "B<STV_INTERNAL>"
4626
4627 #. type: Plain text
4628 #: build/C/man5/elf.5:1670
4629 msgid "Processor-specific hidden class."
4630 msgstr "プロセッサ固有の隠しクラス。"
4631
4632 #. type: TP
4633 #: build/C/man5/elf.5:1670
4634 #, no-wrap
4635 msgid "B<STV_HIDDEN>"
4636 msgstr "B<STV_HIDDEN>"
4637
4638 #. type: Plain text
4639 #: build/C/man5/elf.5:1673
4640 msgid "Symbol is unavailable in other modules."
4641 msgstr "シンボルは他のモジュールからは利用できない。"
4642
4643 #. type: TP
4644 #: build/C/man5/elf.5:1673
4645 #, no-wrap
4646 msgid "B<STV_PROTECTED>"
4647 msgstr "B<STV_PROTECTED>"
4648
4649 #. type: Plain text
4650 #: build/C/man5/elf.5:1676
4651 msgid "Not preemptible, not exported."
4652 msgstr "横取りできず (not preemptible)、公開されない。"
4653
4654 #. type: Plain text
4655 #: build/C/man5/elf.5:1679
4656 msgid "There are macros for extracting the visibility type:"
4657 msgstr "visibility 種別を抽出するためのマクロがある。"
4658
4659 #. type: Plain text
4660 #: build/C/man5/elf.5:1683
4661 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
4662 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
4663
4664 #. type: TP
4665 #: build/C/man5/elf.5:1685
4666 #, no-wrap
4667 msgid "I<st_shndx>"
4668 msgstr "I<st_shndx>"
4669
4670 #.  .El
4671 #. type: Plain text
4672 #: build/C/man5/elf.5:1693
4673 msgid ""
4674 "Every symbol table entry is \"defined\" in relation to some section.  This "
4675 "member holds the relevant section header table index."
4676 msgstr ""
4677 "各シンボルテーブルエントリーは、いくつかのセクションに関連して \"定義されてい"
4678 "る\"。 このメンバは関連するセクションヘッダーテーブルインデックスを保持する。"
4679
4680 #. type: Plain text
4681 #: build/C/man5/elf.5:1701
4682 msgid ""
4683 "Relocation is the process of connecting symbolic references with symbolic "
4684 "definitions.  Relocatable files must have information that describes how to "
4685 "modify their section contents, thus allowing executable and shared object "
4686 "files to hold the right information for a process's program image.  "
4687 "Relocation entries are these data."
4688 msgstr ""
4689 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4690 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4691 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4692 "グラムイメージについての正しい情報を持つことができる。 再配置エントリーは以下"
4693 "のようなデータである。"
4694
4695 #. type: Plain text
4696 #: build/C/man5/elf.5:1703
4697 msgid "Relocation structures that do not need an addend:"
4698 msgstr "加数を必要としない再配置構造体。"
4699
4700 #. type: Plain text
4701 #: build/C/man5/elf.5:1710
4702 #, no-wrap
4703 msgid ""
4704 "typedef struct {\n"
4705 "    Elf32_Addr r_offset;\n"
4706 "    uint32_t   r_info;\n"
4707 "} Elf32_Rel;\n"
4708 msgstr ""
4709 "typedef struct {\n"
4710 "    Elf32_Addr r_offset;\n"
4711 "    uint32_t   r_info;\n"
4712 "} Elf32_Rel;\n"
4713
4714 #. type: Plain text
4715 #: build/C/man5/elf.5:1719
4716 #, no-wrap
4717 msgid ""
4718 "typedef struct {\n"
4719 "    Elf64_Addr r_offset;\n"
4720 "    uint64_t   r_info;\n"
4721 "} Elf64_Rel;\n"
4722 msgstr ""
4723 "typedef struct {\n"
4724 "    Elf64_Addr r_offset;\n"
4725 "    uint64_t   r_info;\n"
4726 "} Elf64_Rel;\n"
4727
4728 #. type: Plain text
4729 #: build/C/man5/elf.5:1723
4730 msgid "Relocation structures that need an addend:"
4731 msgstr "加数を必要とする再配置構造体。"
4732
4733 #. type: Plain text
4734 #: build/C/man5/elf.5:1731
4735 #, no-wrap
4736 msgid ""
4737 "typedef struct {\n"
4738 "    Elf32_Addr r_offset;\n"
4739 "    uint32_t   r_info;\n"
4740 "    int32_t    r_addend;\n"
4741 "} Elf32_Rela;\n"
4742 msgstr ""
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
4749 #. type: Plain text
4750 #: build/C/man5/elf.5:1741
4751 #, no-wrap
4752 msgid ""
4753 "typedef struct {\n"
4754 "    Elf64_Addr r_offset;\n"
4755 "    uint64_t   r_info;\n"
4756 "    int64_t    r_addend;\n"
4757 "} Elf64_Rela;\n"
4758 msgstr ""
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
4765 #. type: TP
4766 #: build/C/man5/elf.5:1744
4767 #, no-wrap
4768 msgid "I<r_offset>"
4769 msgstr "I<r_offset>"
4770
4771 #. type: Plain text
4772 #: build/C/man5/elf.5:1752
4773 msgid ""
4774 "This member gives the location at which to apply the relocation action.  For "
4775 "a relocatable file, the value is the byte offset from the beginning of the "
4776 "section to the storage unit affected by the relocation.  For an executable "
4777 "file or shared object, the value is the virtual address of the storage unit "
4778 "affected by the relocation."
4779 msgstr ""
4780 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4781 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4782 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4783 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4784
4785 #. type: TP
4786 #: build/C/man5/elf.5:1752
4787 #, no-wrap
4788 msgid "I<r_info>"
4789 msgstr "I<r_info>"
4790
4791 #. type: Plain text
4792 #: build/C/man5/elf.5:1767
4793 msgid ""
4794 "This member gives both the symbol table index with respect to which the "
4795 "relocation must be made and the type of relocation to apply.  Relocation "
4796 "types are processor-specific.  When the text refers to a relocation entry's "
4797 "relocation type or symbol table index, it means the result of applying "
4798 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4799 "I<r_info> member."
4800 msgstr ""
4801 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4802 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4803 "る。 テキストが再配置エントリーの再配置タイプ またはシンボルテーブルインデッ"
4804 "クスを参照している場合、 それぞれエントリーの I<r_info> メンバに対して、それ"
4805 "ぞれ B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4806
4807 #. type: TP
4808 #: build/C/man5/elf.5:1767
4809 #, no-wrap
4810 msgid "I<r_addend>"
4811 msgstr "I<r_addend>"
4812
4813 #.  .El
4814 #. type: Plain text
4815 #: build/C/man5/elf.5:1772
4816 msgid ""
4817 "This member specifies a constant addend used to compute the value to be "
4818 "stored into the relocatable field."
4819 msgstr ""
4820 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4821 "値を計算するために使われる。"
4822
4823 #. type: Plain text
4824 #: build/C/man5/elf.5:1777
4825 msgid ""
4826 "The .dynamic section contains a series of structures that hold relevant "
4827 "dynamic linking information.  The d_tag member controls the interpretation "
4828 "of d_un."
4829 msgstr ""
4830 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4831 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4832
4833 #. type: Plain text
4834 #: build/C/man5/elf.5:1788
4835 #, no-wrap
4836 msgid ""
4837 "typedef struct {\n"
4838 "    Elf32_Sword    d_tag;\n"
4839 "    union {\n"
4840 "        Elf32_Word d_val;\n"
4841 "        Elf32_Addr d_ptr;\n"
4842 "    } d_un;\n"
4843 "} Elf32_Dyn;\n"
4844 "extern Elf32_Dyn _DYNAMIC[];\n"
4845 msgstr ""
4846 "typedef struct {\n"
4847 "    Elf32_Sword    d_tag;\n"
4848 "    union {\n"
4849 "        Elf32_Word d_val;\n"
4850 "        Elf32_Addr d_ptr;\n"
4851 "    } d_un;\n"
4852 "} Elf32_Dyn;\n"
4853 "extern Elf32_Dyn _DYNAMIC[];\n"
4854
4855 #. type: Plain text
4856 #: build/C/man5/elf.5:1801
4857 #, no-wrap
4858 msgid ""
4859 "typedef struct {\n"
4860 "    Elf64_Sxword    d_tag;\n"
4861 "    union {\n"
4862 "        Elf64_Xword d_val;\n"
4863 "        Elf64_Addr  d_ptr;\n"
4864 "    } d_un;\n"
4865 "} Elf64_Dyn;\n"
4866 "extern Elf64_Dyn _DYNAMIC[];\n"
4867 msgstr ""
4868 "typedef struct {\n"
4869 "    Elf64_Sxword    d_tag;\n"
4870 "    union {\n"
4871 "        Elf64_Xword d_val;\n"
4872 "        Elf64_Addr  d_ptr;\n"
4873 "    } d_un;\n"
4874 "} Elf64_Dyn;\n"
4875 "extern Elf64_Dyn _DYNAMIC[];\n"
4876
4877 #. type: TP
4878 #: build/C/man5/elf.5:1804
4879 #, no-wrap
4880 msgid "I<d_tag>"
4881 msgstr "I<d_tag>"
4882
4883 #.  .Bl -tag -width "DT_SYMBOLIC"
4884 #. type: Plain text
4885 #: build/C/man5/elf.5:1808
4886 msgid "This member may have any of the following values:"
4887 msgstr "このメンバは以下の値を持つことができる:"
4888
4889 #. type: TP
4890 #: build/C/man5/elf.5:1809
4891 #, no-wrap
4892 msgid "B<DT_NULL>"
4893 msgstr "B<DT_NULL>"
4894
4895 #. type: Plain text
4896 #: build/C/man5/elf.5:1812
4897 msgid "Marks end of dynamic section"
4898 msgstr "動的セクションの終りのマーク"
4899
4900 #. type: TP
4901 #: build/C/man5/elf.5:1812
4902 #, no-wrap
4903 msgid "B<DT_NEEDED>"
4904 msgstr "B<DT_NEEDED>"
4905
4906 #. type: Plain text
4907 #: build/C/man5/elf.5:1815
4908 msgid "String table offset to name of a needed library"
4909 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4910
4911 #. type: TP
4912 #: build/C/man5/elf.5:1815
4913 #, no-wrap
4914 msgid "B<DT_PLTRELSZ>"
4915 msgstr "B<DT_PLTRELSZ>"
4916
4917 #. type: Plain text
4918 #: build/C/man5/elf.5:1818
4919 msgid "Size in bytes of PLT relocs"
4920 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4921
4922 #. type: TP
4923 #: build/C/man5/elf.5:1818
4924 #, no-wrap
4925 msgid "B<DT_PLTGOT>"
4926 msgstr "B<DT_PLTGOT>"
4927
4928 #. type: Plain text
4929 #: build/C/man5/elf.5:1821
4930 msgid "Address of PLT and/or GOT"
4931 msgstr "PLT と GOT (または何れか一方) のアドレス"
4932
4933 #. type: TP
4934 #: build/C/man5/elf.5:1821
4935 #, no-wrap
4936 msgid "B<DT_HASH>"
4937 msgstr "B<DT_HASH>"
4938
4939 #. type: Plain text
4940 #: build/C/man5/elf.5:1824
4941 msgid "Address of symbol hash table"
4942 msgstr "シンボルハッシュテーブルのアドレス"
4943
4944 #. type: TP
4945 #: build/C/man5/elf.5:1824
4946 #, no-wrap
4947 msgid "B<DT_STRTAB>"
4948 msgstr "B<DT_STRTAB>"
4949
4950 #. type: Plain text
4951 #: build/C/man5/elf.5:1827
4952 msgid "Address of string table"
4953 msgstr "文字列テーブルのアドレス"
4954
4955 #. type: TP
4956 #: build/C/man5/elf.5:1827
4957 #, no-wrap
4958 msgid "B<DT_SYMTAB>"
4959 msgstr "B<DT_SYMTAB>"
4960
4961 #. type: Plain text
4962 #: build/C/man5/elf.5:1830
4963 msgid "Address of symbol table"
4964 msgstr "シンボルテーブルのアドレス"
4965
4966 #. type: TP
4967 #: build/C/man5/elf.5:1830
4968 #, no-wrap
4969 msgid "B<DT_RELA>"
4970 msgstr "B<DT_RELA>"
4971
4972 #. type: Plain text
4973 #: build/C/man5/elf.5:1833
4974 msgid "Address of Rela relocs table"
4975 msgstr "Rela 再配置テーブルのアドレス"
4976
4977 #. type: TP
4978 #: build/C/man5/elf.5:1833
4979 #, no-wrap
4980 msgid "B<DT_RELASZ>"
4981 msgstr "B<DT_RELASZ>"
4982
4983 #. type: Plain text
4984 #: build/C/man5/elf.5:1836
4985 msgid "Size in bytes of Rela table"
4986 msgstr "Rela テーブルのサイズ (バイト単位)"
4987
4988 #. type: TP
4989 #: build/C/man5/elf.5:1836
4990 #, no-wrap
4991 msgid "B<DT_RELAENT>"
4992 msgstr "B<DT_RELAENT>"
4993
4994 #. type: Plain text
4995 #: build/C/man5/elf.5:1839
4996 msgid "Size in bytes of a Rela table entry"
4997 msgstr "Rela テーブルエントリーのサイズ (バイト単位)"
4998
4999 #. type: TP
5000 #: build/C/man5/elf.5:1839
5001 #, no-wrap
5002 msgid "B<DT_STRSZ>"
5003 msgstr "B<DT_STRSZ>"
5004
5005 #. type: Plain text
5006 #: build/C/man5/elf.5:1842
5007 msgid "Size in bytes of string table"
5008 msgstr "文字列テーブルのサイズ (バイト単位)"
5009
5010 #. type: TP
5011 #: build/C/man5/elf.5:1842
5012 #, no-wrap
5013 msgid "B<DT_SYMENT>"
5014 msgstr "B<DT_SYMENT>"
5015
5016 #. type: Plain text
5017 #: build/C/man5/elf.5:1845
5018 msgid "Size in bytes of a symbol table entry"
5019 msgstr "シンボルテーブルエントリーのサイズ (バイト単位)"
5020
5021 #. type: TP
5022 #: build/C/man5/elf.5:1845
5023 #, no-wrap
5024 msgid "B<DT_INIT>"
5025 msgstr "B<DT_INIT>"
5026
5027 #. type: Plain text
5028 #: build/C/man5/elf.5:1848
5029 msgid "Address of the initialization function"
5030 msgstr "初期化関数のアドレス"
5031
5032 #. type: TP
5033 #: build/C/man5/elf.5:1848
5034 #, no-wrap
5035 msgid "B<DT_FINI>"
5036 msgstr "B<DT_FINI>"
5037
5038 #. type: Plain text
5039 #: build/C/man5/elf.5:1851
5040 msgid "Address of the termination function"
5041 msgstr "終了関数のアドレス"
5042
5043 #. type: TP
5044 #: build/C/man5/elf.5:1851
5045 #, no-wrap
5046 msgid "B<DT_SONAME>"
5047 msgstr "B<DT_SONAME>"
5048
5049 #. type: Plain text
5050 #: build/C/man5/elf.5:1854
5051 msgid "String table offset to name of shared object"
5052 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5053
5054 #. type: TP
5055 #: build/C/man5/elf.5:1854
5056 #, no-wrap
5057 msgid "B<DT_RPATH>"
5058 msgstr "B<DT_RPATH>"
5059
5060 #. type: Plain text
5061 #: build/C/man5/elf.5:1857
5062 msgid "String table offset to library search path (deprecated)"
5063 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5064
5065 #. type: TP
5066 #: build/C/man5/elf.5:1857
5067 #, no-wrap
5068 msgid "B<DT_SYMBOLIC>"
5069 msgstr "B<DT_SYMBOLIC>"
5070
5071 #. type: Plain text
5072 #: build/C/man5/elf.5:1860
5073 msgid ""
5074 "Alert linker to search this shared object before the executable for symbols"
5075 msgstr ""
5076 "リンカーがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場"
5077 "合は、警告を出す。"
5078
5079 #. type: TP
5080 #: build/C/man5/elf.5:1860
5081 #, no-wrap
5082 msgid "B<DT_REL>"
5083 msgstr "B<DT_REL>"
5084
5085 #. type: Plain text
5086 #: build/C/man5/elf.5:1863
5087 msgid "Address of Rel relocs table"
5088 msgstr "Rel 再配置テーブルのアドレス"
5089
5090 #. type: TP
5091 #: build/C/man5/elf.5:1863
5092 #, no-wrap
5093 msgid "B<DT_RELSZ>"
5094 msgstr "B<DT_RELSZ>"
5095
5096 #. type: Plain text
5097 #: build/C/man5/elf.5:1866
5098 msgid "Size in bytes of Rel table"
5099 msgstr "Rel テーブルのサイズ (バイト単位)"
5100
5101 #. type: TP
5102 #: build/C/man5/elf.5:1866
5103 #, no-wrap
5104 msgid "B<DT_RELENT>"
5105 msgstr "B<DT_RELENT>"
5106
5107 #. type: Plain text
5108 #: build/C/man5/elf.5:1869
5109 msgid "Size in bytes of a Rel table entry"
5110 msgstr "Rel テーブルエントリーのサイズ (バイト単位)"
5111
5112 #. type: TP
5113 #: build/C/man5/elf.5:1869
5114 #, no-wrap
5115 msgid "B<DT_PLTREL>"
5116 msgstr "B<DT_PLTREL>"
5117
5118 #. type: Plain text
5119 #: build/C/man5/elf.5:1872
5120 msgid "Type of reloc the PLT refers (Rela or Rel)"
5121 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5122
5123 #. type: TP
5124 #: build/C/man5/elf.5:1872
5125 #, no-wrap
5126 msgid "B<DT_DEBUG>"
5127 msgstr "B<DT_DEBUG>"
5128
5129 #. type: Plain text
5130 #: build/C/man5/elf.5:1875
5131 msgid "Undefined use for debugging"
5132 msgstr "デバッグのために使用されている。内容は定義されていない。"
5133
5134 #. type: TP
5135 #: build/C/man5/elf.5:1875
5136 #, no-wrap
5137 msgid "B<DT_TEXTREL>"
5138 msgstr "B<DT_TEXTREL>"
5139
5140 #. type: Plain text
5141 #: build/C/man5/elf.5:1878
5142 msgid ""
5143 "Absence of this indicates no relocs should apply to a nonwritable segment"
5144 msgstr ""
5145 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5146 "い。"
5147
5148 #. type: TP
5149 #: build/C/man5/elf.5:1878
5150 #, no-wrap
5151 msgid "B<DT_JMPREL>"
5152 msgstr "B<DT_JMPREL>"
5153
5154 #. type: Plain text
5155 #: build/C/man5/elf.5:1881
5156 msgid "Address of reloc entries solely for the PLT"
5157 msgstr "PLT 専用の再配置エントリーのアドレス"
5158
5159 #. type: TP
5160 #: build/C/man5/elf.5:1881
5161 #, no-wrap
5162 msgid "B<DT_BIND_NOW>"
5163 msgstr "B<DT_BIND_NOW>"
5164
5165 #. type: Plain text
5166 #: build/C/man5/elf.5:1885
5167 msgid ""
5168 "Instruct dynamic linker to process all relocs before transferring control to "
5169 "the executable"
5170 msgstr ""
5171 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカーに"
5172 "指示する。"
5173
5174 #. type: TP
5175 #: build/C/man5/elf.5:1885
5176 #, no-wrap
5177 msgid "B<DT_RUNPATH>"
5178 msgstr "B<DT_RUNPATH>"
5179
5180 #. type: Plain text
5181 #: build/C/man5/elf.5:1888
5182 msgid "String table offset to library search path"
5183 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5184
5185 #. type: TP
5186 #: build/C/man5/elf.5:1888
5187 #, no-wrap
5188 msgid "B<DT_LOPROC>"
5189 msgstr "B<DT_LOPROC>"
5190
5191 #. type: Plain text
5192 #: build/C/man5/elf.5:1891
5193 msgid "Start of processor-specific semantics"
5194 msgstr "プロセッサ固有の意味の開始"
5195
5196 #. type: TP
5197 #: build/C/man5/elf.5:1891
5198 #, no-wrap
5199 msgid "B<DT_HIPROC>"
5200 msgstr "B<DT_HIPROC>"
5201
5202 #. type: Plain text
5203 #: build/C/man5/elf.5:1894
5204 msgid "End of processor-specific semantics"
5205 msgstr "プロセッサ固有の意味の終了"
5206
5207 #. type: TP
5208 #: build/C/man5/elf.5:1896
5209 #, no-wrap
5210 msgid "I<d_val>"
5211 msgstr "I<d_val>"
5212
5213 #. type: Plain text
5214 #: build/C/man5/elf.5:1899
5215 msgid "This member represents integer values with various interpretations."
5216 msgstr "このメンバは様々な意味に解釈される整数値である。"
5217
5218 #. type: TP
5219 #: build/C/man5/elf.5:1899
5220 #, no-wrap
5221 msgid "I<d_ptr>"
5222 msgstr "I<d_ptr>"
5223
5224 #. type: Plain text
5225 #: build/C/man5/elf.5:1907
5226 msgid ""
5227 "This member represents program virtual addresses.  When interpreting these "
5228 "addresses, the actual address should be computed based on the original file "
5229 "value and memory base address.  Files do not contain relocation entries to "
5230 "fixup these addresses."
5231 msgstr ""
5232 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5233 "に、 実際のアドレスは元々のファイルの値と メモリーの基底アドレスから計算され"
5234 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリーを含めては"
5235 "ならない。"
5236
5237 #. type: TP
5238 #: build/C/man5/elf.5:1907
5239 #, no-wrap
5240 msgid "I<_DYNAMIC>"
5241 msgstr "I<_DYNAMIC>"
5242
5243 #.  .El
5244 #. type: Plain text
5245 #: build/C/man5/elf.5:1912
5246 msgid ""
5247 "Array containing all the dynamic structures in the .dynamic section.  This "
5248 "is automatically populated by the linker."
5249 msgstr ""
5250 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリン"
5251 "カーに渡される。"
5252
5253 #.  OpenBSD
5254 #.  ELF support first appeared in
5255 #.  OpenBSD 1.2,
5256 #.  although not all supported platforms use it as the native
5257 #.  binary file format.
5258 #. type: Plain text
5259 #: build/C/man5/elf.5:1921
5260 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
5261 msgstr ""
5262 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5263 "ELF フォーマットは採択された標準である。"
5264
5265 #.  .SH AUTHORS
5266 #.  The original version of this manual page was written by
5267 #.  .An Jeroen Ruigrok van der Werven
5268 #.  .Aq asmodai@FreeBSD.org
5269 #.  with inspiration from BSDi's
5270 #.  .Bsx
5271 #.  .Nm elf
5272 #.  man page.
5273 #. type: Plain text
5274 #: build/C/man5/elf.5:1939
5275 msgid ""
5276 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5277 "Linux extensions.  Sun, BSD and AMD64 also support them; for further "
5278 "information, look under SEE ALSO."
5279 msgstr ""
5280 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5281 "で\n"
5282 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5283
5284 #. type: Plain text
5285 #: build/C/man5/elf.5:1946
5286 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5287 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5288
5289 #. type: Plain text
5290 #: build/C/man5/elf.5:1949
5291 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5292 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5293
5294 #. type: Plain text
5295 #: build/C/man5/elf.5:1952
5296 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5297 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5298
5299 #. type: Plain text
5300 #: build/C/man5/elf.5:1956
5301 msgid ""
5302 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5303 "(ELF)>."
5304 msgstr ""
5305 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5306 "(ELF)>."
5307
5308 #. type: Plain text
5309 #: build/C/man5/elf.5:1959
5310 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5311 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5312
5313 #. type: Plain text
5314 #: build/C/man5/elf.5:1962
5315 msgid ""
5316 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5317 "Processor Supplement>."
5318 msgstr ""
5319 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5320 "Processor Supplement>."
5321
5322 #. type: TH
5323 #: build/C/man3/end.3:26
5324 #, no-wrap
5325 msgid "END"
5326 msgstr "END"
5327
5328 #. type: TH
5329 #: build/C/man3/end.3:26
5330 #, no-wrap
5331 msgid "2008-07-17"
5332 msgstr "2008-07-17"
5333
5334 #. type: Plain text
5335 #: build/C/man3/end.3:29
5336 msgid "etext, edata, end - end of program segments"
5337 msgstr "etext, edata, end - プログラムセグメントの終わり"
5338
5339 #. type: Plain text
5340 #: build/C/man3/end.3:34
5341 #, no-wrap
5342 msgid ""
5343 "B<extern>I< etext>B<;>\n"
5344 "B<extern>I< edata>B<;>\n"
5345 "B<extern>I< end>B<;>\n"
5346 msgstr ""
5347 "B<extern>I< etext>B<;>\n"
5348 "B<extern>I< edata>B<;>\n"
5349 "B<extern>I< end>B<;>\n"
5350
5351 #. type: Plain text
5352 #: build/C/man3/end.3:38
5353 msgid ""
5354 "The addresses of these symbols indicate the end of various program segments:"
5355 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5356
5357 #. type: TP
5358 #: build/C/man3/end.3:38
5359 #, no-wrap
5360 msgid "I<etext>"
5361 msgstr "I<etext>"
5362
5363 #. type: Plain text
5364 #: build/C/man3/end.3:42
5365 msgid ""
5366 "This is the first address past the end of the text segment (the program "
5367 "code)."
5368 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5369
5370 #. type: TP
5371 #: build/C/man3/end.3:42
5372 #, no-wrap
5373 msgid "I<edata>"
5374 msgstr "I<edata>"
5375
5376 #. type: Plain text
5377 #: build/C/man3/end.3:46
5378 msgid "This is the first address past the end of the initialized data segment."
5379 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5380
5381 #. type: TP
5382 #: build/C/man3/end.3:46
5383 #, no-wrap
5384 msgid "I<end>"
5385 msgstr "I<end>"
5386
5387 #. type: Plain text
5388 #: build/C/man3/end.3:50
5389 msgid ""
5390 "This is the first address past the end of the uninitialized data segment "
5391 "(also known as the BSS segment)."
5392 msgstr ""
5393 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
5394 "のアドレス。"
5395
5396 #. type: Plain text
5397 #: build/C/man3/end.3:53
5398 msgid ""
5399 "Although these symbols have long been provided on most UNIX systems, they "
5400 "are not standardized; use with caution."
5401 msgstr ""
5402 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5403 "てはいない。注意して使うこと。"
5404
5405 #. type: Plain text
5406 #: build/C/man3/end.3:56
5407 msgid ""
5408 "The program must explicitly declare these symbols; they are not defined in "
5409 "any header file."
5410 msgstr ""
5411 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5412 "ヘッダーファイルでも定義されていない。"
5413
5414 #. type: Plain text
5415 #: build/C/man3/end.3:64
5416 msgid ""
5417 "On some systems the names of these symbols are preceded by underscores, "
5418 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
5419 "programs compiled on Linux."
5420 msgstr ""
5421 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5422 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5423 "ログラムでは、 これらのシンボルでも定義される。"
5424
5425 #. type: Plain text
5426 #: build/C/man3/end.3:76
5427 msgid ""
5428 "At the start of program execution, the program break will be somewhere near "
5429 "I<&end> (perhaps at the start of the following page).  However, the break "
5430 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
5431 "B<sbrk>(2)  with an argument of zero to find the current value of the "
5432 "program break."
5433 msgstr ""
5434 "プログラムの実行開始時に、プログラムブレークは I<&end> の近くのどこか (おそら"
5435 "く次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  でメ"
5436 "モリーが割り当てられるに連れて、プログラムブレークは変化していく。 引き数に "
5437 "0 を指定して B<sbrk>(2)  を呼び出すことで、プログラムブレークの現在値を知るこ"
5438 "とができる。"
5439
5440 #. type: Plain text
5441 #: build/C/man3/end.3:78
5442 msgid "When run, the program below produces output such as the following:"
5443 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5444
5445 #. type: Plain text
5446 #: build/C/man3/end.3:86
5447 #, no-wrap
5448 msgid ""
5449 "$B< ./a.out>\n"
5450 "First address past:\n"
5451 "    program text (etext)       0x8048568\n"
5452 "    initialized data (edata)   0x804a01c\n"
5453 "    uninitialized data (end)   0x804a024\n"
5454 msgstr ""
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
5461 #. type: SS
5462 #: build/C/man3/end.3:88 build/C/man1/memusage.1:234
5463 #, no-wrap
5464 msgid "Program source"
5465 msgstr "プログラムのソース"
5466
5467 #. type: Plain text
5468 #: build/C/man3/end.3:93 build/C/man1/memusage.1:238
5469 #, no-wrap
5470 msgid ""
5471 "#include E<lt>stdio.hE<gt>\n"
5472 "#include E<lt>stdlib.hE<gt>\n"
5473 msgstr ""
5474 "#include E<lt>stdio.hE<gt>\n"
5475 "#include E<lt>stdlib.hE<gt>\n"
5476
5477 #. type: Plain text
5478 #: build/C/man3/end.3:96
5479 #, no-wrap
5480 msgid ""
5481 "extern char etext, edata, end; /* The symbols must have some type,\n"
5482 "                                   or \"gcc -Wall\" complains */\n"
5483 msgstr ""
5484 "extern char etext, edata, end; /* The symbols must have some type,\n"
5485 "                                   or \"gcc -Wall\" complains */\n"
5486
5487 #. type: Plain text
5488 #: build/C/man3/end.3:104
5489 #, no-wrap
5490 msgid ""
5491 "int\n"
5492 "main(int argc, char *argv[])\n"
5493 "{\n"
5494 "    printf(\"First address past:\\en\");\n"
5495 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5496 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5497 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5498 msgstr ""
5499 "int\n"
5500 "main(int argc, char *argv[])\n"
5501 "{\n"
5502 "    printf(\"First address past:\\en\");\n"
5503 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5504 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5505 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5506
5507 #. type: Plain text
5508 #: build/C/man3/end.3:113
5509 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5510 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5511
5512 #. type: TH
5513 #: build/C/man8/ld.so.8:5
5514 #, no-wrap
5515 msgid "LD.SO"
5516 msgstr "LD.SO"
5517
5518 #. type: TH
5519 #: build/C/man8/ld.so.8:5
5520 #, no-wrap
5521 msgid "2014-12-31"
5522 msgstr "2014-12-31"
5523
5524 #. type: Plain text
5525 #: build/C/man8/ld.so.8:8
5526 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5527 msgstr "ld.so, ld-linux.so* - 動的なリンカー/ローダー"
5528
5529 #. type: Plain text
5530 #: build/C/man8/ld.so.8:15
5531 msgid ""
5532 "The dynamic linker can be run either indirectly by running some dynamically "
5533 "linked program or library (in which case no command-line options to the "
5534 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5535 "is stored in the B<.interp> section of the program is executed) or directly "
5536 "by running:"
5537 msgstr ""
5538 "動的リンカーは、動的にリンクされたプログラムやライブラリの実行によって 間接的"
5539 "に実行することができる (ELF の場合、動的リンカーにコマンドラインオプションを"
5540 "渡すことはできず、 プログラムの B<.interp> セクションに入っている動的リンカー"
5541 "が実行される)。 また以下のように直接実行することもできる"
5542
5543 #. type: Plain text
5544 #: build/C/man8/ld.so.8:18
5545 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5546 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5547
5548 #. type: Plain text
5549 #: build/C/man8/ld.so.8:25
5550 msgid ""
5551 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5552 "needed by a program, prepare the program to run, and then run it."
5553 msgstr ""
5554 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5555 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5556
5557 #. type: Plain text
5558 #: build/C/man8/ld.so.8:32
5559 msgid ""
5560 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
5561 "static> option was given to B<ld>(1)  during compilation."
5562 msgstr ""
5563 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
5564 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5565
5566 #. type: Plain text
5567 #: build/C/man8/ld.so.8:45
5568 msgid ""
5569 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5570 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5571 "so.2> for glibc2), which everybody has been using for years now.  Otherwise, "
5572 "both have the same behavior, and use the same support files and programs "
5573 "B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
5574 msgstr ""
5575 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5576 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5577 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
5578 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5579 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5580 "so.conf> を使用する。"
5581
5582 #. type: Plain text
5583 #: build/C/man8/ld.so.8:53
5584 msgid ""
5585 "When resolving library dependencies, the dynamic linker first inspects each "
5586 "dependency string to see if it contains a slash (this can occur if a library "
5587 "pathname containing slashes was specified at link time).  If a slash is "
5588 "found, then the dependency string is interpreted as a (relative or absolute) "
5589 "pathname, and the library is loaded using that pathname."
5590 msgstr ""
5591 "ライブラリの依存関係を解決する際、動的リンカーは、最初に、依存関係の各文字列"
5592 "がスラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にス"
5593 "ラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかっ"
5594 "た場合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として"
5595 "解釈され、そのパス名を使ってそのライブラリはロードされる。"
5596
5597 #. type: Plain text
5598 #: build/C/man8/ld.so.8:56
5599 msgid ""
5600 "If a library dependency does not contain a slash, then it is searched for in "
5601 "the following order:"
5602 msgstr ""
5603 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5604
5605 #. type: Plain text
5606 #: build/C/man8/ld.so.8:61
5607 msgid ""
5608 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5609 "attribute of the binary if present and DT_RUNPATH attribute does not exist.  "
5610 "Use of DT_RPATH is deprecated."
5611 msgstr ""
5612 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5613 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5614 "の使用は推奨されない。"
5615
5616 #. type: Plain text
5617 #: build/C/man8/ld.so.8:66
5618 msgid ""
5619 "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the executable "
5620 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5621 msgstr ""
5622 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5623 "group-ID バイナリの場合、 これは無視される。"
5624
5625 #. type: Plain text
5626 #: build/C/man8/ld.so.8:70
5627 msgid ""
5628 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5629 "attribute of the binary if present."
5630 msgstr ""
5631 "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5632 "DT_RUNPATH で指定されたディレクトリを使用する。"
5633
5634 #. type: Plain text
5635 #: build/C/man8/ld.so.8:80
5636 msgid ""
5637 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5638 "candidate libraries previously found in the augmented library path.  If, "
5639 "however, the binary was linked with the B<-z nodeflib> linker option, "
5640 "libraries in the default library paths are skipped.  Libraries installed in "
5641 "hardware capability directories (see below)  are preferred to other "
5642 "libraries."
5643 msgstr ""
5644 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5645 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5646 "イルの情報を集めたものである。ただし、バイナリがリンカーオプション B<-z "
5647 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5648 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5649 "れたライブラリは、他のライブラリよりも優先される。"
5650
5651 #. type: Plain text
5652 #: build/C/man8/ld.so.8:88
5653 msgid ""
5654 "In the default path I</lib>, and then I</usr/lib>.  If the binary was linked "
5655 "with the B<-z nodeflib> linker option, this step is skipped."
5656 msgstr ""
5657 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリン"
5658 "カーオプション B<-z nodeflib> でリンクされている場合、このステップはスキップ"
5659 "される。"
5660
5661 #. type: SS
5662 #: build/C/man8/ld.so.8:88
5663 #, no-wrap
5664 msgid "Rpath token expansion"
5665 msgstr "rpath トークンの展開"
5666
5667 #. type: Plain text
5668 #: build/C/man8/ld.so.8:92
5669 msgid ""
5670 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5671 "DT_RUNPATH); those strings are substituted as follows"
5672 msgstr ""
5673 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5674 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5675
5676 #. type: TP
5677 #: build/C/man8/ld.so.8:92
5678 #, no-wrap
5679 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5680 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5681
5682 #. type: Plain text
5683 #: build/C/man8/ld.so.8:99
5684 msgid ""
5685 "This expands to the directory containing the program or shared library.  "
5686 "Thus, an application located in I<somedir/app> could be compiled with"
5687 msgstr ""
5688 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
5689 "て、 I<somedir/app> に置かれたアプリケーションを"
5690
5691 #. type: Plain text
5692 #: build/C/man8/ld.so.8:101
5693 #, no-wrap
5694 msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5695 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5696
5697 #. type: Plain text
5698 #: build/C/man8/ld.so.8:111
5699 msgid ""
5700 "so that it finds an associated shared library in I<somedir/lib> no matter "
5701 "where I<somedir> is located in the directory hierarchy.  This facilitates "
5702 "the creation of \"turn-key\" applications that do not need to be installed "
5703 "into special directories, but can instead be unpacked into any directory and "
5704 "still find their own shared libraries."
5705 msgstr ""
5706 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5707 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5708 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5709 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5710 "ションを作成することができる。"
5711
5712 #. type: TP
5713 #: build/C/man8/ld.so.8:111
5714 #, no-wrap
5715 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5716 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5717
5718 #. type: Plain text
5719 #: build/C/man8/ld.so.8:123
5720 msgid ""
5721 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5722 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5723 msgstr ""
5724 "アーキテクチャーに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 で"
5725 "は I<lib64> に、 x86-32 では I<lib> に展開される)。"
5726
5727 #. type: TP
5728 #: build/C/man8/ld.so.8:123
5729 #, no-wrap
5730 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5731 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5732
5733 #
5734 #
5735 #.  To get an idea of the places that $PLATFORM would match,
5736 #.  look at the output of the following:
5737 #.      mkdir /tmp/d
5738 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5739 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5740 #.  Don't do this!!
5741 #. type: Plain text
5742 #: build/C/man8/ld.so.8:141
5743 msgid ""
5744 "This expands to a string corresponding to the processor type of the host "
5745 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
5746 "provide a platform string to the dynamic linker.  The value of this string "
5747 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5748 "B<getauxval>(3))."
5749 msgstr ""
5750 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5751 "\"x86_64\")。\n"
5752 "いくつかのアーキテクチャーでは、 Linux カーネルから動的リンカーにプラット"
5753 "フォームを表す文字列が提供されない。 この文字列の値は補助ベクトルの "
5754 "B<AT_PLATFORM> 値から取得される (B<getauxval>(3) 参照)。"
5755
5756 #. type: SH
5757 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5758 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47
5759 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
5760 #, no-wrap
5761 msgid "OPTIONS"
5762 msgstr "オプション"
5763
5764 #. type: TP
5765 #: build/C/man8/ld.so.8:142
5766 #, no-wrap
5767 msgid "B<--list>"
5768 msgstr "B<--list>"
5769
5770 #. type: Plain text
5771 #: build/C/man8/ld.so.8:145
5772 msgid "List all dependencies and how they are resolved."
5773 msgstr "全ての依存関係とその解決法をリストする。"
5774
5775 #. type: TP
5776 #: build/C/man8/ld.so.8:145
5777 #, no-wrap
5778 msgid "B<--verify>"
5779 msgstr "B<--verify>"
5780
5781 #. type: Plain text
5782 #: build/C/man8/ld.so.8:149
5783 msgid ""
5784 "Verify that program is dynamically linked and this dynamic linker can handle "
5785 "it."
5786 msgstr ""
5787 "プログラムが動的にリンクされているかと、 動的リンカーがそのプログラムを扱える"
5788 "かを検証する。"
5789
5790 #. type: TP
5791 #: build/C/man8/ld.so.8:149
5792 #, no-wrap
5793 msgid "B<--inhibit-cache>"
5794 msgstr "B<--inhibit-cache>"
5795
5796 #. type: Plain text
5797 #: build/C/man8/ld.so.8:152
5798 msgid "Do not use /etc/ld.so.cache."
5799 msgstr "/etc/ld.so.cache を使用しない。"
5800
5801 #. type: TP
5802 #: build/C/man8/ld.so.8:152
5803 #, no-wrap
5804 msgid "B<--library-path PATH>"
5805 msgstr "B<--library-path PATH>"
5806
5807 #. type: Plain text
5808 #: build/C/man8/ld.so.8:157
5809 msgid ""
5810 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5811 "below)."
5812 msgstr ""
5813 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5814 "指定した PATH を使用する (下記参照)。"
5815
5816 #. type: TP
5817 #: build/C/man8/ld.so.8:157
5818 #, no-wrap
5819 msgid "B<--inhibit-rpath LIST>"
5820 msgstr "B<--inhibit-rpath LIST>"
5821
5822 #. type: Plain text
5823 #: build/C/man8/ld.so.8:163
5824 msgid ""
5825 "Ignore RPATH and RUNPATH information in object names in LIST.  This option "
5826 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5827 msgstr ""
5828 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5829 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5830
5831 #. type: TP
5832 #: build/C/man8/ld.so.8:163
5833 #, no-wrap
5834 msgid "B<--audit LIST>"
5835 msgstr "B<--audit LIST>"
5836
5837 #. type: Plain text
5838 #: build/C/man8/ld.so.8:166
5839 msgid "Use objects named in LIST as auditors."
5840 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5841
5842 #. type: SH
5843 #: build/C/man8/ld.so.8:166
5844 #, no-wrap
5845 msgid "HARDWARE CAPABILITIES"
5846 msgstr "ハードウェア機能"
5847
5848 #. type: Plain text
5849 #: build/C/man8/ld.so.8:177
5850 msgid ""
5851 "Some libraries are compiled using hardware-specific instructions which do "
5852 "not exist on every CPU.  Such libraries should be installed in directories "
5853 "whose names define the required hardware capabilities, such as I</usr/lib/"
5854 "sse2/>.  The dynamic linker checks these directories against the hardware of "
5855 "the machine and selects the most suitable version of a given library.  "
5856 "Hardware capability directories can be cascaded to combine CPU features.  "
5857 "The list of supported hardware capability names depends on the CPU.  The "
5858 "following names are currently recognized:"
5859 msgstr ""
5860 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5861 "有\n"
5862 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5863 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5864 "規\n"
5865 "定する名前のディレクトリにインストールすべきである。\n"
5866 "動的リンカーは、マシンのハードウェアに基づいてこれらのディレクトリを確認"
5867 "し、\n"
5868 "指定されたライブラリに最も適したバージョンを選択する。\n"
5869 "ハードウェア機能ディレクトリはつなげることができ、\n"
5870 "複数の CPU 機能を組み合わることができる。\n"
5871 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5872 "現在のところ、以下の名前が認識される。"
5873
5874 #. type: TP
5875 #: build/C/man8/ld.so.8:177
5876 #, no-wrap
5877 msgid "B<Alpha>"
5878 msgstr "B<Alpha>"
5879
5880 #. type: Plain text
5881 #: build/C/man8/ld.so.8:180
5882 msgid "ev4, ev5, ev56, ev6, ev67"
5883 msgstr "ev4, ev5, ev56, ev6, ev67"
5884
5885 #. type: TP
5886 #: build/C/man8/ld.so.8:180
5887 #, no-wrap
5888 msgid "B<MIPS>"
5889 msgstr "B<MIPS>"
5890
5891 #. type: Plain text
5892 #: build/C/man8/ld.so.8:183
5893 msgid "loongson2e, loongson2f, octeon, octeon2"
5894 msgstr "loongson2e, loongson2f, octeon, octeon2"
5895
5896 #. type: TP
5897 #: build/C/man8/ld.so.8:183
5898 #, no-wrap
5899 msgid "B<PowerPC>"
5900 msgstr "B<PowerPC>"
5901
5902 #. type: Plain text
5903 #: build/C/man8/ld.so.8:188
5904 msgid ""
5905 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5906 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5907 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5908 msgstr ""
5909 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5910 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5911 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5912
5913 #. type: TP
5914 #: build/C/man8/ld.so.8:188
5915 #, no-wrap
5916 msgid "B<SPARC>"
5917 msgstr "B<SPARC>"
5918
5919 #. type: Plain text
5920 #: build/C/man8/ld.so.8:191
5921 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5922 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5923
5924 #. type: TP
5925 #: build/C/man8/ld.so.8:191
5926 #, no-wrap
5927 msgid "B<s390>"
5928 msgstr "B<s390>"
5929
5930 #. type: Plain text
5931 #: build/C/man8/ld.so.8:195
5932 msgid ""
5933 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5934 "z990, z9-109, z10, zarch"
5935 msgstr ""
5936 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5937 "z990, z9-109, z10, zarch"
5938
5939 #. type: TP
5940 #: build/C/man8/ld.so.8:195
5941 #, no-wrap
5942 msgid "B<x86 (32-bit only)>"
5943 msgstr "B<x86 (32-bit のみ)>"
5944
5945 #. type: Plain text
5946 #: build/C/man8/ld.so.8:199
5947 msgid ""
5948 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5949 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5950 msgstr ""
5951 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5952 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5953
5954 #. type: SH
5955 #: build/C/man8/ld.so.8:199
5956 #, no-wrap
5957 msgid "ENVIRONMENT"
5958 msgstr "環境変数"
5959
5960 #. type: Plain text
5961 #: build/C/man8/ld.so.8:201
5962 msgid "Among the more important environment variables are the following:"
5963 msgstr "重要な環境変数には以下のものがある。"
5964
5965 #. type: TP
5966 #: build/C/man8/ld.so.8:201
5967 #, no-wrap
5968 msgid "B<LD_ASSUME_KERNEL>"
5969 msgstr "B<LD_ASSUME_KERNEL>"
5970
5971 #. type: Plain text
5972 #: build/C/man8/ld.so.8:214
5973 msgid ""
5974 "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
5975 "the minimum kernel ABI version that it requires.  (This requirement is "
5976 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5977 "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
5978 "determines the ABI version of the running kernel and will reject loading "
5979 "shared libraries that specify minimum ABI versions that exceed that ABI "
5980 "version."
5981 msgstr ""
5982 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカーに必要なカーネル ABI の最小"
5983 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5984 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5985 "て見ることができる)。 実行時に、 動的リンカーは実行中のカーネルの ABI バー"
5986 "ジョンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが"
5987 "指定された共有ライブラリのロードを行わない。"
5988
5989 #. type: Plain text
5990 #: build/C/man8/ld.so.8:223
5991 msgid ""
5992 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5993 "it is running on a system with a different kernel ABI version.  For example, "
5994 "the following command line causes the dynamic linker to assume it is running "
5995 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
5996 msgstr ""
5997 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカーに、 異なるカーネル ABI バー"
5998 "ジョンのシステムで実行されているかのように見せることができる。 例えば、 以下"
5999 "のコマンドラインを実行すると、 動的リンカーは I<myprog> が必要とする共有ライ"
6000 "ブラリをロードする際に Linux 2.2.5 上で動作していると仮定する。"
6001
6002 #. type: Plain text
6003 #: build/C/man8/ld.so.8:227
6004 #, no-wrap
6005 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6006 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6007
6008 #. type: Plain text
6009 #: build/C/man8/ld.so.8:244
6010 msgid ""
6011 "On systems that provide multiple versions of a shared library (in different "
6012 "directories in the search path) that have different minimum kernel ABI "
6013 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
6014 "of the library that is used (dependent on the directory search order).  "
6015 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
6016 "manually select the older LinuxThreads POSIX threads implementation on "
6017 "systems that provided both LinuxThreads and NPTL (which latter was typically "
6018 "the default on such systems); see B<pthreads>(7)."
6019 msgstr ""
6020 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
6021 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
6022 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
6023 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
6024 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
6025 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
6026 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
6027
6028 #. type: TP
6029 #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325
6030 #, no-wrap
6031 msgid "B<LD_BIND_NOT>"
6032 msgstr "B<LD_BIND_NOT>"
6033
6034 #. type: Plain text
6035 #: build/C/man8/ld.so.8:249
6036 msgid ""
6037 "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and Procedure "
6038 "Linkage Table (PLT)  when resolving a symbol."
6039 msgstr ""
6040 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
6041 "Procedure Linkage Table (PLT) を更新しない。"
6042
6043 #. type: TP
6044 #: build/C/man8/ld.so.8:249
6045 #, no-wrap
6046 msgid "B<LD_BIND_NOW>"
6047 msgstr "B<LD_BIND_NOW>"
6048
6049 #. type: Plain text
6050 #: build/C/man8/ld.so.8:257
6051 msgid ""
6052 "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the dynamic "
6053 "linker to resolve all symbols at program startup instead of deferring "
6054 "function call resolution to the point when they are first referenced.  This "
6055 "is useful when using a debugger."
6056 msgstr ""
6057 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカーはプログラムの開"
6058 "始時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼"
6059 "び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6060
6061 #. type: TP
6062 #: build/C/man8/ld.so.8:257
6063 #, no-wrap
6064 msgid "B<LD_LIBRARY_PATH>"
6065 msgstr "B<LD_LIBRARY_PATH>"
6066
6067 #. type: Plain text
6068 #: build/C/man8/ld.so.8:265
6069 msgid ""
6070 "A colon-separated list of directories in which to search for ELF libraries "
6071 "at execution-time.  Similar to the B<PATH> environment variable.  Ignored in "
6072 "set-user-ID and set-group-ID programs."
6073 msgstr ""
6074 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6075 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6076 "group-ID されたプログラムでは無視される。"
6077
6078 #. type: TP
6079 #: build/C/man8/ld.so.8:265
6080 #, no-wrap
6081 msgid "B<LD_PRELOAD>"
6082 msgstr "B<LD_PRELOAD>"
6083
6084 #. type: Plain text
6085 #: build/C/man8/ld.so.8:276
6086 msgid ""
6087 "A list of additional, user-specified, ELF shared libraries to be loaded "
6088 "before all others.  The items of the list can be separated by spaces or "
6089 "colons.  This can be used to selectively override functions in other shared "
6090 "libraries.  The libraries are searched for using the rules given under "
6091 "DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6092 "containing slashes are ignored, and libraries in the standard search "
6093 "directories are loaded only if the set-user-ID permission bit is enabled on "
6094 "the library file."
6095 msgstr ""
6096 "追加でユーザーが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、"
6097 "すべてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6098 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6099 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6100 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6101 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6102 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6103
6104 #. type: TP
6105 #: build/C/man8/ld.so.8:276
6106 #, no-wrap
6107 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6108 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6109
6110 #. type: Plain text
6111 #: build/C/man8/ld.so.8:283
6112 msgid ""
6113 "(ELF only)  If set to a nonempty string, causes the program to list its "
6114 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6115 "normally."
6116 msgstr ""
6117 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6118 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6119
6120 #. type: Plain text
6121 #: build/C/man8/ld.so.8:286
6122 msgid ""
6123 "Then there are lots of more or less obscure variables, many obsolete or only "
6124 "for internal use."
6125 msgstr ""
6126 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6127 "でのみ使用される環境変数である。"
6128
6129 #. type: TP
6130 #: build/C/man8/ld.so.8:286
6131 #, no-wrap
6132 msgid "B<LD_AOUT_LIBRARY_PATH>"
6133 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6134
6135 #. type: Plain text
6136 #: build/C/man8/ld.so.8:294
6137 msgid ""
6138 "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
6139 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6140 msgstr ""
6141 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6142 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6143 "トしていた。"
6144
6145 #. type: TP
6146 #: build/C/man8/ld.so.8:294
6147 #, no-wrap
6148 msgid "B<LD_AOUT_PRELOAD>"
6149 msgstr "B<LD_AOUT_PRELOAD>"
6150
6151 #. type: Plain text
6152 #: build/C/man8/ld.so.8:302
6153 msgid ""
6154 "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions of "
6155 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6156 msgstr ""
6157 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6158 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6159 "た。"
6160
6161 #. type: TP
6162 #: build/C/man8/ld.so.8:302
6163 #, no-wrap
6164 msgid "B<LD_AUDIT>"
6165 msgstr "B<LD_AUDIT>"
6166
6167 #. type: Plain text
6168 #: build/C/man8/ld.so.8:312
6169 msgid ""
6170 "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
6171 "objects to be loaded before all others in a separate linker namespace (i.e., "
6172 "one that does not intrude upon the normal symbol bindings that would occur "
6173 "in the process).  These libraries can be used to audit the operation of the "
6174 "dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6175 "binaries."
6176 msgstr ""
6177 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカー名前空間 (そのプロ"
6178 "セスで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) "
6179 "で ロードされる、ユーザー指定の ELF 共有オブジェクトのコロン区切りのリスト。 "
6180 "これらのライブラリを使って、動的リンカーの動作を監査することができる。 set-"
6181 "user-ID/set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6182
6183 #. type: Plain text
6184 #: build/C/man8/ld.so.8:325
6185 msgid ""
6186 "The dynamic linker will notify the audit libraries at so-called auditing "
6187 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6188 "calling a symbol from another shared object\\(emby calling an appropriate "
6189 "function within the audit library.  For details, see B<rtld-audit>(7).  The "
6190 "auditing interface is largely compatible with that provided on Solaris, as "
6191 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6192 "Linker Auditing Interface>."
6193 msgstr ""
6194 "動的リンカーは、いわゆる監査チェックポイント (auditing checkpoints)  におい"
6195 "て、監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの"
6196 "通知を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シン"
6197 "ボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細"
6198 "は B<rtld-audit>(7)  を参照してほしい。 audit インターフェースは、Solaris で"
6199 "提供されているものと 大部分は互換性がある。Solaris の audit インターフェース"
6200 "については、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing "
6201 "Interface> の章に説明がある。"
6202
6203 #. type: Plain text
6204 #: build/C/man8/ld.so.8:330
6205 msgid ""
6206 "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
6207 "(procedure linkage table)  after resolving a symbol."
6208 msgstr ""
6209 "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT "
6210 "(procedure linkage table) を更新しない。"
6211
6212 #. type: TP
6213 #: build/C/man8/ld.so.8:330
6214 #, no-wrap
6215 msgid "B<LD_DEBUG>"
6216 msgstr "B<LD_DEBUG>"
6217
6218 #. type: Plain text
6219 #: build/C/man8/ld.so.8:343
6220 msgid ""
6221 "(glibc since 2.1)  Output verbose debugging information about the dynamic "
6222 "linker.  If set to B<all> prints all debugging information it has, if set to "
6223 "B<help> prints a help message about which categories can be specified in "
6224 "this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6225 "set-user-ID/set-group-ID binaries."
6226 msgstr ""
6227 "(glibc 2.1 以降)  動的リンカーの詳細なデバッグ情報を出力する。 B<all> に設定"
6228 "した場合、全ての動的リンカーが持つデバッグ情報を表示する。 B<help> に設定した"
6229 "場合、この環境変数で指定されるカテゴリーのヘルプ情報を表示する。 glibc 2.3.4 "
6230 "以降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6231
6232 #. type: TP
6233 #: build/C/man8/ld.so.8:343
6234 #, no-wrap
6235 msgid "B<LD_DEBUG_OUTPUT>"
6236 msgstr "B<LD_DEBUG_OUTPUT>"
6237
6238 #. type: Plain text
6239 #: build/C/man8/ld.so.8:352
6240 msgid ""
6241 "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  The "
6242 "default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6243 "set-group-ID binaries."
6244 msgstr ""
6245 "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6246 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6247 "B<LD_DEBUG_OUTPUT> は無視される。"
6248
6249 #. type: TP
6250 #: build/C/man8/ld.so.8:352
6251 #, no-wrap
6252 msgid "B<LD_DYNAMIC_WEAK>"
6253 msgstr "B<LD_DYNAMIC_WEAK>"
6254
6255 #. type: Plain text
6256 #: build/C/man8/ld.so.8:359
6257 msgid ""
6258 "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to old "
6259 "glibc behavior).  For security reasons, since glibc 2.3.4, "
6260 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6261 msgstr ""
6262 "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6263 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6264 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6265
6266 #. type: TP
6267 #: build/C/man8/ld.so.8:359
6268 #, no-wrap
6269 msgid "B<LD_HWCAP_MASK>"
6270 msgstr "B<LD_HWCAP_MASK>"
6271
6272 #. type: Plain text
6273 #: build/C/man8/ld.so.8:363
6274 msgid "(glibc since 2.1)  Mask for hardware capabilities."
6275 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
6276
6277 #. type: TP
6278 #: build/C/man8/ld.so.8:363
6279 #, no-wrap
6280 msgid "B<LD_KEEPDIR>"
6281 msgstr "B<LD_KEEPDIR>"
6282
6283 #. type: Plain text
6284 #: build/C/man8/ld.so.8:368
6285 msgid ""
6286 "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
6287 "libraries to be loaded.  Use of this option is strongly discouraged."
6288 msgstr ""
6289 "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリ"
6290 "を無視しない。 このオプションは用いるべきではない。"
6291
6292 #. type: TP
6293 #: build/C/man8/ld.so.8:368
6294 #, no-wrap
6295 msgid "B<LD_NOWARN>"
6296 msgstr "B<LD_NOWARN>"
6297
6298 #. type: Plain text
6299 #: build/C/man8/ld.so.8:373
6300 msgid ""
6301 "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
6302 "incompatible minor version numbers."
6303 msgstr ""
6304 "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換"
6305 "に 対する警告メッセージを抑制する。"
6306
6307 #. type: TP
6308 #: build/C/man8/ld.so.8:373
6309 #, no-wrap
6310 msgid "B<LD_ORIGIN_PATH>"
6311 msgstr "B<LD_ORIGIN_PATH>"
6312
6313 #.  Only used if $ORIGIN can't be determined by normal means
6314 #.  (from the origin path saved at load time, or from /proc/self/exe)?
6315 #. type: Plain text
6316 #: build/C/man8/ld.so.8:382
6317 msgid ""
6318 "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
6319 "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6320 "ignored for set-user-ID/set-group-ID binaries."
6321 msgstr ""
6322 "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムについ"
6323 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6324 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6325
6326 #. type: TP
6327 #: build/C/man8/ld.so.8:382
6328 #, no-wrap
6329 msgid "B<LD_POINTER_GUARD>"
6330 msgstr "B<LD_POINTER_GUARD>"
6331
6332 #. type: Plain text
6333 #: build/C/man8/ld.so.8:394
6334 msgid ""
6335 "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
6336 "enables pointer guarding, which is also the default.  Pointer guarding is a "
6337 "security mechanism whereby some pointers to code stored in writable program "
6338 "memory (return addresses saved by B<setjmp>(3)  or function pointers used by "
6339 "various glibc internals) are mangled semi-randomly to make it more difficult "
6340 "for an attacker to hijack the pointers for use in the event of a buffer "
6341 "overrun or stack-smashing attack."
6342 msgstr ""
6343 "(glibc 2.4 以降)  0 に設定すると、ポインター保護 (pointer guarding) が無効に"
6344 "なる。 それ以外の値の場合はポインター保護が有効になる。 デフォルトはポイン"
6345 "ター保護有効である。 ポインター保護はセキュリティ機構の一つで、書き込み可能な"
6346 "プログラムメモリー に格納されたコードへのポインターをほぼランダム化すること"
6347 "で、 攻撃者がバッファーオーバーランやスタック破壊 (stack-smashing) 攻撃の際"
6348 "に ポインターを乗っ取ることを困難にするものである。"
6349
6350 #. type: TP
6351 #: build/C/man8/ld.so.8:394
6352 #, no-wrap
6353 msgid "B<LD_PROFILE>"
6354 msgstr "B<LD_PROFILE>"
6355
6356 #. type: Plain text
6357 #: build/C/man8/ld.so.8:401
6358 msgid ""
6359 "(glibc since 2.1)  The name of a (single) shared object to be profiled, "
6360 "specified either as a pathname or a soname.  Profiling output is appended to "
6361 "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6362 msgstr ""
6363 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
6364 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
6365 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
6366 "る。"
6367
6368 #. type: TP
6369 #: build/C/man8/ld.so.8:401
6370 #, no-wrap
6371 msgid "B<LD_PROFILE_OUTPUT>"
6372 msgstr "B<LD_PROFILE_OUTPUT>"
6373
6374 #. type: Plain text
6375 #: build/C/man8/ld.so.8:414
6376 msgid ""
6377 "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be written.  "
6378 "If this variable is not defined, or is defined as an empty string, then the "
6379 "default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6380 "set-group-ID programs, which always use I</var/profile>."
6381 msgstr ""
6382 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6383 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6384 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6385 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6386 "れる。"
6387
6388 #. type: TP
6389 #: build/C/man8/ld.so.8:414
6390 #, no-wrap
6391 msgid "B<LD_SHOW_AUXV>"
6392 msgstr "B<LD_SHOW_AUXV>"
6393
6394 #.  FIXME
6395 #.  Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6396 #.      Available since glibc 2.3
6397 #.      Also enables DL_DEBUG_PRELINK
6398 #. type: Plain text
6399 #: build/C/man8/ld.so.8:425
6400 msgid ""
6401 "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
6402 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6403 "ID/set-group-ID binaries."
6404 msgstr ""
6405 "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメーターの) 配列を表示す"
6406 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6407 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6408
6409 #. type: TP
6410 #: build/C/man8/ld.so.8:425
6411 #, no-wrap
6412 msgid "B<LD_USE_LOAD_BIAS>"
6413 msgstr "B<LD_USE_LOAD_BIAS>"
6414
6415 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6416 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
6417 #.  Jakub Jelinek
6418 #. type: Plain text
6419 #: build/C/man8/ld.so.8:444
6420 msgid ""
6421 "By default (i.e., if this variable is not defined)  executables and "
6422 "prelinked shared objects will honor base addresses of their dependent "
6423 "libraries and (nonprelinked) position-independent executables (PIEs)  and "
6424 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
6425 "with the value 1, both executables and PIEs will honor the base addresses.  "
6426 "If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6427 "PIEs will honor the base addresses.  This variable is ignored by set-user-ID "
6428 "and set-group-ID programs."
6429 msgstr ""
6430 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6431 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6432 "スが尊重される一方、 (prelink されていない) position-independent executables "
6433 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6434 "れない。 B<LD_USE_LOAD_BIAS> が値 1 で定義された場合、実行ファイルと PIE のど"
6435 "ちらでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された"
6436 "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-"
6437 "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6438
6439 #. type: TP
6440 #: build/C/man8/ld.so.8:444
6441 #, no-wrap
6442 msgid "B<LD_VERBOSE>"
6443 msgstr "B<LD_VERBOSE>"
6444
6445 #. type: Plain text
6446 #: build/C/man8/ld.so.8:452
6447 msgid ""
6448 "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
6449 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6450 "variable has been set."
6451 msgstr ""
6452 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6453 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6454
6455 #. type: TP
6456 #: build/C/man8/ld.so.8:452
6457 #, no-wrap
6458 msgid "B<LD_WARN>"
6459 msgstr "B<LD_WARN>"
6460
6461 #. type: Plain text
6462 #: build/C/man8/ld.so.8:456
6463 msgid ""
6464 "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
6465 "unresolved symbols."
6466 msgstr ""
6467 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
6468 "あれば警告を出す。"
6469
6470 #. type: TP
6471 #: build/C/man8/ld.so.8:456
6472 #, no-wrap
6473 msgid "B<LDD_ARGV0>"
6474 msgstr "B<LDD_ARGV0>"
6475
6476 #. type: Plain text
6477 #: build/C/man8/ld.so.8:463
6478 msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
6479 msgstr ""
6480 "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
6481
6482 #. type: SH
6483 #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156
6484 #, no-wrap
6485 msgid "FILES"
6486 msgstr "ファイル"
6487
6488 #. type: TP
6489 #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158
6490 #, no-wrap
6491 msgid "I</lib/ld.so>"
6492 msgstr "I</lib/ld.so>"
6493
6494 #. type: Plain text
6495 #: build/C/man8/ld.so.8:468
6496 msgid "a.out dynamic linker/loader"
6497 msgstr "a.out の動的リンカー/ローダー"
6498
6499 #. type: TP
6500 #: build/C/man8/ld.so.8:468
6501 #, no-wrap
6502 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6503 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6504
6505 #. type: Plain text
6506 #: build/C/man8/ld.so.8:471
6507 msgid "ELF dynamic linker/loader"
6508 msgstr "ELF の動的リンカー/ローダー"
6509
6510 #. type: TP
6511 #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165
6512 #, no-wrap
6513 msgid "I</etc/ld.so.cache>"
6514 msgstr "I</etc/ld.so.cache>"
6515
6516 #. type: Plain text
6517 #: build/C/man8/ld.so.8:475
6518 msgid ""
6519 "File containing a compiled list of directories in which to search for "
6520 "libraries and an ordered list of candidate libraries."
6521 msgstr ""
6522 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6523 "リストを含むファイル。"
6524
6525 #. type: TP
6526 #: build/C/man8/ld.so.8:475
6527 #, no-wrap
6528 msgid "I</etc/ld.so.preload>"
6529 msgstr "I</etc/ld.so.preload>"
6530
6531 #. type: Plain text
6532 #: build/C/man8/ld.so.8:479
6533 msgid ""
6534 "File containing a whitespace-separated list of ELF shared libraries to be "
6535 "loaded before the program."
6536 msgstr ""
6537 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6538 "書かれているファイル。"
6539
6540 #. type: TP
6541 #: build/C/man8/ld.so.8:479
6542 #, no-wrap
6543 msgid "B<lib*.so*>"
6544 msgstr "B<lib*.so*>"
6545
6546 #. type: Plain text
6547 #: build/C/man8/ld.so.8:482
6548 msgid "shared libraries"
6549 msgstr "共有ライブラリ"
6550
6551 #. type: Plain text
6552 #: build/C/man8/ld.so.8:489
6553 msgid ""
6554 "The B<ld.so> functionality is available for executables compiled using libc "
6555 "version 4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 "
6556 "and libc5."
6557 msgstr ""
6558 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6559 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6560 "可能である。"
6561
6562 #.  .SH AUTHORS
6563 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6564 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
6565 #.  ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6566 #.  In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6567 #. type: Plain text
6568 #: build/C/man8/ld.so.8:505
6569 msgid ""
6570 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6571 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6572 msgstr ""
6573 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6574 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6575
6576 #. type: TH
6577 #: build/C/man8/ldconfig.8:22
6578 #, no-wrap
6579 msgid "LDCONFIG"
6580 msgstr "LDCONFIG"
6581
6582 #. type: TH
6583 #: build/C/man8/ldconfig.8:22
6584 #, no-wrap
6585 msgid "2012-05-10"
6586 msgstr "2012-05-10"
6587
6588 #. type: Plain text
6589 #: build/C/man8/ldconfig.8:25
6590 msgid "ldconfig - configure dynamic linker run-time bindings"
6591 msgstr "ldconfig - 動的リンカーによる実行時の結合関係を設定する"
6592
6593 #. type: Plain text
6594 #: build/C/man8/ldconfig.8:40
6595 msgid ""
6596 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6597 "root> ] I<directory>\\ ..."
6598 msgstr ""
6599 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6600 "root> ] I<directory>\\ ..."
6601
6602 #. type: Plain text
6603 #: build/C/man8/ldconfig.8:49
6604 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6605 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6606
6607 #. type: Plain text
6608 #: build/C/man8/ldconfig.8:54
6609 msgid "B</sbin/ldconfig> B<-p>"
6610 msgstr "B</sbin/ldconfig> B<-p>"
6611
6612 #. type: Plain text
6613 #: build/C/man8/ldconfig.8:71
6614 msgid ""
6615 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6616 "libraries found in the directories specified on the command line, in the "
6617 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6618 "lib>).  The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6619 "so>.  B<ldconfig> checks the header and filenames of the libraries it "
6620 "encounters when determining which versions should have their links updated."
6621 msgstr ""
6622 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6623 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6624 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6625 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカー "
6626 "I<ld.so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライ"
6627 "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを"
6628 "更新すべきかを判断する。"
6629
6630 #.  The following sentence looks suspect
6631 #.  (perhaps historical cruft) -- MTK, Jul 2005
6632 #.  Therefore, when making dynamic libraries,
6633 #.  it is wise to explicitly link against libc (use \-lc).
6634 #. type: Plain text
6635 #: build/C/man8/ldconfig.8:79
6636 msgid ""
6637 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6638 "libc6/glibc)  based on what C libs, if any, the library was linked against."
6639 msgstr ""
6640 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6641 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6642
6643 #. type: Plain text
6644 #: build/C/man8/ldconfig.8:100
6645 msgid ""
6646 "Some existing libs do not contain enough information to allow the deduction "
6647 "of their type.  Therefore, the I</etc/ld.so.conf> file format allows the "
6648 "specification of an expected type.  This is used I<only> for those ELF libs "
6649 "which we can not work out.  The format is \"dirname=TYPE\", where TYPE can "
6650 "be libc4, libc5, or libc6.  (This syntax also works on the command line.)  "
6651 "Spaces are I<not> allowed.  Also see the B<-p> option.  B<ldconfig> should "
6652 "normally be run by the superuser as it may require write permission on some "
6653 "root owned directories and files."
6654 msgstr ""
6655 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6656 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6657 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6658 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6659 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6660 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6661 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6662 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6663
6664 #. type: TP
6665 #: build/C/man8/ldconfig.8:101
6666 #, no-wrap
6667 msgid "B<-v>"
6668 msgstr "B<-v>"
6669
6670 #. type: Plain text
6671 #: build/C/man8/ldconfig.8:107
6672 msgid ""
6673 "Verbose mode.  Print current version number, the name of each directory as "
6674 "it is scanned, and any links that are created.  Overrides quiet mode."
6675 msgstr ""
6676 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6677 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6678 "抑制モードを上書きする。"
6679
6680 #. type: TP
6681 #: build/C/man8/ldconfig.8:107
6682 #, no-wrap
6683 msgid "B<-n>"
6684 msgstr "B<-n>"
6685
6686 #. type: Plain text
6687 #: build/C/man8/ldconfig.8:118
6688 msgid ""
6689 "Only process directories specified on the command line.  Don't process the "
6690 "trusted directories (I</lib> and I</usr/lib>)  nor those specified in I</etc/"
6691 "ld.so.conf>.  Implies B<-N>."
6692 msgstr ""
6693 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6694 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
6695 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6696
6697 #. type: TP
6698 #: build/C/man8/ldconfig.8:118
6699 #, no-wrap
6700 msgid "B<-N>"
6701 msgstr "B<-N>"
6702
6703 #. type: Plain text
6704 #: build/C/man8/ldconfig.8:124
6705 msgid ""
6706 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
6707 "updated."
6708 msgstr ""
6709 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6710 "うは更新される。"
6711
6712 #. type: TP
6713 #: build/C/man8/ldconfig.8:124
6714 #, no-wrap
6715 msgid "B<-X>"
6716 msgstr "B<-X>"
6717
6718 #. type: Plain text
6719 #: build/C/man8/ldconfig.8:130
6720 msgid ""
6721 "Don't update links.  Unless B<-N> is also specified, the cache is still "
6722 "rebuilt."
6723 msgstr ""
6724 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6725 "される。"
6726
6727 #. type: TP
6728 #: build/C/man8/ldconfig.8:130
6729 #, no-wrap
6730 msgid "B<-f conf>"
6731 msgstr "B<-f conf>"
6732
6733 #. type: Plain text
6734 #: build/C/man8/ldconfig.8:136
6735 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6736 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6737
6738 #. type: TP
6739 #: build/C/man8/ldconfig.8:136
6740 #, no-wrap
6741 msgid "B<-C cache>"
6742 msgstr "B<-C cache>"
6743
6744 #. type: Plain text
6745 #: build/C/man8/ldconfig.8:142
6746 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6747 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6748
6749 #. type: TP
6750 #: build/C/man8/ldconfig.8:142
6751 #, no-wrap
6752 msgid "B<-r root>"
6753 msgstr "B<-r root>"
6754
6755 #. type: Plain text
6756 #: build/C/man8/ldconfig.8:147
6757 msgid "Change to and use I<root> as the root directory."
6758 msgstr ""
6759 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6760 "る。"
6761
6762 #. type: TP
6763 #: build/C/man8/ldconfig.8:147
6764 #, no-wrap
6765 msgid "B<-l>"
6766 msgstr "B<-l>"
6767
6768 #. type: Plain text
6769 #: build/C/man8/ldconfig.8:152
6770 msgid ""
6771 "Library mode.  Manually link individual libraries.  Intended for use by "
6772 "experts only."
6773 msgstr ""
6774 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6775 "べきである。"
6776
6777 #. type: TP
6778 #: build/C/man8/ldconfig.8:152
6779 #, no-wrap
6780 msgid "B<-p>"
6781 msgstr "B<-p>"
6782
6783 #. type: Plain text
6784 #: build/C/man8/ldconfig.8:156
6785 msgid ""
6786 "Print the lists of directories and candidate libraries stored in the current "
6787 "cache."
6788 msgstr ""
6789 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6790 "示する。"
6791
6792 #. type: Plain text
6793 #: build/C/man8/ldconfig.8:161
6794 msgid "run-time linker/loader"
6795 msgstr "実行時リンカー/ローダー。"
6796
6797 #. type: TP
6798 #: build/C/man8/ldconfig.8:161
6799 #, no-wrap
6800 msgid "I</etc/ld.so.conf>"
6801 msgstr "I</etc/ld.so.conf>"
6802
6803 #. type: Plain text
6804 #: build/C/man8/ldconfig.8:165
6805 msgid ""
6806 "File containing a list of colon, space, tab, newline, or comma-separated "
6807 "directories in which to search for libraries."
6808 msgstr ""
6809 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6810 "れのディレクトリでライブラリが検索される。"
6811
6812 #. type: Plain text
6813 #: build/C/man8/ldconfig.8:174
6814 msgid ""
6815 "File containing an ordered list of libraries found in the directories "
6816 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6817 "usr/lib>."
6818 msgstr ""
6819 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6820 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6821
6822 #. type: Plain text
6823 #: build/C/man8/ldconfig.8:178
6824 msgid "B<ldd>(1), B<ld.so>(8)"
6825 msgstr "B<ldd>(1), B<ld.so>(8)"
6826
6827 #. type: TH
6828 #: build/C/man1/ldd.1:14
6829 #, no-wrap
6830 msgid "LDD"
6831 msgstr "LDD"
6832
6833 #. type: Plain text
6834 #: build/C/man1/ldd.1:17
6835 msgid "ldd - print shared library dependencies"
6836 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6837
6838 #. type: Plain text
6839 #: build/C/man1/ldd.1:19
6840 msgid "B<ldd> [I<option>]... I<file>..."
6841 msgstr "B<ldd> [I<option>]... I<file>..."
6842
6843 #. type: Plain text
6844 #: build/C/man1/ldd.1:23
6845 msgid ""
6846 "B<ldd> prints the shared libraries required by each program or shared "
6847 "library specified on the command line."
6848 msgstr ""
6849 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6850 "れで必要とされる共有ライブラリを表示する。"
6851
6852 #. type: SS
6853 #: build/C/man1/ldd.1:23
6854 #, no-wrap
6855 msgid "Security"
6856 msgstr "セキュリティ"
6857
6858 #.  Mainline glibc's ldd allows this possibility (the line
6859 #.       try_trace "$file"
6860 #.  in glibc 2.15, for example), but many distro versions of
6861 #.  ldd seem to remove that code path from the script.
6862 #. type: Plain text
6863 #: build/C/man1/ldd.1:49
6864 msgid ""
6865 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
6866 "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6867 "which causes the linker to display the library dependencies.  Be aware, "
6868 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6869 "obtain the dependency information by directly executing the program.  Thus, "
6870 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6871 "result in the execution of arbitrary code.  A safer alternative when dealing "
6872 "with untrusted executables is:"
6873 msgstr ""
6874 "通常の場合、 B<ldd> は標準の動的リンカー (B<ld.so>(8) 参照) を "
6875 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6876 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカーはライブラリの依存関"
6877 "係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実"
6878 "行するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに"
6879 "対しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行すること"
6880 "につながるからである。信頼できない実行ファイルを扱う、より安全な別の方法とし"
6881 "ては次のようにするとよい。"
6882
6883 #. type: Plain text
6884 #: build/C/man1/ldd.1:51
6885 #, no-wrap
6886 msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
6887 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
6888
6889 #. type: TP
6890 #: build/C/man1/ldd.1:52 build/C/man1/mtrace.1:55
6891 #, no-wrap
6892 msgid "B<--version>"
6893 msgstr "B<--version>"
6894
6895 #. type: Plain text
6896 #: build/C/man1/ldd.1:56
6897 msgid "Print the version number of B<ldd>."
6898 msgstr "B<ldd> のバージョン番号を表示する。"
6899
6900 #. type: TP
6901 #: build/C/man1/ldd.1:56
6902 #, no-wrap
6903 msgid "B<-v\\ --verbose>"
6904 msgstr "B<-v\\ --verbose>"
6905
6906 #. type: Plain text
6907 #: build/C/man1/ldd.1:60
6908 msgid ""
6909 "Print all information, including, for example, symbol versioning information."
6910 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6911
6912 #. type: TP
6913 #: build/C/man1/ldd.1:60
6914 #, no-wrap
6915 msgid "B<-u\\ --unused>"
6916 msgstr "B<-u\\ --unused>"
6917
6918 #. type: Plain text
6919 #: build/C/man1/ldd.1:64
6920 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
6921 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6922
6923 #. type: TP
6924 #: build/C/man1/ldd.1:64
6925 #, no-wrap
6926 msgid "B<-d\\ --data-relocs>"
6927 msgstr "B<-d\\ --data-relocs>"
6928
6929 #. type: Plain text
6930 #: build/C/man1/ldd.1:67
6931 msgid "Perform relocations and report any missing objects (ELF only)."
6932 msgstr ""
6933 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6934
6935 #. type: TP
6936 #: build/C/man1/ldd.1:67
6937 #, no-wrap
6938 msgid "B<-r\\ --function-relocs>"
6939 msgstr "B<-r\\ --function-relocs>"
6940
6941 #. type: Plain text
6942 #: build/C/man1/ldd.1:71
6943 msgid ""
6944 "Perform relocations for both data objects and functions, and report any "
6945 "missing objects or functions (ELF only)."
6946 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6947
6948 #. type: TP
6949 #: build/C/man1/ldd.1:71 build/C/man1/mtrace.1:52
6950 #, no-wrap
6951 msgid "B<--help>"
6952 msgstr "B<--help>"
6953
6954 #.  .SH NOTES
6955 #.  The standard version of
6956 #.  .B ldd
6957 #.  comes with glibc2.
6958 #.  Libc5 came with an older version, still present
6959 #.  on some systems.
6960 #.  The long options are not supported by the libc5 version.
6961 #.  On the other hand, the glibc2 version does not support
6962 #.  .B \-V
6963 #.  and only has the equivalent
6964 #.  .BR \-\-version .
6965 #.  .LP
6966 #.  The libc5 version of this program will use the name of a library given
6967 #.  on the command line as-is when it contains a \(aq/\(aq; otherwise it
6968 #.  searches for the library in the standard locations.
6969 #.  To run it
6970 #.  on a shared library in the current directory, prefix the name with "./".
6971 #. type: Plain text
6972 #: build/C/man1/ldd.1:91
6973 msgid "Usage information."
6974 msgstr "使用法を表示する。"
6975
6976 #. type: Plain text
6977 #: build/C/man1/ldd.1:94
6978 msgid "B<ldd> does not work on a.out shared libraries."
6979 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6980
6981 #.  .SH AUTHOR
6982 #.  David Engel.
6983 #.  Roland McGrath and Ulrich Drepper.
6984 #. type: Plain text
6985 #: build/C/man1/ldd.1:108
6986 msgid ""
6987 "B<ldd> does not work with some extremely old a.out programs which were built "
6988 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
6989 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6990 "and the results will be unpredictable."
6991 msgstr ""
6992 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6993 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
6994 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
6995 "不可能である。"
6996
6997 #. type: Plain text
6998 #: build/C/man1/ldd.1:113
6999 msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7000 msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7001
7002 #. type: TH
7003 #: build/C/man1/memusage.1:24
7004 #, no-wrap
7005 msgid "MEMUSAGE"
7006 msgstr "MEMUSAGE"
7007
7008 #. type: TH
7009 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
7010 #, no-wrap
7011 msgid "2014-09-06"
7012 msgstr "2014-09-06"
7013
7014 #. type: TH
7015 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
7016 #, no-wrap
7017 msgid "Linux user manual"
7018 msgstr "Linux user manual"
7019
7020 #. type: Plain text
7021 #: build/C/man1/memusage.1:27
7022 msgid "memusage - profile memory usage of a program"
7023 msgstr "memusage - プログラムのメモリー使用量のプロファイルを行う"
7024
7025 #. type: Plain text
7026 #: build/C/man1/memusage.1:29
7027 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7028 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7029
7030 #. type: Plain text
7031 #: build/C/man1/memusage.1:53
7032 msgid ""
7033 "B<memusage> is a bash script which profiles memory usage of the program, "
7034 "I<program>.  It preloads the B<libmemusage.so> library into the caller's "
7035 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)).  "
7036 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
7037 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
7038 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2)  can also be intercepted."
7039 msgstr ""
7040 "B<memusage> は、 プログラム I<program> のメモリー使用量のプロファイルを行う "
7041 "bash スクリプトである。 呼び出し元の環境に (B<LD_PRELOAD> 環境変数を使って) "
7042 "B<libmemusage.so> ライブラリをプレロードする。 B<ld.so>(8) を参照。 "
7043 "B<libmemusage.so> ライブラリは、 B<malloc>(3), B<calloc>(3), B<free>(3), "
7044 "B<realloc>(3) の呼び出しを横取りし、 メモリー割り当て状況の追跡を行う。 追加"
7045 "で、 B<mmap>(2), B<mremap>(2), B<munmap>(2) を追跡することもできる。"
7046
7047 #. type: Plain text
7048 #: build/C/man1/memusage.1:62
7049 msgid ""
7050 "B<memusage> can output the collected data in textual form, or it can use "
7051 "B<memusagestat>(1)  (see the B<-p> option, below)  to create a PNG file "
7052 "containing graphical representation of the collected data."
7053 msgstr ""
7054 "B<memusage> は収集したデータをテキスト形式で出力することもできるし、 "
7055 "B<memusagestat>(1) を使って収集したデータをグラフにした PNG ファイルを作成す"
7056 "ることもできる (以下の B<-p> オプションを参照)。"
7057
7058 #. type: SS
7059 #: build/C/man1/memusage.1:62
7060 #, no-wrap
7061 msgid "Memory usage summary"
7062 msgstr "メモリー使用量概要"
7063
7064 #. type: Plain text
7065 #: build/C/man1/memusage.1:66
7066 msgid ""
7067 "The \"Memory usage summary\" line output by B<memusage> contains three "
7068 "fields:"
7069 msgstr ""
7070 "B<memusage> が出力する \"Memory usage summary\" (メモリー使用量概要) の行には"
7071 "以下のフィールドが含まれる。"
7072
7073 #. type: TP
7074 #: build/C/man1/memusage.1:67
7075 #, no-wrap
7076 msgid "B<heap total>"
7077 msgstr "B<heap total>"
7078
7079 #. type: Plain text
7080 #: build/C/man1/memusage.1:84
7081 msgid ""
7082 "Sum of I<size> arguments of all B<malloc>(3)  calls, products of arguments "
7083 "(I<nmemb>*I<size>) of all B<calloc>(3)  calls, and sum of I<length> "
7084 "arguments of all B<mmap>(2)  calls.  In the case of B<realloc>(3)  and "
7085 "B<mremap>(2), if the new size of an allocation is larger than the previous "
7086 "size, the sum of all such differences (new size minus old size) is added."
7087 msgstr ""
7088 "B<malloc>(3) のすべての呼び出しの I<size> 引き数の合計、 B<calloc>(3) のすべ"
7089 "ての呼び出しの引き数の積 (I<nmemb>*I<size>)、 B<mmap>(2) のすべての呼び出し"
7090 "の I<length> 引き数の合計。 B<realloc>(3) と B<mremap>(2) の場合、 割り当ての"
7091 "新しいサイズが以前のサイズよりも大きい場合、 差分 (新しいサイズから古いサイズ"
7092 "を引いた値) の合計が加算される。"
7093
7094 #. type: TP
7095 #: build/C/man1/memusage.1:84
7096 #, no-wrap
7097 msgid "B<heap peak>"
7098 msgstr "B<heap peak>"
7099
7100 #. type: Plain text
7101 #: build/C/man1/memusage.1:98
7102 msgid ""
7103 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
7104 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
7105 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
7106 msgstr ""
7107 "B<malloc>(3) の I<size> 引き数、 B<calloc>(3) の I<nmemb>*I<size> の積、 "
7108 "B<realloc>(3) の I<size> 引き数、 B<mmap>(2) の I<length> 引き数、 "
7109 "B<mremap>(2) の I<new_size> 引き数、 の中の最大値。"
7110
7111 #. type: TP
7112 #: build/C/man1/memusage.1:98
7113 #, no-wrap
7114 msgid "B<stack peak>"
7115 msgstr "B<stack peak>"
7116
7117 #. type: Plain text
7118 #: build/C/man1/memusage.1:105
7119 msgid ""
7120 "Before the first call to any monitored function, the stack pointer address "
7121 "(base stack pointer) is saved.  After each function call, the actual stack "
7122 "pointer address is read and the difference from the base stack pointer "
7123 "computed.  The maximum of these differences is then the stack peak."
7124 msgstr ""
7125 "監視される関数の最初の呼び出しが行われる前に、 スタックポインターアドレス "
7126 "(ベーススタックポインター) が保存される。 関数のそれぞれの呼び出し後には、 実"
7127 "際のスタックポインターアドレスを読み込み、 ベースポインターアドレスを元に差分"
7128 "を計算する。これらの差分の最大値がスタックのピーク値となる。"
7129
7130 #. type: Plain text
7131 #: build/C/man1/memusage.1:122
7132 msgid ""
7133 "Immediately following this summary line, a table shows the number calls, "
7134 "total memory allocated or deallocated, and number of failed calls for each "
7135 "intercepted function.  For B<realloc>(3)  and B<mremap>(2), the additional "
7136 "field \"nomove\" shows reallocations that changed the address of a block, "
7137 "and the additional \"dec\" field shows reallocations that decreased the size "
7138 "of the block.  For B<realloc>(3), the additional field \"free\" shows "
7139 "reallocations that caused a block to be freed (i.e., the reallocated size "
7140 "was 0)."
7141 msgstr ""
7142 "この概要行の直後には、 監視対象の各関数の呼び出し回数、 割り当て・割り当て解"
7143 "除された全メモリー量、 失敗した回数がテーブルで表示される。 B<realloc>(3) と "
7144 "B<mremap>(2) の場合には、 フィールド \"nomove\" でブロックアドレスを変更した"
7145 "再割り当て数を、 フィールド \"dec\" でブロックサイズが減少した再割り当て数が"
7146 "追加で表示される。 B<realloc>(3) の場合、 フィールド \"free\" でブロックの解"
7147 "放が行われた再割り当て (サイズが 0 の再割り当て) の数も追加で表示される。"
7148
7149 #. type: Plain text
7150 #: build/C/man1/memusage.1:132
7151 msgid ""
7152 "The \"realloc/total memory\" of the table output by B<memusage> does not "
7153 "reflect cases where B<realloc>(3)  is used to reallocate a block of memory "
7154 "to have a smaller size than previously.  This can cause sum of all \"total "
7155 "memory\" cells (excluding \"free\")  to be larger than the \"free/total "
7156 "memory\" cell."
7157 msgstr ""
7158 "B<memusage> が出力するテーブルの \"realloc/total memory\" (再割り当てメモ"
7159 "リー/全メモリー) には、 B<realloc>(3) を使ってメモリーブロックをその前よりも"
7160 "小さいサイズに再割り当てされた場合は含まれない。 このため、 (\"free\" 以外"
7161 "の) すべての「総メモリー」のセルは \"free/total memory\" セルよりも大きくなる"
7162 "ことがある。"
7163
7164 #. type: SS
7165 #: build/C/man1/memusage.1:132
7166 #, no-wrap
7167 msgid "Histogram for block sizes"
7168 msgstr "ブロックサイズのヒストグラム"
7169
7170 #. type: Plain text
7171 #: build/C/man1/memusage.1:135
7172 msgid ""
7173 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
7174 "into various bucket sizes."
7175 msgstr ""
7176 "\"Histogram for block sizes\" (ブロックサイズのヒストグラム) は、 メモリー割"
7177 "り当てをバケットサイズ単位に分割した情報である。"
7178
7179 #. type: TP
7180 #: build/C/man1/memusage.1:136
7181 #, no-wrap
7182 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7183 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7184
7185 #. type: Plain text
7186 #: build/C/man1/memusage.1:139
7187 msgid "Name of the program file to profile."
7188 msgstr "プロファイル対象のプログラムファイル名。"
7189
7190 #. type: TP
7191 #: build/C/man1/memusage.1:139
7192 #, no-wrap
7193 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7194 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7195
7196 #. type: Plain text
7197 #: build/C/man1/memusage.1:143
7198 msgid "Generate PNG graphic and store it in I<file>."
7199 msgstr "PNG 画像を生成し、 I<file> に格納する。"
7200
7201 #. type: TP
7202 #: build/C/man1/memusage.1:143
7203 #, no-wrap
7204 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7205 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7206
7207 #. type: Plain text
7208 #: build/C/man1/memusage.1:147
7209 msgid "Generate binary data file and store it in I<file>."
7210 msgstr "バイナリーデータファイルを生成し、 I<file> に格納する。"
7211
7212 #. type: TP
7213 #: build/C/man1/memusage.1:147
7214 #, no-wrap
7215 msgid "B<-u>,\\ B<--unbuffered>"
7216 msgstr "B<-u>,\\ B<--unbuffered>"
7217
7218 #. type: Plain text
7219 #: build/C/man1/memusage.1:150
7220 msgid "Do not buffer output."
7221 msgstr "出力バッファーリングを行わない。"
7222
7223 #. type: TP
7224 #: build/C/man1/memusage.1:150
7225 #, no-wrap
7226 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7227 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7228
7229 #. type: Plain text
7230 #: build/C/man1/memusage.1:155
7231 msgid "Collect I<size> entries before writing them out."
7232 msgstr "出力する前に I<size> 個のエントリーの収集を行う。"
7233
7234 #. type: TP
7235 #: build/C/man1/memusage.1:155
7236 #, no-wrap
7237 msgid "B<--no-timer>"
7238 msgstr "B<--no-timer>"
7239
7240 #. type: Plain text
7241 #: build/C/man1/memusage.1:160
7242 msgid "Disable timer-based (B<SIGPROF>)  sampling of stack pointer value."
7243 msgstr ""
7244 "スタックポインター値の時間ベースのサンプリング (B<SIGPROF>) を無効にする。"
7245
7246 #. type: TP
7247 #: build/C/man1/memusage.1:160
7248 #, no-wrap
7249 msgid "B<-m>,\\ B<--mmap>"
7250 msgstr "B<-m>,\\ B<--mmap>"
7251
7252 #. type: Plain text
7253 #: build/C/man1/memusage.1:167
7254 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
7255 msgstr "B<mmap>(2), B<mremap>(2), B<mmap>(2) も追跡対象とする。"
7256
7257 #. type: TP
7258 #: build/C/man1/memusage.1:167 build/C/man1/memusagestat.1:72
7259 #, no-wrap
7260 msgid "B<-?>,\\ B<--help>"
7261 msgstr "B<-?>,\\ B<--help>"
7262
7263 #. type: Plain text
7264 #: build/C/man1/memusage.1:170 build/C/man1/mtrace.1:55
7265 msgid "Print help and exit."
7266 msgstr "ヘルプを表示し、終了する。"
7267
7268 #. type: TP
7269 #: build/C/man1/memusage.1:170 build/C/man1/memusagestat.1:75
7270 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
7271 #, no-wrap
7272 msgid "B<--usage>"
7273 msgstr "B<--usage>"
7274
7275 #. type: Plain text
7276 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7277 msgid "Print a short usage message and exit."
7278 msgstr "簡潔な使用方法を表示して終了する。"
7279
7280 #. type: TP
7281 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7282 #, no-wrap
7283 msgid "B<-V>,\\ B<--version>"
7284 msgstr "B<-V>,\\ B<--version>"
7285
7286 #. type: Plain text
7287 #: build/C/man1/memusage.1:176 build/C/man1/memusagestat.1:81
7288 #: build/C/man1/mtrace.1:58
7289 msgid "Print version information and exit."
7290 msgstr "バージョン情報を表示して終了する。"
7291
7292 #. type: TP
7293 #: build/C/man1/memusage.1:176
7294 #, no-wrap
7295 msgid "The following options apply only when generating graphical output:"
7296 msgstr "以下のオプションは画像出力を行う場合にのみ適用される。"
7297
7298 #. type: TP
7299 #: build/C/man1/memusage.1:178
7300 #, no-wrap
7301 msgid "B<-t>,\\ B<--time-based>"
7302 msgstr "B<-t>,\\ B<--time-based>"
7303
7304 #. type: Plain text
7305 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7306 msgid ""
7307 "Use time (rather than number of function calls) as the scale for the X axis."
7308 msgstr "X 軸の目盛として (関数呼び出し数ではなく) 時間を使用する。"
7309
7310 #. type: TP
7311 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7312 #, no-wrap
7313 msgid "B<-T>,\\ B<--total>"
7314 msgstr "B<-T>,\\ B<--total>"
7315
7316 #. type: Plain text
7317 #: build/C/man1/memusage.1:184
7318 msgid "Also draw a graph of total memory use."
7319 msgstr "メモリーの全使用量のグラフも生成する。"
7320
7321 #. type: TP
7322 #: build/C/man1/memusage.1:184
7323 #, no-wrap
7324 msgid "B<--title=>I<name>"
7325 msgstr "B<--title=>I<name>"
7326
7327 #. type: Plain text
7328 #: build/C/man1/memusage.1:189
7329 msgid "Use I<name> as the title of the graph."
7330 msgstr "グラフのタイトルとして I<name> を使用する。"
7331
7332 #. type: TP
7333 #: build/C/man1/memusage.1:189 build/C/man1/memusagestat.1:62
7334 #, no-wrap
7335 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7336 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7337
7338 #. type: Plain text
7339 #: build/C/man1/memusage.1:194
7340 msgid "Make the graph I<size> pixels wide."
7341 msgstr "グラフの幅を I<size> ピクセルにする。"
7342
7343 #. type: TP
7344 #: build/C/man1/memusage.1:194 build/C/man1/memusagestat.1:67
7345 #, no-wrap
7346 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7347 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7348
7349 #. type: Plain text
7350 #: build/C/man1/memusage.1:199
7351 msgid "Make the graph I<size> pixels high."
7352 msgstr "グラフの高さを I<size> ピクセルにする。"
7353
7354 #. type: SH
7355 #: build/C/man1/memusage.1:199 build/C/man1/pldd.1:60
7356 #, no-wrap
7357 msgid "EXIT STATUS"
7358 msgstr "終了ステータス"
7359
7360 #. type: Plain text
7361 #: build/C/man1/memusage.1:201
7362 msgid "Exit status is equal to the exit status of profiled program."
7363 msgstr ""
7364 "終了ステータスはプロファイルしたプログラムの終了ステータスと同じになる。"
7365
7366 #. type: Plain text
7367 #: build/C/man1/memusage.1:208
7368 msgid ""
7369 "Below is a simple program that reallocates a block of memory in cycles that "
7370 "rise to a peak before then cyclically reallocating the memory in smaller "
7371 "blocks that return to zero.  After compiling the program and running the "
7372 "following commands, a graph of the memory usage of the program can be found "
7373 "in the file I<memusage.png>:"
7374 msgstr ""
7375 "以下の簡単なプログラムは、 ピークに達するまで繰り返しメモリーブロックの再割り"
7376 "当てを行い、 その後ブロックサイズが 0 になるまで繰り返し順に小さなブロックに"
7377 "再割り当てを行う。 このプログラムをコンパイルして以下のコマンドを実行する"
7378 "と、 このプログラムのメモリー使用量がファイル I<memusage.png> に出力される。"
7379
7380 #. type: Plain text
7381 #: build/C/man1/memusage.1:232
7382 #, no-wrap
7383 msgid ""
7384 "$ B<memusage --data=memusage.dat ./a.out>\n"
7385 "\\&...\n"
7386 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7387 "        total calls  total memory  failed calls\n"
7388 " malloc|         1           400             0\n"
7389 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7390 " calloc|         0             0             0\n"
7391 "   free|         1           440\n"
7392 "Histogram for block sizes:\n"
7393 "  192-207             1   2% ================\n"
7394 "\\&...\n"
7395 " 2192-2207            1   2% ================\n"
7396 " 2240-2255            2   4% =================================\n"
7397 " 2832-2847            2   4% =================================\n"
7398 " 3440-3455            2   4% =================================\n"
7399 " 4032-4047            2   4% =================================\n"
7400 " 4640-4655            2   4% =================================\n"
7401 " 5232-5247            2   4% =================================\n"
7402 " 5840-5855            2   4% =================================\n"
7403 " 6432-6447            1   2% ================\n"
7404 "$ B<memusagestat memusage.dat memusage.png>\n"
7405 msgstr ""
7406 "$ B<memusage --data=memusage.dat ./a.out>\n"
7407 "\\&...\n"
7408 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7409 "        total calls  total memory  failed calls\n"
7410 " malloc|         1           400             0\n"
7411 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7412 " calloc|         0             0             0\n"
7413 "   free|         1           440\n"
7414 "Histogram for block sizes:\n"
7415 "  192-207             1   2% ================\n"
7416 "\\&...\n"
7417 " 2192-2207            1   2% ================\n"
7418 " 2240-2255            2   4% =================================\n"
7419 " 2832-2847            2   4% =================================\n"
7420 " 3440-3455            2   4% =================================\n"
7421 " 4032-4047            2   4% =================================\n"
7422 " 4640-4655            2   4% =================================\n"
7423 " 5232-5247            2   4% =================================\n"
7424 " 5840-5855            2   4% =================================\n"
7425 " 6432-6447            1   2% ================\n"
7426 "$ B<memusagestat memusage.dat memusage.png>\n"
7427
7428 #. type: Plain text
7429 #: build/C/man1/memusage.1:240
7430 #, no-wrap
7431 msgid "#define CYCLES 20\n"
7432 msgstr "#define CYCLES 20\n"
7433
7434 #. type: Plain text
7435 #: build/C/man1/memusage.1:246
7436 #, no-wrap
7437 msgid ""
7438 "int\n"
7439 "main(int argc, char *argv[])\n"
7440 "{\n"
7441 "     int i, j;\n"
7442 "     int *p;\n"
7443 msgstr ""
7444 "int\n"
7445 "main(int argc, char *argv[])\n"
7446 "{\n"
7447 "     int i, j;\n"
7448 "     int *p;\n"
7449
7450 #. type: Plain text
7451 #: build/C/man1/memusage.1:249
7452 #, no-wrap
7453 msgid ""
7454 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7455 "     p = malloc(sizeof(int) * 100);\n"
7456 msgstr ""
7457 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7458 "     p = malloc(sizeof(int) * 100);\n"
7459
7460 #. type: Plain text
7461 #: build/C/man1/memusage.1:255
7462 #, no-wrap
7463 msgid ""
7464 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7465 "         if (i E<lt> CYCLES / 2)\n"
7466 "             j = i;\n"
7467 "         else\n"
7468 "             j--;\n"
7469 msgstr ""
7470 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7471 "         if (i E<lt> CYCLES / 2)\n"
7472 "             j = i;\n"
7473 "         else\n"
7474 "             j--;\n"
7475
7476 #. type: Plain text
7477 #: build/C/man1/memusage.1:258
7478 #, no-wrap
7479 msgid ""
7480 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7481 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7482 msgstr ""
7483 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7484 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7485
7486 #. type: Plain text
7487 #: build/C/man1/memusage.1:262
7488 #, no-wrap
7489 msgid ""
7490 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7491 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7492 "     }\n"
7493 msgstr ""
7494 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7495 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7496 "     }\n"
7497
7498 #. type: Plain text
7499 #: build/C/man1/memusage.1:266
7500 #, no-wrap
7501 msgid ""
7502 "     free(p);\n"
7503 "     exit(EXIT_SUCCESS);\n"
7504 "}\n"
7505 msgstr ""
7506 "     free(p);\n"
7507 "     exit(EXIT_SUCCESS);\n"
7508 "}\n"
7509
7510 #. type: Plain text
7511 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
7512 msgid ""
7513 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
7514 msgstr ""
7515 "バグ報告については E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE> "
7516 "を参照のこと。"
7517
7518 #. type: Plain text
7519 #: build/C/man1/memusage.1:275
7520 msgid "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7521 msgstr "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7522
7523 #. type: TH
7524 #: build/C/man1/memusagestat.1:23
7525 #, no-wrap
7526 msgid "MEMUSAGESTAT"
7527 msgstr "MEMUSAGESTAT"
7528
7529 #. type: TH
7530 #: build/C/man1/memusagestat.1:23
7531 #, no-wrap
7532 msgid "Linux programmer's manual"
7533 msgstr "Linux programmer's manual"
7534
7535 #. type: Plain text
7536 #: build/C/man1/memusagestat.1:26
7537 msgid "memusagestat - generate graphic from memory profiling data"
7538 msgstr "memusagestat - メモリーのプロファイリングデータからグラフを出力する"
7539
7540 #. type: Plain text
7541 #: build/C/man1/memusagestat.1:28
7542 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7543 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7544
7545 #. type: Plain text
7546 #: build/C/man1/memusagestat.1:39
7547 msgid ""
7548 "B<memusagestat> creates a PNG file containing a graphical representation of "
7549 "the memory profiling data in the file I<datafile>; that file is generated "
7550 "via the I<-d> (or I<--data>)  option of B<memusage>(1)."
7551 msgstr ""
7552 "B<memusagestat> は、 ファイル I<datafile> に格納されたメモリーのプロファイリ"
7553 "ングデータをグラフとして表現した PNG ファイルを作成する。 I<datafile> は "
7554 "B<memusage>(1) の I<-d> (I<--data>) オプションで生成される。"
7555
7556 #. type: Plain text
7557 #: build/C/man1/memusagestat.1:47
7558 msgid ""
7559 "The red line in the graph shows the heap usage (allocated memory)  and the "
7560 "green line shows the stack usage.  The x-scale is either the number of "
7561 "memory-handling function calls or (if the I<-t> option is specified)  time."
7562 msgstr ""
7563 "グラフの赤色の線はヒープ使用量 (割り当てられたメモリー) を示し、 緑色の線はス"
7564 "タック使用量を示す。 X 軸はメモリー処理関数の呼び出し数 (I<-t> オプションが指"
7565 "定された場合は時間) である。"
7566
7567 #. type: TP
7568 #: build/C/man1/memusagestat.1:48
7569 #, no-wrap
7570 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7571 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7572
7573 #. type: Plain text
7574 #: build/C/man1/memusagestat.1:51
7575 msgid "Name of the output file."
7576 msgstr "出力ファイルの名前。"
7577
7578 #. type: TP
7579 #: build/C/man1/memusagestat.1:51
7580 #, no-wrap
7581 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7582 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7583
7584 #. type: Plain text
7585 #: build/C/man1/memusagestat.1:56
7586 msgid "Use I<string> as the title inside the output graph."
7587 msgstr "出力グラフに表示するタイトルとして I<string> を使用する。"
7588
7589 #. type: TP
7590 #: build/C/man1/memusagestat.1:56
7591 #, no-wrap
7592 msgid "B<-t>,\\ B<--time>"
7593 msgstr "B<-t>,\\ B<--time>"
7594
7595 #. type: Plain text
7596 #: build/C/man1/memusagestat.1:62
7597 msgid "Also draw a graph of total memory consumption."
7598 msgstr "全メモリー消費量のグラフも出力する。"
7599
7600 #. type: Plain text
7601 #: build/C/man1/memusagestat.1:67
7602 msgid "Make the output graph I<size> pixels wide."
7603 msgstr "出力グラフの幅を I<size> ピクセルにする。"
7604
7605 #. type: Plain text
7606 #: build/C/man1/memusagestat.1:72
7607 msgid "Make the output graph I<size> pixels high."
7608 msgstr "出力グラフの高さを I<size> ピクセルにする。"
7609
7610 #. type: Plain text
7611 #: build/C/man1/memusagestat.1:75
7612 msgid "Print a help message and exit."
7613 msgstr "ヘルプメッセージを表示して終了する。"
7614
7615 #. type: Plain text
7616 #: build/C/man1/memusagestat.1:84
7617 msgid "See B<memusage>(1)."
7618 msgstr "B<memusage>(1) を参照。"
7619
7620 #. type: Plain text
7621 #: build/C/man1/memusagestat.1:91
7622 msgid "B<memusage>(1), B<mtrace>(1)"
7623 msgstr "B<memusage>(1), B<mtrace>(1)"
7624
7625 #. type: TH
7626 #: build/C/man1/mtrace.1:23
7627 #, no-wrap
7628 msgid "MTRACE"
7629 msgstr "MTRACE"
7630
7631 #. type: TH
7632 #: build/C/man1/mtrace.1:23
7633 #, no-wrap
7634 msgid "2014-09-01"
7635 msgstr "2014-09-01"
7636
7637 #. type: Plain text
7638 #: build/C/man1/mtrace.1:26
7639 msgid "mtrace - interpret the malloc trace log"
7640 msgstr "mtrace - malloc のトレースログを解釈する"
7641
7642 #. type: Plain text
7643 #: build/C/man1/mtrace.1:28
7644 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7645 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7646
7647 #. type: Plain text
7648 #: build/C/man1/mtrace.1:44
7649 msgid ""
7650 "B<mtrace> is a Perl script used to interpret and provide human readable "
7651 "output of the trace log contained in the file I<mtracedata>, whose contents "
7652 "were produced by B<mtrace>(3).  If I<binary> is provided, the output of "
7653 "B<mtrace> also contains the source file name with line number information "
7654 "for problem locations (assuming that I<binary> was compiled with debugging "
7655 "information)."
7656 msgstr ""
7657 "B<mtrace> は B<mtrace>(3) の出力内容が入ったファイル I<mtracedata> のトレース"
7658 "ログを解釈し人間が読みやすい出力に変換する Perl スクリプトである。 I<binary> "
7659 "が渡されると、 B<mtrace> の出力に問題箇所にソースファイル名と行番号も出力され"
7660 "る (I<binary> はデバッグ情報付きでコンパイルされているものとする)。"
7661
7662 #. type: Plain text
7663 #: build/C/man1/mtrace.1:51
7664 msgid ""
7665 "For more information about the B<mtrace>(3)  function and B<mtrace> script "
7666 "usage, see B<mtrace>(3)."
7667 msgstr ""
7668 "B<mtrace>(3) 関数と B<mtrace> スクリプトの使用方法の詳細は B<mtrace>(3) を参"
7669 "照。"
7670
7671 #. type: Plain text
7672 #: build/C/man1/mtrace.1:61
7673 msgid ""
7674 "For bug reporting instructions, please see: E<lt>http://www.gnu.org/software/"
7675 "libc/bugs.htmlE<gt>."
7676 msgstr ""
7677 "バグ報告の方法については E<lt>http://www.gnu.org/software/libc/bugs."
7678 "htmlE<gt> を参照。"
7679
7680 #. type: Plain text
7681 #: build/C/man1/mtrace.1:64
7682 msgid "B<memusage>(1), B<mtrace>(3)"
7683 msgstr "B<memusage>(1), B<mtrace>(3)"
7684
7685 #. type: TH
7686 #: build/C/man1/pldd.1:25
7687 #, no-wrap
7688 msgid "PLDD"
7689 msgstr "PLDD"
7690
7691 #. type: TH
7692 #: build/C/man1/pldd.1:25
7693 #, no-wrap
7694 msgid "2014-09-27"
7695 msgstr "2014-09-27"
7696
7697 #. type: TH
7698 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
7699 #, no-wrap
7700 msgid "Linux User Manual"
7701 msgstr "Linux User Manual"
7702
7703 #. type: Plain text
7704 #: build/C/man1/pldd.1:28
7705 msgid "pldd - display dynamic shared objects linked into a process"
7706 msgstr "pldd - プロセスにリンクされている動的共有オブジェクトを表示する"
7707
7708 #. type: Plain text
7709 #: build/C/man1/pldd.1:32
7710 #, no-wrap
7711 msgid ""
7712 "B<pldd >I<PID>\n"
7713 "B<pldd> OPTION\n"
7714 msgstr ""
7715 "B<pldd >I<PID>\n"
7716 "B<pldd> OPTION\n"
7717
7718 #. type: Plain text
7719 #: build/C/man1/pldd.1:40
7720 msgid ""
7721 "The B<pldd> command displays a list of the dynamic shared objects that are "
7722 "linked into the process with the specified process ID.  The list includes "
7723 "the libraries that have been dynamically loaded using B<dlopen>(3)."
7724 msgstr ""
7725 "B<pldd> コマンドは、 指定されたプロセス ID のプロセスにリンクされている動的共"
7726 "有オブジェクトのリストを表示する。 このリストには B<dlopen>(3) を使って動的に"
7727 "ロードされたライブラリーも含まれる。"
7728
7729 #. type: TP
7730 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
7731 #, no-wrap
7732 msgid "B<-?>, B<--help>"
7733 msgstr "B<-?>, B<--help>"
7734
7735 #. type: Plain text
7736 #: build/C/man1/pldd.1:44
7737 msgid "Display program help message."
7738 msgstr "プログラムのヘルプメッセージを表示する。"
7739
7740 #. type: Plain text
7741 #: build/C/man1/pldd.1:47
7742 msgid "Display a short usage message."
7743 msgstr "簡潔な使用方法を表示する。"
7744
7745 #. type: TP
7746 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
7747 #, no-wrap
7748 msgid "B<-V>, B<--version>"
7749 msgstr "B<-V>, B<--version>"
7750
7751 #. type: Plain text
7752 #: build/C/man1/pldd.1:50
7753 msgid "Display the program version."
7754 msgstr "プログラムのバージョンを表示する。"
7755
7756 #. type: Plain text
7757 #: build/C/man1/pldd.1:53
7758 msgid "B<pldd> is available since glibc 2.15."
7759 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
7760
7761 #.  There are man pages on Solaris and HP-UX.
7762 #. type: Plain text
7763 #: build/C/man1/pldd.1:60
7764 msgid ""
7765 "The B<pldd> command is not specified by POSIX.1.  Some other systems have a "
7766 "similar command."
7767 msgstr ""
7768 "B<pldd> コマンドは POSIX.1 では規定されていない。 他のいくつかのシステムにも"
7769 "同様のコマンドがある。"
7770
7771 #. type: Plain text
7772 #: build/C/man1/pldd.1:71
7773 msgid ""
7774 "On success, B<pldd> exits with the status 0.  If the specified process does "
7775 "not exist, the user does not have permission to access its dynamic shared "
7776 "object list, or no command-line arguments are supplied, B<pldd> exists with "
7777 "a status of 1.  If given an invalid option, it exits with the status 64."
7778 msgstr ""
7779 "成功すると B<pldd> はステータス 0 を返す。 指定されたプロセスが存在しない場"
7780 "合、 ユーザーが自身の動的共有オブジェクトのリストにアクセスする許可を持ってい"
7781 "ない場合、 もしくはコマンドライン引き数が指定されていない場合、 B<pldd> はス"
7782 "テータス 1 で終了する。 無効なオプションが指定された場合、 ステータス 64 で終"
7783 "了する。"
7784
7785 #. type: Plain text
7786 #: build/C/man1/pldd.1:83
7787 #, no-wrap
7788 msgid ""
7789 "$ B<echo $$>               # Display PID of shell\n"
7790 "1143\n"
7791 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
7792 "1143:\t/usr/bin/bash\n"
7793 "linux-vdso.so.1\n"
7794 "/lib64/libtinfo.so.5\n"
7795 "/lib64/libdl.so.2\n"
7796 "/lib64/libc.so.6\n"
7797 "/lib64/ld-linux-x86-64.so.2\n"
7798 "/lib64/libnss_files.so.2\n"
7799 msgstr ""
7800 "$ B<echo $$>               # シェルの PID を表示する\n"
7801 "1143\n"
7802 "$ B<pldd $$>               # このシェルにリンクされている動的共有オブジェクトを表示\n"
7803 "1143:\t/usr/bin/bash\n"
7804 "linux-vdso.so.1\n"
7805 "/lib64/libtinfo.so.5\n"
7806 "/lib64/libdl.so.2\n"
7807 "/lib64/libc.so.6\n"
7808 "/lib64/ld-linux-x86-64.so.2\n"
7809 "/lib64/libnss_files.so.2\n"
7810
7811 #. type: Plain text
7812 #: build/C/man1/pldd.1:86
7813 msgid "The command"
7814 msgstr "コマンド"
7815
7816 #. type: Plain text
7817 #: build/C/man1/pldd.1:88
7818 #, no-wrap
7819 msgid "     lsof -p PID\n"
7820 msgstr "     lsof -p PID\n"
7821
7822 #. type: Plain text
7823 #: build/C/man1/pldd.1:91
7824 msgid ""
7825 "also shows output that includes the dynamic shared objects that are linked "
7826 "into a process."
7827 msgstr "は、 プロセスにリンクされた動的共有オブジェクトも出力する。"
7828
7829 #. type: Plain text
7830 #: build/C/man1/pldd.1:96
7831 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7832 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7833
7834 #. type: TH
7835 #: build/C/man7/rtld-audit.7:28
7836 #, no-wrap
7837 msgid "RTLD-AUDIT"
7838 msgstr "RTLD-AUDIT"
7839
7840 #. type: TH
7841 #: build/C/man7/rtld-audit.7:28
7842 #, no-wrap
7843 msgid "2012-07-07"
7844 msgstr "2012-07-07"
7845
7846 #. type: Plain text
7847 #: build/C/man7/rtld-audit.7:31
7848 msgid "rtld-audit - auditing API for the dynamic linker"
7849 msgstr ""
7850
7851 #. type: Plain text
7852 #: build/C/man7/rtld-audit.7:33
7853 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
7854 msgstr ""
7855
7856 #. type: Plain text
7857 #: build/C/man7/rtld-audit.7:35
7858 msgid "B<#include E<lt>link.hE<gt>>"
7859 msgstr "B<#include E<lt>link.hE<gt>>"
7860
7861 #. type: Plain text
7862 #: build/C/man7/rtld-audit.7:43
7863 msgid ""
7864 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
7865 "allows an application to be notified when various dynamic linking events "
7866 "occur.  This API is very similar to the auditing interface provided by the "
7867 "Solaris run-time linker.  The necessary constants and prototypes are defined "
7868 "by including I<E<lt>link.hE<gt>>."
7869 msgstr ""
7870
7871 #. type: Plain text
7872 #: build/C/man7/rtld-audit.7:50
7873 msgid ""
7874 "To use this interface, the programmer creates a shared library that "
7875 "implements a standard set of function names.  Not all of the functions need "
7876 "to be implemented: in most cases, if the programmer is not interested in a "
7877 "particular class of auditing event, then no implementation needs to be "
7878 "provided for the corresponding auditing function."
7879 msgstr ""
7880
7881 #. type: Plain text
7882 #: build/C/man7/rtld-audit.7:58
7883 msgid ""
7884 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7885 "be defined to contain a colon-separated list of shared libraries, each of "
7886 "which can implement (parts of) the auditing API.  When an auditable event "
7887 "occurs, the corresponding function is invoked in each library, in the order "
7888 "that the libraries are listed."
7889 msgstr ""
7890
7891 #. type: SS
7892 #: build/C/man7/rtld-audit.7:58
7893 #, no-wrap
7894 msgid "la_version()"
7895 msgstr "la_version()"
7896
7897 #. type: Plain text
7898 #: build/C/man7/rtld-audit.7:62
7899 #, no-wrap
7900 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7901 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7902
7903 #. type: Plain text
7904 #: build/C/man7/rtld-audit.7:74
7905 msgid ""
7906 "This is the only function that I<must> be defined by an auditing library: it "
7907 "performs the initial handshake between the dynamic linker and the auditing "
7908 "library.  When invoking this function, the dynamic linker passes, in "
7909 "I<version>, the highest version of the auditing interface that the linker "
7910 "supports.  If necessary, the auditing library can check that this version is "
7911 "sufficient for its requirements."
7912 msgstr ""
7913
7914 #. type: Plain text
7915 #: build/C/man7/rtld-audit.7:83
7916 msgid ""
7917 "As its function result, this function should return the version of the "
7918 "auditing interface that this auditing library expects to use (returning "
7919 "I<version> is acceptable).  If the returned value is 0, or a version that is "
7920 "greater than that supported by the dynamic linker, then the audit library is "
7921 "ignored."
7922 msgstr ""
7923
7924 #. type: SS
7925 #: build/C/man7/rtld-audit.7:83
7926 #, no-wrap
7927 msgid "la_objsearch()"
7928 msgstr "la_objsearch()"
7929
7930 #. type: Plain text
7931 #: build/C/man7/rtld-audit.7:88
7932 #, no-wrap
7933 msgid ""
7934 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7935 "B<                   unsigned int >I<flag>B<);>\n"
7936 msgstr ""
7937 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7938 "B<                   unsigned int >I<flag>B<);>\n"
7939
7940 #. type: Plain text
7941 #: build/C/man7/rtld-audit.7:99
7942 msgid ""
7943 "The dynamic linker invokes this function to inform the auditing library that "
7944 "it is about to search for a shared object.  The I<name> argument is the "
7945 "filename or pathname that is to be searched for.  I<cookie> identifies the "
7946 "shared object that initiated the search.  I<flag> is set to one of the "
7947 "following values:"
7948 msgstr ""
7949
7950 #. type: TP
7951 #: build/C/man7/rtld-audit.7:99
7952 #, no-wrap
7953 msgid "B<LA_SER_ORIG>"
7954 msgstr "B<LA_SER_ORIG>"
7955
7956 #. type: Plain text
7957 #: build/C/man7/rtld-audit.7:108
7958 msgid ""
7959 "This is the original name that is being searched for.  Typically, this name "
7960 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7961 "to B<dlopen>(3)."
7962 msgstr ""
7963
7964 #. type: TP
7965 #: build/C/man7/rtld-audit.7:108
7966 #, no-wrap
7967 msgid "B<LA_SER_LIBPATH>"
7968 msgstr "B<LA_SER_LIBPATH>"
7969
7970 #. type: Plain text
7971 #: build/C/man7/rtld-audit.7:113
7972 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7973 msgstr ""
7974
7975 #. type: TP
7976 #: build/C/man7/rtld-audit.7:113
7977 #, no-wrap
7978 msgid "B<LA_SER_RUNPATH>"
7979 msgstr "B<LA_SER_RUNPATH>"
7980
7981 #. type: Plain text
7982 #: build/C/man7/rtld-audit.7:121
7983 msgid ""
7984 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7985 "B<DT_RUNPATH> list."
7986 msgstr ""
7987
7988 #. type: TP
7989 #: build/C/man7/rtld-audit.7:121
7990 #, no-wrap
7991 msgid "B<LA_SER_CONFIG>"
7992 msgstr "B<LA_SER_CONFIG>"
7993
7994 #. type: Plain text
7995 #: build/C/man7/rtld-audit.7:128
7996 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
7997 msgstr ""
7998
7999 #. type: TP
8000 #: build/C/man7/rtld-audit.7:128
8001 #, no-wrap
8002 msgid "B<LA_SER_DEFAULT>"
8003 msgstr "B<LA_SER_DEFAULT>"
8004
8005 #. type: Plain text
8006 #: build/C/man7/rtld-audit.7:132
8007 msgid "I<name> was found via a search of one of the default directories."
8008 msgstr ""
8009
8010 #. type: TP
8011 #: build/C/man7/rtld-audit.7:132
8012 #, no-wrap
8013 msgid "B<LA_SER_SECURE>"
8014 msgstr "B<LA_SER_SECURE>"
8015
8016 #. type: Plain text
8017 #: build/C/man7/rtld-audit.7:136
8018 msgid "I<name> is specific to a secure object (unused on Linux)."
8019 msgstr ""
8020
8021 #. type: Plain text
8022 #: build/C/man7/rtld-audit.7:145
8023 msgid ""
8024 "As its function result, B<la_objsearch>()  returns the pathname that the "
8025 "dynamic linker should use for further processing.  If NULL is returned, then "
8026 "this pathname is ignored for further processing.  If this audit library "
8027 "simply intends to monitor search paths, then I<name> should be returned."
8028 msgstr ""
8029
8030 #. type: SS
8031 #: build/C/man7/rtld-audit.7:145
8032 #, no-wrap
8033 msgid "la_activity()"
8034 msgstr "la_activity()"
8035
8036 #. type: Plain text
8037 #: build/C/man7/rtld-audit.7:149
8038 #, no-wrap
8039 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8040 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8041
8042 #. type: Plain text
8043 #: build/C/man7/rtld-audit.7:158
8044 msgid ""
8045 "The dynamic linker calls this function to inform the auditing library that "
8046 "link-map activity is occurring.  I<cookie> identifies the object at the head "
8047 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
8048 "set to one of the following values:"
8049 msgstr ""
8050
8051 #. type: TP
8052 #: build/C/man7/rtld-audit.7:158
8053 #, no-wrap
8054 msgid "B<LA_ACT_ADD>"
8055 msgstr "B<LA_ACT_ADD>"
8056
8057 #. type: Plain text
8058 #: build/C/man7/rtld-audit.7:161
8059 msgid "New objects are being added to the link map."
8060 msgstr ""
8061
8062 #. type: TP
8063 #: build/C/man7/rtld-audit.7:161
8064 #, no-wrap
8065 msgid "B<LA_ACT_DELETE>"
8066 msgstr "B<LA_ACT_DELETE>"
8067
8068 #. type: Plain text
8069 #: build/C/man7/rtld-audit.7:164
8070 msgid "Objects are being removed from the link map."
8071 msgstr ""
8072
8073 #. type: TP
8074 #: build/C/man7/rtld-audit.7:164
8075 #, no-wrap
8076 msgid "B<LA_ACT_CONSISTENT>"
8077 msgstr "B<LA_ACT_CONSISTENT>"
8078
8079 #. type: Plain text
8080 #: build/C/man7/rtld-audit.7:167
8081 msgid "Link-map activity has been completed: the map is once again consistent."
8082 msgstr ""
8083
8084 #. type: SS
8085 #: build/C/man7/rtld-audit.7:167
8086 #, no-wrap
8087 msgid "la_objopen()"
8088 msgstr "la_objopen()"
8089
8090 #. type: Plain text
8091 #: build/C/man7/rtld-audit.7:172
8092 #, no-wrap
8093 msgid ""
8094 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8095 "B<                        uintptr_t *>I<cookie>B<);>\n"
8096 msgstr ""
8097 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8098 "B<                        uintptr_t *>I<cookie>B<);>\n"
8099
8100 #. type: Plain text
8101 #: build/C/man7/rtld-audit.7:181
8102 msgid ""
8103 "The dynamic linker calls this function when a new shared object is loaded.  "
8104 "The I<map> argument is a pointer to a link-map structure that describes the "
8105 "object.  The I<lmid> field has one of the following values"
8106 msgstr ""
8107
8108 #. type: TP
8109 #: build/C/man7/rtld-audit.7:181
8110 #, no-wrap
8111 msgid "B<LM_ID_BASE>"
8112 msgstr "B<LM_ID_BASE>"
8113
8114 #. type: Plain text
8115 #: build/C/man7/rtld-audit.7:184
8116 msgid "Link map is part of the initial namespace."
8117 msgstr ""
8118
8119 #. type: TP
8120 #: build/C/man7/rtld-audit.7:184
8121 #, no-wrap
8122 msgid "B<LM_ID_NEWLM>"
8123 msgstr "B<LM_ID_NEWLM>"
8124
8125 #. type: Plain text
8126 #: build/C/man7/rtld-audit.7:188
8127 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
8128 msgstr ""
8129
8130 #. type: Plain text
8131 #: build/C/man7/rtld-audit.7:196
8132 msgid ""
8133 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
8134 "provided to later calls to functions in the auditing library in order to "
8135 "identify this object.  This identifier is initialized to point to object's "
8136 "link map, but the audit library can change the identifier to some other "
8137 "value that it may prefer to use to identify the object."
8138 msgstr ""
8139
8140 #. type: Plain text
8141 #: build/C/man7/rtld-audit.7:203
8142 msgid ""
8143 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
8144 "zero or more of the following constants, which allow the auditing library to "
8145 "select the objects to be monitored by B<la_symbind*>():"
8146 msgstr ""
8147
8148 #. type: TP
8149 #: build/C/man7/rtld-audit.7:203
8150 #, no-wrap
8151 msgid "B<LA_FLG_BINDTO>"
8152 msgstr "B<LA_FLG_BINDTO>"
8153
8154 #. type: Plain text
8155 #: build/C/man7/rtld-audit.7:206
8156 msgid "Audit symbol bindings to this object."
8157 msgstr ""
8158
8159 #. type: TP
8160 #: build/C/man7/rtld-audit.7:206
8161 #, no-wrap
8162 msgid "B<LA_FLG_BINDFROM>"
8163 msgstr "B<LA_FLG_BINDFROM>"
8164
8165 #. type: Plain text
8166 #: build/C/man7/rtld-audit.7:209
8167 msgid "Audit symbol bindings from this object."
8168 msgstr ""
8169
8170 #. type: Plain text
8171 #: build/C/man7/rtld-audit.7:213
8172 msgid ""
8173 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
8174 "should be audited for this object."
8175 msgstr ""
8176
8177 #. type: SS
8178 #: build/C/man7/rtld-audit.7:213
8179 #, no-wrap
8180 msgid "la_objclose()"
8181 msgstr "la_objclose()"
8182
8183 #. type: Plain text
8184 #: build/C/man7/rtld-audit.7:217
8185 #, no-wrap
8186 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8187 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8188
8189 #. type: Plain text
8190 #: build/C/man7/rtld-audit.7:226
8191 msgid ""
8192 "The dynamic linker invokes this function after any finalization code for the "
8193 "object has been executed, before the object is unloaded.  The I<cookie> "
8194 "argument is the identifier obtained from a previous invocation of "
8195 "B<la_objopen>()."
8196 msgstr ""
8197
8198 #. type: Plain text
8199 #: build/C/man7/rtld-audit.7:230
8200 msgid ""
8201 "In the current implementation, the value returned by B<la_objclose>()  is "
8202 "ignored."
8203 msgstr ""
8204
8205 #. type: SS
8206 #: build/C/man7/rtld-audit.7:230
8207 #, no-wrap
8208 msgid "la_preinit()"
8209 msgstr "la_preinit()"
8210
8211 #. type: Plain text
8212 #: build/C/man7/rtld-audit.7:234
8213 #, no-wrap
8214 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8215 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8216
8217 #. type: Plain text
8218 #: build/C/man7/rtld-audit.7:244
8219 msgid ""
8220 "The dynamic linker invokes this function after all shared objects have been "
8221 "loaded, before control is passed to the application (i.e., before calling "
8222 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
8223 "using B<dlopen>(3)."
8224 msgstr ""
8225
8226 #. type: SS
8227 #: build/C/man7/rtld-audit.7:244
8228 #, no-wrap
8229 msgid "la_symbind*()"
8230 msgstr "la_symbind*()"
8231
8232 #. type: Plain text
8233 #: build/C/man7/rtld-audit.7:253
8234 #, no-wrap
8235 msgid ""
8236 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8237 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8238 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8239 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8240 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8241 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8242 msgstr ""
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
8250 #. type: Plain text
8251 #: build/C/man7/rtld-audit.7:265
8252 msgid ""
8253 "The dynamic linker invokes one of these functions when a symbol binding "
8254 "occurs between two shared objects that have been marked for auditing "
8255 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
8256 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
8257 "64-bit platforms."
8258 msgstr ""
8259
8260 #. type: Plain text
8261 #: build/C/man7/rtld-audit.7:275
8262 msgid ""
8263 "The I<sym> argument is a pointer to a structure that provides information "
8264 "about the symbol being bound.  The structure definition is shown in "
8265 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
8266 "indicates the address to which the symbol is bound."
8267 msgstr ""
8268
8269 #. type: Plain text
8270 #: build/C/man7/rtld-audit.7:280
8271 msgid ""
8272 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
8273 "bound shared object."
8274 msgstr ""
8275
8276 #. type: Plain text
8277 #: build/C/man7/rtld-audit.7:295
8278 msgid ""
8279 "The I<refcook> argument identifies the shared object that is making the "
8280 "symbol reference; this is the same identifier that is provided to the "
8281 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
8282 "argument identifies the shared object that defines the referenced symbol; "
8283 "this is the same identifier that is provided to the B<la_objopen>()  "
8284 "function that returned B<LA_FLG_BINDTO>."
8285 msgstr ""
8286
8287 #. type: Plain text
8288 #: build/C/man7/rtld-audit.7:299
8289 msgid ""
8290 "The I<symname> argument points a string containing the name of the symbol."
8291 msgstr ""
8292
8293 #.  LA_SYMB_STRUCTCALL appears to be unused
8294 #. type: Plain text
8295 #: build/C/man7/rtld-audit.7:307
8296 msgid ""
8297 "The I<flags> argument is a bit mask that both provides information about the "
8298 "symbol and can be used to modify further auditing of this PLT (Procedure "
8299 "Linkage Table) entry.  The dynamic linker may supply the following bit "
8300 "values in this argument:"
8301 msgstr ""
8302
8303 #. type: TP
8304 #: build/C/man7/rtld-audit.7:307
8305 #, no-wrap
8306 msgid "B<LA_SYMB_DLSYM>"
8307 msgstr "B<LA_SYMB_DLSYM>"
8308
8309 #. type: Plain text
8310 #: build/C/man7/rtld-audit.7:311
8311 msgid "The binding resulted from a call to B<dlsym>(3)."
8312 msgstr ""
8313
8314 #. type: TP
8315 #: build/C/man7/rtld-audit.7:311
8316 #, no-wrap
8317 msgid "B<LA_SYMB_ALTVALUE>"
8318 msgstr "B<LA_SYMB_ALTVALUE>"
8319
8320 #. type: Plain text
8321 #: build/C/man7/rtld-audit.7:316
8322 msgid ""
8323 "A previous B<la_symbind*>()  call returned an alternate value for this "
8324 "symbol."
8325 msgstr ""
8326
8327 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
8328 #.  but don't seem to be called for dynamically loaded libs?
8329 #.  Is this the same on Solaris?
8330 #. type: Plain text
8331 #: build/C/man7/rtld-audit.7:330
8332 msgid ""
8333 "By default, if the auditing library implements B<la_pltenter>()  and "
8334 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
8335 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
8336 "The following flags can be ORed into I<*flags> to change this default "
8337 "behavior:"
8338 msgstr ""
8339
8340 #. type: TP
8341 #: build/C/man7/rtld-audit.7:330
8342 #, no-wrap
8343 msgid "B<LA_SYMB_NOPLTENTER>"
8344 msgstr "B<LA_SYMB_NOPLTENTER>"
8345
8346 #. type: Plain text
8347 #: build/C/man7/rtld-audit.7:335
8348 msgid "Don't call B<la_pltenter>()  for this symbol."
8349 msgstr ""
8350
8351 #. type: TP
8352 #: build/C/man7/rtld-audit.7:335
8353 #, no-wrap
8354 msgid "B<LA_SYMB_NOPLTEXIT>"
8355 msgstr "B<LA_SYMB_NOPLTEXIT>"
8356
8357 #. type: Plain text
8358 #: build/C/man7/rtld-audit.7:340
8359 msgid "Don't call B<la_pltexit>()  for this symbol."
8360 msgstr ""
8361
8362 #. type: Plain text
8363 #: build/C/man7/rtld-audit.7:351
8364 msgid ""
8365 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
8366 "to which control should be passed after the function returns.  If the "
8367 "auditing library is simply monitoring symbol bindings, then it should return "
8368 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
8369 "wishes to direct control to an alternate location."
8370 msgstr ""
8371
8372 #. type: SS
8373 #: build/C/man7/rtld-audit.7:351
8374 #, no-wrap
8375 msgid "la_pltenter()"
8376 msgstr "la_pltenter()"
8377
8378 #. type: Plain text
8379 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
8380 msgid ""
8381 "The precise name and argument types for this function depend on the hardware "
8382 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
8383 "Here is the definition for x86-32:"
8384 msgstr ""
8385
8386 #. type: Plain text
8387 #: build/C/man7/rtld-audit.7:363
8388 #, no-wrap
8389 msgid ""
8390 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8391 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8392 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8393 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8394 msgstr ""
8395 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8396 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8397 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8398 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8399
8400 #. type: Plain text
8401 #: build/C/man7/rtld-audit.7:367
8402 msgid ""
8403 "This function is invoked just before a PLT entry is called, between two "
8404 "shared objects that have been marked for binding notification."
8405 msgstr ""
8406
8407 #. type: Plain text
8408 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
8409 msgid ""
8410 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
8411 "B<la_symbind*>()."
8412 msgstr ""
8413
8414 #. type: Plain text
8415 #: build/C/man7/rtld-audit.7:384
8416 msgid ""
8417 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
8418 "containing the values of registers to be used for the call to this PLT entry."
8419 msgstr ""
8420
8421 #. type: Plain text
8422 #: build/C/man7/rtld-audit.7:390
8423 msgid ""
8424 "The I<flags> argument points to a bit mask that conveys information about, "
8425 "and can be used to modify subsequent auditing of, this PLT entry, as for "
8426 "B<la_symbind*>()."
8427 msgstr ""
8428
8429 #.  FIXME . Is the following correct?
8430 #. type: Plain text
8431 #: build/C/man7/rtld-audit.7:406
8432 msgid ""
8433 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
8434 "to explicitly set the frame size used for the call to this PLT entry.  If "
8435 "different B<la_pltenter>()  invocations for this symbol return different "
8436 "values, then the maximum returned value is used.  The B<la_pltenter>()  "
8437 "function is called only if this buffer is explicitly set to a suitable value."
8438 msgstr ""
8439
8440 #. type: Plain text
8441 #: build/C/man7/rtld-audit.7:411
8442 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
8443 msgstr ""
8444
8445 #. type: SS
8446 #: build/C/man7/rtld-audit.7:411
8447 #, no-wrap
8448 msgid "la_pltexit()"
8449 msgstr "la_pltexit()"
8450
8451 #. type: Plain text
8452 #: build/C/man7/rtld-audit.7:423
8453 #, no-wrap
8454 msgid ""
8455 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8456 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8457 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8458 "B<                 const char *>I<symname>B<);>\n"
8459 msgstr ""
8460 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8461 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8462 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8463 "B<                 const char *>I<symname>B<);>\n"
8464
8465 #. type: Plain text
8466 #: build/C/man7/rtld-audit.7:430
8467 msgid ""
8468 "This function is called when a PLT entry, made between two shared objects "
8469 "that have been marked for binding notification, returns.  The function is "
8470 "called just before control returns to the caller of the PLT entry."
8471 msgstr ""
8472
8473 #. type: Plain text
8474 #: build/C/man7/rtld-audit.7:453
8475 msgid ""
8476 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
8477 "hE<gt>>)  containing the values of registers used for the call to this PLT "
8478 "entry.  The I<outregs> argument points to a structure (defined in "
8479 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
8480 "entry.  These values can be modified by the caller, and the changes will be "
8481 "visible to the caller of the PLT entry."
8482 msgstr ""
8483
8484 #.  This differs from Solaris, where an audit library that monitors
8485 #.  symbol binding should return the value of the 'retval' argument
8486 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
8487 #.  on (say) x86-32).
8488 #. type: Plain text
8489 #: build/C/man7/rtld-audit.7:461
8490 msgid ""
8491 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
8492 "ignored."
8493 msgstr ""
8494
8495 #. type: Plain text
8496 #: build/C/man7/rtld-audit.7:467
8497 msgid ""
8498 "This API is nonstandard, but very similar to the Solaris API, described in "
8499 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
8500 "Auditing Interface>."
8501 msgstr ""
8502
8503 #. type: Plain text
8504 #: build/C/man7/rtld-audit.7:470
8505 msgid ""
8506 "Note the following differences from the Solaris dynamic linker auditing API:"
8507 msgstr ""
8508
8509 #. type: IP
8510 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
8511 #: build/C/man7/rtld-audit.7:482
8512 #, no-wrap
8513 msgid "*"
8514 msgstr "*"
8515
8516 #. type: Plain text
8517 #: build/C/man7/rtld-audit.7:474
8518 msgid ""
8519 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
8520 "implementation."
8521 msgstr ""
8522
8523 #. type: Plain text
8524 #: build/C/man7/rtld-audit.7:482
8525 msgid ""
8526 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
8527 "a I<symname> argument."
8528 msgstr ""
8529
8530 #. type: Plain text
8531 #: build/C/man7/rtld-audit.7:492
8532 msgid ""
8533 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
8534 "I<outregs> arguments (but does provide a I<retval> argument with the "
8535 "function return value)."
8536 msgstr ""
8537
8538 #.  FIXME . Specifying multiple audit libraries doesn't work on GNU.
8539 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
8540 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
8541 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
8542 #. type: Plain text
8543 #: build/C/man7/rtld-audit.7:502
8544 msgid ""
8545 "In glibc versions up to and include 2.9, specifying more than one audit "
8546 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
8547 "fixed in glibc 2.10."
8548 msgstr ""
8549
8550 #. type: Plain text
8551 #: build/C/man7/rtld-audit.7:506
8552 #, no-wrap
8553 msgid ""
8554 "#include E<lt>link.hE<gt>\n"
8555 "#include E<lt>stdio.hE<gt>\n"
8556 msgstr ""
8557 "#include E<lt>link.hE<gt>\n"
8558 "#include E<lt>stdio.hE<gt>\n"
8559
8560 #. type: Plain text
8561 #: build/C/man7/rtld-audit.7:511
8562 #, no-wrap
8563 msgid ""
8564 "unsigned int\n"
8565 "la_version(unsigned int version)\n"
8566 "{\n"
8567 "    printf(\"la_version(): %d\\en\", version);\n"
8568 msgstr ""
8569 "unsigned int\n"
8570 "la_version(unsigned int version)\n"
8571 "{\n"
8572 "    printf(\"la_version(): %d\\en\", version);\n"
8573
8574 #. type: Plain text
8575 #: build/C/man7/rtld-audit.7:514
8576 #, no-wrap
8577 msgid ""
8578 "    return version;\n"
8579 "}\n"
8580 msgstr ""
8581 "    return version;\n"
8582 "}\n"
8583
8584 #. type: Plain text
8585 #: build/C/man7/rtld-audit.7:527
8586 #, no-wrap
8587 msgid ""
8588 "char *\n"
8589 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8590 "{\n"
8591 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8592 "    printf(\"; flag = %s\\en\",\n"
8593 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8594 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8595 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8596 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8597 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8598 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8599 "            \"???\");\n"
8600 msgstr ""
8601 "char *\n"
8602 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8603 "{\n"
8604 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8605 "    printf(\"; flag = %s\\en\",\n"
8606 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8607 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8608 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8609 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8610 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8611 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8612 "            \"???\");\n"
8613
8614 #. type: Plain text
8615 #: build/C/man7/rtld-audit.7:530
8616 #, no-wrap
8617 msgid ""
8618 "    return name;\n"
8619 "}\n"
8620 msgstr ""
8621 "    return name;\n"
8622 "}\n"
8623
8624 #. type: Plain text
8625 #: build/C/man7/rtld-audit.7:540
8626 #, no-wrap
8627 msgid ""
8628 "void\n"
8629 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8630 "{\n"
8631 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8632 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8633 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8634 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8635 "            \"???\");\n"
8636 "}\n"
8637 msgstr ""
8638 "void\n"
8639 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8640 "{\n"
8641 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8642 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8643 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8644 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8645 "            \"???\");\n"
8646 "}\n"
8647
8648 #. type: Plain text
8649 #: build/C/man7/rtld-audit.7:550
8650 #, no-wrap
8651 msgid ""
8652 "unsigned int\n"
8653 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8654 "{\n"
8655 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8656 "            map-E<gt>l_name,\n"
8657 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8658 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8659 "            \"???\",\n"
8660 "            cookie);\n"
8661 msgstr ""
8662 "unsigned int\n"
8663 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8664 "{\n"
8665 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8666 "            map-E<gt>l_name,\n"
8667 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8668 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8669 "            \"???\",\n"
8670 "            cookie);\n"
8671
8672 #. type: Plain text
8673 #: build/C/man7/rtld-audit.7:553
8674 #, no-wrap
8675 msgid ""
8676 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8677 "}\n"
8678 msgstr ""
8679 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8680 "}\n"
8681
8682 #. type: Plain text
8683 #: build/C/man7/rtld-audit.7:558
8684 #, no-wrap
8685 msgid ""
8686 "unsigned int\n"
8687 "la_objclose (uintptr_t *cookie)\n"
8688 "{\n"
8689 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8690 msgstr ""
8691 "unsigned int\n"
8692 "la_objclose (uintptr_t *cookie)\n"
8693 "{\n"
8694 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8695
8696 #. type: Plain text
8697 #: build/C/man7/rtld-audit.7:561
8698 #, no-wrap
8699 msgid ""
8700 "    return 0;\n"
8701 "}\n"
8702 msgstr ""
8703 "    return 0;\n"
8704 "}\n"
8705
8706 #. type: Plain text
8707 #: build/C/man7/rtld-audit.7:567
8708 #, no-wrap
8709 msgid ""
8710 "void\n"
8711 "la_preinit(uintptr_t *cookie)\n"
8712 "{\n"
8713 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8714 "}\n"
8715 msgstr ""
8716 "void\n"
8717 "la_preinit(uintptr_t *cookie)\n"
8718 "{\n"
8719 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8720 "}\n"
8721
8722 #. type: Plain text
8723 #: build/C/man7/rtld-audit.7:576
8724 #, no-wrap
8725 msgid ""
8726 "uintptr_t\n"
8727 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8728 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8729 "{\n"
8730 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8731 "            symname, sym-E<gt>st_value);\n"
8732 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8733 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8734 msgstr ""
8735 "uintptr_t\n"
8736 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8737 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8738 "{\n"
8739 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8740 "            symname, sym-E<gt>st_value);\n"
8741 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8742 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8743
8744 #. type: Plain text
8745 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
8746 #: build/C/man7/rtld-audit.7:601
8747 #, no-wrap
8748 msgid ""
8749 "    return sym-E<gt>st_value;\n"
8750 "}\n"
8751 msgstr ""
8752 "    return sym-E<gt>st_value;\n"
8753 "}\n"
8754
8755 #. type: Plain text
8756 #: build/C/man7/rtld-audit.7:588
8757 #, no-wrap
8758 msgid ""
8759 "uintptr_t\n"
8760 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8761 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8762 "{\n"
8763 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8764 "            symname, sym-E<gt>st_value);\n"
8765 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8766 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8767 msgstr ""
8768 "uintptr_t\n"
8769 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8770 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8771 "{\n"
8772 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8773 "            symname, sym-E<gt>st_value);\n"
8774 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8775 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8776
8777 #. type: Plain text
8778 #: build/C/man7/rtld-audit.7:598
8779 #, no-wrap
8780 msgid ""
8781 "Elf32_Addr\n"
8782 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8783 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8784 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8785 "{\n"
8786 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8787 msgstr ""
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
8795 #. type: Plain text
8796 #: build/C/man7/rtld-audit.7:607
8797 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8798 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8799
8800 #. type: TH
8801 #: build/C/man8/sln.8:25
8802 #, no-wrap
8803 msgid "SLN"
8804 msgstr "SLN"
8805
8806 #. type: TH
8807 #: build/C/man8/sln.8:25
8808 #, no-wrap
8809 msgid "2013-02-10"
8810 msgstr "2013-02-10"
8811
8812 #. type: Plain text
8813 #: build/C/man8/sln.8:28
8814 msgid "sln - create symbolic links"
8815 msgstr "sln - シンボリックリンクを作成する"
8816
8817 #. type: Plain text
8818 #: build/C/man8/sln.8:30
8819 msgid "B<sln>I< source dest>"
8820 msgstr "B<sln>I< source dest>"
8821
8822 #. type: Plain text
8823 #: build/C/man8/sln.8:32
8824 msgid "B<sln>I< filelist>"
8825 msgstr "B<sln>I< filelist>"
8826
8827 #. type: Plain text
8828 #: build/C/man8/sln.8:42
8829 msgid ""
8830 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
8831 "is statically linked.  This means that if for some reason the dynamic linker "
8832 "is not working, B<sln> can be used to make symbolic links to dynamic "
8833 "libraries."
8834 msgstr ""
8835 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
8836 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
8837 "カーが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリン"
8838 "クを作成することができる。"
8839
8840 #. type: Plain text
8841 #: build/C/man8/sln.8:48
8842 msgid ""
8843 "The command line has two forms.  In the first form, it creates I<dest> as a "
8844 "new symbolic link to I<source>."
8845 msgstr ""
8846 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
8847 "クリンクとして I<dest> を作成する。"
8848
8849 #. type: Plain text
8850 #: build/C/man8/sln.8:56
8851 msgid ""
8852 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
8853 "and the effect is as if B<sln> was executed once for each line of the file, "
8854 "with the two pathnames as the arguments."
8855 msgstr ""
8856 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
8857 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
8858 "のと同じ結果となる。"
8859
8860 #. type: Plain text
8861 #: build/C/man8/sln.8:60
8862 msgid "The B<sln> program supports no command-line options."
8863 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
8864
8865 #. type: Plain text
8866 #: build/C/man8/sln.8:64
8867 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8868 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8869
8870 #. type: TH
8871 #: build/C/man1/sprof.1:25
8872 #, no-wrap
8873 msgid "SPROF"
8874 msgstr "SPROF"
8875
8876 #. type: TH
8877 #: build/C/man1/sprof.1:25
8878 #, no-wrap
8879 msgid "2014-06-24"
8880 msgstr "2014-06-24"
8881
8882 #. type: Plain text
8883 #: build/C/man1/sprof.1:28
8884 msgid "sprof - read and display shared object profiling data"
8885 msgstr "sprof - 共有オブジェクトのプロファイルデータを読み出して表示する"
8886
8887 #. type: Plain text
8888 #: build/C/man1/sprof.1:32
8889 #, no-wrap
8890 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8891 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8892
8893 #. type: Plain text
8894 #: build/C/man1/sprof.1:46
8895 msgid ""
8896 "The B<sprof> command displays a profiling summary for the shared object "
8897 "specified as its first command-line argument.  The profiling summary is "
8898 "created using previously generated profiling data in the (optional) second "
8899 "command-line argument.  If the profiling data pathname is omitted, then "
8900 "B<sprof> will attempt to deduce it using the soname of the shared object, "
8901 "looking for a file with the name I<E<lt>sonameE<gt>.profile> in the current "
8902 "directory."
8903 msgstr ""
8904 "B<sprof> コマンドは、 最初のコマンドライン引き数で指定された共有オブジェクト"
8905 "のプロファイルの概要を表示する。 2 番目のコマンドライン引き数 (省略可能) で指"
8906 "定された生成済みのプロファイルデータを使って、 プロファイルの概要が生成され"
8907 "る。 プロファイルデータのパス名が省略された場合、 B<sprof> は、 共有オブジェ"
8908 "クトの soname を使ってパス名を元に、 カレントディレクトリに "
8909 "I<E<lt>sonameE<gt>.profile> という名前のファイルを探して、 プロファイルデータ"
8910 "を特定しようとする。"
8911
8912 #. type: Plain text
8913 #: build/C/man1/sprof.1:49
8914 msgid ""
8915 "The following command-line options specify the profile output to be produced:"
8916 msgstr ""
8917 "以下のコマンドラインオプションは生成されるプロファイリング出力を指定する。"
8918
8919 #. type: TP
8920 #: build/C/man1/sprof.1:49
8921 #, no-wrap
8922 msgid "B<-c>, B<--call-pairs>"
8923 msgstr "B<-c>, B<--call-pairs>"
8924
8925 #. type: Plain text
8926 #: build/C/man1/sprof.1:54
8927 msgid ""
8928 "Print a list of pairs of call paths for the interfaces exported by the "
8929 "shared object, along with the number of times each path is used."
8930 msgstr ""
8931 "共有オブジェクトで公開されているインターフェースに対して呼び出し経路のペアの"
8932 "リストを表示する。 各経路が使用された回数も表示される。"
8933
8934 #. type: TP
8935 #: build/C/man1/sprof.1:54
8936 #, no-wrap
8937 msgid "B<-p>, B<--flat-profile>"
8938 msgstr "B<-p>, B<--flat-profile>"
8939
8940 #. type: Plain text
8941 #: build/C/man1/sprof.1:58
8942 msgid ""
8943 "Generate a flat profile of all of the functions in the monitored object, "
8944 "with counts and ticks."
8945 msgstr ""
8946 "監視対象のオブジェクトの全関数の、 回数と tick が入った flat profile を生成す"
8947 "る。"
8948
8949 #. type: TP
8950 #: build/C/man1/sprof.1:58
8951 #, no-wrap
8952 msgid "B<-q>, B<--graph>"
8953 msgstr "B<-q>, B<--graph>"
8954
8955 #. type: Plain text
8956 #: build/C/man1/sprof.1:61
8957 msgid "Generate a call graph."
8958 msgstr "コールグラフを生成する。"
8959
8960 #. type: Plain text
8961 #: build/C/man1/sprof.1:64
8962 msgid ""
8963 "If none of the above options is specified, then the default behavior is to "
8964 "display a flat profile and a call graph."
8965 msgstr ""
8966 "上記のオプションがどれも指定されなかった場合のデフォルトの動作は、 flat "
8967 "profile とコールグラフが表示される。"
8968
8969 #. type: Plain text
8970 #: build/C/man1/sprof.1:66
8971 msgid "The following additional command-line options are available:"
8972 msgstr "以下のコマンドラインオプションも使用できる。"
8973
8974 #. type: Plain text
8975 #: build/C/man1/sprof.1:69
8976 msgid "Display a summary of command-line options and arguments and exit."
8977 msgstr "コマンドラインオプションと引き数の概要を表示し終了する。"
8978
8979 #. type: Plain text
8980 #: build/C/man1/sprof.1:72
8981 msgid "Display a short usage message and exit."
8982 msgstr "使用方法の簡潔な概要を表示し終了する。"
8983
8984 #. type: Plain text
8985 #: build/C/man1/sprof.1:75
8986 msgid "Display the program version and exit."
8987 msgstr "プログラムのバージョンを表示し終了する。"
8988
8989 #. type: Plain text
8990 #: build/C/man1/sprof.1:79
8991 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
8992 msgstr "B<sprof> コマンドは GNU 拡張であり、 POSIX.1 には存在しない。"
8993
8994 #. type: Plain text
8995 #: build/C/man1/sprof.1:85
8996 msgid ""
8997 "The following example demonstrates the use of B<sprof>.  The example "
8998 "consists of a main program that calls two functions in a shared library.  "
8999 "First, the code of the main program:"
9000 msgstr ""
9001 "以下は B<sprof> の使用例を示したものである。 この例では、メインプログラムで共"
9002 "有ライブラリ内の 2 つの関数を呼び出している。 最初に、 メインプログラムのコー"
9003 "ドは以下の通りである。"
9004
9005 #. type: Plain text
9006 #: build/C/man1/sprof.1:90
9007 #, no-wrap
9008 msgid ""
9009 "$ B<cat prog.c>\n"
9010 "#include E<lt>stdlib.hE<gt>\n"
9011 msgstr ""
9012 "$ B<cat prog.c>\n"
9013 "#include E<lt>stdlib.hE<gt>\n"
9014
9015 #. type: Plain text
9016 #: build/C/man1/sprof.1:93
9017 #, no-wrap
9018 msgid ""
9019 "void x1(void);\n"
9020 "void x2(void);\n"
9021 msgstr ""
9022 "void x1(void);\n"
9023 "void x2(void);\n"
9024
9025 #. type: Plain text
9026 #: build/C/man1/sprof.1:101
9027 #, no-wrap
9028 msgid ""
9029 "int\n"
9030 "main(int argc, char *argv[])\n"
9031 "{\n"
9032 "    x1();\n"
9033 "    x2();\n"
9034 "    exit(EXIT_SUCCESS);\n"
9035 "}\n"
9036 msgstr ""
9037 "int\n"
9038 "main(int argc, char *argv[])\n"
9039 "{\n"
9040 "    x1();\n"
9041 "    x2();\n"
9042 "    exit(EXIT_SUCCESS);\n"
9043 "}\n"
9044
9045 #. type: Plain text
9046 #: build/C/man1/sprof.1:110
9047 msgid ""
9048 "The functions I<x1()> and I<x2()> are defined in the following source file "
9049 "that is used to construct the shared library:"
9050 msgstr ""
9051 "関数 I<x1()> と I<x2()> は以下のソースファイルで定義されており、 このファイル"
9052 "から共有ライブラリが構成される。"
9053
9054 #. type: Plain text
9055 #: build/C/man1/sprof.1:115
9056 #, no-wrap
9057 msgid ""
9058 "$ B<cat libdemo.c>\n"
9059 "#include E<lt>unistd.hE<gt>\n"
9060 msgstr ""
9061 "$ B<cat libdemo.c>\n"
9062 "#include E<lt>unistd.hE<gt>\n"
9063
9064 #. type: Plain text
9065 #: build/C/man1/sprof.1:120
9066 #, no-wrap
9067 msgid ""
9068 "void\n"
9069 "consumeCpu1(int lim)\n"
9070 "{\n"
9071 "    int j;\n"
9072 msgstr ""
9073 "void\n"
9074 "consumeCpu1(int lim)\n"
9075 "{\n"
9076 "    int j;\n"
9077
9078 #. type: Plain text
9079 #: build/C/man1/sprof.1:124 build/C/man1/sprof.1:141
9080 #, no-wrap
9081 msgid ""
9082 "    for (j = 0; j E<lt> lim; j++)\n"
9083 "\tgetppid();\n"
9084 "}\n"
9085 msgstr ""
9086 "    for (j = 0; j E<lt> lim; j++)\n"
9087 "\tgetppid();\n"
9088 "}\n"
9089
9090 #. type: Plain text
9091 #: build/C/man1/sprof.1:128
9092 #, no-wrap
9093 msgid ""
9094 "void\n"
9095 "x1(void) {\n"
9096 "    int j;\n"
9097 msgstr ""
9098 "void\n"
9099 "x1(void) {\n"
9100 "    int j;\n"
9101
9102 #. type: Plain text
9103 #: build/C/man1/sprof.1:132
9104 #, no-wrap
9105 msgid ""
9106 "    for (j = 0; j E<lt> 100; j++)\n"
9107 "\tconsumeCpu1(200000);\n"
9108 "}\n"
9109 msgstr ""
9110 "    for (j = 0; j E<lt> 100; j++)\n"
9111 "\tconsumeCpu1(200000);\n"
9112 "}\n"
9113
9114 #. type: Plain text
9115 #: build/C/man1/sprof.1:137
9116 #, no-wrap
9117 msgid ""
9118 "void\n"
9119 "consumeCpu2(int lim)\n"
9120 "{\n"
9121 "    int j;\n"
9122 msgstr ""
9123 "void\n"
9124 "consumeCpu2(int lim)\n"
9125 "{\n"
9126 "    int j;\n"
9127
9128 #. type: Plain text
9129 #: build/C/man1/sprof.1:146
9130 #, no-wrap
9131 msgid ""
9132 "void\n"
9133 "x2(void)\n"
9134 "{\n"
9135 "    int j;\n"
9136 msgstr ""
9137 "void\n"
9138 "x2(void)\n"
9139 "{\n"
9140 "    int j;\n"
9141
9142 #. type: Plain text
9143 #: build/C/man1/sprof.1:150
9144 #, no-wrap
9145 msgid ""
9146 "    for (j = 0; j E<lt> 1000; j++)\n"
9147 "\tconsumeCpu2(10000);\n"
9148 "}\n"
9149 msgstr ""
9150 "    for (j = 0; j E<lt> 1000; j++)\n"
9151 "\tconsumeCpu2(10000);\n"
9152 "}\n"
9153
9154 #. type: Plain text
9155 #: build/C/man1/sprof.1:157
9156 msgid ""
9157 "Now we construct the shared library with the real name I<libdemo.so.1.0.1>, "
9158 "and the soname I<libdemo.so.1>:"
9159 msgstr ""
9160 "ここで、 実際の名前は I<libdemo.so.1.0.1> で soname は I<libdemo.so.1> で共有"
9161 "ライブラリを構成する。"
9162
9163 #. type: Plain text
9164 #: build/C/man1/sprof.1:162
9165 #, no-wrap
9166 msgid ""
9167 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9168 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9169 msgstr ""
9170 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9171 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9172
9173 #. type: Plain text
9174 #: build/C/man1/sprof.1:167
9175 msgid ""
9176 "Then we construct symbolic links for the library soname and the library "
9177 "linker name:"
9178 msgstr ""
9179 "次に、 ライブラリ soname とライブラリのリンカー名へのシンボリックリンクを作成"
9180 "する。"
9181
9182 #. type: Plain text
9183 #: build/C/man1/sprof.1:172
9184 #, no-wrap
9185 msgid ""
9186 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9187 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9188 msgstr ""
9189 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9190 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9191
9192 #. type: Plain text
9193 #: build/C/man1/sprof.1:177
9194 msgid ""
9195 "Next, we compile the main program, linking it against the shared library, "
9196 "and then list the dynamic dependencies of the program:"
9197 msgstr ""
9198 "続けて、 共有ライブラリとリンクしてメインプログラムをコンパイルし、 プログラ"
9199 "ムが依存する共有ライブラリの一覧を表示する。"
9200
9201 #. type: Plain text
9202 #: build/C/man1/sprof.1:186
9203 #, no-wrap
9204 msgid ""
9205 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9206 "$ B<ldd prog>\n"
9207 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9208 "\tlibdemo.so.1 =E<gt> not found\n"
9209 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9210 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9211 msgstr ""
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
9219 #. type: Plain text
9220 #: build/C/man1/sprof.1:193
9221 msgid ""
9222 "In order to get profiling information for the shared library, we define the "
9223 "environment variable B<LD_PROFILE> with the soname of the library:"
9224 msgstr ""
9225 "共有ライブラリのプロファイル情報を取得するために、 環境変数 B<LD_PROFILE> に"
9226 "このライブラリの soname を設定する。"
9227
9228 #. type: Plain text
9229 #: build/C/man1/sprof.1:197
9230 #, no-wrap
9231 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
9232 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
9233
9234 #. type: Plain text
9235 #: build/C/man1/sprof.1:204
9236 msgid ""
9237 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
9238 "pathname of the directory where profile output should be written, and create "
9239 "that directory if it does not exist already:"
9240 msgstr ""
9241 "環境変数 B<LD_PROFILE_OUTPUT> にプロファイル情報を出力するディレクトリのパス"
9242 "名を設定し、 このディレクトリが存在しない場合は作成する。"
9243
9244 #. type: Plain text
9245 #: build/C/man1/sprof.1:209
9246 #, no-wrap
9247 msgid ""
9248 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9249 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9250 msgstr ""
9251 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9252 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9253
9254 #. type: Plain text
9255 #: build/C/man1/sprof.1:217
9256 msgid ""
9257 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
9258 "if it already exists, so we ensure that there is no preexisting profiling "
9259 "data:"
9260 msgstr ""
9261 "B<LD_PROFILE> を設定すると、 プロファイルの出力は出力ファイルがすでに存在する"
9262 "場合は「追記」されるので、 既存のプロファイルデータが存在しないようにしてお"
9263 "く。"
9264
9265 #. type: Plain text
9266 #: build/C/man1/sprof.1:221
9267 #, no-wrap
9268 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9269 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9270
9271 #. type: Plain text
9272 #: build/C/man1/sprof.1:227
9273 msgid ""
9274 "We then run the program to produce the profiling output, which is written to "
9275 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
9276 msgstr ""
9277 "次にプログラムを実行し、 プロファイリング出力を生成させる。 プロファイリング"
9278 "出力は B<LD_PROFILE_OUTPUT> で指定されたディレクトリにファイルが書き込まれ"
9279 "る。"
9280
9281 #. type: Plain text
9282 #: build/C/man1/sprof.1:233
9283 #, no-wrap
9284 msgid ""
9285 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9286 "$ B<ls prof_data>\n"
9287 "libdemo.so.1.profile\n"
9288 msgstr ""
9289 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9290 "$ B<ls prof_data>\n"
9291 "libdemo.so.1.profile\n"
9292
9293 #. type: Plain text
9294 #: build/C/man1/sprof.1:239
9295 msgid ""
9296 "We then use the B<sprof -p> option to generate a flat profile with counts "
9297 "and ticks:"
9298 msgstr ""
9299 "B<sprof -p> オプションを使って、 呼び出し回数と tick 数が含まれる flat プロ"
9300 "ファイルを生成する。"
9301
9302 #. type: Plain text
9303 #: build/C/man1/sprof.1:244
9304 #, no-wrap
9305 msgid ""
9306 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9307 "Flat profile:\n"
9308 msgstr ""
9309 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9310 "Flat profile:\n"
9311
9312 #. type: Plain text
9313 #: build/C/man1/sprof.1:252
9314 #, no-wrap
9315 msgid ""
9316 "Each sample counts as 0.01 seconds.\n"
9317 "  %   cumulative   self              self     total\n"
9318 " time   seconds   seconds    calls  us/call  us/call  name\n"
9319 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9320 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9321 "  0.00      0.10     0.00        1     0.00           x1\n"
9322 "  0.00      0.10     0.00        1     0.00           x2\n"
9323 msgstr ""
9324 "Each sample counts as 0.01 seconds.\n"
9325 "  %   cumulative   self              self     total\n"
9326 " time   seconds   seconds    calls  us/call  us/call  name\n"
9327 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9328 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9329 "  0.00      0.10     0.00        1     0.00           x1\n"
9330 "  0.00      0.10     0.00        1     0.00           x2\n"
9331
9332 #. type: Plain text
9333 #: build/C/man1/sprof.1:258
9334 msgid "The B<sprof -q> option generates a call graph:"
9335 msgstr "B<sprof -q> オプションを使うと、 コールグラフが生成される。"
9336
9337 #. type: Plain text
9338 #: build/C/man1/sprof.1:262
9339 #, no-wrap
9340 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9341 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9342
9343 #. type: Plain text
9344 #: build/C/man1/sprof.1:264
9345 #, no-wrap
9346 msgid "index % time    self  children    called     name\n"
9347 msgstr "index % time    self  children    called     name\n"
9348
9349 #. type: Plain text
9350 #: build/C/man1/sprof.1:279
9351 #, no-wrap
9352 msgid ""
9353 "                0.00    0.00      100/100         x1 [1]\n"
9354 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9355 "-----------------------------------------------\n"
9356 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9357 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9358 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9359 "-----------------------------------------------\n"
9360 "                0.00    0.00     1000/1000        x2 [3]\n"
9361 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9362 "-----------------------------------------------\n"
9363 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9364 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9365 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9366 "-----------------------------------------------\n"
9367 msgstr ""
9368 "                0.00    0.00      100/100         x1 [1]\n"
9369 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9370 "-----------------------------------------------\n"
9371 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9372 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9373 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9374 "-----------------------------------------------\n"
9375 "                0.00    0.00     1000/1000        x2 [3]\n"
9376 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9377 "-----------------------------------------------\n"
9378 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9379 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9380 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9381 "-----------------------------------------------\n"
9382
9383 #. type: Plain text
9384 #: build/C/man1/sprof.1:285
9385 msgid ""
9386 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
9387 "that are outside of the profiled object (in this example, these are "
9388 "instances of I<main()>)."
9389 msgstr ""
9390 "上記や以下の例で、 \"E<lt>UNKNOWNE<gt>\" の文字列は、 識別子がプロファイルさ"
9391 "れたオブジェクトの外部にあることを表している (この例では \"E<lt>UNKNOWNE<gt>"
9392 "\" になっているのは I<main()> 内のオブジェクトである)。"
9393
9394 #. type: Plain text
9395 #: build/C/man1/sprof.1:289
9396 msgid ""
9397 "The B<sprof -c> option generates a list of call pairs and the number of "
9398 "their occurrences:"
9399 msgstr ""
9400 "B<sprof -c> オプションを使うと、 呼び出しの組とその発生回数のリストが生成され"
9401 "る。"
9402
9403 #. type: Plain text
9404 #: build/C/man1/sprof.1:297
9405 #, no-wrap
9406 msgid ""
9407 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9408 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9409 "x1                         consumeCpu1                      100\n"
9410 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9411 "x2                         consumeCpu2                     1000\n"
9412 msgstr ""
9413 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9414 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9415 "x1                         consumeCpu1                      100\n"
9416 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9417 "x2                         consumeCpu2                     1000\n"
9418
9419 #. type: Plain text
9420 #: build/C/man1/sprof.1:303
9421 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9422 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"