OSDN Git Service

98a5695a0791b7d189eb62d5a6c151051fc112df
[linuxjm/LDP_man-pages.git] / po4a / ld / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-01-23 22:22+0900\n"
10 "PO-Revision-Date: 2015-01-24 20:49+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/dl_iterate_phdr.3:25
20 #, no-wrap
21 msgid "DL_ITERATE_PHDR"
22 msgstr "DL_ITERATE_PHDR"
23
24 #. type: TH
25 #: build/C/man3/dl_iterate_phdr.3:25
26 #, no-wrap
27 msgid "2007-05-18"
28 msgstr "2007-05-18"
29
30 #. type: TH
31 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/end.3:26
32 #: build/C/man8/ld.so.8:5 build/C/man8/ldconfig.8:22
33 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
34 #: build/C/man1/mtrace.1:23 build/C/man1/pldd.1:25 build/C/man8/sln.8:25
35 #, no-wrap
36 msgid "GNU"
37 msgstr "GNU"
38
39 #. type: TH
40 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dlopen.3:35
41 #: build/C/man5/elf.5:35 build/C/man3/end.3:26 build/C/man8/ld.so.8:5
42 #: build/C/man8/ldconfig.8:22 build/C/man1/ldd.1:14
43 #: build/C/man7/rtld-audit.7:28 build/C/man8/sln.8:25
44 #, no-wrap
45 msgid "Linux Programmer's Manual"
46 msgstr "Linux Programmer's Manual"
47
48 #. type: SH
49 #: build/C/man3/dl_iterate_phdr.3:26 build/C/man3/dlopen.3:36
50 #: build/C/man5/elf.5:36 build/C/man3/end.3:27 build/C/man8/ld.so.8:6
51 #: build/C/man8/ldconfig.8:23 build/C/man1/ldd.1:15 build/C/man1/memusage.1:25
52 #: build/C/man1/memusagestat.1:24 build/C/man1/mtrace.1:24
53 #: build/C/man1/pldd.1:26 build/C/man7/rtld-audit.7:29 build/C/man8/sln.8:26
54 #: build/C/man1/sprof.1:26
55 #, no-wrap
56 msgid "NAME"
57 msgstr "名前"
58
59 #. type: Plain text
60 #: build/C/man3/dl_iterate_phdr.3:28
61 msgid "dl_iterate_phdr - walk through list of shared objects"
62 msgstr "dl_iterate_phdr - 共有オブジェクトのリストを辿る"
63
64 #. type: SH
65 #: build/C/man3/dl_iterate_phdr.3:28 build/C/man3/dlopen.3:39
66 #: build/C/man5/elf.5:38 build/C/man3/end.3:29 build/C/man8/ld.so.8:8
67 #: build/C/man8/ldconfig.8:25 build/C/man1/ldd.1:17 build/C/man1/memusage.1:27
68 #: build/C/man1/memusagestat.1:26 build/C/man1/mtrace.1:26
69 #: build/C/man1/pldd.1:28 build/C/man7/rtld-audit.7:31 build/C/man8/sln.8:28
70 #: build/C/man1/sprof.1:28
71 #, no-wrap
72 msgid "SYNOPSIS"
73 msgstr "書式"
74
75 #. type: Plain text
76 #: build/C/man3/dl_iterate_phdr.3:32
77 #, no-wrap
78 msgid ""
79 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
80 "B<#include E<lt>link.hE<gt>>\n"
81 msgstr ""
82 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
83 "B<#include E<lt>link.hE<gt>>\n"
84
85 #. type: Plain text
86 #: build/C/man3/dl_iterate_phdr.3:37
87 #, no-wrap
88 msgid ""
89 "B<int dl_iterate_phdr(>\n"
90 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
91 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
92 "B<          void *>I<data>B<);>\n"
93 msgstr ""
94 "B<int dl_iterate_phdr(>\n"
95 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
96 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
97 "B<          void *>I<data>B<);>\n"
98
99 #. type: SH
100 #: build/C/man3/dl_iterate_phdr.3:38 build/C/man3/dlopen.3:51
101 #: build/C/man5/elf.5:43 build/C/man3/end.3:35 build/C/man8/ld.so.8:18
102 #: build/C/man8/ldconfig.8:54 build/C/man1/ldd.1:19 build/C/man1/memusage.1:29
103 #: build/C/man1/memusagestat.1:28 build/C/man1/mtrace.1:28
104 #: build/C/man1/pldd.1:33 build/C/man7/rtld-audit.7:35 build/C/man8/sln.8:32
105 #: build/C/man1/sprof.1:33
106 #, no-wrap
107 msgid "DESCRIPTION"
108 msgstr "説明"
109
110 #. type: Plain text
111 #: build/C/man3/dl_iterate_phdr.3:43
112 msgid ""
113 "The B<dl_iterate_phdr>()  function allows an application to inquire at run "
114 "time to find out which shared objects it has loaded."
115 msgstr ""
116 "B<dl_iterate_phdr>()  関数を使うと、アプリケーションは実行時に どの共有オブ"
117 "ジェクトをロードしたかを見つけることができる。"
118
119 #. type: Plain text
120 #: build/C/man3/dl_iterate_phdr.3:53
121 msgid ""
122 "The B<dl_iterate_phdr>()  function walks through the list of an "
123 "application's shared objects and calls the function I<callback> once for "
124 "each object, until either all shared objects have been processed or "
125 "I<callback> returns a nonzero value."
126 msgstr ""
127 "B<dl_iterate_phdr>()  関数はアプリケーションの共有オブジェクトのリストを辿"
128 "り、 各オブジェクトに対して関数 I<callback> を 1 回ずつ呼び出す。 これは全て"
129 "の共有オブジェクトが処理されるか、 I<callback> が 0 以外の値を返すまで行われ"
130 "る。"
131
132 #. type: Plain text
133 #: build/C/man3/dl_iterate_phdr.3:70
134 msgid ""
135 "Each call to I<callback> receives three arguments: I<info>, which is a "
136 "pointer to a structure containing information about the shared object; "
137 "I<size>, which is the size of the structure pointed to by I<info>; and "
138 "I<data>, which is a copy of whatever value was passed by the calling program "
139 "as the second argument (also named I<data>)  in the call to "
140 "B<dl_iterate_phdr>()."
141 msgstr ""
142 "各々の I<callback> 呼び出しは 3 つの引き数を受け取る: I<info> は共有オブジェ"
143 "クトの情報を保持する構造体へのポインタである。 I<size> は I<info> で指される"
144 "構造体のサイズである。 I<data> は呼び出し元プログラムから "
145 "B<dl_iterate_phdr>()  の呼び出しの (同じく I<data> という名前の) 第 2 引き数"
146 "として渡される値のコピーである。"
147
148 #. type: Plain text
149 #: build/C/man3/dl_iterate_phdr.3:74
150 msgid "The I<info> argument is a structure of the following type:"
151 msgstr "I<info> 引き数は、以下のような型の構造体である。"
152
153 #. type: Plain text
154 #: build/C/man3/dl_iterate_phdr.3:86
155 #, no-wrap
156 msgid ""
157 "struct dl_phdr_info {\n"
158 "    ElfW(Addr)        dlpi_addr;  /* Base address of object */\n"
159 "    const char       *dlpi_name;  /* (Null-terminated) name of\n"
160 "                                     object */\n"
161 "    const ElfW(Phdr) *dlpi_phdr;  /* Pointer to array of\n"
162 "                                     ELF program headers\n"
163 "                                     for this object */\n"
164 "    ElfW(Half)        dlpi_phnum; /* # of items in I<dlpi_phdr> */\n"
165 "};\n"
166 msgstr ""
167 "struct dl_phdr_info {\n"
168 "    ElfW(Addr)        dlpi_addr;  /* オブジェクトのベースアドレス */\n"
169 "    const char       *dlpi_name;  /* (ヌル文字で終端された)\n"
170 "                                     オブジェクト名 */\n"
171 "    const ElfW(Phdr) *dlpi_phdr;  /* このオブジェクトの\n"
172 "                                     ELF プログラムヘッダの\n"
173 "                                     配列へのポインタ */\n"
174 "    ElfW(Half)        dlpi_phnum; /* I<dlpi_phdr> のアイテム数 */\n"
175 "};\n"
176
177 #. type: Plain text
178 #: build/C/man3/dl_iterate_phdr.3:98
179 msgid ""
180 "(The I<ElfW>()  macro definition turns its argument into the name of an ELF "
181 "data type suitable for the hardware architecture.  For example, on a 32-bit "
182 "platform, ElfW(Addr) yields the data type name Elf32_Addr.  Further "
183 "information on these types can be found in the I<E<lt>elf.hE<gt>> and "
184 "I<E<lt>link.hE<gt>> header files.)"
185 msgstr ""
186 "(I<ElfW>()  マクロ定義は引き数をハードウェアアーキテクチャに適した ELF データ"
187 "型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
188 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
189 "ダファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
190
191 #. type: Plain text
192 #: build/C/man3/dl_iterate_phdr.3:109
193 msgid ""
194 "The I<dlpi_addr> field indicates the base address of the shared object (i."
195 "e., the difference between the virtual memory address of the shared object "
196 "and the offset of that object in the file from which it was loaded).  The "
197 "I<dlpi_name> field is a null-terminated string giving the pathname from "
198 "which the shared object was loaded."
199 msgstr ""
200 "I<dlpi_addr> フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ"
201 "ジェクトの仮想メモリアドレスと、 ファイル (このファイルから共有オブジェクトが"
202 "ロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 "
203 "I<dlpi_name> はヌル文字で終端された文字列であり、 このパス名のファイルから共"
204 "有オブジェクトがロードされる。"
205
206 #. type: Plain text
207 #: build/C/man3/dl_iterate_phdr.3:124
208 msgid ""
209 "To understand the meaning of the I<dlpi_phdr> and I<dlpi_phnum> fields, we "
210 "need to be aware that an ELF shared object consists of a number of segments, "
211 "each of which has a corresponding program header describing the segment.  "
212 "The I<dlpi_phdr> field is a pointer to an array of the program headers for "
213 "this shared object.  The I<dlpi_phnum> field indicates the size of this "
214 "array."
215 msgstr ""
216 "I<dlpi_phdr> と I<dlpi_phnum> フィールドの意味を理解するには、 ELF 共有オブ"
217 "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対"
218 "応するプログラムヘッダ (そのセグメントを説明する) を持っていることを知ってい"
219 "る必要がある。 I<dlpi_phdr> フィールドは、この共有オブジェクトのプログラム"
220 "ヘッダの配列へのポインタである。 I<dlpi_phnum> は、この配列のサイズを表す。"
221
222 #. type: Plain text
223 #: build/C/man3/dl_iterate_phdr.3:126
224 msgid "These program headers are structures of the following form:"
225 msgstr "これらのプログラムヘッダは以下のような形式の構造体である:"
226
227 #. type: Plain text
228 #: build/C/man3/dl_iterate_phdr.3:139
229 #, no-wrap
230 msgid ""
231 "typedef struct {\n"
232 "    Elf32_Word  p_type;    /* Segment type */\n"
233 "    Elf32_Off   p_offset;  /* Segment file offset */\n"
234 "    Elf32_Addr  p_vaddr;   /* Segment virtual address */\n"
235 "    Elf32_Addr  p_paddr;   /* Segment physical address */\n"
236 "    Elf32_Word  p_filesz;  /* Segment size in file */\n"
237 "    Elf32_Word  p_memsz;   /* Segment size in memory */\n"
238 "    Elf32_Word  p_flags;   /* Segment flags */\n"
239 "    Elf32_Word  p_align;   /* Segment alignment */\n"
240 "} Elf32_Phdr;\n"
241 msgstr ""
242 "typedef struct\n"
243 "{\n"
244 "    Elf32_Word  p_type;    /* セグメントの型 */\n"
245 "    Elf32_Off   p_offset;  /* セグメントのファイルオフセット */\n"
246 "    Elf32_Addr  p_vaddr;   /* セグメントの仮想アドレス */\n"
247 "    Elf32_Addr  p_paddr;   /* セグメントの物理アドレス */\n"
248 "    Elf32_Word  p_filesz;  /* ファイルにおけるセグメントサイズ */\n"
249 "    Elf32_Word  p_memsz;   /* メモリにおけるセグメントサイズ */\n"
250 "    Elf32_Word  p_flags;   /* セグメントフラグ */\n"
251 "    Elf32_Word  p_align;   /* セグメントの配置 (alignment) */\n"
252 "} Elf32_Phdr;\n"
253
254 #. type: Plain text
255 #: build/C/man3/dl_iterate_phdr.3:145
256 msgid ""
257 "Note that we can calculate the location of a particular program header, "
258 "I<x>, in virtual memory using the formula:"
259 msgstr ""
260 "特定のプログラムヘッダ I<x> の仮想メモリにおける位置は、以下の式で計算できる"
261 "点に注意すること:"
262
263 #. type: Plain text
264 #: build/C/man3/dl_iterate_phdr.3:148
265 #, no-wrap
266 msgid "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
267 msgstr "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
268
269 #. type: SH
270 #: build/C/man3/dl_iterate_phdr.3:149
271 #, no-wrap
272 msgid "RETURN VALUE"
273 msgstr "返り値"
274
275 #. type: Plain text
276 #: build/C/man3/dl_iterate_phdr.3:154
277 msgid ""
278 "The B<dl_iterate_phdr>()  function returns whatever value was returned by "
279 "the last call to I<callback>."
280 msgstr ""
281 "B<dl_iterate_phdr>()  関数は最後の I<callback> の呼び出しで返された値を返す。"
282
283 #. type: SH
284 #: build/C/man3/dl_iterate_phdr.3:154 build/C/man1/pldd.1:50
285 #, no-wrap
286 msgid "VERSIONS"
287 msgstr "バージョン"
288
289 #. type: Plain text
290 #: build/C/man3/dl_iterate_phdr.3:157
291 msgid "B<dl_iterate_phdr>()  has been supported in glibc since version 2.2.4."
292 msgstr ""
293 "B<dl_iterate_phdr>()  は glibc のバージョン 2.2.4 以降でサポートされている。"
294
295 #. type: SH
296 #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381
297 #: build/C/man3/end.3:50 build/C/man1/pldd.1:53 build/C/man7/rtld-audit.7:461
298 #: build/C/man1/sprof.1:75
299 #, no-wrap
300 msgid "CONFORMING TO"
301 msgstr "準拠"
302
303 #. type: Plain text
304 #: build/C/man3/dl_iterate_phdr.3:161
305 msgid ""
306 "The B<dl_iterate_phdr>()  function is Linux-specific and should be avoided "
307 "in portable applications."
308 msgstr ""
309 "B<dl_iterate_phdr>()  関数は Linux 固有であり、移植を考えたアプリケーションで"
310 "は避けるべきである。"
311
312 #. type: SH
313 #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446
314 #: build/C/man3/end.3:76 build/C/man1/memusage.1:201
315 #: build/C/man1/memusagestat.1:81 build/C/man1/pldd.1:71
316 #: build/C/man7/rtld-audit.7:502 build/C/man1/sprof.1:79
317 #, no-wrap
318 msgid "EXAMPLE"
319 msgstr "例"
320
321 #. type: Plain text
322 #: build/C/man3/dl_iterate_phdr.3:166
323 msgid ""
324 "The following program displays a list of pathnames of the shared objects it "
325 "has loaded.  For each shared object, the program lists the virtual addresses "
326 "at which the object's ELF segments are loaded."
327 msgstr ""
328 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
329 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
330 "ロードされた 仮想アドレスの一覧を表示する。"
331
332 #. type: Plain text
333 #: build/C/man3/dl_iterate_phdr.3:172
334 #, no-wrap
335 msgid ""
336 "#define _GNU_SOURCE\n"
337 "#include E<lt>link.hE<gt>\n"
338 "#include E<lt>stdlib.hE<gt>\n"
339 "#include E<lt>stdio.hE<gt>\n"
340 msgstr ""
341 "#define _GNU_SOURCE\n"
342 "#include E<lt>link.hE<gt>\n"
343 "#include E<lt>stdlib.hE<gt>\n"
344 "#include E<lt>stdio.hE<gt>\n"
345
346 #. type: Plain text
347 #: build/C/man3/dl_iterate_phdr.3:177
348 #, no-wrap
349 msgid ""
350 "static int\n"
351 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
352 "{\n"
353 "    int j;\n"
354 msgstr ""
355 "static int\n"
356 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
357 "{\n"
358 "    int j;\n"
359
360 #. type: Plain text
361 #: build/C/man3/dl_iterate_phdr.3:180
362 #, no-wrap
363 msgid ""
364 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
365 "        info-E<gt>dlpi_phnum);\n"
366 msgstr ""
367 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
368 "        info-E<gt>dlpi_phnum);\n"
369
370 #. type: Plain text
371 #: build/C/man3/dl_iterate_phdr.3:186
372 #, no-wrap
373 msgid ""
374 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
375 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
376 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
377 "    return 0;\n"
378 "}\n"
379 msgstr ""
380 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
381 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
382 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
383 "    return 0;\n"
384 "}\n"
385
386 #. type: Plain text
387 #: build/C/man3/dl_iterate_phdr.3:191
388 #, no-wrap
389 msgid ""
390 "int\n"
391 "main(int argc, char *argv[])\n"
392 "{\n"
393 "    dl_iterate_phdr(callback, NULL);\n"
394 msgstr ""
395 "int\n"
396 "main(int argc, char *argv[])\n"
397 "{\n"
398 "    dl_iterate_phdr(callback, NULL);\n"
399
400 #. type: Plain text
401 #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107
402 #, no-wrap
403 msgid ""
404 "    exit(EXIT_SUCCESS);\n"
405 "}\n"
406 msgstr ""
407 "    exit(EXIT_SUCCESS);\n"
408 "}\n"
409
410 #. type: SH
411 #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521
412 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:489
413 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108
414 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
415 #: build/C/man1/mtrace.1:61 build/C/man1/pldd.1:91
416 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60
417 #: build/C/man1/sprof.1:299
418 #, no-wrap
419 msgid "SEE ALSO"
420 msgstr "関連項目"
421
422 #. type: Plain text
423 #: build/C/man3/dl_iterate_phdr.3:202
424 msgid ""
425 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
426 msgstr ""
427 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
428
429 #. type: Plain text
430 #: build/C/man3/dl_iterate_phdr.3:205
431 msgid ""
432 "I<Executable and Linking Format Specification>, available at various "
433 "locations online."
434 msgstr ""
435 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
436 "Specification>"
437
438 #. type: SH
439 #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:531
440 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:505
441 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:113
442 #: build/C/man1/memusage.1:275 build/C/man1/memusagestat.1:91
443 #: build/C/man1/mtrace.1:64 build/C/man1/pldd.1:96
444 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64
445 #: build/C/man1/sprof.1:303
446 #, no-wrap
447 msgid "COLOPHON"
448 msgstr "この文書について"
449
450 #. type: Plain text
451 #: build/C/man3/dl_iterate_phdr.3:213 build/C/man3/dlopen.3:539
452 #: build/C/man5/elf.5:1971 build/C/man3/end.3:121 build/C/man8/ld.so.8:513
453 #: build/C/man8/ldconfig.8:186 build/C/man1/ldd.1:121
454 #: build/C/man1/memusage.1:283 build/C/man1/memusagestat.1:99
455 #: build/C/man1/mtrace.1:72 build/C/man1/pldd.1:104
456 #: build/C/man7/rtld-audit.7:615 build/C/man8/sln.8:72
457 #: build/C/man1/sprof.1:311
458 msgid ""
459 "This page is part of release 3.78 of the Linux I<man-pages> project.  A "
460 "description of the project, information about reporting bugs, and the latest "
461 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
462 "pages/."
463 msgstr ""
464 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
465 "である。プロジェクトの説明とバグ報告に関する情報は\n"
466 "http://www.kernel.org/doc/man-pages/ に書かれている。"
467
468 #. type: TH
469 #: build/C/man3/dlopen.3:35
470 #, no-wrap
471 msgid "DLOPEN"
472 msgstr "DLOPEN"
473
474 #. type: TH
475 #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14
476 #, no-wrap
477 msgid "2014-10-02"
478 msgstr "2014-10-02"
479
480 #. type: TH
481 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
482 #: build/C/man1/sprof.1:25
483 #, no-wrap
484 msgid "Linux"
485 msgstr "Linux"
486
487 #. type: Plain text
488 #: build/C/man3/dlopen.3:39
489 msgid ""
490 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
491 "dynamic linking loader"
492 msgstr ""
493 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダへの プログラミングイ"
494 "ンターフェース"
495
496 #. type: Plain text
497 #: build/C/man3/dlopen.3:41
498 msgid "B<#include E<lt>dlfcn.hE<gt>>"
499 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
500
501 #. type: Plain text
502 #: build/C/man3/dlopen.3:43
503 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
504 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
505
506 #. type: Plain text
507 #: build/C/man3/dlopen.3:45
508 msgid "B<char *dlerror(void);>"
509 msgstr "B<char *dlerror(void);>"
510
511 #. type: Plain text
512 #: build/C/man3/dlopen.3:47
513 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
514 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
515
516 #. type: Plain text
517 #: build/C/man3/dlopen.3:49
518 msgid "B<int dlclose(void *>I<handle>B<);>"
519 msgstr "B<int dlclose(void *>I<handle>B<);>"
520
521 #. type: Plain text
522 #: build/C/man3/dlopen.3:51
523 msgid "Link with I<-ldl>."
524 msgstr "I<-ldl> でリンクする。"
525
526 #. type: Plain text
527 #: build/C/man3/dlopen.3:58
528 msgid ""
529 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
530 "implement the interface to the dynamic linking loader."
531 msgstr ""
532 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的リン"
533 "ク (dynamic linking) を行うローダへの インタフェースを実装したものである。"
534
535 #. type: SS
536 #: build/C/man3/dlopen.3:58
537 #, no-wrap
538 msgid "dlerror()"
539 msgstr "dlerror()"
540
541 #. type: Plain text
542 #: build/C/man3/dlopen.3:71
543 msgid ""
544 "The function B<dlerror>()  returns a human-readable string describing the "
545 "most recent error that occurred from B<dlopen>(), B<dlsym>()  or "
546 "B<dlclose>()  since the last call to B<dlerror>().  It returns NULL if no "
547 "errors have occurred since initialization or since it was last called."
548 msgstr ""
549 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
550 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
551 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
552 "ば NULL を返す。"
553
554 #. type: SS
555 #: build/C/man3/dlopen.3:71
556 #, no-wrap
557 msgid "dlopen()"
558 msgstr "dlopen()"
559
560 #. type: Plain text
561 #: build/C/man3/dlopen.3:89
562 msgid ""
563 "The function B<dlopen>()  loads the dynamic library file named by the null-"
564 "terminated string I<filename> and returns an opaque \"handle\" for the "
565 "dynamic library.  If I<filename> is NULL, then the returned handle is for "
566 "the main program.  If I<filename> contains a slash (\"/\"), then it is "
567 "interpreted as a (relative or absolute) pathname.  Otherwise, the dynamic "
568 "linker searches for the library as follows (see B<ld.so>(8)  for further "
569 "details):"
570 msgstr ""
571 "関数 B<dlopen>()  は、ヌル終端された文字列 I<filename> で指定されたファイル名"
572 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
573 "「ハンドル」を返す。 I<filename> が NULL の場合、メイン・プログラムへのハンド"
574 "ルが返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)"
575 "パス名として解釈される。 それ以外の場合、動的リンカは以下の手順でライブラリを"
576 "検索する (詳細は B<ld.so>(8)  を参照):"
577
578 #. type: IP
579 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
580 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
581 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
582 #: build/C/man8/ld.so.8:80
583 #, no-wrap
584 msgid "o"
585 msgstr "o"
586
587 #. type: Plain text
588 #: build/C/man3/dlopen.3:93
589 msgid ""
590 "(ELF only) If the executable file for the calling program contains a "
591 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
592 "listed in the DT_RPATH tag are searched."
593 msgstr ""
594 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
595 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
596 "クトリ・リストを検索する。"
597
598 #. type: Plain text
599 #: build/C/man3/dlopen.3:100
600 msgid ""
601 "If, at the time that the program was started, the environment variable "
602 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
603 "directories, then these are searched.  (As a security measure this variable "
604 "is ignored for set-user-ID and set-group-ID programs.)"
605 msgstr ""
606 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
607 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
608 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
609 "場合は無視される)。"
610
611 #. type: Plain text
612 #: build/C/man3/dlopen.3:104
613 msgid ""
614 "(ELF only) If the executable file for the calling program contains a "
615 "DT_RUNPATH tag, then the directories listed in that tag are searched."
616 msgstr ""
617 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
618 "る場合、そのタグに書かれているディレクトリ・リストを検索する。"
619
620 #. type: Plain text
621 #: build/C/man3/dlopen.3:111
622 msgid ""
623 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
624 "checked to see whether it contains an entry for I<filename>."
625 msgstr ""
626 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリが入って"
627 "いるかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理され"
628 "ている)。"
629
630 #. type: Plain text
631 #: build/C/man3/dlopen.3:117
632 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
633 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
634
635 #. type: Plain text
636 #: build/C/man3/dlopen.3:123
637 msgid ""
638 "If the library has dependencies on other shared libraries, then these are "
639 "also automatically loaded by the dynamic linker using the same rules.  (This "
640 "process may occur recursively, if those libraries in turn have dependencies, "
641 "and so on.)"
642 msgstr ""
643 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
644 "リも動的リンカが同じ検索ルールに基づいて 自動的にロードする (それらのライブラ"
645 "リにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
646
647 #. type: Plain text
648 #: build/C/man3/dlopen.3:126
649 msgid "One of the following two values must be included in I<flag>:"
650 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
651
652 #. type: TP
653 #: build/C/man3/dlopen.3:126
654 #, no-wrap
655 msgid "B<RTLD_LAZY>"
656 msgstr "B<RTLD_LAZY>"
657
658 #. type: Plain text
659 #: build/C/man3/dlopen.3:134
660 msgid ""
661 "Perform lazy binding.  Only resolve symbols as the code that references them "
662 "is executed.  If the symbol is never referenced, then it is never resolved.  "
663 "(Lazy binding is performed only for function references; references to "
664 "variables are always immediately bound when the library is loaded.)"
665 msgstr ""
666 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
667 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
668 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
669 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
670 "直ちに解決される。)"
671
672 #. type: TP
673 #: build/C/man3/dlopen.3:134
674 #, no-wrap
675 msgid "B<RTLD_NOW>"
676 msgstr "B<RTLD_NOW>"
677
678 #. type: Plain text
679 #: build/C/man3/dlopen.3:143
680 msgid ""
681 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
682 "set to a nonempty string, all undefined symbols in the library are resolved "
683 "before B<dlopen>()  returns.  If this cannot be done, an error is returned."
684 msgstr ""
685 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
686 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
687 "る。解決できなかったときにはエラーが返される。"
688
689 #. type: Plain text
690 #: build/C/man3/dlopen.3:146
691 msgid "Zero or more of the following values may also be ORed in I<flag>:"
692 msgstr ""
693 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
694
695 #. type: TP
696 #: build/C/man3/dlopen.3:146
697 #, no-wrap
698 msgid "B<RTLD_GLOBAL>"
699 msgstr "B<RTLD_GLOBAL>"
700
701 #. type: Plain text
702 #: build/C/man3/dlopen.3:150
703 msgid ""
704 "The symbols defined by this library will be made available for symbol "
705 "resolution of subsequently loaded libraries."
706 msgstr ""
707 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
708 "のシンボル解決で利用できるようになる。"
709
710 #. type: TP
711 #: build/C/man3/dlopen.3:150
712 #, no-wrap
713 msgid "B<RTLD_LOCAL>"
714 msgstr "B<RTLD_LOCAL>"
715
716 #. type: Plain text
717 #: build/C/man3/dlopen.3:157
718 msgid ""
719 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
720 "specified.  Symbols defined in this library are not made available to "
721 "resolve references in subsequently loaded libraries."
722 msgstr ""
723 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
724 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
725 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
726
727 #. type: TP
728 #: build/C/man3/dlopen.3:157
729 #, no-wrap
730 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
731 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
732
733 #.  (But it is present on Solaris.)
734 #. type: Plain text
735 #: build/C/man3/dlopen.3:167
736 msgid ""
737 "Do not unload the library during B<dlclose>().  Consequently, the library's "
738 "static variables are not reinitialized if the library is reloaded with "
739 "B<dlopen>()  at a later time.  This flag is not specified in POSIX.1-2001."
740 msgstr ""
741 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
742 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
743 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
744
745 #. type: TP
746 #: build/C/man3/dlopen.3:167
747 #, no-wrap
748 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
749 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
750
751 #.  (But it is present on Solaris.)
752 #. type: Plain text
753 #: build/C/man3/dlopen.3:182
754 msgid ""
755 "Don't load the library.  This can be used to test if the library is already "
756 "resident (B<dlopen>()  returns NULL if it is not, or the library's handle if "
757 "it is resident).  This flag can also be used to promote the flags on a "
758 "library that is already loaded.  For example, a library that was previously "
759 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
760 "RTLD_GLOBAL>.  This flag is not specified in POSIX.1-2001."
761 msgstr ""
762 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
763 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
764 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
765 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
766 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
767 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
768 "規定されていない。"
769
770 #. type: TP
771 #: build/C/man3/dlopen.3:182
772 #, no-wrap
773 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
774 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
775
776 #.  Inimitably described by UD in
777 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
778 #. type: Plain text
779 #: build/C/man3/dlopen.3:192
780 msgid ""
781 "Place the lookup scope of the symbols in this library ahead of the global "
782 "scope.  This means that a self-contained library will use its own symbols in "
783 "preference to global symbols with the same name contained in libraries that "
784 "have already been loaded.  This flag is not specified in POSIX.1-2001."
785 msgstr ""
786 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
787 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
788 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
789 "フラグは POSIX.1-2001 では規定されていない。"
790
791 #. type: Plain text
792 #: build/C/man3/dlopen.3:204
793 msgid ""
794 "If I<filename> is NULL, then the returned handle is for the main program.  "
795 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
796 "main program, followed by all shared libraries loaded at program startup, "
797 "and then all shared libraries loaded by B<dlopen>()  with the flag "
798 "B<RTLD_GLOBAL>."
799 msgstr ""
800 "I<filename> が NULL である場合は、 返されるハンドルはメイン・プログラムのもの"
801 "になる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メイン・"
802 "プログラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
803 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
804 "ラリ、の順序で行われる。"
805
806 #. type: Plain text
807 #: build/C/man3/dlopen.3:214
808 msgid ""
809 "External references in the library are resolved using the libraries in that "
810 "library's dependency list and any other libraries previously opened with the "
811 "B<RTLD_GLOBAL> flag.  If the executable was linked with the flag \"-rdynamic"
812 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
813 "executable will also be used to resolve references in a dynamically loaded "
814 "library."
815 msgstr ""
816 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
817 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
818 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
819 "も同義)  付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
820 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
821
822 #. type: Plain text
823 #: build/C/man3/dlopen.3:232
824 msgid ""
825 "If the same library is loaded again with B<dlopen>(), the same library "
826 "handle is returned.  The dl library maintains reference counts for library "
827 "handles, so a dynamic library is not deallocated until B<dlclose>()  has "
828 "been called on it as many times as B<dlopen>()  has succeeded on it.  The "
829 "B<_init>()  routine, if present, is called only once.  But a subsequent call "
830 "with B<RTLD_NOW> may force symbol resolution for a library earlier loaded "
831 "with B<RTLD_LAZY>."
832 msgstr ""
833 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じライブラ"
834 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
835 "いる。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だ"
836 "け呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出"
837 "される (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
838 "B<dlopen>()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
839 "のシンボル解決が実行されることがある。"
840
841 #. type: Plain text
842 #: build/C/man3/dlopen.3:236
843 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
844 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
845
846 #. type: SS
847 #: build/C/man3/dlopen.3:236
848 #, no-wrap
849 msgid "dlsym()"
850 msgstr "dlsym()"
851
852 #. type: Plain text
853 #: build/C/man3/dlopen.3:265
854 msgid ""
855 "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned by "
856 "B<dlopen>()  and the null-terminated symbol name, returning the address "
857 "where that symbol is loaded into memory.  If the symbol is not found, in the "
858 "specified library or any of the libraries that were automatically loaded by "
859 "B<dlopen>()  when that library was loaded, B<dlsym>()  returns NULL.  (The "
860 "search performed by B<dlsym>()  is breadth first through the dependency tree "
861 "of these libraries.)  Since the value of the symbol could actually be NULL "
862 "(so that a NULL return from B<dlsym>()  need not indicate an error), the "
863 "correct way to test for an error is to call B<dlerror>()  to clear any old "
864 "error conditions, then call B<dlsym>(), and then call B<dlerror>()  again, "
865 "saving its return value into a variable, and check whether this saved value "
866 "is not NULL."
867 msgstr ""
868 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
869 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
870 "メモリのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライブ"
871 "ラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれに"
872 "も見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
873 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
874 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
875 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
876 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
877 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
878 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
879 "定する。"
880
881 #. type: Plain text
882 #: build/C/man3/dlopen.3:277
883 msgid ""
884 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  The "
885 "former will find the first occurrence of the desired symbol using the "
886 "default library search order.  The latter will find the next occurrence of a "
887 "function in the search order after the current library.  This allows one to "
888 "provide a wrapper around a function in another shared library."
889 msgstr ""
890 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
891 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
892 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
893 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
894 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
895
896 #. type: SS
897 #: build/C/man3/dlopen.3:277
898 #, no-wrap
899 msgid "dlclose()"
900 msgstr "dlclose()"
901
902 #. type: Plain text
903 #: build/C/man3/dlopen.3:284
904 msgid ""
905 "The function B<dlclose>()  decrements the reference count on the dynamic "
906 "library handle I<handle>.  If the reference count drops to zero and no other "
907 "loaded libraries use symbols in it, then the dynamic library is unloaded."
908 msgstr ""
909 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
910 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
911 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
912
913 #. type: Plain text
914 #: build/C/man3/dlopen.3:288
915 msgid "The function B<dlclose>()  returns 0 on success, and nonzero on error."
916 msgstr ""
917 "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
918
919 #. type: SS
920 #: build/C/man3/dlopen.3:288
921 #, no-wrap
922 msgid "The obsolete symbols _init() and _fini()"
923 msgstr "廃止されたシンボル _init() と _fini()"
924
925 #. type: Plain text
926 #: build/C/man3/dlopen.3:306
927 msgid ""
928 "The linker recognizes special symbols B<_init> and B<_fini>.  If a dynamic "
929 "library exports a routine named B<_init>(), then that code is executed after "
930 "the loading, before B<dlopen>()  returns.  If the dynamic library exports a "
931 "routine named B<_fini>(), then that routine is called just before the "
932 "library is unloaded.  In case you need to avoid linking against the system "
933 "startup files, this can be done by using the B<gcc>(1)  I<-nostartfiles> "
934 "command-line option."
935 msgstr ""
936 "リンカは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラリ"
937 "で B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
938 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
939 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
940 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
941 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
942 "I<-nostartfiles> オプションを指定すればよい。"
943
944 #.  void _init(void) __attribute__((constructor));
945 #.  void _fini(void) __attribute__((destructor));
946 #. type: Plain text
947 #: build/C/man3/dlopen.3:317
948 msgid ""
949 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
950 "is not recommended.  Their use may result in undesired behavior, since the "
951 "constructor/destructor routines will not be executed (unless special "
952 "measures are taken)."
953 msgstr ""
954 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
955 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
956 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
957 "行されないからである。"
958
959 #. type: Plain text
960 #: build/C/man3/dlopen.3:329
961 msgid ""
962 "Instead, libraries should export routines using the "
963 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
964 "attributes.  See the gcc info pages for information on these.  Constructor "
965 "routines are executed before B<dlopen>()  returns, and destructor routines "
966 "are executed before B<dlclose>()  returns."
967 msgstr ""
968 "代わりに、ライブラリは B<__attribute__((constructor))> や "
969 "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート"
970 "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor "
971 "ルーチンは B<dlopen>()  が復帰する前に実行され、 destructor ルーチンは "
972 "B<dlclose>()  が復帰する前に実行される。"
973
974 #. type: SS
975 #: build/C/man3/dlopen.3:329
976 #, no-wrap
977 msgid "Glibc extensions: dladdr() and dlvsym()"
978 msgstr "GNU での拡張: dladdr() と dlvsym()"
979
980 #. type: Plain text
981 #: build/C/man3/dlopen.3:331
982 msgid "Glibc adds two functions not described by POSIX, with prototypes"
983 msgstr ""
984 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
985 "は以下の通りである。"
986
987 #. type: Plain text
988 #: build/C/man3/dlopen.3:335
989 #, no-wrap
990 msgid ""
991 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
992 "B<#include E<lt>dlfcn.hE<gt>>\n"
993 msgstr ""
994 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
995 "B<#include E<lt>dlfcn.hE<gt>>\n"
996
997 #. type: Plain text
998 #: build/C/man3/dlopen.3:337
999 #, no-wrap
1000 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1001 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1002
1003 #. type: Plain text
1004 #: build/C/man3/dlopen.3:339
1005 #, no-wrap
1006 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1007 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1008
1009 #. type: Plain text
1010 #: build/C/man3/dlopen.3:348
1011 msgid ""
1012 "The function B<dladdr>()  takes a function pointer and tries to resolve name "
1013 "and file where it is located.  Information is stored in the I<Dl_info> "
1014 "structure:"
1015 msgstr ""
1016 "関数 B<dladdr>()  は、関数のポインタを引き数にとり、関数の名前と関数が定義さ"
1017 "れている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1018
1019 #. type: Plain text
1020 #: build/C/man3/dlopen.3:361
1021 #, no-wrap
1022 msgid ""
1023 "typedef struct {\n"
1024 "    const char *dli_fname;  /* Pathname of shared object that\n"
1025 "                               contains address */\n"
1026 "    void       *dli_fbase;  /* Address at which shared object\n"
1027 "                               is loaded */\n"
1028 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1029 "                               overlaps I<addr> */\n"
1030 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1031 "                               in I<dli_sname> */\n"
1032 "} Dl_info;\n"
1033 msgstr ""
1034 "typedef struct {\n"
1035 "    const char *dli_fname;  /* Pathname of shared object that\n"
1036 "                               contains address */\n"
1037 "    void       *dli_fbase;  /* Address at which shared object\n"
1038 "                               is loaded */\n"
1039 "    const char *dli_sname;  /* Name of symbol whose definition\n"
1040 "                               overlaps I<addr> */\n"
1041 "    void       *dli_saddr;  /* Exact address of symbol named\n"
1042 "                               in I<dli_sname> */\n"
1043 "} Dl_info;\n"
1044
1045 #. type: Plain text
1046 #: build/C/man3/dlopen.3:371
1047 msgid ""
1048 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1049 "I<dli_saddr> are set to NULL."
1050 msgstr ""
1051 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1052 "I<dli_saddr> は NULL にセットされる。"
1053
1054 #. type: Plain text
1055 #: build/C/man3/dlopen.3:374
1056 msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
1057 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1058
1059 #. type: Plain text
1060 #: build/C/man3/dlopen.3:381
1061 msgid ""
1062 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1063 "as B<dlsym>()  but takes a version string as an additional argument."
1064 msgstr ""
1065 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
1066 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
1067 "glibc で提供されている)。"
1068
1069 #. type: Plain text
1070 #: build/C/man3/dlopen.3:388
1071 msgid ""
1072 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
1073 "B<dlsym>()."
1074 msgstr ""
1075 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
1076 "載がある。"
1077
1078 #. type: SH
1079 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1080 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84
1081 #: build/C/man7/rtld-audit.7:467
1082 #, no-wrap
1083 msgid "NOTES"
1084 msgstr "注意"
1085
1086 #.  .LP
1087 #.  The string returned by
1088 #.  .BR dlerror ()
1089 #.  should not be modified.
1090 #.  Some systems give the prototype as
1091 #.  .sp
1092 #.  .in +5
1093 #.  .B "const char *dlerror(void);"
1094 #.  .in
1095 #. type: Plain text
1096 #: build/C/man3/dlopen.3:407
1097 msgid ""
1098 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1099 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1100 msgstr ""
1101 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1102 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1103 "る場合のみ有効となる。"
1104
1105 #. type: Plain text
1106 #: build/C/man3/dlopen.3:412
1107 msgid ""
1108 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
1109 "that is automatically called when a library is unloaded."
1110 msgstr ""
1111 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
1112 "に自動的に呼び出される 終了ハンドラ (exit handler) を登録することができる。"
1113
1114 #. type: SS
1115 #: build/C/man3/dlopen.3:412
1116 #, no-wrap
1117 msgid "History"
1118 msgstr "歴史"
1119
1120 #. type: Plain text
1121 #: build/C/man3/dlopen.3:418
1122 msgid ""
1123 "The dlopen interface standard comes from SunOS.  That system also has "
1124 "B<dladdr>(), but not B<dlvsym>()."
1125 msgstr ""
1126 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
1127 "B<dladdr>()  もあったが、 B<dlvsym>()  はなかった。"
1128
1129 #. type: SH
1130 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267
1131 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58
1132 #: build/C/man7/rtld-audit.7:492
1133 #, no-wrap
1134 msgid "BUGS"
1135 msgstr "バグ"
1136
1137 #. type: Plain text
1138 #: build/C/man3/dlopen.3:430
1139 msgid ""
1140 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1141 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1142 "I<dli_fbase> may end up pointing back at the object from which you called "
1143 "B<dladdr>(), even if the function used as an argument should come from a "
1144 "dynamically linked library."
1145 msgstr ""
1146 "時として、 B<dladdr>()  に渡した関数ポインタは驚くような値になることがある。 "
1147 "いくつかのアーキテクチャ (特に i386 と x86_64) では、 引き数として使用した関"
1148 "数が動的リンクライブラリで定義されるもので あったとしても、 I<dli_fname> と "
1149 "I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照した状態で終わって"
1150 "いることがある。"
1151
1152 #. type: Plain text
1153 #: build/C/man3/dlopen.3:446
1154 msgid ""
1155 "The problem is that the function pointer will still be resolved at compile "
1156 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1157 "the original object (which dispatches the call after asking the dynamic "
1158 "linker to resolve the symbol).  To work around this, you can try to compile "
1159 "the code to be position-independent: then, the compiler cannot prepare the "
1160 "pointer at compile time anymore and today's B<gcc>(1)  will generate code "
1161 "that just loads the final symbol address from the I<got> (Global Offset "
1162 "Table) at run time before passing it to B<dladdr>()."
1163 msgstr ""
1164 "問題は、関数ポインタの解決は今なおコンパイル時に行われるが、 そのポインタは元"
1165 "のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指しているだけ"
1166 "だという点にある (オブジェクト自体は、ダイナミックリンカによってシンボルの解"
1167 "決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法としては、 コー"
1168 "ドを position-independent でコンパイルするという方法がある。 そうすると、コン"
1169 "パイラはコンパイル時にポインタを用意することができず、 今日の B<gcc>(1)  で"
1170 "は、実行時に B<dladdr>()  に関数ポインタを渡す前に、 I<got> (Global Offset "
1171 "Table) から最終的なシンボルのアドレスをロードするだけの コードが生成される。"
1172
1173 #. type: Plain text
1174 #: build/C/man3/dlopen.3:448
1175 msgid "Load the math library, and print the cosine of 2.0:"
1176 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1177
1178 #. type: Plain text
1179 #: build/C/man3/dlopen.3:453
1180 #, no-wrap
1181 msgid ""
1182 "#include E<lt>stdio.hE<gt>\n"
1183 "#include E<lt>stdlib.hE<gt>\n"
1184 "#include E<lt>dlfcn.hE<gt>\n"
1185 msgstr ""
1186 "#include E<lt>stdio.hE<gt>\n"
1187 "#include E<lt>stdlib.hE<gt>\n"
1188 "#include E<lt>dlfcn.hE<gt>\n"
1189
1190 #. type: Plain text
1191 #: build/C/man3/dlopen.3:460
1192 #, no-wrap
1193 msgid ""
1194 "int\n"
1195 "main(int argc, char **argv)\n"
1196 "{\n"
1197 "    void *handle;\n"
1198 "    double (*cosine)(double);\n"
1199 "    char *error;\n"
1200 msgstr ""
1201 "int\n"
1202 "main(int argc, char **argv)\n"
1203 "{\n"
1204 "    void *handle;\n"
1205 "    double (*cosine)(double);\n"
1206 "    char *error;\n"
1207
1208 #. type: Plain text
1209 #: build/C/man3/dlopen.3:466
1210 #, no-wrap
1211 msgid ""
1212 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1213 "    if (!handle) {\n"
1214 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1215 "        exit(EXIT_FAILURE);\n"
1216 "    }\n"
1217 msgstr ""
1218 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1219 "    if (!handle) {\n"
1220 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1221 "        exit(EXIT_FAILURE);\n"
1222 "    }\n"
1223
1224 #. type: Plain text
1225 #: build/C/man3/dlopen.3:468
1226 #, no-wrap
1227 msgid "    dlerror();    /* Clear any existing error */\n"
1228 msgstr "    dlerror();    /* Clear any existing error */\n"
1229
1230 #. type: Plain text
1231 #: build/C/man3/dlopen.3:470
1232 #, no-wrap
1233 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1234 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1235
1236 #. type: Plain text
1237 #: build/C/man3/dlopen.3:475
1238 #, no-wrap
1239 msgid ""
1240 "    /* According to the ISO C standard, casting between function\n"
1241 "       pointers and 'void *', as done above, produces undefined results.\n"
1242 "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1243 "       proposed the following workaround:\n"
1244 msgstr ""
1245 "    /* ISO の C 標準によれば、上のような、関数ポインタと 'void *' 間の\n"
1246 "       キャストを行った場合に得られる結果は不定である。\n"
1247 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1248 "       以下のようなワークアラウンドが提案されている。\n"
1249
1250 #. type: Plain text
1251 #: build/C/man3/dlopen.3:477
1252 #, no-wrap
1253 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1254 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1255
1256 #. type: Plain text
1257 #: build/C/man3/dlopen.3:480
1258 #, no-wrap
1259 msgid ""
1260 "       This (clumsy) cast conforms with the ISO C standard and will\n"
1261 "       avoid any compiler warnings.\n"
1262 msgstr ""
1263 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1264 "       コンパイラの警告を避けることができる。\n"
1265
1266 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1267 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1268 #.  http://austingroupbugs.net/view.php?id=74
1269 #. type: Plain text
1270 #: build/C/man3/dlopen.3:489
1271 #, no-wrap
1272 msgid ""
1273 "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1274 "       POSIX.1-2013) improved matters by requiring that conforming\n"
1275 "       implementations support casting 'void *' to a function pointer.\n"
1276 "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1277 "       option) may complain about the cast used in this program. */\n"
1278 msgstr ""
1279 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1280 "       では、 POSIX に準拠する実装では 'void *' から関数ポインタへの\n"
1281 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
1282 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1283 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1284 "       キャストについて文句を言うのだ。\n"
1285
1286 #. type: Plain text
1287 #: build/C/man3/dlopen.3:495
1288 #, no-wrap
1289 msgid ""
1290 "    error = dlerror();\n"
1291 "    if (error != NULL) {\n"
1292 "        fprintf(stderr, \"%s\\en\", error);\n"
1293 "        exit(EXIT_FAILURE);\n"
1294 "    }\n"
1295 msgstr ""
1296 "    error = dlerror();\n"
1297 "    if (error != NULL) {\n"
1298 "        fprintf(stderr, \"%s\\en\", error);\n"
1299 "        exit(EXIT_FAILURE);\n"
1300 "    }\n"
1301
1302 #. type: Plain text
1303 #: build/C/man3/dlopen.3:500
1304 #, no-wrap
1305 msgid ""
1306 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1307 "    dlclose(handle);\n"
1308 "    exit(EXIT_SUCCESS);\n"
1309 "}\n"
1310 msgstr ""
1311 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
1312 "    dlclose(handle);\n"
1313 "    exit(EXIT_SUCCESS);\n"
1314 "}\n"
1315
1316 #. type: Plain text
1317 #: build/C/man3/dlopen.3:504
1318 msgid ""
1319 "If this program were in a file named \"foo.c\", you would build the program "
1320 "with the following command:"
1321 msgstr ""
1322 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1323 "ルドできる。"
1324
1325 #. type: Plain text
1326 #: build/C/man3/dlopen.3:507
1327 #, no-wrap
1328 msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
1329 msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
1330
1331 #. type: Plain text
1332 #: build/C/man3/dlopen.3:517
1333 msgid ""
1334 "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled as "
1335 "follows, using I<bar.c> as the example name:"
1336 msgstr ""
1337 "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のように"
1338 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1339
1340 #. type: Plain text
1341 #: build/C/man3/dlopen.3:520
1342 #, no-wrap
1343 msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
1344 msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
1345
1346 #. type: Plain text
1347 #: build/C/man3/dlopen.3:529
1348 msgid ""
1349 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1350 "B<ld.so>(8), B<ldconfig>(8)"
1351 msgstr ""
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
1355 #. type: Plain text
1356 #: build/C/man3/dlopen.3:531
1357 msgid "ld.so info pages, gcc info pages, ld info pages"
1358 msgstr "ld.so info pages, gcc info pages, ld info pages"
1359
1360 #. type: TH
1361 #: build/C/man5/elf.5:35
1362 #, no-wrap
1363 msgid "ELF"
1364 msgstr "ELF"
1365
1366 #. type: TH
1367 #: build/C/man5/elf.5:35
1368 #, no-wrap
1369 msgid "2013-04-17"
1370 msgstr "2013-04-17"
1371
1372 #. type: Plain text
1373 #: build/C/man5/elf.5:38
1374 msgid "elf - format of Executable and Linking Format (ELF) files"
1375 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1376
1377 #.  .B #include <elf_abi.h>
1378 #. type: Plain text
1379 #: build/C/man5/elf.5:42
1380 #, no-wrap
1381 msgid "B<#include E<lt>elf.hE<gt>>\n"
1382 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1383
1384 #. type: Plain text
1385 #: build/C/man5/elf.5:50
1386 msgid ""
1387 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1388 "binary files.  Amongst these files are normal executable files, relocatable "
1389 "object files, core files and shared libraries."
1390 msgstr ""
1391 "ヘッダファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォーマッ"
1392 "トを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置可能"
1393 "オブジェクトファイル・コアファイル・共有ライブラリがある。"
1394
1395 #. type: Plain text
1396 #: build/C/man5/elf.5:59
1397 msgid ""
1398 "An executable file using the ELF file format consists of an ELF header, "
1399 "followed by a program header table or a section header table, or both.  The "
1400 "ELF header is always at offset zero of the file.  The program header table "
1401 "and the section header table's offset in the file are defined in the ELF "
1402 "header.  The two tables describe the rest of the particularities of the file."
1403 msgstr ""
1404 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダの後にプログラム"
1405 "ヘッダテーブルまたは セクションヘッダテーブル (またはその両方) が続く構成であ"
1406 "る。 ELF ヘッダは常にファイルのオフセット 0 にある。 プログラムヘッダテーブル"
1407 "とセクションヘッダテーブルの ファイル内でのオフセットは、ELF ヘッダに定義され"
1408 "ている。 この 2 つのテーブルはファイルの残りの部分の詳細を記述する。"
1409
1410 #.  Applications which wish to process ELF binary files for their native
1411 #.  architecture only should include
1412 #.  .I <elf_abi.h>
1413 #.  in their source code.
1414 #.  These applications should need to refer to
1415 #.  all the types and structures by their generic names
1416 #.  "Elf_xxx"
1417 #.  and to the macros by
1418 #.  ELF_xxx".
1419 #.  Applications written this way can be compiled on any architecture,
1420 #.  regardless of whether the host is 32-bit or 64-bit.
1421 #.  .PP
1422 #.  Should an application need to process ELF files of an unknown
1423 #.  architecture, then the application needs to explicitly use either
1424 #.  "Elf32_xxx"
1425 #.  or
1426 #.  "Elf64_xxx"
1427 #.  type and structure names.
1428 #.  Likewise, the macros need to be identified by
1429 #.  "ELF32_xxx"
1430 #.  or
1431 #.  "ELF64_xxx".
1432 #.  .PP
1433 #. type: Plain text
1434 #: build/C/man5/elf.5:86
1435 msgid ""
1436 "This header file describes the above mentioned headers as C structures and "
1437 "also includes structures for dynamic sections, relocation sections and "
1438 "symbol tables."
1439 msgstr ""
1440 "このヘッダファイルは上記のヘッダを C 言語の構造体で記述し、 また動的セクショ"
1441 "ン・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1442
1443 #. type: Plain text
1444 #: build/C/man5/elf.5:98
1445 msgid ""
1446 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1447 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1448 "I<uint64_t>):"
1449 msgstr ""
1450 "以下の型は N ビットアーキテクチャで使われる (N=32,64 であり I<ElfN> は "
1451 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1452 "I<uint64_t> を表す):"
1453
1454 #.  Elf32_Size  Unsigned object size
1455 #. type: Plain text
1456 #: build/C/man5/elf.5:112
1457 #, no-wrap
1458 msgid ""
1459 "ElfN_Addr       Unsigned program address, uintN_t\n"
1460 "ElfN_Off        Unsigned file offset, uintN_t\n"
1461 "ElfN_Section    Unsigned section index, uint16_t\n"
1462 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
1463 "Elf_Byte        unsigned char\n"
1464 "ElfN_Half       uint16_t\n"
1465 "ElfN_Sword      int32_t\n"
1466 "ElfN_Word       uint32_t\n"
1467 "ElfN_Sxword     int64_t\n"
1468 "ElfN_Xword      uint64_t\n"
1469 msgstr ""
1470 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
1471 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
1472 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
1473 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
1474 "Elf_Byte        unsigned char\n"
1475 "ElfN_Half       uint16_t\n"
1476 "ElfN_Sword      int32_t\n"
1477 "ElfN_Word       uint32_t\n"
1478 "ElfN_Sxword     int64_t\n"
1479 "ElfN_Xword      uint64_t\n"
1480
1481 #. type: Plain text
1482 #: build/C/man5/elf.5:127
1483 msgid ""
1484 "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
1485 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1486 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
1487 "explicit ones in the below.)"
1488 msgstr ""
1489 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1490 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1491 "は、これらの型はサイズが自明な型に置き換えてある。)"
1492
1493 #. type: Plain text
1494 #: build/C/man5/elf.5:134
1495 msgid ""
1496 "All data structures that the file format defines follow the \"natural\" size "
1497 "and alignment guidelines for the relevant class.  If necessary, data "
1498 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1499 "objects, to force structure sizes to a multiple of 4, and so on."
1500 msgstr ""
1501 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1502 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1503 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
1504 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1505 "る。"
1506
1507 #. type: Plain text
1508 #: build/C/man5/elf.5:139
1509 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1510 msgstr "ELF ヘッダは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1511
1512 #. type: Plain text
1513 #: build/C/man5/elf.5:143
1514 #, no-wrap
1515 msgid "#define EI_NIDENT 16\n"
1516 msgstr "#define EI_NIDENT 16\n"
1517
1518 #. type: Plain text
1519 #: build/C/man5/elf.5:160
1520 #, no-wrap
1521 msgid ""
1522 "typedef struct {\n"
1523 "    unsigned char e_ident[EI_NIDENT];\n"
1524 "    uint16_t      e_type;\n"
1525 "    uint16_t      e_machine;\n"
1526 "    uint32_t      e_version;\n"
1527 "    ElfN_Addr     e_entry;\n"
1528 "    ElfN_Off      e_phoff;\n"
1529 "    ElfN_Off      e_shoff;\n"
1530 "    uint32_t      e_flags;\n"
1531 "    uint16_t      e_ehsize;\n"
1532 "    uint16_t      e_phentsize;\n"
1533 "    uint16_t      e_phnum;\n"
1534 "    uint16_t      e_shentsize;\n"
1535 "    uint16_t      e_shnum;\n"
1536 "    uint16_t      e_shstrndx;\n"
1537 "} ElfN_Ehdr;\n"
1538 msgstr ""
1539 "typedef struct {\n"
1540 "    unsigned char e_ident[EI_NIDENT];\n"
1541 "    uint16_t      e_type;\n"
1542 "    uint16_t      e_machine;\n"
1543 "    uint32_t      e_version;\n"
1544 "    ElfN_Addr     e_entry;\n"
1545 "    ElfN_Off      e_phoff;\n"
1546 "    ElfN_Off      e_shoff;\n"
1547 "    uint32_t      e_flags;\n"
1548 "    uint16_t      e_ehsize;\n"
1549 "    uint16_t      e_phentsize;\n"
1550 "    uint16_t      e_phnum;\n"
1551 "    uint16_t      e_shentsize;\n"
1552 "    uint16_t      e_shnum;\n"
1553 "    uint16_t      e_shstrndx;\n"
1554 "} ElfN_Ehdr;\n"
1555
1556 #.  .Bl -tag -width "e_phentsize"
1557 #. type: Plain text
1558 #: build/C/man5/elf.5:165
1559 msgid "The fields have the following meanings:"
1560 msgstr "フィールドは以下の意味を持つ:"
1561
1562 #. type: TP
1563 #: build/C/man5/elf.5:165
1564 #, no-wrap
1565 msgid "I<e_ident>"
1566 msgstr "I<e_ident>"
1567
1568 #. type: Plain text
1569 #: build/C/man5/elf.5:175
1570 msgid ""
1571 "This array of bytes specifies to interpret the file, independent of the "
1572 "processor or the file's remaining contents.  Within this array everything is "
1573 "named by macros, which start with the prefix B<EI_> and may contain values "
1574 "which start with the prefix B<ELF>.  The following macros are defined:"
1575 msgstr ""
1576 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1577 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1578 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1579 "クロが定義されている:"
1580
1581 #. type: TP
1582 #: build/C/man5/elf.5:177
1583 #, no-wrap
1584 msgid "B<EI_MAG0>"
1585 msgstr "B<EI_MAG0>"
1586
1587 #. type: Plain text
1588 #: build/C/man5/elf.5:183
1589 msgid ""
1590 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
1591 "0x7f)"
1592 msgstr ""
1593 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1594
1595 #. type: TP
1596 #: build/C/man5/elf.5:183
1597 #, no-wrap
1598 msgid "B<EI_MAG1>"
1599 msgstr "B<EI_MAG1>"
1600
1601 #. type: Plain text
1602 #: build/C/man5/elf.5:189
1603 msgid ""
1604 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
1605 "(1: \\(aqE\\(aq)"
1606 msgstr ""
1607 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1608 "\\(aqE\\(aq)"
1609
1610 #. type: TP
1611 #: build/C/man5/elf.5:189
1612 #, no-wrap
1613 msgid "B<EI_MAG2>"
1614 msgstr "B<EI_MAG2>"
1615
1616 #. type: Plain text
1617 #: build/C/man5/elf.5:195
1618 msgid ""
1619 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
1620 "\\(aqL\\(aq)"
1621 msgstr ""
1622 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1623 "\\(aqL\\(aq)"
1624
1625 #. type: TP
1626 #: build/C/man5/elf.5:195
1627 #, no-wrap
1628 msgid "B<EI_MAG3>"
1629 msgstr "B<EI_MAG3>"
1630
1631 #. type: Plain text
1632 #: build/C/man5/elf.5:201
1633 msgid ""
1634 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
1635 "(3: \\(aqF\\(aq)"
1636 msgstr ""
1637 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1638 "\\(aqF\\(aq)"
1639
1640 #. type: TP
1641 #: build/C/man5/elf.5:201
1642 #, no-wrap
1643 msgid "B<EI_CLASS>"
1644 msgstr "B<EI_CLASS>"
1645
1646 #. type: Plain text
1647 #: build/C/man5/elf.5:204
1648 msgid "The fifth byte identifies the architecture for this binary:"
1649 msgstr "第 5 バイトは、このバイナリのアーキテクチャを示す:"
1650
1651 #. type: TP
1652 #: build/C/man5/elf.5:206
1653 #, no-wrap
1654 msgid "B<ELFCLASSNONE>"
1655 msgstr "B<ELFCLASSNONE>"
1656
1657 #. type: Plain text
1658 #: build/C/man5/elf.5:210
1659 msgid "This class is invalid."
1660 msgstr "このクラスは不正である。"
1661
1662 #. type: TP
1663 #: build/C/man5/elf.5:210
1664 #, no-wrap
1665 msgid "B<ELFCLASS32>"
1666 msgstr "B<ELFCLASS32>"
1667
1668 #. type: Plain text
1669 #: build/C/man5/elf.5:215
1670 msgid ""
1671 "This defines the 32-bit architecture.  It supports machines with files and "
1672 "virtual address spaces up to 4 Gigabytes."
1673 msgstr ""
1674 "32 ビットアーキテクチャを定義する。 ファイルと仮想アドレス空間が 4 ギガバイト"
1675 "までのマシンをサポートする。"
1676
1677 #. type: TP
1678 #: build/C/man5/elf.5:215
1679 #, no-wrap
1680 msgid "B<ELFCLASS64>"
1681 msgstr "B<ELFCLASS64>"
1682
1683 #. type: Plain text
1684 #: build/C/man5/elf.5:218
1685 msgid "This defines the 64-bit architecture."
1686 msgstr "64 ビットアーキテクチャを定義する。"
1687
1688 #. type: TP
1689 #: build/C/man5/elf.5:221
1690 #, no-wrap
1691 msgid "B<EI_DATA>"
1692 msgstr "B<EI_DATA>"
1693
1694 #.  .Bl -tag -width "ELFDATA2LSB" -compact
1695 #. type: Plain text
1696 #: build/C/man5/elf.5:227
1697 msgid ""
1698 "The sixth byte specifies the data encoding of the processor-specific data in "
1699 "the file.  Currently these encodings are supported:"
1700 msgstr ""
1701 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1702 "する。 現在のところ以下のエンコーディングがサポートされている:"
1703
1704 #. type: TP
1705 #: build/C/man5/elf.5:228
1706 #, no-wrap
1707 msgid "B<ELFDATANONE>"
1708 msgstr "B<ELFDATANONE>"
1709
1710 #. type: Plain text
1711 #: build/C/man5/elf.5:232
1712 msgid "Unknown data format."
1713 msgstr "不明なデータフォーマット。"
1714
1715 #. type: TP
1716 #: build/C/man5/elf.5:232
1717 #, no-wrap
1718 msgid "B<ELFDATA2LSB>"
1719 msgstr "B<ELFDATA2LSB>"
1720
1721 #. type: Plain text
1722 #: build/C/man5/elf.5:235
1723 msgid "Two's complement, little-endian."
1724 msgstr "2 の補数、リトルエンディアン。"
1725
1726 #. type: TP
1727 #: build/C/man5/elf.5:235
1728 #, no-wrap
1729 msgid "B<ELFDATA2MSB>"
1730 msgstr "B<ELFDATA2MSB>"
1731
1732 #. type: Plain text
1733 #: build/C/man5/elf.5:238
1734 msgid "Two's complement, big-endian."
1735 msgstr "2 の補数、ビッグエンディアン。"
1736
1737 #. type: TP
1738 #: build/C/man5/elf.5:241
1739 #, no-wrap
1740 msgid "B<EI_VERSION>"
1741 msgstr "B<EI_VERSION>"
1742
1743 #.  .Bl -tag -width "EV_CURRENT" -compact
1744 #. type: Plain text
1745 #: build/C/man5/elf.5:246
1746 msgid "The seventh byte is the version number of the ELF specification:"
1747 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1748
1749 #. type: TP
1750 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1751 #, no-wrap
1752 msgid "B<EV_NONE>"
1753 msgstr "B<EV_NONE>"
1754
1755 #. type: Plain text
1756 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1757 msgid "Invalid version."
1758 msgstr "不正なバージョン。"
1759
1760 #. type: TP
1761 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1762 #, no-wrap
1763 msgid "B<EV_CURRENT>"
1764 msgstr "B<EV_CURRENT>"
1765
1766 #.  .El
1767 #. type: Plain text
1768 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1769 msgid "Current version."
1770 msgstr "現在のバージョン。"
1771
1772 #. type: TP
1773 #: build/C/man5/elf.5:256
1774 #, no-wrap
1775 msgid "B<EI_OSABI>"
1776 msgstr "B<EI_OSABI>"
1777
1778 #.  .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1779 #. type: Plain text
1780 #: build/C/man5/elf.5:265
1781 msgid ""
1782 "The eighth byte identifies the operating system and ABI to which the object "
1783 "is targeted.  Some fields in other ELF structures have flags and values that "
1784 "have platform-specific meanings; the interpretation of those fields is "
1785 "determined by the value of this byte.  For example:"
1786 msgstr ""
1787 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1788 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1789 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1790 "される。以下に例を挙げる。"
1791
1792 #. type: TP
1793 #: build/C/man5/elf.5:266
1794 #, no-wrap
1795 msgid "B<ELFOSABI_NONE>"
1796 msgstr "B<ELFOSABI_NONE>"
1797
1798 #.  0
1799 #. type: Plain text
1800 #: build/C/man5/elf.5:271
1801 msgid "Same as ELFOSABI_SYSV"
1802 msgstr "ELFOSABI_SYSV と同じ。"
1803
1804 #. type: TP
1805 #: build/C/man5/elf.5:271
1806 #, no-wrap
1807 msgid "B<ELFOSABI_SYSV>"
1808 msgstr "B<ELFOSABI_SYSV>"
1809
1810 #.  0
1811 #.  synonym: ELFOSABI_NONE
1812 #. type: Plain text
1813 #: build/C/man5/elf.5:276
1814 msgid "UNIX System V ABI."
1815 msgstr "UNIX System V ABI."
1816
1817 #. type: TP
1818 #: build/C/man5/elf.5:276
1819 #, no-wrap
1820 msgid "B<ELFOSABI_HPUX>"
1821 msgstr "B<ELFOSABI_HPUX>"
1822
1823 #.  1
1824 #. type: Plain text
1825 #: build/C/man5/elf.5:280
1826 msgid "HP-UX ABI."
1827 msgstr "HP-UX ABI."
1828
1829 #. type: TP
1830 #: build/C/man5/elf.5:280
1831 #, no-wrap
1832 msgid "B<ELFOSABI_NETBSD>"
1833 msgstr "B<ELFOSABI_NETBSD>"
1834
1835 #.  2
1836 #. type: Plain text
1837 #: build/C/man5/elf.5:284
1838 msgid "NetBSD ABI."
1839 msgstr "NetBSD ABI."
1840
1841 #. type: TP
1842 #: build/C/man5/elf.5:284
1843 #, no-wrap
1844 msgid "B<ELFOSABI_LINUX>"
1845 msgstr "B<ELFOSABI_LINUX>"
1846
1847 #.  3
1848 #.  .TP
1849 #.  .BR ELFOSABI_HURD
1850 #.  Hurd ABI.
1851 #.  4
1852 #.  .TP
1853 #.  .BR ELFOSABI_86OPEN
1854 #.  86Open Common IA32 ABI.
1855 #.  5
1856 #. type: Plain text
1857 #: build/C/man5/elf.5:296
1858 msgid "Linux ABI."
1859 msgstr "Linux ABI."
1860
1861 #. type: TP
1862 #: build/C/man5/elf.5:296
1863 #, no-wrap
1864 msgid "B<ELFOSABI_SOLARIS>"
1865 msgstr "B<ELFOSABI_SOLARIS>"
1866
1867 #.  6
1868 #.  .TP
1869 #.  .BR ELFOSABI_MONTEREY
1870 #.  Monterey project ABI.
1871 #.  Now replaced by
1872 #.  ELFOSABI_AIX
1873 #.  7
1874 #. type: Plain text
1875 #: build/C/man5/elf.5:306
1876 msgid "Solaris ABI."
1877 msgstr "Solaris ABI."
1878
1879 #. type: TP
1880 #: build/C/man5/elf.5:306
1881 #, no-wrap
1882 msgid "B<ELFOSABI_IRIX>"
1883 msgstr "B<ELFOSABI_IRIX>"
1884
1885 #.  8
1886 #. type: Plain text
1887 #: build/C/man5/elf.5:310
1888 msgid "IRIX ABI."
1889 msgstr "IRIX ABI."
1890
1891 #. type: TP
1892 #: build/C/man5/elf.5:310
1893 #, no-wrap
1894 msgid "B<ELFOSABI_FREEBSD>"
1895 msgstr "B<ELFOSABI_FREEBSD>"
1896
1897 #.  9
1898 #. type: Plain text
1899 #: build/C/man5/elf.5:314
1900 msgid "FreeBSD ABI."
1901 msgstr "FreeBSD ABI."
1902
1903 #. type: TP
1904 #: build/C/man5/elf.5:314
1905 #, no-wrap
1906 msgid "B<ELFOSABI_TRU64>"
1907 msgstr "B<ELFOSABI_TRU64>"
1908
1909 #.  10
1910 #.  ELFOSABI_MODESTO
1911 #.  11
1912 #.  ELFOSABI_OPENBSD
1913 #.  12
1914 #. type: Plain text
1915 #: build/C/man5/elf.5:322
1916 msgid "TRU64 UNIX ABI."
1917 msgstr "TRU64 UNIX ABI."
1918
1919 #. type: TP
1920 #: build/C/man5/elf.5:322
1921 #, no-wrap
1922 msgid "B<ELFOSABI_ARM>"
1923 msgstr "B<ELFOSABI_ARM>"
1924
1925 #.  97
1926 #. type: Plain text
1927 #: build/C/man5/elf.5:326
1928 msgid "ARM architecture ABI."
1929 msgstr "ARM アーキテクチャ ABI."
1930
1931 #. type: TP
1932 #: build/C/man5/elf.5:326
1933 #, no-wrap
1934 msgid "B<ELFOSABI_STANDALONE>"
1935 msgstr "B<ELFOSABI_STANDALONE>"
1936
1937 #.  255
1938 #.  .El
1939 #. type: Plain text
1940 #: build/C/man5/elf.5:331
1941 msgid "Stand-alone (embedded) ABI."
1942 msgstr "スタンドアロン (組み込み) ABI."
1943
1944 #. type: TP
1945 #: build/C/man5/elf.5:333
1946 #, no-wrap
1947 msgid "B<EI_ABIVERSION>"
1948 msgstr "B<EI_ABIVERSION>"
1949
1950 #. type: Plain text
1951 #: build/C/man5/elf.5:343
1952 msgid ""
1953 "The ninth byte identifies the version of the ABI to which the object is "
1954 "targeted.  This field is used to distinguish among incompatible versions of "
1955 "an ABI.  The interpretation of this version number is dependent on the ABI "
1956 "identified by the B<EI_OSABI> field.  Applications conforming to this "
1957 "specification use the value 0."
1958 msgstr ""
1959 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1960 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1961 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1962 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1963
1964 #. type: TP
1965 #: build/C/man5/elf.5:343
1966 #, no-wrap
1967 msgid "B<EI_PAD>"
1968 msgstr "B<EI_PAD>"
1969
1970 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1971 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1972 #.  It looks to be a BSDism
1973 #.  .TP
1974 #.  .BR EI_BRAND
1975 #.  Start of architecture identification.
1976 #. type: Plain text
1977 #: build/C/man5/elf.5:359
1978 msgid ""
1979 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
1980 "read them should ignore them.  The value for B<EI_PAD> will change in the "
1981 "future if currently unused bytes are given meanings."
1982 msgstr ""
1983 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1984 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1985 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1986
1987 #. type: TP
1988 #: build/C/man5/elf.5:359
1989 #, no-wrap
1990 msgid "B<EI_NIDENT>"
1991 msgstr "B<EI_NIDENT>"
1992
1993 #.  .El
1994 #. type: Plain text
1995 #: build/C/man5/elf.5:365
1996 msgid "The size of the I<e_ident> array."
1997 msgstr "I<e_ident> 配列のサイズ。"
1998
1999 #. type: TP
2000 #: build/C/man5/elf.5:366
2001 #, no-wrap
2002 msgid "I<e_type>"
2003 msgstr "I<e_type>"
2004
2005 #. type: Plain text
2006 #: build/C/man5/elf.5:369
2007 msgid "This member of the structure identifies the object file type:"
2008 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
2009
2010 #. type: TP
2011 #: build/C/man5/elf.5:371
2012 #, no-wrap
2013 msgid "B<ET_NONE>"
2014 msgstr "B<ET_NONE>"
2015
2016 #. type: Plain text
2017 #: build/C/man5/elf.5:375
2018 msgid "An unknown type."
2019 msgstr "不明なタイプ。"
2020
2021 #. type: TP
2022 #: build/C/man5/elf.5:375
2023 #, no-wrap
2024 msgid "B<ET_REL>"
2025 msgstr "B<ET_REL>"
2026
2027 #. type: Plain text
2028 #: build/C/man5/elf.5:378
2029 msgid "A relocatable file."
2030 msgstr "再配置可能ファイル。"
2031
2032 #. type: TP
2033 #: build/C/man5/elf.5:378
2034 #, no-wrap
2035 msgid "B<ET_EXEC>"
2036 msgstr "B<ET_EXEC>"
2037
2038 #. type: Plain text
2039 #: build/C/man5/elf.5:381
2040 msgid "An executable file."
2041 msgstr "実行可能ファイル。"
2042
2043 #. type: TP
2044 #: build/C/man5/elf.5:381
2045 #, no-wrap
2046 msgid "B<ET_DYN>"
2047 msgstr "B<ET_DYN>"
2048
2049 #. type: Plain text
2050 #: build/C/man5/elf.5:384
2051 msgid "A shared object."
2052 msgstr "共有オブジェクト。"
2053
2054 #. type: TP
2055 #: build/C/man5/elf.5:384
2056 #, no-wrap
2057 msgid "B<ET_CORE>"
2058 msgstr "B<ET_CORE>"
2059
2060 #. type: Plain text
2061 #: build/C/man5/elf.5:387
2062 msgid "A core file."
2063 msgstr "コアファイル。"
2064
2065 #. type: TP
2066 #: build/C/man5/elf.5:390
2067 #, no-wrap
2068 msgid "I<e_machine>"
2069 msgstr "I<e_machine>"
2070
2071 #. type: Plain text
2072 #: build/C/man5/elf.5:394
2073 msgid ""
2074 "This member specifies the required architecture for an individual file.  For "
2075 "example:"
2076 msgstr "このメンバは個々のファイルに必要とされるアーキテクチャを指定する。 例:"
2077
2078 #. type: TP
2079 #: build/C/man5/elf.5:396
2080 #, no-wrap
2081 msgid "B<EM_NONE>"
2082 msgstr "B<EM_NONE>"
2083
2084 #.  0
2085 #. type: Plain text
2086 #: build/C/man5/elf.5:401
2087 msgid "An unknown machine."
2088 msgstr "不明なマシン。"
2089
2090 #. type: TP
2091 #: build/C/man5/elf.5:401
2092 #, no-wrap
2093 msgid "B<EM_M32>"
2094 msgstr "B<EM_M32>"
2095
2096 #.  1
2097 #. type: Plain text
2098 #: build/C/man5/elf.5:405
2099 msgid "AT&T WE 32100."
2100 msgstr "AT&T WE 32100."
2101
2102 #. type: TP
2103 #: build/C/man5/elf.5:405
2104 #, no-wrap
2105 msgid "B<EM_SPARC>"
2106 msgstr "B<EM_SPARC>"
2107
2108 #.  2
2109 #. type: Plain text
2110 #: build/C/man5/elf.5:409
2111 msgid "Sun Microsystems SPARC."
2112 msgstr "Sun Microsystems SPARC."
2113
2114 #. type: TP
2115 #: build/C/man5/elf.5:409
2116 #, no-wrap
2117 msgid "B<EM_386>"
2118 msgstr "B<EM_386>"
2119
2120 #.  3
2121 #. type: Plain text
2122 #: build/C/man5/elf.5:413
2123 msgid "Intel 80386."
2124 msgstr "Intel 80386."
2125
2126 #. type: TP
2127 #: build/C/man5/elf.5:413
2128 #, no-wrap
2129 msgid "B<EM_68K>"
2130 msgstr "B<EM_68K>"
2131
2132 #.  4
2133 #. type: Plain text
2134 #: build/C/man5/elf.5:417
2135 msgid "Motorola 68000."
2136 msgstr "Motorola 68000."
2137
2138 #. type: TP
2139 #: build/C/man5/elf.5:417
2140 #, no-wrap
2141 msgid "B<EM_88K>"
2142 msgstr "B<EM_88K>"
2143
2144 #.  5
2145 #.  .TP
2146 #.  .BR EM_486
2147 #.  Intel 80486.
2148 #.  6
2149 #. type: Plain text
2150 #: build/C/man5/elf.5:425
2151 msgid "Motorola 88000."
2152 msgstr "Motorola 88000."
2153
2154 #. type: TP
2155 #: build/C/man5/elf.5:425
2156 #, no-wrap
2157 msgid "B<EM_860>"
2158 msgstr "B<EM_860>"
2159
2160 #.  7
2161 #. type: Plain text
2162 #: build/C/man5/elf.5:429
2163 msgid "Intel 80860."
2164 msgstr "Intel 80860."
2165
2166 #. type: TP
2167 #: build/C/man5/elf.5:429
2168 #, no-wrap
2169 msgid "B<EM_MIPS>"
2170 msgstr "B<EM_MIPS>"
2171
2172 #.  8
2173 #.  EM_S370
2174 #.  9
2175 #.  .TP
2176 #.  .BR EM_MIPS_RS4_BE
2177 #.  MIPS RS4000 (big-endian only). Deprecated.
2178 #.  10
2179 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2180 #.  10
2181 #. type: Plain text
2182 #: build/C/man5/elf.5:441
2183 msgid "MIPS RS3000 (big-endian only)."
2184 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2185
2186 #. type: TP
2187 #: build/C/man5/elf.5:441
2188 #, no-wrap
2189 msgid "B<EM_PARISC>"
2190 msgstr "B<EM_PARISC>"
2191
2192 #.  15
2193 #. type: Plain text
2194 #: build/C/man5/elf.5:445
2195 msgid "HP/PA."
2196 msgstr "HP/PA."
2197
2198 #. type: TP
2199 #: build/C/man5/elf.5:445
2200 #, no-wrap
2201 msgid "B<EM_SPARC32PLUS>"
2202 msgstr "B<EM_SPARC32PLUS>"
2203
2204 #.  18
2205 #. type: Plain text
2206 #: build/C/man5/elf.5:449
2207 msgid "SPARC with enhanced instruction set."
2208 msgstr "拡張命令セット付き SPARC。"
2209
2210 #. type: TP
2211 #: build/C/man5/elf.5:449
2212 #, no-wrap
2213 msgid "B<EM_PPC>"
2214 msgstr "B<EM_PPC>"
2215
2216 #.  20
2217 #. type: Plain text
2218 #: build/C/man5/elf.5:453
2219 msgid "PowerPC."
2220 msgstr "PowerPC."
2221
2222 #. type: TP
2223 #: build/C/man5/elf.5:453
2224 #, no-wrap
2225 msgid "B<EM_PPC64>"
2226 msgstr "B<EM_PPC64>"
2227
2228 #.  21
2229 #. type: Plain text
2230 #: build/C/man5/elf.5:457
2231 msgid "PowerPC 64-bit."
2232 msgstr "PowerPC 64-bit."
2233
2234 #. type: TP
2235 #: build/C/man5/elf.5:457
2236 #, no-wrap
2237 msgid "B<EM_S390>"
2238 msgstr "B<EM_S390>"
2239
2240 #.  22
2241 #. type: Plain text
2242 #: build/C/man5/elf.5:461
2243 msgid "IBM S/390"
2244 msgstr "IBM S/390"
2245
2246 #. type: TP
2247 #: build/C/man5/elf.5:461
2248 #, no-wrap
2249 msgid "B<EM_ARM>"
2250 msgstr "B<EM_ARM>"
2251
2252 #.  40
2253 #. type: Plain text
2254 #: build/C/man5/elf.5:465
2255 msgid "Advanced RISC Machines"
2256 msgstr "Advanced RISC Machines"
2257
2258 #. type: TP
2259 #: build/C/man5/elf.5:465
2260 #, no-wrap
2261 msgid "B<EM_SH>"
2262 msgstr "B<EM_SH>"
2263
2264 #.  42
2265 #. type: Plain text
2266 #: build/C/man5/elf.5:469
2267 msgid "Renesas SuperH"
2268 msgstr "Renesas SuperH"
2269
2270 #. type: TP
2271 #: build/C/man5/elf.5:469
2272 #, no-wrap
2273 msgid "B<EM_SPARCV9>"
2274 msgstr "B<EM_SPARCV9>"
2275
2276 #.  43
2277 #. type: Plain text
2278 #: build/C/man5/elf.5:473
2279 msgid "SPARC v9 64-bit."
2280 msgstr "SPARC v9 64-bit."
2281
2282 #. type: TP
2283 #: build/C/man5/elf.5:473
2284 #, no-wrap
2285 msgid "B<EM_IA_64>"
2286 msgstr "B<EM_IA_64>"
2287
2288 #.  50
2289 #. type: Plain text
2290 #: build/C/man5/elf.5:477
2291 msgid "Intel Itanium"
2292 msgstr "Intel Itanium"
2293
2294 #. type: TP
2295 #: build/C/man5/elf.5:477
2296 #, no-wrap
2297 msgid "B<EM_X86_64>"
2298 msgstr "B<EM_X86_64>"
2299
2300 #.  62
2301 #. type: Plain text
2302 #: build/C/man5/elf.5:481
2303 msgid "AMD x86-64"
2304 msgstr "AMD x86-64"
2305
2306 #. type: TP
2307 #: build/C/man5/elf.5:481
2308 #, no-wrap
2309 msgid "B<EM_VAX>"
2310 msgstr "B<EM_VAX>"
2311
2312 #.  75
2313 #.  EM_CRIS
2314 #.  76
2315 #.  .TP
2316 #.  .BR EM_ALPHA
2317 #.  Compaq [DEC] Alpha.
2318 #.  .TP
2319 #.  .BR EM_ALPHA_EXP
2320 #.  Compaq [DEC] Alpha with enhanced instruction set.
2321 #. type: Plain text
2322 #: build/C/man5/elf.5:493
2323 msgid "DEC Vax."
2324 msgstr "DEC Vax."
2325
2326 #. type: TP
2327 #: build/C/man5/elf.5:496
2328 #, no-wrap
2329 msgid "I<e_version>"
2330 msgstr "I<e_version>"
2331
2332 #.  .Bl -tag -width "EV_CURRENT" -compact
2333 #. type: Plain text
2334 #: build/C/man5/elf.5:500
2335 msgid "This member identifies the file version:"
2336 msgstr "このメンバはファイルバージョンを示す:"
2337
2338 #. type: TP
2339 #: build/C/man5/elf.5:511
2340 #, no-wrap
2341 msgid "I<e_entry>"
2342 msgstr "I<e_entry>"
2343
2344 #. type: Plain text
2345 #: build/C/man5/elf.5:517
2346 msgid ""
2347 "This member gives the virtual address to which the system first transfers "
2348 "control, thus starting the process.  If the file has no associated entry "
2349 "point, this member holds zero."
2350 msgstr ""
2351 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2352 "スを指定する。 ファイルにエントリポイントが関連付けられていない場合、 このメ"
2353 "ンバには 0 が入る。"
2354
2355 #. type: TP
2356 #: build/C/man5/elf.5:517
2357 #, no-wrap
2358 msgid "I<e_phoff>"
2359 msgstr "I<e_phoff>"
2360
2361 #. type: Plain text
2362 #: build/C/man5/elf.5:522
2363 msgid ""
2364 "This member holds the program header table's file offset in bytes.  If the "
2365 "file has no program header table, this member holds zero."
2366 msgstr ""
2367 "このメンバはプログラムヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2368 "する。 ファイルにプログラムヘッダテーブルがない場合、 このメンバには 0 が入"
2369 "る。"
2370
2371 #. type: TP
2372 #: build/C/man5/elf.5:522
2373 #, no-wrap
2374 msgid "I<e_shoff>"
2375 msgstr "I<e_shoff>"
2376
2377 #. type: Plain text
2378 #: build/C/man5/elf.5:527
2379 msgid ""
2380 "This member holds the section header table's file offset in bytes.  If the "
2381 "file has no section header table, this member holds zero."
2382 msgstr ""
2383 "このメンバはセクションヘッダテーブルの ファイルオフセット (バイト単位) を保持"
2384 "する。 ファイルにセクションヘッダテーブルがない場合、 このメンバには 0 が入"
2385 "る。"
2386
2387 #. type: TP
2388 #: build/C/man5/elf.5:527
2389 #, no-wrap
2390 msgid "I<e_flags>"
2391 msgstr "I<e_flags>"
2392
2393 #. type: Plain text
2394 #: build/C/man5/elf.5:532
2395 msgid ""
2396 "This member holds processor-specific flags associated with the file.  Flag "
2397 "names take the form EF_`machine_flag'.  Currently no flags have been defined."
2398 msgstr ""
2399 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2400 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2401 "いない。"
2402
2403 #. type: TP
2404 #: build/C/man5/elf.5:532
2405 #, no-wrap
2406 msgid "I<e_ehsize>"
2407 msgstr "I<e_ehsize>"
2408
2409 #. type: Plain text
2410 #: build/C/man5/elf.5:535
2411 msgid "This member holds the ELF header's size in bytes."
2412 msgstr "このメンバは ELF ヘッダサイズ (バイト単位) を保持する。"
2413
2414 #. type: TP
2415 #: build/C/man5/elf.5:535
2416 #, no-wrap
2417 msgid "I<e_phentsize>"
2418 msgstr "I<e_phentsize>"
2419
2420 #. type: Plain text
2421 #: build/C/man5/elf.5:539
2422 msgid ""
2423 "This member holds the size in bytes of one entry in the file's program "
2424 "header table; all entries are the same size."
2425 msgstr ""
2426 "このメンバはこのファイルのプログラムヘッダテーブルの 1 エントリあたりのサイ"
2427 "ズ (バイト単位) を保持する; 全てのエントリは同じサイズである。"
2428
2429 #. type: TP
2430 #: build/C/man5/elf.5:539
2431 #, no-wrap
2432 msgid "I<e_phnum>"
2433 msgstr "I<e_phnum>"
2434
2435 #. type: Plain text
2436 #: build/C/man5/elf.5:552
2437 msgid ""
2438 "This member holds the number of entries in the program header table.  Thus "
2439 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2440 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
2441 msgstr ""
2442 "このメンバはプログラムヘッダテーブルにあるエントリの数を保持する。 よって "
2443 "I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 ファ"
2444 "イルにプログラムヘッダがない場合、 I<e_phnum> は値 0 を保持する。"
2445
2446 #.  This is a Linux extension, added in Linux 2.6.34.
2447 #.  .Bl -tag -width "PN_XNUM"
2448 #. type: Plain text
2449 #: build/C/man5/elf.5:566
2450 msgid ""
2451 "If the number of entries in the program header table is larger than or equal "
2452 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2453 "number of entries in the program header table is held in the I<sh_info> "
2454 "member of the initial entry in section header table.  Otherwise, the "
2455 "I<sh_info> member of the initial entry contains the value zero."
2456 msgstr ""
2457 "プログラムヘッダテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2458 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダテーブルの\n"
2459 "エントリーの実際の数は、セクションヘッダテーブルの最初のエントリーの \n"
2460 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2461 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2462
2463 #. type: TP
2464 #: build/C/man5/elf.5:567
2465 #, no-wrap
2466 msgid "B<PN_XNUM>"
2467 msgstr "B<PN_XNUM>"
2468
2469 #. type: Plain text
2470 #: build/C/man5/elf.5:572
2471 msgid ""
2472 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2473 "specifying where the actual number of program headers is assigned."
2474 msgstr ""
2475 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2476 "はプログラムヘッダの実際の数がどこに割り当てられているかを示す。"
2477
2478 #. type: TP
2479 #: build/C/man5/elf.5:576
2480 #, no-wrap
2481 msgid "I<e_shentsize>"
2482 msgstr "I<e_shentsize>"
2483
2484 #. type: Plain text
2485 #: build/C/man5/elf.5:581
2486 msgid ""
2487 "This member holds a sections header's size in bytes.  A section header is "
2488 "one entry in the section header table; all entries are the same size."
2489 msgstr ""
2490 "このメンバはセクションヘッダのサイズ (バイト単位) を保持する。 セクションヘッ"
2491 "ダはセクションヘッダテーブルの 1 つのエントリである; 全てのエントリは同じサイ"
2492 "ズである。"
2493
2494 #. type: TP
2495 #: build/C/man5/elf.5:581
2496 #, no-wrap
2497 msgid "I<e_shnum>"
2498 msgstr "I<e_shnum>"
2499
2500 #. type: Plain text
2501 #: build/C/man5/elf.5:594
2502 msgid ""
2503 "This member holds the number of entries in the section header table.  Thus "
2504 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2505 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
2506 "holds the value of zero."
2507 msgstr ""
2508 "このメンバはセクションヘッダテーブルにあるエントリの数を保持する。 よって "
2509 "I<e_shentsize> と I<e_shnum> の積はセクションヘッダテーブルのサイズ (バイト単"
2510 "位) になる。 ファイルにセクションヘッダテーブルがない場合、 I<e_shnum> は値 "
2511 "0 を保持する。"
2512
2513 #. type: Plain text
2514 #: build/C/man5/elf.5:606
2515 msgid ""
2516 "If the number of entries in the section header table is larger than or equal "
2517 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2518 "number of entries in the section header table is held in the I<sh_size> "
2519 "member of the initial entry in section header table.  Otherwise, the "
2520 "I<sh_size> member of the initial entry in the section header table holds the "
2521 "value zero."
2522 msgstr ""
2523 "セクションヘッダテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2524 "合、\n"
2525 "I<e_shnum> には値 0 が入り、セクションヘッダテーブルのエントリーの実際の数"
2526 "は\n"
2527 "セクションヘッダテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2528 "る。\n"
2529 "それ以外の場合、セクションヘッダテーブルの最初のエントリーの I<sh_info> メン"
2530 "バ\n"
2531 "には値 0 が格納される。"
2532
2533 #. type: TP
2534 #: build/C/man5/elf.5:606
2535 #, no-wrap
2536 msgid "I<e_shstrndx>"
2537 msgstr "I<e_shstrndx>"
2538
2539 #. type: Plain text
2540 #: build/C/man5/elf.5:613
2541 msgid ""
2542 "This member holds the section header table index of the entry associated "
2543 "with the section name string table.  If the file has no section name string "
2544 "table, this member holds the value B<SHN_UNDEF>."
2545 msgstr ""
2546 "このメンバはセクション名文字列テーブルに関連付けられたエントリの セクション"
2547 "ヘッダテーブルインデックスを保持する。 ファイルにセクション名文字列テーブルが"
2548 "ない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2549
2550 #. type: Plain text
2551 #: build/C/man5/elf.5:625
2552 msgid ""
2553 "If the index of section name string table section is larger than or equal to "
2554 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2555 "real index of the section name string table section is held in the "
2556 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
2557 "the I<sh_link> member of the initial entry in section header table contains "
2558 "the value zero."
2559 msgstr ""
2560 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2561 "の\n"
2562 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2563 "テーブルの実際のインデックスはセクションヘッダテーブルの最初のエントリーの\n"
2564 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダテーブルの\n"
2565 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2566
2567 #. type: TP
2568 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2569 #, no-wrap
2570 msgid "B<SHN_UNDEF>"
2571 msgstr "B<SHN_UNDEF>"
2572
2573 #. type: Plain text
2574 #: build/C/man5/elf.5:636
2575 msgid ""
2576 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2577 "section reference.  For example, a symbol \"defined\" relative to section "
2578 "number B<SHN_UNDEF> is an undefined symbol."
2579 msgstr ""
2580 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2581 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2582 "ボルは、「未定義」なシンボルである。"
2583
2584 #. type: TP
2585 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2586 #, no-wrap
2587 msgid "B<SHN_LORESERVE>"
2588 msgstr "B<SHN_LORESERVE>"
2589
2590 #. type: Plain text
2591 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2592 msgid "This value specifies the lower bound of the range of reserved indices."
2593 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2594
2595 #. type: TP
2596 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2597 #, no-wrap
2598 msgid "B<SHN_LOPROC>"
2599 msgstr "B<SHN_LOPROC>"
2600
2601 #. type: Plain text
2602 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2603 msgid ""
2604 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2605 "specific semantics."
2606 msgstr ""
2607 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2608
2609 #. type: TP
2610 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2611 #, no-wrap
2612 msgid "B<SHN_HIPROC>"
2613 msgstr "B<SHN_HIPROC>"
2614
2615 #. type: Plain text
2616 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2617 msgid ""
2618 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2619 "specific semantics."
2620 msgstr ""
2621 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2622
2623 #. type: TP
2624 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2625 #, no-wrap
2626 msgid "B<SHN_ABS>"
2627 msgstr "B<SHN_ABS>"
2628
2629 #. type: Plain text
2630 #: build/C/man5/elf.5:656
2631 msgid ""
2632 "This value specifies absolute values for the corresponding reference.  For "
2633 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2634 "values and are not affected by relocation."
2635 msgstr ""
2636 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2637 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2638
2639 #. type: TP
2640 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2641 #, no-wrap
2642 msgid "B<SHN_COMMON>"
2643 msgstr "B<SHN_COMMON>"
2644
2645 #. type: Plain text
2646 #: build/C/man5/elf.5:660
2647 msgid ""
2648 "Symbols defined relative to this section are common symbols, such as Fortran "
2649 "COMMON or unallocated C external variables."
2650 msgstr ""
2651 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2652 "り当て external 変数のような、 共通シンボルである。"
2653
2654 #. type: TP
2655 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2656 #, no-wrap
2657 msgid "B<SHN_HIRESERVE>"
2658 msgstr "B<SHN_HIRESERVE>"
2659
2660 #. type: Plain text
2661 #: build/C/man5/elf.5:673
2662 msgid ""
2663 "This value specifies the upper bound of the range of reserved indices "
2664 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2665 "reference the section header table.  That is, the section header table does "
2666 "I<not> contain entries for the reserved indices."
2667 msgstr ""
2668 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2669 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダテーブルを参照しない。 "
2670 "つまり、セクションヘッダテーブルは 予約されたインデックスのエントリを I<含ま"
2671 "ない 。>"
2672
2673 #. type: Plain text
2674 #: build/C/man5/elf.5:695
2675 msgid ""
2676 "An executable or shared object file's program header table is an array of "
2677 "structures, each describing a segment or other information the system needs "
2678 "to prepare the program for execution.  An object file I<segment> contains "
2679 "one or more I<sections>.  Program headers are meaningful only for executable "
2680 "and shared object files.  A file specifies its own program header size with "
2681 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
2682 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2683 "the architecture:"
2684 msgstr ""
2685 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダテーブルは、 "
2686 "システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する構造体"
2687 "の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<セク"
2688 "ション> が含まれる。 プログラムヘッダは実行可能ファイルと共有オブジェクトファ"
2689 "イルでのみ意味を持つ。 ファイルは自身のプログラムヘッダサイズを ELF ヘッダの "
2690 "I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラムヘッダは "
2691 "I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらになるかはアーキテ"
2692 "クチャ依存):"
2693
2694 #. type: Plain text
2695 #: build/C/man5/elf.5:708
2696 #, no-wrap
2697 msgid ""
2698 "typedef struct {\n"
2699 "    uint32_t   p_type;\n"
2700 "    Elf32_Off  p_offset;\n"
2701 "    Elf32_Addr p_vaddr;\n"
2702 "    Elf32_Addr p_paddr;\n"
2703 "    uint32_t   p_filesz;\n"
2704 "    uint32_t   p_memsz;\n"
2705 "    uint32_t   p_flags;\n"
2706 "    uint32_t   p_align;\n"
2707 "} Elf32_Phdr;\n"
2708 msgstr ""
2709 "typedef struct {\n"
2710 "    uint32_t   p_type;\n"
2711 "    Elf32_Off  p_offset;\n"
2712 "    Elf32_Addr p_vaddr;\n"
2713 "    Elf32_Addr p_paddr;\n"
2714 "    uint32_t   p_filesz;\n"
2715 "    uint32_t   p_memsz;\n"
2716 "    uint32_t   p_flags;\n"
2717 "    uint32_t   p_align;\n"
2718 "} Elf32_Phdr;\n"
2719
2720 #. type: Plain text
2721 #: build/C/man5/elf.5:723
2722 #, no-wrap
2723 msgid ""
2724 "typedef struct {\n"
2725 "    uint32_t   p_type;\n"
2726 "    uint32_t   p_flags;\n"
2727 "    Elf64_Off  p_offset;\n"
2728 "    Elf64_Addr p_vaddr;\n"
2729 "    Elf64_Addr p_paddr;\n"
2730 "    uint64_t   p_filesz;\n"
2731 "    uint64_t   p_memsz;\n"
2732 "    uint64_t   p_align;\n"
2733 "} Elf64_Phdr;\n"
2734 msgstr ""
2735 "typedef struct {\n"
2736 "    uint32_t   p_type;\n"
2737 "    uint32_t   p_flags;\n"
2738 "    Elf64_Off  p_offset;\n"
2739 "    Elf64_Addr p_vaddr;\n"
2740 "    Elf64_Addr p_paddr;\n"
2741 "    uint64_t   p_filesz;\n"
2742 "    uint64_t   p_memsz;\n"
2743 "    uint64_t   p_align;\n"
2744 "} Elf64_Phdr;\n"
2745
2746 #.  .Bl -tag -width "p_offset"
2747 #. type: Plain text
2748 #: build/C/man5/elf.5:731
2749 msgid ""
2750 "The main difference between the 32-bit and the 64-bit program header lies in "
2751 "the location of the I<p_flags> member in the total struct."
2752 msgstr ""
2753 "32 ビットと 64 ビットのプログラムヘッダの主な違いは、構造体における "
2754 "I<p_flags> メンバの位置にある。"
2755
2756 #. type: TP
2757 #: build/C/man5/elf.5:731
2758 #, no-wrap
2759 msgid "I<p_type>"
2760 msgstr "I<p_type>"
2761
2762 #.  .Bl -tag -width "PT_DYNAMIC"
2763 #. type: Plain text
2764 #: build/C/man5/elf.5:736
2765 msgid ""
2766 "This member of the Phdr struct tells what kind of segment this array element "
2767 "describes or how to interpret the array element's information."
2768 msgstr ""
2769 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2770 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2771
2772 #. type: TP
2773 #: build/C/man5/elf.5:737
2774 #, no-wrap
2775 msgid "B<PT_NULL>"
2776 msgstr "B<PT_NULL>"
2777
2778 #. type: Plain text
2779 #: build/C/man5/elf.5:741
2780 msgid ""
2781 "The array element is unused and the other members' values are undefined.  "
2782 "This lets the program header have ignored entries."
2783 msgstr ""
2784 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2785 "り、このプログラムヘッダのエントリは無視される。"
2786
2787 #. type: TP
2788 #: build/C/man5/elf.5:741
2789 #, no-wrap
2790 msgid "B<PT_LOAD>"
2791 msgstr "B<PT_LOAD>"
2792
2793 #. type: Plain text
2794 #: build/C/man5/elf.5:762
2795 msgid ""
2796 "The array element specifies a loadable segment, described by I<p_filesz> and "
2797 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
2798 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
2799 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2800 "and to follow the segment's initialized area.  The file size may not be "
2801 "larger than the memory size.  Loadable segment entries in the program header "
2802 "table appear in ascending order, sorted on the I<p_vaddr> member."
2803 msgstr ""
2804 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2805 "定する。 このファイルからのバイトデータが、このメモリセグメントの先頭からマッ"
2806 "プされる。 セグメントのメモリサイズ I<Sy>p_memsz がファイルサイズ "
2807 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2808 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリサイズよ"
2809 "り大きくてはいけない。 プログラムヘッダテーブルのロード可能セグメントエントリ"
2810 "は、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2811
2812 #. type: TP
2813 #: build/C/man5/elf.5:762
2814 #, no-wrap
2815 msgid "B<PT_DYNAMIC>"
2816 msgstr "B<PT_DYNAMIC>"
2817
2818 #. type: Plain text
2819 #: build/C/man5/elf.5:765
2820 msgid "The array element specifies dynamic linking information."
2821 msgstr "この配列要素は動的リンク情報を指定する。"
2822
2823 #. type: TP
2824 #: build/C/man5/elf.5:765
2825 #, no-wrap
2826 msgid "B<PT_INTERP>"
2827 msgstr "B<PT_INTERP>"
2828
2829 #. type: Plain text
2830 #: build/C/man5/elf.5:773
2831 msgid ""
2832 "The array element specifies the location and size of a null-terminated "
2833 "pathname to invoke as an interpreter.  This segment type is meaningful only "
2834 "for executable files (though it may occur for shared objects).  However it "
2835 "may not occur more than once in a file.  If it is present, it must precede "
2836 "any loadable segment entry."
2837 msgstr ""
2838 "この配列要素は、インタプリタとして起動されるパス名 (ヌル文字終端)  の位置とサ"
2839 "イズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2840 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2841 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2842 "のロード可能セグメントエントリより前になければならない。"
2843
2844 #. type: TP
2845 #: build/C/man5/elf.5:773
2846 #, no-wrap
2847 msgid "B<PT_NOTE>"
2848 msgstr "B<PT_NOTE>"
2849
2850 #. type: Plain text
2851 #: build/C/man5/elf.5:776
2852 msgid ""
2853 "The array element specifies the location and size for auxiliary information."
2854 msgstr ""
2855 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2856
2857 #. type: TP
2858 #: build/C/man5/elf.5:776
2859 #, no-wrap
2860 msgid "B<PT_SHLIB>"
2861 msgstr "B<PT_SHLIB>"
2862
2863 #. type: Plain text
2864 #: build/C/man5/elf.5:781
2865 msgid ""
2866 "This segment type is reserved but has unspecified semantics.  Programs that "
2867 "contain an array element of this type do not conform to the ABI."
2868 msgstr ""
2869 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2870 "を保持するプログラムは ABI に準拠しない。"
2871
2872 #. type: TP
2873 #: build/C/man5/elf.5:781
2874 #, no-wrap
2875 msgid "B<PT_PHDR>"
2876 msgstr "B<PT_PHDR>"
2877
2878 #. type: Plain text
2879 #: build/C/man5/elf.5:790
2880 msgid ""
2881 "The array element, if present, specifies the location and size of the "
2882 "program header table itself, both in the file and in the memory image of the "
2883 "program.  This segment type may not occur more than once in a file.  "
2884 "Moreover, it may occur only if the program header table is part of the "
2885 "memory image of the program.  If it is present, it must precede any loadable "
2886 "segment entry."
2887 msgstr ""
2888 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリイ"
2889 "メージ双方における プログラムヘッダテーブル自身の位置とサイズを指定する。 こ"
2890 "のセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、このセ"
2891 "グメント型が存在してもよいのは、プログラムヘッダテーブルが プログラムのメモリ"
2892 "イメージの一部である場合のみである。 もし存在する場合、これは全てのロード可能"
2893 "セグメントエントリより 前になければならない。"
2894
2895 #. type: TP
2896 #: build/C/man5/elf.5:790
2897 #, no-wrap
2898 msgid "B<PT_LOPROC>"
2899 msgstr "B<PT_LOPROC>"
2900
2901 #. type: Plain text
2902 #: build/C/man5/elf.5:795
2903 msgid ""
2904 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2905 "specific semantics."
2906 msgstr ""
2907 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2908
2909 #. type: TP
2910 #: build/C/man5/elf.5:795
2911 #, no-wrap
2912 msgid "B<PT_HIPROC>"
2913 msgstr "B<PT_HIPROC>"
2914
2915 #. type: Plain text
2916 #: build/C/man5/elf.5:800
2917 msgid ""
2918 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2919 "specific semantics."
2920 msgstr ""
2921 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2922
2923 #. type: TP
2924 #: build/C/man5/elf.5:800
2925 #, no-wrap
2926 msgid "B<PT_GNU_STACK>"
2927 msgstr "B<PT_GNU_STACK>"
2928
2929 #.  .El
2930 #. type: Plain text
2931 #: build/C/man5/elf.5:807
2932 msgid ""
2933 "GNU extension which is used by the Linux kernel to control the state of the "
2934 "stack via the flags set in the I<p_flags> member."
2935 msgstr ""
2936 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2937 "由でスタックの状態を制御するために使用する。"
2938
2939 #. type: TP
2940 #: build/C/man5/elf.5:808
2941 #, no-wrap
2942 msgid "I<p_offset>"
2943 msgstr "I<p_offset>"
2944
2945 #. type: Plain text
2946 #: build/C/man5/elf.5:812
2947 msgid ""
2948 "This member holds the offset from the beginning of the file at which the "
2949 "first byte of the segment resides."
2950 msgstr ""
2951 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2952 "保持する。"
2953
2954 #. type: TP
2955 #: build/C/man5/elf.5:812
2956 #, no-wrap
2957 msgid "I<p_vaddr>"
2958 msgstr "I<p_vaddr>"
2959
2960 #. type: Plain text
2961 #: build/C/man5/elf.5:816
2962 msgid ""
2963 "This member holds the virtual address at which the first byte of the segment "
2964 "resides in memory."
2965 msgstr ""
2966 "このメンバは、セグメントの先頭バイトがある メモリの仮想アドレスを保持する。"
2967
2968 #. type: TP
2969 #: build/C/man5/elf.5:816
2970 #, no-wrap
2971 msgid "I<p_paddr>"
2972 msgstr "I<p_paddr>"
2973
2974 #. type: Plain text
2975 #: build/C/man5/elf.5:824
2976 msgid ""
2977 "On systems for which physical addressing is relevant, this member is "
2978 "reserved for the segment's physical address.  Under BSD this member is not "
2979 "used and must be zero."
2980 msgstr ""
2981 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2982 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2983
2984 #. type: TP
2985 #: build/C/man5/elf.5:824
2986 #, no-wrap
2987 msgid "I<p_filesz>"
2988 msgstr "I<p_filesz>"
2989
2990 #. type: Plain text
2991 #: build/C/man5/elf.5:828
2992 msgid ""
2993 "This member holds the number of bytes in the file image of the segment.  It "
2994 "may be zero."
2995 msgstr ""
2996 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
2997 "よい。"
2998
2999 #. type: TP
3000 #: build/C/man5/elf.5:828
3001 #, no-wrap
3002 msgid "I<p_memsz>"
3003 msgstr "I<p_memsz>"
3004
3005 #. type: Plain text
3006 #: build/C/man5/elf.5:832
3007 msgid ""
3008 "This member holds the number of bytes in the memory image of the segment.  "
3009 "It may be zero."
3010 msgstr ""
3011 "このメンバはセグメントのメモリイメージのバイト数を保持する。 これは 0 でもよ"
3012 "い。"
3013
3014 #. type: TP
3015 #: build/C/man5/elf.5:832
3016 #, no-wrap
3017 msgid "I<p_flags>"
3018 msgstr "I<p_flags>"
3019
3020 #.  .Bl -tag -width "PF_X" -compact
3021 #. type: Plain text
3022 #: build/C/man5/elf.5:836
3023 msgid "This member holds a bit mask of flags relevant to the segment:"
3024 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3025
3026 #. type: TP
3027 #: build/C/man5/elf.5:837
3028 #, no-wrap
3029 msgid "B<PF_X>"
3030 msgstr "B<PF_X>"
3031
3032 #. type: Plain text
3033 #: build/C/man5/elf.5:841
3034 msgid "An executable segment."
3035 msgstr "実行可能セグメント。"
3036
3037 #. type: TP
3038 #: build/C/man5/elf.5:841
3039 #, no-wrap
3040 msgid "B<PF_W>"
3041 msgstr "B<PF_W>"
3042
3043 #. type: Plain text
3044 #: build/C/man5/elf.5:844
3045 msgid "A writable segment."
3046 msgstr "書き込み可能セグメント."
3047
3048 #. type: TP
3049 #: build/C/man5/elf.5:844
3050 #, no-wrap
3051 msgid "B<PF_R>"
3052 msgstr "B<PF_R>"
3053
3054 #. type: Plain text
3055 #: build/C/man5/elf.5:847
3056 msgid "A readable segment."
3057 msgstr "読み込み可能セグメント。"
3058
3059 #. type: Plain text
3060 #: build/C/man5/elf.5:860
3061 msgid ""
3062 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
3063 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3064 msgstr ""
3065 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3066 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3067
3068 #. type: TP
3069 #: build/C/man5/elf.5:860
3070 #, no-wrap
3071 msgid "I<p_align>"
3072 msgstr "I<p_align>"
3073
3074 #.  .El
3075 #. type: Plain text
3076 #: build/C/man5/elf.5:879
3077 msgid ""
3078 "This member holds the value to which the segments are aligned in memory and "
3079 "in the file.  Loadable process segments must have congruent values for "
3080 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
3081 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
3082 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3083 "I<p_align>."
3084 msgstr ""
3085 "このメンバは、セグメントがメモリおよびファイルにおいて配置 (align)  される値"
3086 "を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3087 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3088 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3089 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3090 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3091 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3092 "ばならない)。"
3093
3094 #. type: Plain text
3095 #: build/C/man5/elf.5:896
3096 msgid ""
3097 "A file's section header table lets one locate all the file's sections.  The "
3098 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3099 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
3100 "the beginning of the file to the section header table.  I<e_shnum> holds the "
3101 "number of entries the section header table contains.  I<e_shentsize> holds "
3102 "the size in bytes of each entry."
3103 msgstr ""
3104 "ファイルのセクションヘッダテーブルには、 全てのファイルセクションの場所が記述"
3105 "されている。 セクションヘッダテーブルは I<Elf32_Shdr> 構造体または "
3106 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダの I<e_shoff> メンバはファイルの"
3107 "先頭から セクションヘッダテーブルへのバイトオフセットである。 I<e_shnum> はセ"
3108 "クションヘッダテーブルに含まれるエントリの数を保持する。 I<e_shentsize> は各"
3109 "エントリのサイズ (バイト単位) を保持する。"
3110
3111 #.  .Bl -tag -width "SHN_LORESERVE"
3112 #. type: Plain text
3113 #: build/C/man5/elf.5:913
3114 msgid ""
3115 "A section header table index is a subscript into this array.  Some section "
3116 "header table indices are reserved: the initial entry and the indices between "
3117 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
3118 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3119 "field in the initial entry is set to zero.  An object file does not have "
3120 "sections for these special indices:"
3121 msgstr ""
3122 "セクションヘッダテーブルインデックスは、この配列の添字である。\n"
3123 "いくつかのセクションヘッダテーブルインデックスは予約されている。予約されて\n"
3124 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3125 "インデックスである。\n"
3126 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3127 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3128 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3129 "い。"
3130
3131 #. type: Plain text
3132 #: build/C/man5/elf.5:918
3133 msgid ""
3134 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3135 "section reference."
3136 msgstr ""
3137 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3138 "味なセクション参照を示す。"
3139
3140 #. type: Plain text
3141 #: build/C/man5/elf.5:938
3142 msgid ""
3143 "This value specifies the absolute value for the corresponding reference.  "
3144 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3145 "absolute value and is not affected by relocation."
3146 msgstr ""
3147 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3148 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3149 "ない。"
3150
3151 #. type: Plain text
3152 #: build/C/man5/elf.5:942
3153 msgid ""
3154 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3155 "COMMON or unallocated C external variables."
3156 msgstr ""
3157 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3158 "未割り当て外部変数のような共通シンボルである。"
3159
3160 #. type: Plain text
3161 #: build/C/man5/elf.5:953
3162 msgid ""
3163 "This value specifies the upper bound of the range of reserved indices.  The "
3164 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3165 "inclusive.  The section header table does not contain entries for the "
3166 "reserved indices."
3167 msgstr ""
3168 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3169 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッダ"
3170 "テーブルは予約されたインデックスに対応するエントリを持たない。"
3171
3172 #. type: Plain text
3173 #: build/C/man5/elf.5:957
3174 msgid "The section header has the following structure:"
3175 msgstr "セクションヘッダは以下の構造体を持つ:"
3176
3177 #. type: Plain text
3178 #: build/C/man5/elf.5:972
3179 #, no-wrap
3180 msgid ""
3181 "typedef struct {\n"
3182 "    uint32_t   sh_name;\n"
3183 "    uint32_t   sh_type;\n"
3184 "    uint32_t   sh_flags;\n"
3185 "    Elf32_Addr sh_addr;\n"
3186 "    Elf32_Off  sh_offset;\n"
3187 "    uint32_t   sh_size;\n"
3188 "    uint32_t   sh_link;\n"
3189 "    uint32_t   sh_info;\n"
3190 "    uint32_t   sh_addralign;\n"
3191 "    uint32_t   sh_entsize;\n"
3192 "} Elf32_Shdr;\n"
3193 msgstr ""
3194 "typedef struct {\n"
3195 "    uint32_t   sh_name;\n"
3196 "    uint32_t   sh_type;\n"
3197 "    uint32_t   sh_flags;\n"
3198 "    Elf32_Addr sh_addr;\n"
3199 "    Elf32_Off  sh_offset;\n"
3200 "    uint32_t   sh_size;\n"
3201 "    uint32_t   sh_link;\n"
3202 "    uint32_t   sh_info;\n"
3203 "    uint32_t   sh_addralign;\n"
3204 "    uint32_t   sh_entsize;\n"
3205 "} Elf32_Shdr;\n"
3206
3207 #. type: Plain text
3208 #: build/C/man5/elf.5:989
3209 #, no-wrap
3210 msgid ""
3211 "typedef struct {\n"
3212 "    uint32_t   sh_name;\n"
3213 "    uint32_t   sh_type;\n"
3214 "    uint64_t   sh_flags;\n"
3215 "    Elf64_Addr sh_addr;\n"
3216 "    Elf64_Off  sh_offset;\n"
3217 "    uint64_t   sh_size;\n"
3218 "    uint32_t   sh_link;\n"
3219 "    uint32_t   sh_info;\n"
3220 "    uint64_t   sh_addralign;\n"
3221 "    uint64_t   sh_entsize;\n"
3222 "} Elf64_Shdr;\n"
3223 msgstr ""
3224 "typedef struct {\n"
3225 "    uint32_t   sh_name;\n"
3226 "    uint32_t   sh_type;\n"
3227 "    uint64_t   sh_flags;\n"
3228 "    Elf64_Addr sh_addr;\n"
3229 "    Elf64_Off  sh_offset;\n"
3230 "    uint64_t   sh_size;\n"
3231 "    uint32_t   sh_link;\n"
3232 "    uint32_t   sh_info;\n"
3233 "    uint64_t   sh_addralign;\n"
3234 "    uint64_t   sh_entsize;\n"
3235 "} Elf64_Shdr;\n"
3236
3237 #.  .Bl -tag -width "sh_addralign"
3238 #. type: Plain text
3239 #: build/C/man5/elf.5:994
3240 msgid ""
3241 "No real differences exist between the 32-bit and 64-bit section headers."
3242 msgstr "32 ビットと 64 ビットのセクションヘッダには実際の違いはない。"
3243
3244 #. type: TP
3245 #: build/C/man5/elf.5:994
3246 #, no-wrap
3247 msgid "I<sh_name>"
3248 msgstr "I<sh_name>"
3249
3250 #. type: Plain text
3251 #: build/C/man5/elf.5:1000
3252 msgid ""
3253 "This member specifies the name of the section.  Its value is an index into "
3254 "the section header string table section, giving the location of a null-"
3255 "terminated string."
3256 msgstr ""
3257 "このメンバはセクション名を定める。 この値はセクションヘッダ文字列テーブルセク"
3258 "ションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
3259
3260 #. type: TP
3261 #: build/C/man5/elf.5:1000
3262 #, no-wrap
3263 msgid "I<sh_type>"
3264 msgstr "I<sh_type>"
3265
3266 #.  .Bl -tag -width "SHT_PROGBITS"
3267 #. type: Plain text
3268 #: build/C/man5/elf.5:1004
3269 msgid "This member categorizes the section's contents and semantics."
3270 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリを示す。"
3271
3272 #. type: TP
3273 #: build/C/man5/elf.5:1005
3274 #, no-wrap
3275 msgid "B<SHT_NULL>"
3276 msgstr "B<SHT_NULL>"
3277
3278 #. type: Plain text
3279 #: build/C/man5/elf.5:1012
3280 msgid ""
3281 "This value marks the section header as inactive.  It does not have an "
3282 "associated section.  Other members of the section header have undefined "
3283 "values."
3284 msgstr ""
3285 "この値はセクションヘッダが不活性であることを示す。 これは関連するセクションを"
3286 "持たない。 このセクションヘッダの他のメンバは、未定義の値を持つ。"
3287
3288 #. type: TP
3289 #: build/C/man5/elf.5:1012
3290 #, no-wrap
3291 msgid "B<SHT_PROGBITS>"
3292 msgstr "B<SHT_PROGBITS>"
3293
3294 #. type: Plain text
3295 #: build/C/man5/elf.5:1016
3296 msgid ""
3297 "This section holds information defined by the program, whose format and "
3298 "meaning are determined solely by the program."
3299 msgstr ""
3300 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3301 "味は、ひとえにプログラムによって決定される。"
3302
3303 #. type: TP
3304 #: build/C/man5/elf.5:1016
3305 #, no-wrap
3306 msgid "B<SHT_SYMTAB>"
3307 msgstr "B<SHT_SYMTAB>"
3308
3309 #. type: Plain text
3310 #: build/C/man5/elf.5:1029
3311 msgid ""
3312 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
3313 "symbols for link editing, though it may also be used for dynamic linking.  "
3314 "As a complete symbol table, it may contain many symbols unnecessary for "
3315 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
3316 msgstr ""
3317 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3318 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3319 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3320 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3321
3322 #. type: TP
3323 #: build/C/man5/elf.5:1029
3324 #, no-wrap
3325 msgid "B<SHT_STRTAB>"
3326 msgstr "B<SHT_STRTAB>"
3327
3328 #. type: Plain text
3329 #: build/C/man5/elf.5:1034
3330 msgid ""
3331 "This section holds a string table.  An object file may have multiple string "
3332 "table sections."
3333 msgstr ""
3334 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3335 "テーブルセクションを持つことができる。"
3336
3337 #. type: TP
3338 #: build/C/man5/elf.5:1034
3339 #, no-wrap
3340 msgid "B<SHT_RELA>"
3341 msgstr "B<SHT_RELA>"
3342
3343 #. type: Plain text
3344 #: build/C/man5/elf.5:1042
3345 msgid ""
3346 "This section holds relocation entries with explicit addends, such as type "
3347 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
3348 "multiple relocation sections."
3349 msgstr ""
3350 "このセクションは明示的な加数 (addend) を持つ再配置エントリを保持する。 再配置"
3351 "エントリの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> であ"
3352 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3353
3354 #. type: TP
3355 #: build/C/man5/elf.5:1042
3356 #, no-wrap
3357 msgid "B<SHT_HASH>"
3358 msgstr "B<SHT_HASH>"
3359
3360 #. type: Plain text
3361 #: build/C/man5/elf.5:1049
3362 msgid ""
3363 "This section holds a symbol hash table.  An object participating in dynamic "
3364 "linking must contain a symbol hash table.  An object file may have only one "
3365 "hash table."
3366 msgstr ""
3367 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3368 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3369 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3370
3371 #. type: TP
3372 #: build/C/man5/elf.5:1049
3373 #, no-wrap
3374 msgid "B<SHT_DYNAMIC>"
3375 msgstr "B<SHT_DYNAMIC>"
3376
3377 #. type: Plain text
3378 #: build/C/man5/elf.5:1054
3379 msgid ""
3380 "This section holds information for dynamic linking.  An object file may have "
3381 "only one dynamic section."
3382 msgstr ""
3383 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3384 "的セクションのみを持つことができる。"
3385
3386 #. type: TP
3387 #: build/C/man5/elf.5:1054
3388 #, no-wrap
3389 msgid "B<SHT_NOTE>"
3390 msgstr "B<SHT_NOTE>"
3391
3392 #. type: Plain text
3393 #: build/C/man5/elf.5:1057
3394 msgid "This section holds information that marks the file in some way."
3395 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3396
3397 #. type: TP
3398 #: build/C/man5/elf.5:1057
3399 #, no-wrap
3400 msgid "B<SHT_NOBITS>"
3401 msgstr "B<SHT_NOBITS>"
3402
3403 #. type: Plain text
3404 #: build/C/man5/elf.5:1065
3405 msgid ""
3406 "A section of this type occupies no space in the file but otherwise resembles "
3407 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
3408 "member contains the conceptual file offset."
3409 msgstr ""
3410 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3411 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3412 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3413
3414 #. type: TP
3415 #: build/C/man5/elf.5:1065
3416 #, no-wrap
3417 msgid "B<SHT_REL>"
3418 msgstr "B<SHT_REL>"
3419
3420 #. type: Plain text
3421 #: build/C/man5/elf.5:1073
3422 msgid ""
3423 "This section holds relocation offsets without explicit addends, such as type "
3424 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
3425 "multiple relocation sections."
3426 msgstr ""
3427 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3428 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3429 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3430
3431 #. type: TP
3432 #: build/C/man5/elf.5:1073
3433 #, no-wrap
3434 msgid "B<SHT_SHLIB>"
3435 msgstr "B<SHT_SHLIB>"
3436
3437 #. type: Plain text
3438 #: build/C/man5/elf.5:1076
3439 msgid "This section is reserved but has unspecified semantics."
3440 msgstr "このセクションは予約されているが、意味は指定されていない。"
3441
3442 #. type: TP
3443 #: build/C/man5/elf.5:1076
3444 #, no-wrap
3445 msgid "B<SHT_DYNSYM>"
3446 msgstr "B<SHT_DYNSYM>"
3447
3448 #. type: Plain text
3449 #: build/C/man5/elf.5:1083
3450 msgid ""
3451 "This section holds a minimal set of dynamic linking symbols.  An object file "
3452 "can also contain a B<SHT_SYMTAB> section."
3453 msgstr ""
3454 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3455 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3456
3457 #. type: TP
3458 #: build/C/man5/elf.5:1083
3459 #, no-wrap
3460 msgid "B<SHT_LOPROC>"
3461 msgstr "B<SHT_LOPROC>"
3462
3463 #. type: Plain text
3464 #: build/C/man5/elf.5:1088
3465 msgid ""
3466 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3467 "specific semantics."
3468 msgstr ""
3469 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3470
3471 #. type: TP
3472 #: build/C/man5/elf.5:1088
3473 #, no-wrap
3474 msgid "B<SHT_HIPROC>"
3475 msgstr "B<SHT_HIPROC>"
3476
3477 #. type: Plain text
3478 #: build/C/man5/elf.5:1093
3479 msgid ""
3480 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3481 "specific semantics."
3482 msgstr ""
3483 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3484
3485 #. type: TP
3486 #: build/C/man5/elf.5:1093
3487 #, no-wrap
3488 msgid "B<SHT_LOUSER>"
3489 msgstr "B<SHT_LOUSER>"
3490
3491 #. type: Plain text
3492 #: build/C/man5/elf.5:1097
3493 msgid ""
3494 "This value specifies the lower bound of the range of indices reserved for "
3495 "application programs."
3496 msgstr ""
3497 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3498 "指定する。"
3499
3500 #. type: TP
3501 #: build/C/man5/elf.5:1097
3502 #, no-wrap
3503 msgid "B<SHT_HIUSER>"
3504 msgstr "B<SHT_HIUSER>"
3505
3506 #.  .El
3507 #. type: Plain text
3508 #: build/C/man5/elf.5:1108
3509 msgid ""
3510 "This value specifies the upper bound of the range of indices reserved for "
3511 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3512 "may be used by the application, without conflicting with current or future "
3513 "system-defined section types."
3514 msgstr ""
3515 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3516 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3517 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3518 "使用することができる。"
3519
3520 #. type: TP
3521 #: build/C/man5/elf.5:1109
3522 #, no-wrap
3523 msgid "I<sh_flags>"
3524 msgstr "I<sh_flags>"
3525
3526 #.  .Bl -tag -width "SHF_EXECINSTR" -compact
3527 #. type: Plain text
3528 #: build/C/man5/elf.5:1122
3529 msgid ""
3530 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
3531 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
3532 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
3533 "are set to zero."
3534 msgstr ""
3535 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3536 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3537 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3538 "義の属性は 0 に設定される。"
3539
3540 #. type: TP
3541 #: build/C/man5/elf.5:1123
3542 #, no-wrap
3543 msgid "B<SHF_WRITE>"
3544 msgstr "B<SHF_WRITE>"
3545
3546 #. type: Plain text
3547 #: build/C/man5/elf.5:1127
3548 msgid ""
3549 "This section contains data that should be writable during process execution."
3550 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3551
3552 #. type: TP
3553 #: build/C/man5/elf.5:1127
3554 #, no-wrap
3555 msgid "B<SHF_ALLOC>"
3556 msgstr "B<SHF_ALLOC>"
3557
3558 #. type: Plain text
3559 #: build/C/man5/elf.5:1134
3560 msgid ""
3561 "This section occupies memory during process execution.  Some control "
3562 "sections do not reside in the memory image of an object file.  This "
3563 "attribute is off for those sections."
3564 msgstr ""
3565 "このセクションはプロセス実行中にメモリを使用する。 制御セクションの中には、オ"
3566 "ブジェクトファイルのメモリイメージには 存在しないものもある。 そうしたセク"
3567 "ションの場合、この属性はオフである。"
3568
3569 #. type: TP
3570 #: build/C/man5/elf.5:1134
3571 #, no-wrap
3572 msgid "B<SHF_EXECINSTR>"
3573 msgstr "B<SHF_EXECINSTR>"
3574
3575 #. type: Plain text
3576 #: build/C/man5/elf.5:1137
3577 msgid "This section contains executable machine instructions."
3578 msgstr "このセクションは実行可能なマシン命令を含む。"
3579
3580 #. type: TP
3581 #: build/C/man5/elf.5:1137
3582 #, no-wrap
3583 msgid "B<SHF_MASKPROC>"
3584 msgstr "B<SHF_MASKPROC>"
3585
3586 #. type: Plain text
3587 #: build/C/man5/elf.5:1141
3588 msgid ""
3589 "All bits included in this mask are reserved for processor-specific semantics."
3590 msgstr ""
3591 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3592
3593 #. type: TP
3594 #: build/C/man5/elf.5:1143
3595 #, no-wrap
3596 msgid "I<sh_addr>"
3597 msgstr "I<sh_addr>"
3598
3599 #. type: Plain text
3600 #: build/C/man5/elf.5:1148
3601 msgid ""
3602 "If this section appears in the memory image of a process, this member holds "
3603 "the address at which the section's first byte should reside.  Otherwise, the "
3604 "member contains zero."
3605 msgstr ""
3606 "このセクションがプロセスのメモリイメージにある場合、 このメンバはセクションの"
3607 "最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 で"
3608 "ある。"
3609
3610 #. type: TP
3611 #: build/C/man5/elf.5:1148
3612 #, no-wrap
3613 msgid "I<sh_offset>"
3614 msgstr "I<sh_offset>"
3615
3616 #. type: Plain text
3617 #: build/C/man5/elf.5:1157
3618 msgid ""
3619 "This member's value holds the byte offset from the beginning of the file to "
3620 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
3621 "space in the file, and its I<sh_offset> member locates the conceptual "
3622 "placement in the file."
3623 msgstr ""
3624 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3625 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3626 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3627
3628 #. type: TP
3629 #: build/C/man5/elf.5:1157
3630 #, no-wrap
3631 msgid "I<sh_size>"
3632 msgstr "I<sh_size>"
3633
3634 #. type: Plain text
3635 #: build/C/man5/elf.5:1169
3636 msgid ""
3637 "This member holds the section's size in bytes.  Unless the section type is "
3638 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
3639 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3640 "the file."
3641 msgstr ""
3642 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3643 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3644 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3645 "領域を使用しない。"
3646
3647 #. type: TP
3648 #: build/C/man5/elf.5:1169
3649 #, no-wrap
3650 msgid "I<sh_link>"
3651 msgstr "I<sh_link>"
3652
3653 #. type: Plain text
3654 #: build/C/man5/elf.5:1173
3655 msgid ""
3656 "This member holds a section header table index link, whose interpretation "
3657 "depends on the section type."
3658 msgstr ""
3659 "このメンバは、セクションヘッダテーブルインデックスリンクを保持する。 この解釈"
3660 "はセクションタイプに依存する。"
3661
3662 #. type: TP
3663 #: build/C/man5/elf.5:1173
3664 #, no-wrap
3665 msgid "I<sh_info>"
3666 msgstr "I<sh_info>"
3667
3668 #. type: Plain text
3669 #: build/C/man5/elf.5:1177
3670 msgid ""
3671 "This member holds extra information, whose interpretation depends on the "
3672 "section type."
3673 msgstr ""
3674 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3675
3676 #. type: TP
3677 #: build/C/man5/elf.5:1177
3678 #, no-wrap
3679 msgid "I<sh_addralign>"
3680 msgstr "I<sh_addralign>"
3681
3682 #. type: Plain text
3683 #: build/C/man5/elf.5:1190
3684 msgid ""
3685 "Some sections have address alignment constraints.  If a section holds a "
3686 "doubleword, the system must ensure doubleword alignment for the entire "
3687 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
3688 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
3689 "are allowed.  Values of zero or one mean the section has no alignment "
3690 "constraints."
3691 msgstr ""
3692 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3693 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3694 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3695 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3696 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3697 "制約がないことを意味する。"
3698
3699 #. type: TP
3700 #: build/C/man5/elf.5:1190
3701 #, no-wrap
3702 msgid "I<sh_entsize>"
3703 msgstr "I<sh_entsize>"
3704
3705 #.  .El
3706 #. type: Plain text
3707 #: build/C/man5/elf.5:1197
3708 msgid ""
3709 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
3710 "For such a section, this member gives the size in bytes for each entry.  "
3711 "This member contains zero if the section does not hold a table of fixed-size "
3712 "entries."
3713 msgstr ""
3714 "シンボルテーブルのような固定サイズエントリのテーブルを保持する セクションもあ"
3715 "る。 このようなセクションでは、 このメンバは各エントリのサイズ (バイト単位) "
3716 "を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリのテーブル"
3717 "を保持しない。"
3718
3719 #.  .Bl -tag -width ".shstrtab"
3720 #. type: Plain text
3721 #: build/C/man5/elf.5:1200
3722 msgid "Various sections hold program and control information:"
3723 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3724
3725 #. type: TP
3726 #: build/C/man5/elf.5:1200
3727 #, no-wrap
3728 msgid "I<.bss>"
3729 msgstr "I<.bss>"
3730
3731 #. type: Plain text
3732 #: build/C/man5/elf.5:1212
3733 msgid ""
3734 "This section holds uninitialized data that contributes to the program's "
3735 "memory image.  By definition, the system initializes the data with zeros "
3736 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
3737 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3738 msgstr ""
3739 "このセクションはプログラムのメモリイメージに配置される 非初期化データを保持す"
3740 "る。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 こ"
3741 "のセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3742 "B<SHF_WRITE> である。"
3743
3744 #. type: TP
3745 #: build/C/man5/elf.5:1212
3746 #, no-wrap
3747 msgid "I<.comment>"
3748 msgstr "I<.comment>"
3749
3750 #. type: Plain text
3751 #: build/C/man5/elf.5:1218
3752 msgid ""
3753 "This section holds version control information.  This section is of type "
3754 "B<SHT_PROGBITS>.  No attribute types are used."
3755 msgstr ""
3756 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3757 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3758
3759 #. type: TP
3760 #: build/C/man5/elf.5:1218
3761 #, no-wrap
3762 msgid "I<.ctors>"
3763 msgstr "I<.ctors>"
3764
3765 #. type: Plain text
3766 #: build/C/man5/elf.5:1227
3767 msgid ""
3768 "This section holds initialized pointers to the C++ constructor functions.  "
3769 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3770 "B<SHF_ALLOC> and B<SHF_WRITE>."
3771 msgstr ""
3772 "このセクションは C++ コンストラクタ関数への初期化されたポインタを保持する。 "
3773 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3774 "と B<SHF_WRITE> である。"
3775
3776 #. type: TP
3777 #: build/C/man5/elf.5:1227
3778 #, no-wrap
3779 msgid "I<.data>"
3780 msgstr "I<.data>"
3781
3782 #. type: Plain text
3783 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3784 msgid ""
3785 "This section holds initialized data that contribute to the program's memory "
3786 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
3787 "B<SHF_ALLOC> and B<SHF_WRITE>."
3788 msgstr ""
3789 "このセクションはプログラムのメモリイメージに配置される 初期化済みデータを保持"
3790 "する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3791 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3792
3793 #. type: TP
3794 #: build/C/man5/elf.5:1237
3795 #, no-wrap
3796 msgid "I<.data1>"
3797 msgstr "I<.data1>"
3798
3799 #. type: TP
3800 #: build/C/man5/elf.5:1247
3801 #, no-wrap
3802 msgid "I<.debug>"
3803 msgstr "I<.debug>"
3804
3805 #. type: Plain text
3806 #: build/C/man5/elf.5:1255
3807 msgid ""
3808 "This section holds information for symbolic debugging.  The contents are "
3809 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
3810 "are used."
3811 msgstr ""
3812 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3813 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3814 "れない。"
3815
3816 #. type: TP
3817 #: build/C/man5/elf.5:1255
3818 #, no-wrap
3819 msgid "I<.dtors>"
3820 msgstr "I<.dtors>"
3821
3822 #. type: Plain text
3823 #: build/C/man5/elf.5:1264
3824 msgid ""
3825 "This section holds initialized pointers to the C++ destructor functions.  "
3826 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
3827 "B<SHF_ALLOC> and B<SHF_WRITE>."
3828 msgstr ""
3829 "このセクションは C++ デストラクタ関数への初期化されたポインタを保持する。 こ"
3830 "のセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> と "
3831 "B<SHF_WRITE> である。"
3832
3833 #. type: TP
3834 #: build/C/man5/elf.5:1264
3835 #, no-wrap
3836 msgid "I<.dynamic>"
3837 msgstr "I<.dynamic>"
3838
3839 #. type: Plain text
3840 #: build/C/man5/elf.5:1277
3841 msgid ""
3842 "This section holds dynamic linking information.  The section's attributes "
3843 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
3844 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
3845 "attributes above."
3846 msgstr ""
3847 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3848 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3849 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3850 "ること。"
3851
3852 #. type: TP
3853 #: build/C/man5/elf.5:1277
3854 #, no-wrap
3855 msgid "I<.dynstr>"
3856 msgstr "I<.dynstr>"
3857
3858 #. type: Plain text
3859 #: build/C/man5/elf.5:1285
3860 msgid ""
3861 "This section holds strings needed for dynamic linking, most commonly the "
3862 "strings that represent the names associated with symbol table entries.  This "
3863 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
3864 msgstr ""
3865 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3866 "列はシンボルテーブルエントリと 関連づけられた名前を表す。 このセクションのタ"
3867 "イプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3868
3869 #. type: TP
3870 #: build/C/man5/elf.5:1285
3871 #, no-wrap
3872 msgid "I<.dynsym>"
3873 msgstr "I<.dynsym>"
3874
3875 #. type: Plain text
3876 #: build/C/man5/elf.5:1292
3877 msgid ""
3878 "This section holds the dynamic linking symbol table.  This section is of "
3879 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
3880 msgstr ""
3881 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3882 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3883
3884 #. type: TP
3885 #: build/C/man5/elf.5:1292
3886 #, no-wrap
3887 msgid "I<.fini>"
3888 msgstr "I<.fini>"
3889
3890 #. type: Plain text
3891 #: build/C/man5/elf.5:1304
3892 msgid ""
3893 "This section holds executable instructions that contribute to the process "
3894 "termination code.  When a program exits normally the system arranges to "
3895 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
3896 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3897 msgstr ""
3898 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3899 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3900 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3901 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3902
3903 #. type: TP
3904 #: build/C/man5/elf.5:1304
3905 #, no-wrap
3906 msgid "I<.gnu.version>"
3907 msgstr "I<.gnu.version>"
3908
3909 #. type: Plain text
3910 #: build/C/man5/elf.5:1313
3911 msgid ""
3912 "This section holds the version symbol table, an array of I<ElfN_Half> "
3913 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
3914 "used is B<SHF_ALLOC>."
3915 msgstr ""
3916 "このセクションはバージョン・シンボル・テーブルを保持する。 その内容は "
3917 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3918 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3919
3920 #. type: TP
3921 #: build/C/man5/elf.5:1313
3922 #, no-wrap
3923 msgid "I<.gnu.version_d>"
3924 msgstr "I<.gnu.version_d>"
3925
3926 #. type: Plain text
3927 #: build/C/man5/elf.5:1322
3928 msgid ""
3929 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3930 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
3931 "used is B<SHF_ALLOC>."
3932 msgstr ""
3933 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3934 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3935 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3936
3937 #. type: TP
3938 #: build/C/man5/elf.5:1322
3939 #, no-wrap
3940 msgid "I<.gnu.version_r>"
3941 msgstr "I<.gnu.version_r>"
3942
3943 #. type: Plain text
3944 #: build/C/man5/elf.5:1332
3945 msgid ""
3946 "This section holds the version symbol needed elements, a table of "
3947 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
3948 "attribute type used is B<SHF_ALLOC>."
3949 msgstr ""
3950 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3951 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3952 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3953
3954 #. type: TP
3955 #: build/C/man5/elf.5:1332
3956 #, no-wrap
3957 msgid "I<.got>"
3958 msgstr "I<.got>"
3959
3960 #. type: Plain text
3961 #: build/C/man5/elf.5:1338
3962 msgid ""
3963 "This section holds the global offset table.  This section is of type "
3964 "B<SHT_PROGBITS>.  The attributes are processor-specific."
3965 msgstr ""
3966 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3967 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3968
3969 #. type: TP
3970 #: build/C/man5/elf.5:1338
3971 #, no-wrap
3972 msgid "I<.hash>"
3973 msgstr "I<.hash>"
3974
3975 #. type: Plain text
3976 #: build/C/man5/elf.5:1345
3977 msgid ""
3978 "This section holds a symbol hash table.  This section is of type "
3979 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
3980 msgstr ""
3981 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3982 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3983
3984 #. type: TP
3985 #: build/C/man5/elf.5:1345
3986 #, no-wrap
3987 msgid "I<.init>"
3988 msgstr "I<.init>"
3989
3990 #. type: Plain text
3991 #: build/C/man5/elf.5:1357
3992 msgid ""
3993 "This section holds executable instructions that contribute to the process "
3994 "initialization code.  When a program starts to run the system arranges to "
3995 "execute the code in this section before calling the main program entry "
3996 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
3997 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3998 msgstr ""
3999 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
4000 "グラムが実行を開始すると、 システムはメインプログラムエントリポイントを呼び出"
4001 "す前に、 このセクションにあるコードを配置して実行する。 このセクションはのタ"
4002 "イプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4003 "B<SHF_EXECINSTR> である。"
4004
4005 #. type: TP
4006 #: build/C/man5/elf.5:1357
4007 #, no-wrap
4008 msgid "I<.interp>"
4009 msgstr "I<.interp>"
4010
4011 #. type: Plain text
4012 #: build/C/man5/elf.5:1368
4013 msgid ""
4014 "This section holds the pathname of a program interpreter.  If the file has a "
4015 "loadable segment that includes the section, the section's attributes will "
4016 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
4017 "section is of type B<SHT_PROGBITS>."
4018 msgstr ""
4019 "このセクションはプログラムインタプリタのパス名を保持する。 ファイルにこのセク"
4020 "ションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4021 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4022 "クションのタイプは B<SHT_PROGBITS> である。"
4023
4024 #. type: TP
4025 #: build/C/man5/elf.5:1368
4026 #, no-wrap
4027 msgid "I<.line>"
4028 msgstr "I<.line>"
4029
4030 #. type: Plain text
4031 #: build/C/man5/elf.5:1376
4032 msgid ""
4033 "This section holds line number information for symbolic debugging, which "
4034 "describes the correspondence between the program source and the machine "
4035 "code.  The contents are unspecified.  This section is of type "
4036 "B<SHT_PROGBITS>.  No attribute types are used."
4037 msgstr ""
4038 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4039 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4040 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4041 "ない。"
4042
4043 #. type: TP
4044 #: build/C/man5/elf.5:1376
4045 #, no-wrap
4046 msgid "I<.note>"
4047 msgstr "I<.note>"
4048
4049 #. type: Plain text
4050 #: build/C/man5/elf.5:1389
4051 msgid ""
4052 "This section holds information in the \"Note Section\" format.  This section "
4053 "is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD native "
4054 "executables usually contain a I<.note.openbsd.ident> section to identify "
4055 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4056 "tests when loading the file."
4057 msgstr ""
4058 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4059 "プ\n"
4060 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4061 "行\n"
4062 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4063 "つ。\n"
4064 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4065 "ショ\n"
4066 "ンテストを回避できる。"
4067
4068 #. type: TP
4069 #: build/C/man5/elf.5:1389
4070 #, no-wrap
4071 msgid "I<.note.GNU-stack>"
4072 msgstr "I<.note.GNU-stack>"
4073
4074 #. type: Plain text
4075 #: build/C/man5/elf.5:1398
4076 msgid ""
4077 "This section is used in Linux object files for declaring stack attributes.  "
4078 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
4079 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
4080 "requires an executable stack."
4081 msgstr ""
4082 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4083 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4084 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカに対して オブジェクトファイ"
4085 "ルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4086
4087 #. type: TP
4088 #: build/C/man5/elf.5:1398
4089 #, no-wrap
4090 msgid "I<.plt>"
4091 msgstr "I<.plt>"
4092
4093 #. type: Plain text
4094 #: build/C/man5/elf.5:1404
4095 msgid ""
4096 "This section holds the procedure linkage table.  This section is of type "
4097 "B<SHT_PROGBITS>.  The attributes are processor-specific."
4098 msgstr ""
4099 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4100 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4101
4102 #. type: TP
4103 #: build/C/man5/elf.5:1404
4104 #, no-wrap
4105 msgid "I<.relNAME>"
4106 msgstr "I<.relNAME>"
4107
4108 #. type: Plain text
4109 #: build/C/man5/elf.5:1423
4110 msgid ""
4111 "This section holds relocation information as described below.  If the file "
4112 "has a loadable segment that includes relocation, the section's attributes "
4113 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4114 "convention, \"NAME\" is supplied by the section to which the relocations "
4115 "apply.  Thus a relocation section for B<.text> normally would have the name "
4116 "B<.rel.text>.  This section is of type B<SHT_REL>."
4117 msgstr ""
4118 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4119 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4120 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4121 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4122 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4123 "プは B<SHT_REL> である。"
4124
4125 #. type: TP
4126 #: build/C/man5/elf.5:1423
4127 #, no-wrap
4128 msgid "I<.relaNAME>"
4129 msgstr "I<.relaNAME>"
4130
4131 #. type: Plain text
4132 #: build/C/man5/elf.5:1442
4133 msgid ""
4134 "This section holds relocation information as described below.  If the file "
4135 "has a loadable segment that includes relocation, the section's attributes "
4136 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
4137 "convention, \"NAME\" is supplied by the section to which the relocations "
4138 "apply.  Thus a relocation section for B<.text> normally would have the name "
4139 "B<.rela.text>.  This section is of type B<SHT_RELA>."
4140 msgstr ""
4141 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4142 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4143 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4144 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4145 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4146 "イプは B<SHT_RELA> である。"
4147
4148 #. type: TP
4149 #: build/C/man5/elf.5:1442
4150 #, no-wrap
4151 msgid "I<.rodata>"
4152 msgstr "I<.rodata>"
4153
4154 #. type: Plain text
4155 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4156 msgid ""
4157 "This section holds read-only data that typically contributes to a "
4158 "nonwritable segment in the process image.  This section is of type "
4159 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
4160 msgstr ""
4161 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4162 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4163 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4164
4165 #. type: TP
4166 #: build/C/man5/elf.5:1450
4167 #, no-wrap
4168 msgid "I<.rodata1>"
4169 msgstr "I<.rodata1>"
4170
4171 #. type: TP
4172 #: build/C/man5/elf.5:1458
4173 #, no-wrap
4174 msgid "I<.shstrtab>"
4175 msgstr "I<.shstrtab>"
4176
4177 #. type: Plain text
4178 #: build/C/man5/elf.5:1464
4179 msgid ""
4180 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
4181 "No attribute types are used."
4182 msgstr ""
4183 "このセクションはセクション名を保持する。 このセクションのタイプは "
4184 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4185
4186 #. type: TP
4187 #: build/C/man5/elf.5:1464
4188 #, no-wrap
4189 msgid "I<.strtab>"
4190 msgstr "I<.strtab>"
4191
4192 #. type: Plain text
4193 #: build/C/man5/elf.5:1476
4194 msgid ""
4195 "This section holds strings, most commonly the strings that represent the "
4196 "names associated with symbol table entries.  If the file has a loadable "
4197 "segment that includes the symbol string table, the section's attributes will "
4198 "include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section "
4199 "is of type B<SHT_STRTAB>."
4200 msgstr ""
4201 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエントリ"
4202 "に関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブルを"
4203 "含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを"
4204 "含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4205 "B<SHT_STRTAB> である。"
4206
4207 #. type: TP
4208 #: build/C/man5/elf.5:1476
4209 #, no-wrap
4210 msgid "I<.symtab>"
4211 msgstr "I<.symtab>"
4212
4213 #. type: Plain text
4214 #: build/C/man5/elf.5:1487
4215 msgid ""
4216 "This section holds a symbol table.  If the file has a loadable segment that "
4217 "includes the symbol table, the section's attributes will include the "
4218 "B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section is of type "
4219 "B<SHT_SYMTAB>."
4220 msgstr ""
4221 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4222 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4223 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4224 "B<SHT_SYMTAB> である。"
4225
4226 #. type: TP
4227 #: build/C/man5/elf.5:1487
4228 #, no-wrap
4229 msgid "I<.text>"
4230 msgstr "I<.text>"
4231
4232 #.  .El
4233 #. type: Plain text
4234 #: build/C/man5/elf.5:1499
4235 msgid ""
4236 "This section holds the \"text\", or executable instructions, of a program.  "
4237 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
4238 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4239 msgstr ""
4240 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4241 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4242 "B<SHF_EXECINSTR> である。"
4243
4244 #. type: Plain text
4245 #: build/C/man5/elf.5:1510
4246 msgid ""
4247 "String table sections hold null-terminated character sequences, commonly "
4248 "called strings.  The object file uses these strings to represent symbol and "
4249 "section names.  One references a string as an index into the string table "
4250 "section.  The first byte, which is index zero, is defined to hold a null "
4251 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
4252 "hold a null byte, ensuring null termination for all strings."
4253 msgstr ""
4254 "文字列テーブルセクションはヌル文字で終端されたキャラクタ配列 (通常文字列と呼"
4255 "ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名と"
4256 "セクション名を表すために使う。 文字列は、文字列テーブルセクションへのインデッ"
4257 "クスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
4258 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
4259 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
4260 "ていることを保証するためである。"
4261
4262 #. type: Plain text
4263 #: build/C/man5/elf.5:1515
4264 msgid ""
4265 "An object file's symbol table holds information needed to locate and "
4266 "relocate a program's symbolic definitions and references.  A symbol table "
4267 "index is a subscript into this array."
4268 msgstr ""
4269 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4270 "置または再配置するのに 必要な情報を保持する。"
4271
4272 #. type: Plain text
4273 #: build/C/man5/elf.5:1526
4274 #, no-wrap
4275 msgid ""
4276 "typedef struct {\n"
4277 "    uint32_t      st_name;\n"
4278 "    Elf32_Addr    st_value;\n"
4279 "    uint32_t      st_size;\n"
4280 "    unsigned char st_info;\n"
4281 "    unsigned char st_other;\n"
4282 "    uint16_t      st_shndx;\n"
4283 "} Elf32_Sym;\n"
4284 msgstr ""
4285 "typedef struct {\n"
4286 "    uint32_t      st_name;\n"
4287 "    Elf32_Addr    st_value;\n"
4288 "    uint32_t      st_size;\n"
4289 "    unsigned char st_info;\n"
4290 "    unsigned char st_other;\n"
4291 "    uint16_t      st_shndx;\n"
4292 "} Elf32_Sym;\n"
4293
4294 #. type: Plain text
4295 #: build/C/man5/elf.5:1539
4296 #, no-wrap
4297 msgid ""
4298 "typedef struct {\n"
4299 "    uint32_t      st_name;\n"
4300 "    unsigned char st_info;\n"
4301 "    unsigned char st_other;\n"
4302 "    uint16_t      st_shndx;\n"
4303 "    Elf64_Addr    st_value;\n"
4304 "    uint64_t      st_size;\n"
4305 "} Elf64_Sym;\n"
4306 msgstr ""
4307 "typedef struct {\n"
4308 "    uint32_t      st_name;\n"
4309 "    unsigned char st_info;\n"
4310 "    unsigned char st_other;\n"
4311 "    uint16_t      st_shndx;\n"
4312 "    Elf64_Addr    st_value;\n"
4313 "    uint64_t      st_size;\n"
4314 "} Elf64_Sym;\n"
4315
4316 #.  .Bl -tag -width "st_value"
4317 #. type: Plain text
4318 #: build/C/man5/elf.5:1545
4319 msgid ""
4320 "The 32-bit and 64-bit versions have the same members, just in a different "
4321 "order."
4322 msgstr ""
4323 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4324
4325 #. type: TP
4326 #: build/C/man5/elf.5:1545
4327 #, no-wrap
4328 msgid "I<st_name>"
4329 msgstr "I<st_name>"
4330
4331 #. type: Plain text
4332 #: build/C/man5/elf.5:1553
4333 msgid ""
4334 "This member holds an index into the object file's symbol string table, which "
4335 "holds character representations of the symbol names.  If the value is "
4336 "nonzero, it represents a string table index that gives the symbol name.  "
4337 "Otherwise, the symbol table has no name."
4338 msgstr ""
4339 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4340 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4341 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4342 "合、シンボルテーブルは名前を持たない。"
4343
4344 #. type: TP
4345 #: build/C/man5/elf.5:1553
4346 #, no-wrap
4347 msgid "I<st_value>"
4348 msgstr "I<st_value>"
4349
4350 #. type: Plain text
4351 #: build/C/man5/elf.5:1556
4352 msgid "This member gives the value of the associated symbol."
4353 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4354
4355 #. type: TP
4356 #: build/C/man5/elf.5:1556
4357 #, no-wrap
4358 msgid "I<st_size>"
4359 msgstr "I<st_size>"
4360
4361 #. type: Plain text
4362 #: build/C/man5/elf.5:1561
4363 msgid ""
4364 "Many symbols have associated sizes.  This member holds zero if the symbol "
4365 "has no size or an unknown size."
4366 msgstr ""
4367 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4368 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4369
4370 #. type: TP
4371 #: build/C/man5/elf.5:1561
4372 #, no-wrap
4373 msgid "I<st_info>"
4374 msgstr "I<st_info>"
4375
4376 #.  .Bl -tag -width "STT_SECTION"
4377 #. type: Plain text
4378 #: build/C/man5/elf.5:1565
4379 msgid "This member specifies the symbol's type and binding attributes:"
4380 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4381
4382 #. type: TP
4383 #: build/C/man5/elf.5:1566
4384 #, no-wrap
4385 msgid "B<STT_NOTYPE>"
4386 msgstr "B<STT_NOTYPE>"
4387
4388 #. type: Plain text
4389 #: build/C/man5/elf.5:1569
4390 msgid "The symbol's type is not defined."
4391 msgstr "シンボルのタイプが定義されていない。"
4392
4393 #. type: TP
4394 #: build/C/man5/elf.5:1569
4395 #, no-wrap
4396 msgid "B<STT_OBJECT>"
4397 msgstr "B<STT_OBJECT>"
4398
4399 #. type: Plain text
4400 #: build/C/man5/elf.5:1572
4401 msgid "The symbol is associated with a data object."
4402 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4403
4404 #. type: TP
4405 #: build/C/man5/elf.5:1572
4406 #, no-wrap
4407 msgid "B<STT_FUNC>"
4408 msgstr "B<STT_FUNC>"
4409
4410 #. type: Plain text
4411 #: build/C/man5/elf.5:1575
4412 msgid "The symbol is associated with a function or other executable code."
4413 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4414
4415 #. type: TP
4416 #: build/C/man5/elf.5:1575
4417 #, no-wrap
4418 msgid "B<STT_SECTION>"
4419 msgstr "B<STT_SECTION>"
4420
4421 #. type: Plain text
4422 #: build/C/man5/elf.5:1582
4423 msgid ""
4424 "The symbol is associated with a section.  Symbol table entries of this type "
4425 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4426 msgstr ""
4427 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4428 "リは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4429 "つ。"
4430
4431 #. type: TP
4432 #: build/C/man5/elf.5:1582
4433 #, no-wrap
4434 msgid "B<STT_FILE>"
4435 msgstr "B<STT_FILE>"
4436
4437 #. type: Plain text
4438 #: build/C/man5/elf.5:1593
4439 msgid ""
4440 "By convention, the symbol's name gives the name of the source file "
4441 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
4442 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4443 "symbols of the file, if it is present."
4444 msgstr ""
4445 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4446 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4447 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4448 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4449
4450 #. type: TP
4451 #: build/C/man5/elf.5:1593
4452 #, no-wrap
4453 msgid "B<STT_LOPROC>"
4454 msgstr "B<STT_LOPROC>"
4455
4456 #. type: Plain text
4457 #: build/C/man5/elf.5:1598
4458 msgid ""
4459 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4460 "specific semantics."
4461 msgstr ""
4462 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4463
4464 #. type: TP
4465 #: build/C/man5/elf.5:1598
4466 #, no-wrap
4467 msgid "B<STT_HIPROC>"
4468 msgstr "B<STT_HIPROC>"
4469
4470 #.  .El
4471 #.  .Bl -tag -width "STB_GLOBAL"
4472 #. type: Plain text
4473 #: build/C/man5/elf.5:1605
4474 msgid ""
4475 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4476 "specific semantics."
4477 msgstr ""
4478 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4479
4480 #. type: TP
4481 #: build/C/man5/elf.5:1605
4482 #, no-wrap
4483 msgid "B<STB_LOCAL>"
4484 msgstr "B<STB_LOCAL>"
4485
4486 #. type: Plain text
4487 #: build/C/man5/elf.5:1611
4488 msgid ""
4489 "Local symbols are not visible outside the object file containing their "
4490 "definition.  Local symbols of the same name may exist in multiple files "
4491 "without interfering with each other."
4492 msgstr ""
4493 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4494 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4495 "る。"
4496
4497 #. type: TP
4498 #: build/C/man5/elf.5:1611
4499 #, no-wrap
4500 msgid "B<STB_GLOBAL>"
4501 msgstr "B<STB_GLOBAL>"
4502
4503 #. type: Plain text
4504 #: build/C/man5/elf.5:1617
4505 msgid ""
4506 "Global symbols are visible to all object files being combined.  One file's "
4507 "definition of a global symbol will satisfy another file's undefined "
4508 "reference to the same symbol."
4509 msgstr ""
4510 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4511 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4512 "の参照は未定義でなければならない。"
4513
4514 #. type: TP
4515 #: build/C/man5/elf.5:1617
4516 #, no-wrap
4517 msgid "B<STB_WEAK>"
4518 msgstr "B<STB_WEAK>"
4519
4520 #. type: Plain text
4521 #: build/C/man5/elf.5:1621
4522 msgid ""
4523 "Weak symbols resemble global symbols, but their definitions have lower "
4524 "precedence."
4525 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4526
4527 #. type: TP
4528 #: build/C/man5/elf.5:1621
4529 #, no-wrap
4530 msgid "B<STB_LOPROC>"
4531 msgstr "B<STB_LOPROC>"
4532
4533 #. type: Plain text
4534 #: build/C/man5/elf.5:1626
4535 msgid ""
4536 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4537 "specific semantics."
4538 msgstr ""
4539 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4540
4541 #. type: TP
4542 #: build/C/man5/elf.5:1626
4543 #, no-wrap
4544 msgid "B<STB_HIPROC>"
4545 msgstr "B<STB_HIPROC>"
4546
4547 #. type: Plain text
4548 #: build/C/man5/elf.5:1631
4549 msgid ""
4550 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4551 "specific semantics."
4552 msgstr ""
4553 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4554
4555 #. type: Plain text
4556 #: build/C/man5/elf.5:1633
4557 msgid "There are macros for packing and unpacking the binding and type fields:"
4558 msgstr ""
4559 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4560 "る:"
4561
4562 #. type: Plain text
4563 #: build/C/man5/elf.5:1640
4564 msgid ""
4565 "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from an "
4566 "I<st_info> value."
4567 msgstr ""
4568 "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値からバ"
4569 "インディングを取り出す。"
4570
4571 #. type: Plain text
4572 #: build/C/man5/elf.5:1644
4573 msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
4574 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
4575
4576 #. type: Plain text
4577 #: build/C/man5/elf.5:1648
4578 msgid "extract a type from an I<st_info> value."
4579 msgstr "I<st_info> の値からタイプを取り出す。"
4580
4581 #. type: Plain text
4582 #: build/C/man5/elf.5:1652
4583 msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
4584 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
4585
4586 #. type: Plain text
4587 #: build/C/man5/elf.5:1656
4588 msgid "convert a binding and a type into an I<st_info> value."
4589 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4590
4591 #. type: TP
4592 #: build/C/man5/elf.5:1658
4593 #, no-wrap
4594 msgid "I<st_other>"
4595 msgstr "I<st_other>"
4596
4597 #.  .Bl -tag -width "STV_PROTECTED"
4598 #. type: Plain text
4599 #: build/C/man5/elf.5:1662
4600 msgid "This member defines the symbol visibility."
4601 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4602
4603 #. type: TP
4604 #: build/C/man5/elf.5:1663
4605 #, no-wrap
4606 msgid "B<STV_DEFAULT>"
4607 msgstr "B<STV_DEFAULT>"
4608
4609 #. type: Plain text
4610 #: build/C/man5/elf.5:1667
4611 msgid "Default symbol visibility rules."
4612 msgstr "デフォルトのシンボル visibility ルール。"
4613
4614 #. type: TP
4615 #: build/C/man5/elf.5:1667
4616 #, no-wrap
4617 msgid "B<STV_INTERNAL>"
4618 msgstr "B<STV_INTERNAL>"
4619
4620 #. type: Plain text
4621 #: build/C/man5/elf.5:1670
4622 msgid "Processor-specific hidden class."
4623 msgstr "プロセッサ固有の隠しクラス。"
4624
4625 #. type: TP
4626 #: build/C/man5/elf.5:1670
4627 #, no-wrap
4628 msgid "B<STV_HIDDEN>"
4629 msgstr "B<STV_HIDDEN>"
4630
4631 #. type: Plain text
4632 #: build/C/man5/elf.5:1673
4633 msgid "Symbol is unavailable in other modules."
4634 msgstr "シンボルは他のモジュールからは利用できない。"
4635
4636 #. type: TP
4637 #: build/C/man5/elf.5:1673
4638 #, no-wrap
4639 msgid "B<STV_PROTECTED>"
4640 msgstr "B<STV_PROTECTED>"
4641
4642 #. type: Plain text
4643 #: build/C/man5/elf.5:1676
4644 msgid "Not preemptible, not exported."
4645 msgstr "横取りできず (not preemptible)、公開されない。"
4646
4647 #. type: Plain text
4648 #: build/C/man5/elf.5:1679
4649 msgid "There are macros for extracting the visibility type:"
4650 msgstr "visibility 種別を抽出するためのマクロがある。"
4651
4652 #. type: Plain text
4653 #: build/C/man5/elf.5:1683
4654 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
4655 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
4656
4657 #. type: TP
4658 #: build/C/man5/elf.5:1685
4659 #, no-wrap
4660 msgid "I<st_shndx>"
4661 msgstr "I<st_shndx>"
4662
4663 #.  .El
4664 #. type: Plain text
4665 #: build/C/man5/elf.5:1693
4666 msgid ""
4667 "Every symbol table entry is \"defined\" in relation to some section.  This "
4668 "member holds the relevant section header table index."
4669 msgstr ""
4670 "各シンボルテーブルエントリは、いくつかのセクションに関連して \"定義されている"
4671 "\"。 このメンバは関連するセクションヘッダテーブルインデックスを保持する。"
4672
4673 #. type: Plain text
4674 #: build/C/man5/elf.5:1701
4675 msgid ""
4676 "Relocation is the process of connecting symbolic references with symbolic "
4677 "definitions.  Relocatable files must have information that describes how to "
4678 "modify their section contents, thus allowing executable and shared object "
4679 "files to hold the right information for a process's program image.  "
4680 "Relocation entries are these data."
4681 msgstr ""
4682 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4683 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4684 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4685 "グラムイメージについての正しい情報を持つことができる。 再配置エントリは以下の"
4686 "ようなデータである。"
4687
4688 #. type: Plain text
4689 #: build/C/man5/elf.5:1703
4690 msgid "Relocation structures that do not need an addend:"
4691 msgstr "加数を必要としない再配置構造体。"
4692
4693 #. type: Plain text
4694 #: build/C/man5/elf.5:1710
4695 #, no-wrap
4696 msgid ""
4697 "typedef struct {\n"
4698 "    Elf32_Addr r_offset;\n"
4699 "    uint32_t   r_info;\n"
4700 "} Elf32_Rel;\n"
4701 msgstr ""
4702 "typedef struct {\n"
4703 "    Elf32_Addr r_offset;\n"
4704 "    uint32_t   r_info;\n"
4705 "} Elf32_Rel;\n"
4706
4707 #. type: Plain text
4708 #: build/C/man5/elf.5:1719
4709 #, no-wrap
4710 msgid ""
4711 "typedef struct {\n"
4712 "    Elf64_Addr r_offset;\n"
4713 "    uint64_t   r_info;\n"
4714 "} Elf64_Rel;\n"
4715 msgstr ""
4716 "typedef struct {\n"
4717 "    Elf64_Addr r_offset;\n"
4718 "    uint64_t   r_info;\n"
4719 "} Elf64_Rel;\n"
4720
4721 #. type: Plain text
4722 #: build/C/man5/elf.5:1723
4723 msgid "Relocation structures that need an addend:"
4724 msgstr "加数を必要とする再配置構造体。"
4725
4726 #. type: Plain text
4727 #: build/C/man5/elf.5:1731
4728 #, no-wrap
4729 msgid ""
4730 "typedef struct {\n"
4731 "    Elf32_Addr r_offset;\n"
4732 "    uint32_t   r_info;\n"
4733 "    int32_t    r_addend;\n"
4734 "} Elf32_Rela;\n"
4735 msgstr ""
4736 "typedef struct {\n"
4737 "    Elf32_Addr r_offset;\n"
4738 "    uint32_t   r_info;\n"
4739 "    int32_t    r_addend;\n"
4740 "} Elf32_Rela;\n"
4741
4742 #. type: Plain text
4743 #: build/C/man5/elf.5:1741
4744 #, no-wrap
4745 msgid ""
4746 "typedef struct {\n"
4747 "    Elf64_Addr r_offset;\n"
4748 "    uint64_t   r_info;\n"
4749 "    int64_t    r_addend;\n"
4750 "} Elf64_Rela;\n"
4751 msgstr ""
4752 "typedef struct {\n"
4753 "    Elf64_Addr r_offset;\n"
4754 "    uint64_t   r_info;\n"
4755 "    int64_t    r_addend;\n"
4756 "} Elf64_Rela;\n"
4757
4758 #. type: TP
4759 #: build/C/man5/elf.5:1744
4760 #, no-wrap
4761 msgid "I<r_offset>"
4762 msgstr "I<r_offset>"
4763
4764 #. type: Plain text
4765 #: build/C/man5/elf.5:1752
4766 msgid ""
4767 "This member gives the location at which to apply the relocation action.  For "
4768 "a relocatable file, the value is the byte offset from the beginning of the "
4769 "section to the storage unit affected by the relocation.  For an executable "
4770 "file or shared object, the value is the virtual address of the storage unit "
4771 "affected by the relocation."
4772 msgstr ""
4773 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4774 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4775 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4776 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4777
4778 #. type: TP
4779 #: build/C/man5/elf.5:1752
4780 #, no-wrap
4781 msgid "I<r_info>"
4782 msgstr "I<r_info>"
4783
4784 #. type: Plain text
4785 #: build/C/man5/elf.5:1767
4786 msgid ""
4787 "This member gives both the symbol table index with respect to which the "
4788 "relocation must be made and the type of relocation to apply.  Relocation "
4789 "types are processor-specific.  When the text refers to a relocation entry's "
4790 "relocation type or symbol table index, it means the result of applying "
4791 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4792 "I<r_info> member."
4793 msgstr ""
4794 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4795 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4796 "る。 テキストが再配置エントリの再配置タイプ またはシンボルテーブルインデック"
4797 "スを参照している場合、 それぞれエントリの I<r_info> メンバに対して、それぞれ "
4798 "B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4799
4800 #. type: TP
4801 #: build/C/man5/elf.5:1767
4802 #, no-wrap
4803 msgid "I<r_addend>"
4804 msgstr "I<r_addend>"
4805
4806 #.  .El
4807 #. type: Plain text
4808 #: build/C/man5/elf.5:1772
4809 msgid ""
4810 "This member specifies a constant addend used to compute the value to be "
4811 "stored into the relocatable field."
4812 msgstr ""
4813 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4814 "値を計算するために使われる。"
4815
4816 #. type: Plain text
4817 #: build/C/man5/elf.5:1777
4818 msgid ""
4819 "The .dynamic section contains a series of structures that hold relevant "
4820 "dynamic linking information.  The d_tag member controls the interpretation "
4821 "of d_un."
4822 msgstr ""
4823 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4824 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4825
4826 #. type: Plain text
4827 #: build/C/man5/elf.5:1788
4828 #, no-wrap
4829 msgid ""
4830 "typedef struct {\n"
4831 "    Elf32_Sword    d_tag;\n"
4832 "    union {\n"
4833 "        Elf32_Word d_val;\n"
4834 "        Elf32_Addr d_ptr;\n"
4835 "    } d_un;\n"
4836 "} Elf32_Dyn;\n"
4837 "extern Elf32_Dyn _DYNAMIC[];\n"
4838 msgstr ""
4839 "typedef struct {\n"
4840 "    Elf32_Sword    d_tag;\n"
4841 "    union {\n"
4842 "        Elf32_Word d_val;\n"
4843 "        Elf32_Addr d_ptr;\n"
4844 "    } d_un;\n"
4845 "} Elf32_Dyn;\n"
4846 "extern Elf32_Dyn _DYNAMIC[];\n"
4847
4848 #. type: Plain text
4849 #: build/C/man5/elf.5:1801
4850 #, no-wrap
4851 msgid ""
4852 "typedef struct {\n"
4853 "    Elf64_Sxword    d_tag;\n"
4854 "    union {\n"
4855 "        Elf64_Xword d_val;\n"
4856 "        Elf64_Addr  d_ptr;\n"
4857 "    } d_un;\n"
4858 "} Elf64_Dyn;\n"
4859 "extern Elf64_Dyn _DYNAMIC[];\n"
4860 msgstr ""
4861 "typedef struct {\n"
4862 "    Elf64_Sxword    d_tag;\n"
4863 "    union {\n"
4864 "        Elf64_Xword d_val;\n"
4865 "        Elf64_Addr  d_ptr;\n"
4866 "    } d_un;\n"
4867 "} Elf64_Dyn;\n"
4868 "extern Elf64_Dyn _DYNAMIC[];\n"
4869
4870 #. type: TP
4871 #: build/C/man5/elf.5:1804
4872 #, no-wrap
4873 msgid "I<d_tag>"
4874 msgstr "I<d_tag>"
4875
4876 #.  .Bl -tag -width "DT_SYMBOLIC"
4877 #. type: Plain text
4878 #: build/C/man5/elf.5:1808
4879 msgid "This member may have any of the following values:"
4880 msgstr "このメンバは以下の値を持つことができる:"
4881
4882 #. type: TP
4883 #: build/C/man5/elf.5:1809
4884 #, no-wrap
4885 msgid "B<DT_NULL>"
4886 msgstr "B<DT_NULL>"
4887
4888 #. type: Plain text
4889 #: build/C/man5/elf.5:1812
4890 msgid "Marks end of dynamic section"
4891 msgstr "動的セクションの終りのマーク"
4892
4893 #. type: TP
4894 #: build/C/man5/elf.5:1812
4895 #, no-wrap
4896 msgid "B<DT_NEEDED>"
4897 msgstr "B<DT_NEEDED>"
4898
4899 #. type: Plain text
4900 #: build/C/man5/elf.5:1815
4901 msgid "String table offset to name of a needed library"
4902 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4903
4904 #. type: TP
4905 #: build/C/man5/elf.5:1815
4906 #, no-wrap
4907 msgid "B<DT_PLTRELSZ>"
4908 msgstr "B<DT_PLTRELSZ>"
4909
4910 #. type: Plain text
4911 #: build/C/man5/elf.5:1818
4912 msgid "Size in bytes of PLT relocs"
4913 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4914
4915 #. type: TP
4916 #: build/C/man5/elf.5:1818
4917 #, no-wrap
4918 msgid "B<DT_PLTGOT>"
4919 msgstr "B<DT_PLTGOT>"
4920
4921 #. type: Plain text
4922 #: build/C/man5/elf.5:1821
4923 msgid "Address of PLT and/or GOT"
4924 msgstr "PLT と GOT (または何れか一方) のアドレス"
4925
4926 #. type: TP
4927 #: build/C/man5/elf.5:1821
4928 #, no-wrap
4929 msgid "B<DT_HASH>"
4930 msgstr "B<DT_HASH>"
4931
4932 #. type: Plain text
4933 #: build/C/man5/elf.5:1824
4934 msgid "Address of symbol hash table"
4935 msgstr "シンボルハッシュテーブルのアドレス"
4936
4937 #. type: TP
4938 #: build/C/man5/elf.5:1824
4939 #, no-wrap
4940 msgid "B<DT_STRTAB>"
4941 msgstr "B<DT_STRTAB>"
4942
4943 #. type: Plain text
4944 #: build/C/man5/elf.5:1827
4945 msgid "Address of string table"
4946 msgstr "文字列テーブルのアドレス"
4947
4948 #. type: TP
4949 #: build/C/man5/elf.5:1827
4950 #, no-wrap
4951 msgid "B<DT_SYMTAB>"
4952 msgstr "B<DT_SYMTAB>"
4953
4954 #. type: Plain text
4955 #: build/C/man5/elf.5:1830
4956 msgid "Address of symbol table"
4957 msgstr "シンボルテーブルのアドレス"
4958
4959 #. type: TP
4960 #: build/C/man5/elf.5:1830
4961 #, no-wrap
4962 msgid "B<DT_RELA>"
4963 msgstr "B<DT_RELA>"
4964
4965 #. type: Plain text
4966 #: build/C/man5/elf.5:1833
4967 msgid "Address of Rela relocs table"
4968 msgstr "Rela 再配置テーブルのアドレス"
4969
4970 #. type: TP
4971 #: build/C/man5/elf.5:1833
4972 #, no-wrap
4973 msgid "B<DT_RELASZ>"
4974 msgstr "B<DT_RELASZ>"
4975
4976 #. type: Plain text
4977 #: build/C/man5/elf.5:1836
4978 msgid "Size in bytes of Rela table"
4979 msgstr "Rela テーブルのサイズ (バイト単位)"
4980
4981 #. type: TP
4982 #: build/C/man5/elf.5:1836
4983 #, no-wrap
4984 msgid "B<DT_RELAENT>"
4985 msgstr "B<DT_RELAENT>"
4986
4987 #. type: Plain text
4988 #: build/C/man5/elf.5:1839
4989 msgid "Size in bytes of a Rela table entry"
4990 msgstr "Rela テーブルエントリのサイズ (バイト単位)"
4991
4992 #. type: TP
4993 #: build/C/man5/elf.5:1839
4994 #, no-wrap
4995 msgid "B<DT_STRSZ>"
4996 msgstr "B<DT_STRSZ>"
4997
4998 #. type: Plain text
4999 #: build/C/man5/elf.5:1842
5000 msgid "Size in bytes of string table"
5001 msgstr "文字列テーブルのサイズ (バイト単位)"
5002
5003 #. type: TP
5004 #: build/C/man5/elf.5:1842
5005 #, no-wrap
5006 msgid "B<DT_SYMENT>"
5007 msgstr "B<DT_SYMENT>"
5008
5009 #. type: Plain text
5010 #: build/C/man5/elf.5:1845
5011 msgid "Size in bytes of a symbol table entry"
5012 msgstr "シンボルテーブルエントリのサイズ (バイト単位)"
5013
5014 #. type: TP
5015 #: build/C/man5/elf.5:1845
5016 #, no-wrap
5017 msgid "B<DT_INIT>"
5018 msgstr "B<DT_INIT>"
5019
5020 #. type: Plain text
5021 #: build/C/man5/elf.5:1848
5022 msgid "Address of the initialization function"
5023 msgstr "初期化関数のアドレス"
5024
5025 #. type: TP
5026 #: build/C/man5/elf.5:1848
5027 #, no-wrap
5028 msgid "B<DT_FINI>"
5029 msgstr "B<DT_FINI>"
5030
5031 #. type: Plain text
5032 #: build/C/man5/elf.5:1851
5033 msgid "Address of the termination function"
5034 msgstr "終了関数のアドレス"
5035
5036 #. type: TP
5037 #: build/C/man5/elf.5:1851
5038 #, no-wrap
5039 msgid "B<DT_SONAME>"
5040 msgstr "B<DT_SONAME>"
5041
5042 #. type: Plain text
5043 #: build/C/man5/elf.5:1854
5044 msgid "String table offset to name of shared object"
5045 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5046
5047 #. type: TP
5048 #: build/C/man5/elf.5:1854
5049 #, no-wrap
5050 msgid "B<DT_RPATH>"
5051 msgstr "B<DT_RPATH>"
5052
5053 #. type: Plain text
5054 #: build/C/man5/elf.5:1857
5055 msgid "String table offset to library search path (deprecated)"
5056 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5057
5058 #. type: TP
5059 #: build/C/man5/elf.5:1857
5060 #, no-wrap
5061 msgid "B<DT_SYMBOLIC>"
5062 msgstr "B<DT_SYMBOLIC>"
5063
5064 #. type: Plain text
5065 #: build/C/man5/elf.5:1860
5066 msgid ""
5067 "Alert linker to search this shared object before the executable for symbols"
5068 msgstr ""
5069 "リンカがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場合"
5070 "は、警告を出す。"
5071
5072 #. type: TP
5073 #: build/C/man5/elf.5:1860
5074 #, no-wrap
5075 msgid "B<DT_REL>"
5076 msgstr "B<DT_REL>"
5077
5078 #. type: Plain text
5079 #: build/C/man5/elf.5:1863
5080 msgid "Address of Rel relocs table"
5081 msgstr "Rel 再配置テーブルのアドレス"
5082
5083 #. type: TP
5084 #: build/C/man5/elf.5:1863
5085 #, no-wrap
5086 msgid "B<DT_RELSZ>"
5087 msgstr "B<DT_RELSZ>"
5088
5089 #. type: Plain text
5090 #: build/C/man5/elf.5:1866
5091 msgid "Size in bytes of Rel table"
5092 msgstr "Rel テーブルのサイズ (バイト単位)"
5093
5094 #. type: TP
5095 #: build/C/man5/elf.5:1866
5096 #, no-wrap
5097 msgid "B<DT_RELENT>"
5098 msgstr "B<DT_RELENT>"
5099
5100 #. type: Plain text
5101 #: build/C/man5/elf.5:1869
5102 msgid "Size in bytes of a Rel table entry"
5103 msgstr "Rel テーブルエントリのサイズ (バイト単位)"
5104
5105 #. type: TP
5106 #: build/C/man5/elf.5:1869
5107 #, no-wrap
5108 msgid "B<DT_PLTREL>"
5109 msgstr "B<DT_PLTREL>"
5110
5111 #. type: Plain text
5112 #: build/C/man5/elf.5:1872
5113 msgid "Type of reloc the PLT refers (Rela or Rel)"
5114 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5115
5116 #. type: TP
5117 #: build/C/man5/elf.5:1872
5118 #, no-wrap
5119 msgid "B<DT_DEBUG>"
5120 msgstr "B<DT_DEBUG>"
5121
5122 #. type: Plain text
5123 #: build/C/man5/elf.5:1875
5124 msgid "Undefined use for debugging"
5125 msgstr "デバッグのために使用されている。内容は定義されていない。"
5126
5127 #. type: TP
5128 #: build/C/man5/elf.5:1875
5129 #, no-wrap
5130 msgid "B<DT_TEXTREL>"
5131 msgstr "B<DT_TEXTREL>"
5132
5133 #. type: Plain text
5134 #: build/C/man5/elf.5:1878
5135 msgid ""
5136 "Absence of this indicates no relocs should apply to a nonwritable segment"
5137 msgstr ""
5138 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5139 "い。"
5140
5141 #. type: TP
5142 #: build/C/man5/elf.5:1878
5143 #, no-wrap
5144 msgid "B<DT_JMPREL>"
5145 msgstr "B<DT_JMPREL>"
5146
5147 #. type: Plain text
5148 #: build/C/man5/elf.5:1881
5149 msgid "Address of reloc entries solely for the PLT"
5150 msgstr "PLT 専用の再配置エントリのアドレス"
5151
5152 #. type: TP
5153 #: build/C/man5/elf.5:1881
5154 #, no-wrap
5155 msgid "B<DT_BIND_NOW>"
5156 msgstr "B<DT_BIND_NOW>"
5157
5158 #. type: Plain text
5159 #: build/C/man5/elf.5:1885
5160 msgid ""
5161 "Instruct dynamic linker to process all relocs before transferring control to "
5162 "the executable"
5163 msgstr ""
5164 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカに指"
5165 "示する。"
5166
5167 #. type: TP
5168 #: build/C/man5/elf.5:1885
5169 #, no-wrap
5170 msgid "B<DT_RUNPATH>"
5171 msgstr "B<DT_RUNPATH>"
5172
5173 #. type: Plain text
5174 #: build/C/man5/elf.5:1888
5175 msgid "String table offset to library search path"
5176 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5177
5178 #. type: TP
5179 #: build/C/man5/elf.5:1888
5180 #, no-wrap
5181 msgid "B<DT_LOPROC>"
5182 msgstr "B<DT_LOPROC>"
5183
5184 #. type: Plain text
5185 #: build/C/man5/elf.5:1891
5186 msgid "Start of processor-specific semantics"
5187 msgstr "プロセッサ固有の意味の開始"
5188
5189 #. type: TP
5190 #: build/C/man5/elf.5:1891
5191 #, no-wrap
5192 msgid "B<DT_HIPROC>"
5193 msgstr "B<DT_HIPROC>"
5194
5195 #. type: Plain text
5196 #: build/C/man5/elf.5:1894
5197 msgid "End of processor-specific semantics"
5198 msgstr "プロセッサ固有の意味の終了"
5199
5200 #. type: TP
5201 #: build/C/man5/elf.5:1896
5202 #, no-wrap
5203 msgid "I<d_val>"
5204 msgstr "I<d_val>"
5205
5206 #. type: Plain text
5207 #: build/C/man5/elf.5:1899
5208 msgid "This member represents integer values with various interpretations."
5209 msgstr "このメンバは様々な意味に解釈される整数値である。"
5210
5211 #. type: TP
5212 #: build/C/man5/elf.5:1899
5213 #, no-wrap
5214 msgid "I<d_ptr>"
5215 msgstr "I<d_ptr>"
5216
5217 #. type: Plain text
5218 #: build/C/man5/elf.5:1907
5219 msgid ""
5220 "This member represents program virtual addresses.  When interpreting these "
5221 "addresses, the actual address should be computed based on the original file "
5222 "value and memory base address.  Files do not contain relocation entries to "
5223 "fixup these addresses."
5224 msgstr ""
5225 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5226 "に、 実際のアドレスは元々のファイルの値と メモリの基底アドレスから計算され"
5227 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリを含めてはな"
5228 "らない。"
5229
5230 #. type: TP
5231 #: build/C/man5/elf.5:1907
5232 #, no-wrap
5233 msgid "I<_DYNAMIC>"
5234 msgstr "I<_DYNAMIC>"
5235
5236 #.  .El
5237 #. type: Plain text
5238 #: build/C/man5/elf.5:1912
5239 msgid ""
5240 "Array containing all the dynamic structures in the .dynamic section.  This "
5241 "is automatically populated by the linker."
5242 msgstr ""
5243 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリンカ"
5244 "に渡される。"
5245
5246 #.  OpenBSD
5247 #.  ELF support first appeared in
5248 #.  OpenBSD 1.2,
5249 #.  although not all supported platforms use it as the native
5250 #.  binary file format.
5251 #. type: Plain text
5252 #: build/C/man5/elf.5:1921
5253 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
5254 msgstr ""
5255 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5256 "ELF フォーマットは採択された標準である。"
5257
5258 #.  .SH AUTHORS
5259 #.  The original version of this manual page was written by
5260 #.  .An Jeroen Ruigrok van der Werven
5261 #.  .Aq asmodai@FreeBSD.org
5262 #.  with inspiration from BSDi's
5263 #.  .Bsx
5264 #.  .Nm elf
5265 #.  man page.
5266 #. type: Plain text
5267 #: build/C/man5/elf.5:1939
5268 msgid ""
5269 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5270 "Linux extensions.  Sun, BSD and AMD64 also support them; for further "
5271 "information, look under SEE ALSO."
5272 msgstr ""
5273 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5274 "で\n"
5275 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5276
5277 #. type: Plain text
5278 #: build/C/man5/elf.5:1946
5279 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5280 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5281
5282 #. type: Plain text
5283 #: build/C/man5/elf.5:1949
5284 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5285 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5286
5287 #. type: Plain text
5288 #: build/C/man5/elf.5:1952
5289 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5290 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5291
5292 #. type: Plain text
5293 #: build/C/man5/elf.5:1956
5294 msgid ""
5295 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5296 "(ELF)>."
5297 msgstr ""
5298 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5299 "(ELF)>."
5300
5301 #. type: Plain text
5302 #: build/C/man5/elf.5:1959
5303 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5304 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5305
5306 #. type: Plain text
5307 #: build/C/man5/elf.5:1962
5308 msgid ""
5309 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5310 "Processor Supplement>."
5311 msgstr ""
5312 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5313 "Processor Supplement>."
5314
5315 #. type: TH
5316 #: build/C/man3/end.3:26
5317 #, no-wrap
5318 msgid "END"
5319 msgstr "END"
5320
5321 #. type: TH
5322 #: build/C/man3/end.3:26
5323 #, no-wrap
5324 msgid "2008-07-17"
5325 msgstr "2008-07-17"
5326
5327 #. type: Plain text
5328 #: build/C/man3/end.3:29
5329 msgid "etext, edata, end - end of program segments"
5330 msgstr "etext, edata, end - プログラムセグメントの終わり"
5331
5332 #. type: Plain text
5333 #: build/C/man3/end.3:34
5334 #, no-wrap
5335 msgid ""
5336 "B<extern>I< etext>B<;>\n"
5337 "B<extern>I< edata>B<;>\n"
5338 "B<extern>I< end>B<;>\n"
5339 msgstr ""
5340 "B<extern>I< etext>B<;>\n"
5341 "B<extern>I< edata>B<;>\n"
5342 "B<extern>I< end>B<;>\n"
5343
5344 #. type: Plain text
5345 #: build/C/man3/end.3:38
5346 msgid ""
5347 "The addresses of these symbols indicate the end of various program segments:"
5348 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5349
5350 #. type: TP
5351 #: build/C/man3/end.3:38
5352 #, no-wrap
5353 msgid "I<etext>"
5354 msgstr "I<etext>"
5355
5356 #. type: Plain text
5357 #: build/C/man3/end.3:42
5358 msgid ""
5359 "This is the first address past the end of the text segment (the program "
5360 "code)."
5361 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5362
5363 #. type: TP
5364 #: build/C/man3/end.3:42
5365 #, no-wrap
5366 msgid "I<edata>"
5367 msgstr "I<edata>"
5368
5369 #. type: Plain text
5370 #: build/C/man3/end.3:46
5371 msgid "This is the first address past the end of the initialized data segment."
5372 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5373
5374 #. type: TP
5375 #: build/C/man3/end.3:46
5376 #, no-wrap
5377 msgid "I<end>"
5378 msgstr "I<end>"
5379
5380 #. type: Plain text
5381 #: build/C/man3/end.3:50
5382 msgid ""
5383 "This is the first address past the end of the uninitialized data segment "
5384 "(also known as the BSS segment)."
5385 msgstr ""
5386 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
5387 "のアドレス。"
5388
5389 #. type: Plain text
5390 #: build/C/man3/end.3:53
5391 msgid ""
5392 "Although these symbols have long been provided on most UNIX systems, they "
5393 "are not standardized; use with caution."
5394 msgstr ""
5395 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5396 "てはいない。注意して使うこと。"
5397
5398 #. type: Plain text
5399 #: build/C/man3/end.3:56
5400 msgid ""
5401 "The program must explicitly declare these symbols; they are not defined in "
5402 "any header file."
5403 msgstr ""
5404 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5405 "ヘッダファイルでも定義されていない。"
5406
5407 #. type: Plain text
5408 #: build/C/man3/end.3:64
5409 msgid ""
5410 "On some systems the names of these symbols are preceded by underscores, "
5411 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
5412 "programs compiled on Linux."
5413 msgstr ""
5414 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5415 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5416 "ログラムでは、 これらのシンボルでも定義される。"
5417
5418 #. type: Plain text
5419 #: build/C/man3/end.3:76
5420 msgid ""
5421 "At the start of program execution, the program break will be somewhere near "
5422 "I<&end> (perhaps at the start of the following page).  However, the break "
5423 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
5424 "B<sbrk>(2)  with an argument of zero to find the current value of the "
5425 "program break."
5426 msgstr ""
5427 "プログラムの実行開始時に、プログラム・ブレークは I<&end> の近くのどこか (おそ"
5428 "らく次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  で"
5429 "メモリが割り当てられるに連れて、プログラム・ブレークは変化していく。 引き数"
5430 "に 0 を指定して B<sbrk>(2)  を呼び出すことで、プログラム・ブレークの現在値を"
5431 "知ることができる。"
5432
5433 #. type: Plain text
5434 #: build/C/man3/end.3:78
5435 msgid "When run, the program below produces output such as the following:"
5436 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5437
5438 #. type: Plain text
5439 #: build/C/man3/end.3:86
5440 #, no-wrap
5441 msgid ""
5442 "$B< ./a.out>\n"
5443 "First address past:\n"
5444 "    program text (etext)       0x8048568\n"
5445 "    initialized data (edata)   0x804a01c\n"
5446 "    uninitialized data (end)   0x804a024\n"
5447 msgstr ""
5448 "$B< ./a.out>\n"
5449 "First address past:\n"
5450 "    program text (etext)       0x8048568\n"
5451 "    initialized data (edata)   0x804a01c\n"
5452 "    uninitialized data (end)   0x804a024\n"
5453
5454 #. type: SS
5455 #: build/C/man3/end.3:88 build/C/man1/memusage.1:234
5456 #, no-wrap
5457 msgid "Program source"
5458 msgstr "プログラムのソース"
5459
5460 #. type: Plain text
5461 #: build/C/man3/end.3:93 build/C/man1/memusage.1:238
5462 #, no-wrap
5463 msgid ""
5464 "#include E<lt>stdio.hE<gt>\n"
5465 "#include E<lt>stdlib.hE<gt>\n"
5466 msgstr ""
5467 "#include E<lt>stdio.hE<gt>\n"
5468 "#include E<lt>stdlib.hE<gt>\n"
5469
5470 #. type: Plain text
5471 #: build/C/man3/end.3:96
5472 #, no-wrap
5473 msgid ""
5474 "extern char etext, edata, end; /* The symbols must have some type,\n"
5475 "                                   or \"gcc -Wall\" complains */\n"
5476 msgstr ""
5477 "extern char etext, edata, end; /* The symbols must have some type,\n"
5478 "                                   or \"gcc -Wall\" complains */\n"
5479
5480 #. type: Plain text
5481 #: build/C/man3/end.3:104
5482 #, no-wrap
5483 msgid ""
5484 "int\n"
5485 "main(int argc, char *argv[])\n"
5486 "{\n"
5487 "    printf(\"First address past:\\en\");\n"
5488 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5489 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5490 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5491 msgstr ""
5492 "int\n"
5493 "main(int argc, char *argv[])\n"
5494 "{\n"
5495 "    printf(\"First address past:\\en\");\n"
5496 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
5497 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
5498 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
5499
5500 #. type: Plain text
5501 #: build/C/man3/end.3:113
5502 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5503 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5504
5505 #. type: TH
5506 #: build/C/man8/ld.so.8:5
5507 #, no-wrap
5508 msgid "LD.SO"
5509 msgstr "LD.SO"
5510
5511 #. type: TH
5512 #: build/C/man8/ld.so.8:5
5513 #, no-wrap
5514 msgid "2014-12-31"
5515 msgstr "2014-12-31"
5516
5517 #. type: Plain text
5518 #: build/C/man8/ld.so.8:8
5519 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5520 msgstr "ld.so, ld-linux.so* - 動的なリンカ/ローダ"
5521
5522 #. type: Plain text
5523 #: build/C/man8/ld.so.8:15
5524 msgid ""
5525 "The dynamic linker can be run either indirectly by running some dynamically "
5526 "linked program or library (in which case no command-line options to the "
5527 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5528 "is stored in the B<.interp> section of the program is executed) or directly "
5529 "by running:"
5530 msgstr ""
5531 "動的リンカは、動的にリンクされたプログラムやライブラリの実行によって 間接的に"
5532 "実行することができる (ELF の場合、動的リンカにコマンドラインオプションを渡す"
5533 "ことはできず、 プログラムの B<.interp> セクションに入っている動的リンカが実行"
5534 "される)。 また以下のように直接実行することもできる"
5535
5536 #. type: Plain text
5537 #: build/C/man8/ld.so.8:18
5538 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5539 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5540
5541 #. type: Plain text
5542 #: build/C/man8/ld.so.8:25
5543 msgid ""
5544 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5545 "needed by a program, prepare the program to run, and then run it."
5546 msgstr ""
5547 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5548 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5549
5550 #. type: Plain text
5551 #: build/C/man8/ld.so.8:32
5552 msgid ""
5553 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
5554 "static> option was given to B<ld>(1)  during compilation."
5555 msgstr ""
5556 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
5557 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5558
5559 #. type: Plain text
5560 #: build/C/man8/ld.so.8:45
5561 msgid ""
5562 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5563 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5564 "so.2> for glibc2), which everybody has been using for years now.  Otherwise, "
5565 "both have the same behavior, and use the same support files and programs "
5566 "B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
5567 msgstr ""
5568 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5569 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5570 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
5571 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5572 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5573 "so.conf> を使用する。"
5574
5575 #. type: Plain text
5576 #: build/C/man8/ld.so.8:53
5577 msgid ""
5578 "When resolving library dependencies, the dynamic linker first inspects each "
5579 "dependency string to see if it contains a slash (this can occur if a library "
5580 "pathname containing slashes was specified at link time).  If a slash is "
5581 "found, then the dependency string is interpreted as a (relative or absolute) "
5582 "pathname, and the library is loaded using that pathname."
5583 msgstr ""
5584 "ライブラリの依存関係を解決する際、動的リンカは、最初に、依存関係の各文字列が"
5585 "スラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にスラッ"
5586 "シュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかった場"
5587 "合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として解釈"
5588 "され、そのパス名を使ってそのライブラリはロードされる。"
5589
5590 #. type: Plain text
5591 #: build/C/man8/ld.so.8:56
5592 msgid ""
5593 "If a library dependency does not contain a slash, then it is searched for in "
5594 "the following order:"
5595 msgstr ""
5596 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5597
5598 #. type: Plain text
5599 #: build/C/man8/ld.so.8:61
5600 msgid ""
5601 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5602 "attribute of the binary if present and DT_RUNPATH attribute does not exist.  "
5603 "Use of DT_RPATH is deprecated."
5604 msgstr ""
5605 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5606 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5607 "の使用は推奨されない。"
5608
5609 #. type: Plain text
5610 #: build/C/man8/ld.so.8:66
5611 msgid ""
5612 "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the executable "
5613 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5614 msgstr ""
5615 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5616 "group-ID バイナリの場合、 これは無視される。"
5617
5618 #. type: Plain text
5619 #: build/C/man8/ld.so.8:70
5620 msgid ""
5621 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5622 "attribute of the binary if present."
5623 msgstr ""
5624 "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5625 "DT_RUNPATH で指定されたディレクトリを使用する。"
5626
5627 #. type: Plain text
5628 #: build/C/man8/ld.so.8:80
5629 msgid ""
5630 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5631 "candidate libraries previously found in the augmented library path.  If, "
5632 "however, the binary was linked with the B<-z nodeflib> linker option, "
5633 "libraries in the default library paths are skipped.  Libraries installed in "
5634 "hardware capability directories (see below)  are preferred to other "
5635 "libraries."
5636 msgstr ""
5637 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5638 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5639 "イルの情報を集めたものである。ただし、バイナリがリンカオプション B<-z "
5640 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5641 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5642 "れたライブラリは、他のライブラリよりも優先される。"
5643
5644 #. type: Plain text
5645 #: build/C/man8/ld.so.8:88
5646 msgid ""
5647 "In the default path I</lib>, and then I</usr/lib>.  If the binary was linked "
5648 "with the B<-z nodeflib> linker option, this step is skipped."
5649 msgstr ""
5650 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリンカ"
5651 "オプション B<-z nodeflib> でリンクされている場合、このステップはスキップされ"
5652 "る。"
5653
5654 #. type: SS
5655 #: build/C/man8/ld.so.8:88
5656 #, no-wrap
5657 msgid "Rpath token expansion"
5658 msgstr "rpath トークンの展開"
5659
5660 #. type: Plain text
5661 #: build/C/man8/ld.so.8:92
5662 msgid ""
5663 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5664 "DT_RUNPATH); those strings are substituted as follows"
5665 msgstr ""
5666 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5667 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5668
5669 #. type: TP
5670 #: build/C/man8/ld.so.8:92
5671 #, no-wrap
5672 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5673 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5674
5675 #. type: Plain text
5676 #: build/C/man8/ld.so.8:99
5677 msgid ""
5678 "This expands to the directory containing the program or shared library.  "
5679 "Thus, an application located in I<somedir/app> could be compiled with"
5680 msgstr ""
5681 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
5682 "て、 I<somedir/app> に置かれたアプリケーションを"
5683
5684 #. type: Plain text
5685 #: build/C/man8/ld.so.8:101
5686 #, no-wrap
5687 msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5688 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5689
5690 #. type: Plain text
5691 #: build/C/man8/ld.so.8:111
5692 msgid ""
5693 "so that it finds an associated shared library in I<somedir/lib> no matter "
5694 "where I<somedir> is located in the directory hierarchy.  This facilitates "
5695 "the creation of \"turn-key\" applications that do not need to be installed "
5696 "into special directories, but can instead be unpacked into any directory and "
5697 "still find their own shared libraries."
5698 msgstr ""
5699 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5700 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5701 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5702 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5703 "ションを作成することができる。"
5704
5705 #. type: TP
5706 #: build/C/man8/ld.so.8:111
5707 #, no-wrap
5708 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5709 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5710
5711 #. type: Plain text
5712 #: build/C/man8/ld.so.8:123
5713 msgid ""
5714 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5715 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5716 msgstr ""
5717 "アーキテクチャに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 では "
5718 "I<lib64> に、 x86-32 では I<lib> に展開される)。"
5719
5720 #. type: TP
5721 #: build/C/man8/ld.so.8:123
5722 #, no-wrap
5723 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5724 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5725
5726 #
5727 #
5728 #.  To get an idea of the places that $PLATFORM would match,
5729 #.  look at the output of the following:
5730 #.      mkdir /tmp/d
5731 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5732 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5733 #.  Don't do this!!
5734 #. type: Plain text
5735 #: build/C/man8/ld.so.8:141
5736 msgid ""
5737 "This expands to a string corresponding to the processor type of the host "
5738 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
5739 "provide a platform string to the dynamic linker.  The value of this string "
5740 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5741 "B<getauxval>(3))."
5742 msgstr ""
5743 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5744 "\"x86_64\")。\n"
5745 "いくつかのアーキテクチャでは、 Linux カーネルから動的リンカにプラットフォーム"
5746 "を表す文字列が提供されない。 この文字列の値は補助ベクトルの B<AT_PLATFORM> 値"
5747 "から取得される (B<getauxval>(3) 参照)。"
5748
5749 #. type: SH
5750 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5751 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47
5752 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
5753 #, no-wrap
5754 msgid "OPTIONS"
5755 msgstr "オプション"
5756
5757 #. type: TP
5758 #: build/C/man8/ld.so.8:142
5759 #, no-wrap
5760 msgid "B<--list>"
5761 msgstr "B<--list>"
5762
5763 #. type: Plain text
5764 #: build/C/man8/ld.so.8:145
5765 msgid "List all dependencies and how they are resolved."
5766 msgstr "全ての依存関係とその解決法をリストする。"
5767
5768 #. type: TP
5769 #: build/C/man8/ld.so.8:145
5770 #, no-wrap
5771 msgid "B<--verify>"
5772 msgstr "B<--verify>"
5773
5774 #. type: Plain text
5775 #: build/C/man8/ld.so.8:149
5776 msgid ""
5777 "Verify that program is dynamically linked and this dynamic linker can handle "
5778 "it."
5779 msgstr ""
5780 "プログラムが動的にリンクされているかと、 動的リンカがそのプログラムを扱えるか"
5781 "を検証する。"
5782
5783 #. type: TP
5784 #: build/C/man8/ld.so.8:149
5785 #, no-wrap
5786 msgid "B<--inhibit-cache>"
5787 msgstr "B<--inhibit-cache>"
5788
5789 #. type: Plain text
5790 #: build/C/man8/ld.so.8:152
5791 msgid "Do not use /etc/ld.so.cache."
5792 msgstr "/etc/ld.so.cache を使用しない。"
5793
5794 #. type: TP
5795 #: build/C/man8/ld.so.8:152
5796 #, no-wrap
5797 msgid "B<--library-path PATH>"
5798 msgstr "B<--library-path PATH>"
5799
5800 #. type: Plain text
5801 #: build/C/man8/ld.so.8:157
5802 msgid ""
5803 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5804 "below)."
5805 msgstr ""
5806 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5807 "指定した PATH を使用する (下記参照)。"
5808
5809 #. type: TP
5810 #: build/C/man8/ld.so.8:157
5811 #, no-wrap
5812 msgid "B<--inhibit-rpath LIST>"
5813 msgstr "B<--inhibit-rpath LIST>"
5814
5815 #. type: Plain text
5816 #: build/C/man8/ld.so.8:163
5817 msgid ""
5818 "Ignore RPATH and RUNPATH information in object names in LIST.  This option "
5819 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5820 msgstr ""
5821 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5822 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5823
5824 #. type: TP
5825 #: build/C/man8/ld.so.8:163
5826 #, no-wrap
5827 msgid "B<--audit LIST>"
5828 msgstr "B<--audit LIST>"
5829
5830 #. type: Plain text
5831 #: build/C/man8/ld.so.8:166
5832 msgid "Use objects named in LIST as auditors."
5833 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5834
5835 #. type: SH
5836 #: build/C/man8/ld.so.8:166
5837 #, no-wrap
5838 msgid "HARDWARE CAPABILITIES"
5839 msgstr "ハードウェア機能"
5840
5841 #. type: Plain text
5842 #: build/C/man8/ld.so.8:177
5843 msgid ""
5844 "Some libraries are compiled using hardware-specific instructions which do "
5845 "not exist on every CPU.  Such libraries should be installed in directories "
5846 "whose names define the required hardware capabilities, such as I</usr/lib/"
5847 "sse2/>.  The dynamic linker checks these directories against the hardware of "
5848 "the machine and selects the most suitable version of a given library.  "
5849 "Hardware capability directories can be cascaded to combine CPU features.  "
5850 "The list of supported hardware capability names depends on the CPU.  The "
5851 "following names are currently recognized:"
5852 msgstr ""
5853 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5854 "有\n"
5855 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5856 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5857 "規\n"
5858 "定する名前のディレクトリにインストールすべきである。\n"
5859 "動的リンカは、マシンのハードウェアに基づいてこれらのディレクトリを確認し、\n"
5860 "指定されたライブラリに最も適したバージョンを選択する。\n"
5861 "ハードウェア機能ディレクトリはつなげることができ、\n"
5862 "複数の CPU 機能を組み合わることができる。\n"
5863 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5864 "現在のところ、以下の名前が認識される。"
5865
5866 #. type: TP
5867 #: build/C/man8/ld.so.8:177
5868 #, no-wrap
5869 msgid "B<Alpha>"
5870 msgstr "B<Alpha>"
5871
5872 #. type: Plain text
5873 #: build/C/man8/ld.so.8:180
5874 msgid "ev4, ev5, ev56, ev6, ev67"
5875 msgstr "ev4, ev5, ev56, ev6, ev67"
5876
5877 #. type: TP
5878 #: build/C/man8/ld.so.8:180
5879 #, no-wrap
5880 msgid "B<MIPS>"
5881 msgstr "B<MIPS>"
5882
5883 #. type: Plain text
5884 #: build/C/man8/ld.so.8:183
5885 msgid "loongson2e, loongson2f, octeon, octeon2"
5886 msgstr "loongson2e, loongson2f, octeon, octeon2"
5887
5888 #. type: TP
5889 #: build/C/man8/ld.so.8:183
5890 #, no-wrap
5891 msgid "B<PowerPC>"
5892 msgstr "B<PowerPC>"
5893
5894 #. type: Plain text
5895 #: build/C/man8/ld.so.8:188
5896 msgid ""
5897 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5898 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5899 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5900 msgstr ""
5901 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5902 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5903 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5904
5905 #. type: TP
5906 #: build/C/man8/ld.so.8:188
5907 #, no-wrap
5908 msgid "B<SPARC>"
5909 msgstr "B<SPARC>"
5910
5911 #. type: Plain text
5912 #: build/C/man8/ld.so.8:191
5913 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5914 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5915
5916 #. type: TP
5917 #: build/C/man8/ld.so.8:191
5918 #, no-wrap
5919 msgid "B<s390>"
5920 msgstr "B<s390>"
5921
5922 #. type: Plain text
5923 #: build/C/man8/ld.so.8:195
5924 msgid ""
5925 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5926 "z990, z9-109, z10, zarch"
5927 msgstr ""
5928 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5929 "z990, z9-109, z10, zarch"
5930
5931 #. type: TP
5932 #: build/C/man8/ld.so.8:195
5933 #, no-wrap
5934 msgid "B<x86 (32-bit only)>"
5935 msgstr "B<x86 (32-bit のみ)>"
5936
5937 #. type: Plain text
5938 #: build/C/man8/ld.so.8:199
5939 msgid ""
5940 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5941 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5942 msgstr ""
5943 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5944 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5945
5946 #. type: SH
5947 #: build/C/man8/ld.so.8:199
5948 #, no-wrap
5949 msgid "ENVIRONMENT"
5950 msgstr "環境変数"
5951
5952 #. type: Plain text
5953 #: build/C/man8/ld.so.8:201
5954 msgid "Among the more important environment variables are the following:"
5955 msgstr "重要な環境変数には以下のものがある。"
5956
5957 #. type: TP
5958 #: build/C/man8/ld.so.8:201
5959 #, no-wrap
5960 msgid "B<LD_ASSUME_KERNEL>"
5961 msgstr "B<LD_ASSUME_KERNEL>"
5962
5963 #. type: Plain text
5964 #: build/C/man8/ld.so.8:214
5965 msgid ""
5966 "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
5967 "the minimum kernel ABI version that it requires.  (This requirement is "
5968 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5969 "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
5970 "determines the ABI version of the running kernel and will reject loading "
5971 "shared libraries that specify minimum ABI versions that exceed that ABI "
5972 "version."
5973 msgstr ""
5974 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカに必要なカーネル ABI の最小"
5975 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5976 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5977 "て見ることができる)。 実行時に、 動的リンカは実行中のカーネルの ABI バージョ"
5978 "ンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが指定"
5979 "された共有ライブラリのロードを行わない。"
5980
5981 #. type: Plain text
5982 #: build/C/man8/ld.so.8:223
5983 msgid ""
5984 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5985 "it is running on a system with a different kernel ABI version.  For example, "
5986 "the following command line causes the dynamic linker to assume it is running "
5987 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
5988 msgstr ""
5989 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカに、 異なるカーネル ABI バージョ"
5990 "ンのシステムで実行されているかのように見せることができる。 例えば、 以下のコ"
5991 "マンドラインを実行すると、 動的リンカは I<myprog> が必要とする共有ライブラリ"
5992 "をロードする際に Linux 2.2.5 上で動作していると仮定する。"
5993
5994 #. type: Plain text
5995 #: build/C/man8/ld.so.8:227
5996 #, no-wrap
5997 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
5998 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
5999
6000 #. type: Plain text
6001 #: build/C/man8/ld.so.8:244
6002 msgid ""
6003 "On systems that provide multiple versions of a shared library (in different "
6004 "directories in the search path) that have different minimum kernel ABI "
6005 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
6006 "of the library that is used (dependent on the directory search order).  "
6007 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
6008 "manually select the older LinuxThreads POSIX threads implementation on "
6009 "systems that provided both LinuxThreads and NPTL (which latter was typically "
6010 "the default on such systems); see B<pthreads>(7)."
6011 msgstr ""
6012 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
6013 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
6014 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
6015 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
6016 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
6017 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
6018 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
6019
6020 #. type: TP
6021 #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325
6022 #, no-wrap
6023 msgid "B<LD_BIND_NOT>"
6024 msgstr "B<LD_BIND_NOT>"
6025
6026 #. type: Plain text
6027 #: build/C/man8/ld.so.8:249
6028 msgid ""
6029 "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and Procedure "
6030 "Linkage Table (PLT)  when resolving a symbol."
6031 msgstr ""
6032 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
6033 "Procedure Linkage Table (PLT) を更新しない。"
6034
6035 #. type: TP
6036 #: build/C/man8/ld.so.8:249
6037 #, no-wrap
6038 msgid "B<LD_BIND_NOW>"
6039 msgstr "B<LD_BIND_NOW>"
6040
6041 #. type: Plain text
6042 #: build/C/man8/ld.so.8:257
6043 msgid ""
6044 "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the dynamic "
6045 "linker to resolve all symbols at program startup instead of deferring "
6046 "function call resolution to the point when they are first referenced.  This "
6047 "is useful when using a debugger."
6048 msgstr ""
6049 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカはプログラムの開始"
6050 "時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼び"
6051 "出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6052
6053 #. type: TP
6054 #: build/C/man8/ld.so.8:257
6055 #, no-wrap
6056 msgid "B<LD_LIBRARY_PATH>"
6057 msgstr "B<LD_LIBRARY_PATH>"
6058
6059 #. type: Plain text
6060 #: build/C/man8/ld.so.8:265
6061 msgid ""
6062 "A colon-separated list of directories in which to search for ELF libraries "
6063 "at execution-time.  Similar to the B<PATH> environment variable.  Ignored in "
6064 "set-user-ID and set-group-ID programs."
6065 msgstr ""
6066 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6067 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6068 "group-ID されたプログラムでは無視される。"
6069
6070 #. type: TP
6071 #: build/C/man8/ld.so.8:265
6072 #, no-wrap
6073 msgid "B<LD_PRELOAD>"
6074 msgstr "B<LD_PRELOAD>"
6075
6076 #. type: Plain text
6077 #: build/C/man8/ld.so.8:276
6078 msgid ""
6079 "A list of additional, user-specified, ELF shared libraries to be loaded "
6080 "before all others.  The items of the list can be separated by spaces or "
6081 "colons.  This can be used to selectively override functions in other shared "
6082 "libraries.  The libraries are searched for using the rules given under "
6083 "DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6084 "containing slashes are ignored, and libraries in the standard search "
6085 "directories are loaded only if the set-user-ID permission bit is enabled on "
6086 "the library file."
6087 msgstr ""
6088 "追加でユーザが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、す"
6089 "べてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6090 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6091 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6092 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6093 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6094 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6095
6096 #. type: TP
6097 #: build/C/man8/ld.so.8:276
6098 #, no-wrap
6099 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6100 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6101
6102 #. type: Plain text
6103 #: build/C/man8/ld.so.8:283
6104 msgid ""
6105 "(ELF only)  If set to a nonempty string, causes the program to list its "
6106 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6107 "normally."
6108 msgstr ""
6109 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6110 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6111
6112 #. type: Plain text
6113 #: build/C/man8/ld.so.8:286
6114 msgid ""
6115 "Then there are lots of more or less obscure variables, many obsolete or only "
6116 "for internal use."
6117 msgstr ""
6118 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6119 "でのみ使用される環境変数である。"
6120
6121 #. type: TP
6122 #: build/C/man8/ld.so.8:286
6123 #, no-wrap
6124 msgid "B<LD_AOUT_LIBRARY_PATH>"
6125 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6126
6127 #. type: Plain text
6128 #: build/C/man8/ld.so.8:294
6129 msgid ""
6130 "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
6131 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6132 msgstr ""
6133 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6134 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6135 "トしていた。"
6136
6137 #. type: TP
6138 #: build/C/man8/ld.so.8:294
6139 #, no-wrap
6140 msgid "B<LD_AOUT_PRELOAD>"
6141 msgstr "B<LD_AOUT_PRELOAD>"
6142
6143 #. type: Plain text
6144 #: build/C/man8/ld.so.8:302
6145 msgid ""
6146 "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions of "
6147 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6148 msgstr ""
6149 "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6150 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6151 "た。"
6152
6153 #. type: TP
6154 #: build/C/man8/ld.so.8:302
6155 #, no-wrap
6156 msgid "B<LD_AUDIT>"
6157 msgstr "B<LD_AUDIT>"
6158
6159 #. type: Plain text
6160 #: build/C/man8/ld.so.8:312
6161 msgid ""
6162 "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
6163 "objects to be loaded before all others in a separate linker namespace (i.e., "
6164 "one that does not intrude upon the normal symbol bindings that would occur "
6165 "in the process).  These libraries can be used to audit the operation of the "
6166 "dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6167 "binaries."
6168 msgstr ""
6169 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカ名前空間 (そのプロセ"
6170 "スで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) で "
6171 "ロードされる、ユーザ指定の ELF 共有オブジェクトのコロン区切りのリスト。 これ"
6172 "らのライブラリを使って、動的リンカの動作を監査することができる。 set-user-ID/"
6173 "set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6174
6175 #. type: Plain text
6176 #: build/C/man8/ld.so.8:325
6177 msgid ""
6178 "The dynamic linker will notify the audit libraries at so-called auditing "
6179 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6180 "calling a symbol from another shared object\\(emby calling an appropriate "
6181 "function within the audit library.  For details, see B<rtld-audit>(7).  The "
6182 "auditing interface is largely compatible with that provided on Solaris, as "
6183 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6184 "Linker Auditing Interface>."
6185 msgstr ""
6186 "動的リンカは、いわゆる監査チェックポイント (auditing checkpoints)  において、"
6187 "監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの通知"
6188 "を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シンボル"
6189 "の解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細は "
6190 "B<rtld-audit>(7)  を参照してほしい。 audit インタフェースは、Solaris で提供さ"
6191 "れているものと 大部分は互換性がある。Solaris の audit インタフェースについて"
6192 "は、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing Interface> の"
6193 "章に説明がある。"
6194
6195 #. type: Plain text
6196 #: build/C/man8/ld.so.8:330
6197 msgid ""
6198 "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
6199 "(procedure linkage table)  after resolving a symbol."
6200 msgstr ""
6201 "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と PLT "
6202 "(procedure linkage table) を更新しない。"
6203
6204 #. type: TP
6205 #: build/C/man8/ld.so.8:330
6206 #, no-wrap
6207 msgid "B<LD_DEBUG>"
6208 msgstr "B<LD_DEBUG>"
6209
6210 #. type: Plain text
6211 #: build/C/man8/ld.so.8:343
6212 msgid ""
6213 "(glibc since 2.1)  Output verbose debugging information about the dynamic "
6214 "linker.  If set to B<all> prints all debugging information it has, if set to "
6215 "B<help> prints a help message about which categories can be specified in "
6216 "this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6217 "set-user-ID/set-group-ID binaries."
6218 msgstr ""
6219 "(glibc 2.1 以降)  動的リンカの詳細なデバッグ情報を出力する。 B<all> に設定し"
6220 "た場合、全ての動的リンカが持つデバッグ情報を表示する。 B<help> に設定した場"
6221 "合、この環境変数で指定されるカテゴリのヘルプ情報を表示する。 glibc 2.3.4 以"
6222 "降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6223
6224 #. type: TP
6225 #: build/C/man8/ld.so.8:343
6226 #, no-wrap
6227 msgid "B<LD_DEBUG_OUTPUT>"
6228 msgstr "B<LD_DEBUG_OUTPUT>"
6229
6230 #. type: Plain text
6231 #: build/C/man8/ld.so.8:352
6232 msgid ""
6233 "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  The "
6234 "default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6235 "set-group-ID binaries."
6236 msgstr ""
6237 "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6238 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6239 "B<LD_DEBUG_OUTPUT> は無視される。"
6240
6241 #. type: TP
6242 #: build/C/man8/ld.so.8:352
6243 #, no-wrap
6244 msgid "B<LD_DYNAMIC_WEAK>"
6245 msgstr "B<LD_DYNAMIC_WEAK>"
6246
6247 #. type: Plain text
6248 #: build/C/man8/ld.so.8:359
6249 msgid ""
6250 "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to old "
6251 "glibc behavior).  For security reasons, since glibc 2.3.4, "
6252 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6253 msgstr ""
6254 "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6255 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6256 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6257
6258 #. type: TP
6259 #: build/C/man8/ld.so.8:359
6260 #, no-wrap
6261 msgid "B<LD_HWCAP_MASK>"
6262 msgstr "B<LD_HWCAP_MASK>"
6263
6264 #. type: Plain text
6265 #: build/C/man8/ld.so.8:363
6266 msgid "(glibc since 2.1)  Mask for hardware capabilities."
6267 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
6268
6269 #. type: TP
6270 #: build/C/man8/ld.so.8:363
6271 #, no-wrap
6272 msgid "B<LD_KEEPDIR>"
6273 msgstr "B<LD_KEEPDIR>"
6274
6275 #. type: Plain text
6276 #: build/C/man8/ld.so.8:368
6277 msgid ""
6278 "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
6279 "libraries to be loaded.  Use of this option is strongly discouraged."
6280 msgstr ""
6281 "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクトリ"
6282 "を無視しない。 このオプションは用いるべきではない。"
6283
6284 #. type: TP
6285 #: build/C/man8/ld.so.8:368
6286 #, no-wrap
6287 msgid "B<LD_NOWARN>"
6288 msgstr "B<LD_NOWARN>"
6289
6290 #. type: Plain text
6291 #: build/C/man8/ld.so.8:373
6292 msgid ""
6293 "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
6294 "incompatible minor version numbers."
6295 msgstr ""
6296 "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互換"
6297 "に 対する警告メッセージを抑制する。"
6298
6299 #. type: TP
6300 #: build/C/man8/ld.so.8:373
6301 #, no-wrap
6302 msgid "B<LD_ORIGIN_PATH>"
6303 msgstr "B<LD_ORIGIN_PATH>"
6304
6305 #.  Only used if $ORIGIN can't be determined by normal means
6306 #.  (from the origin path saved at load time, or from /proc/self/exe)?
6307 #. type: Plain text
6308 #: build/C/man8/ld.so.8:382
6309 msgid ""
6310 "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
6311 "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6312 "ignored for set-user-ID/set-group-ID binaries."
6313 msgstr ""
6314 "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムについ"
6315 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6316 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6317
6318 #. type: TP
6319 #: build/C/man8/ld.so.8:382
6320 #, no-wrap
6321 msgid "B<LD_POINTER_GUARD>"
6322 msgstr "B<LD_POINTER_GUARD>"
6323
6324 #. type: Plain text
6325 #: build/C/man8/ld.so.8:394
6326 msgid ""
6327 "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
6328 "enables pointer guarding, which is also the default.  Pointer guarding is a "
6329 "security mechanism whereby some pointers to code stored in writable program "
6330 "memory (return addresses saved by B<setjmp>(3)  or function pointers used by "
6331 "various glibc internals) are mangled semi-randomly to make it more difficult "
6332 "for an attacker to hijack the pointers for use in the event of a buffer "
6333 "overrun or stack-smashing attack."
6334 msgstr ""
6335 "(glibc 2.4 以降)  0 に設定すると、ポインタ保護 (pointer guarding) が無効にな"
6336 "る。 それ以外の値の場合はポインタ保護が有効になる。 デフォルトはポインタ保護"
6337 "有効である。 ポインタ保護はセキュリティ機構の一つで、書き込み可能なプログラム"
6338 "メモリ に格納されたコードへのポインタをほぼランダム化することで、 攻撃者が"
6339 "バッファオーバーランやスタック破壊 (stack-smashing) 攻撃の際に ポインタを乗っ"
6340 "取ることを困難にするものである。"
6341
6342 #. type: TP
6343 #: build/C/man8/ld.so.8:394
6344 #, no-wrap
6345 msgid "B<LD_PROFILE>"
6346 msgstr "B<LD_PROFILE>"
6347
6348 #. type: Plain text
6349 #: build/C/man8/ld.so.8:401
6350 msgid ""
6351 "(glibc since 2.1)  The name of a (single) shared object to be profiled, "
6352 "specified either as a pathname or a soname.  Profiling output is appended to "
6353 "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6354 msgstr ""
6355 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
6356 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
6357 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
6358 "る。"
6359
6360 #. type: TP
6361 #: build/C/man8/ld.so.8:401
6362 #, no-wrap
6363 msgid "B<LD_PROFILE_OUTPUT>"
6364 msgstr "B<LD_PROFILE_OUTPUT>"
6365
6366 #. type: Plain text
6367 #: build/C/man8/ld.so.8:414
6368 msgid ""
6369 "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be written.  "
6370 "If this variable is not defined, or is defined as an empty string, then the "
6371 "default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6372 "set-group-ID programs, which always use I</var/profile>."
6373 msgstr ""
6374 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6375 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6376 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6377 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6378 "れる。"
6379
6380 #. type: TP
6381 #: build/C/man8/ld.so.8:414
6382 #, no-wrap
6383 msgid "B<LD_SHOW_AUXV>"
6384 msgstr "B<LD_SHOW_AUXV>"
6385
6386 #.  FIXME
6387 #.  Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6388 #.      Available since glibc 2.3
6389 #.      Also enables DL_DEBUG_PRELINK
6390 #. type: Plain text
6391 #: build/C/man8/ld.so.8:425
6392 msgid ""
6393 "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
6394 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6395 "ID/set-group-ID binaries."
6396 msgstr ""
6397 "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメータの) 配列を表示す"
6398 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6399 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6400
6401 #. type: TP
6402 #: build/C/man8/ld.so.8:425
6403 #, no-wrap
6404 msgid "B<LD_USE_LOAD_BIAS>"
6405 msgstr "B<LD_USE_LOAD_BIAS>"
6406
6407 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6408 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
6409 #.  Jakub Jelinek
6410 #. type: Plain text
6411 #: build/C/man8/ld.so.8:444
6412 msgid ""
6413 "By default (i.e., if this variable is not defined)  executables and "
6414 "prelinked shared objects will honor base addresses of their dependent "
6415 "libraries and (nonprelinked) position-independent executables (PIEs)  and "
6416 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
6417 "with the value 1, both executables and PIEs will honor the base addresses.  "
6418 "If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6419 "PIEs will honor the base addresses.  This variable is ignored by set-user-ID "
6420 "and set-group-ID programs."
6421 msgstr ""
6422 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6423 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6424 "スが尊重される一方、 (prelink されていない) position-independent executables "
6425 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6426 "れない。 B<LD_USE_LOAD_BIAS> が値 1 で定義された場合、実行ファイルと PIE のど"
6427 "ちらでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された"
6428 "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-"
6429 "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6430
6431 #. type: TP
6432 #: build/C/man8/ld.so.8:444
6433 #, no-wrap
6434 msgid "B<LD_VERBOSE>"
6435 msgstr "B<LD_VERBOSE>"
6436
6437 #. type: Plain text
6438 #: build/C/man8/ld.so.8:452
6439 msgid ""
6440 "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
6441 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6442 "variable has been set."
6443 msgstr ""
6444 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6445 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6446
6447 #. type: TP
6448 #: build/C/man8/ld.so.8:452
6449 #, no-wrap
6450 msgid "B<LD_WARN>"
6451 msgstr "B<LD_WARN>"
6452
6453 #. type: Plain text
6454 #: build/C/man8/ld.so.8:456
6455 msgid ""
6456 "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
6457 "unresolved symbols."
6458 msgstr ""
6459 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
6460 "あれば警告を出す。"
6461
6462 #. type: TP
6463 #: build/C/man8/ld.so.8:456
6464 #, no-wrap
6465 msgid "B<LDD_ARGV0>"
6466 msgstr "B<LDD_ARGV0>"
6467
6468 #. type: Plain text
6469 #: build/C/man8/ld.so.8:463
6470 msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
6471 msgstr ""
6472 "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
6473
6474 #. type: SH
6475 #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156
6476 #, no-wrap
6477 msgid "FILES"
6478 msgstr "ファイル"
6479
6480 #. type: TP
6481 #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158
6482 #, no-wrap
6483 msgid "I</lib/ld.so>"
6484 msgstr "I</lib/ld.so>"
6485
6486 #. type: Plain text
6487 #: build/C/man8/ld.so.8:468
6488 msgid "a.out dynamic linker/loader"
6489 msgstr "a.out の動的リンカ/ローダ"
6490
6491 #. type: TP
6492 #: build/C/man8/ld.so.8:468
6493 #, no-wrap
6494 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6495 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6496
6497 #. type: Plain text
6498 #: build/C/man8/ld.so.8:471
6499 msgid "ELF dynamic linker/loader"
6500 msgstr "ELF の動的リンカ/ローダ"
6501
6502 #. type: TP
6503 #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165
6504 #, no-wrap
6505 msgid "I</etc/ld.so.cache>"
6506 msgstr "I</etc/ld.so.cache>"
6507
6508 #. type: Plain text
6509 #: build/C/man8/ld.so.8:475
6510 msgid ""
6511 "File containing a compiled list of directories in which to search for "
6512 "libraries and an ordered list of candidate libraries."
6513 msgstr ""
6514 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6515 "リストを含むファイル。"
6516
6517 #. type: TP
6518 #: build/C/man8/ld.so.8:475
6519 #, no-wrap
6520 msgid "I</etc/ld.so.preload>"
6521 msgstr "I</etc/ld.so.preload>"
6522
6523 #. type: Plain text
6524 #: build/C/man8/ld.so.8:479
6525 msgid ""
6526 "File containing a whitespace-separated list of ELF shared libraries to be "
6527 "loaded before the program."
6528 msgstr ""
6529 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6530 "書かれているファイル。"
6531
6532 #. type: TP
6533 #: build/C/man8/ld.so.8:479
6534 #, no-wrap
6535 msgid "B<lib*.so*>"
6536 msgstr "B<lib*.so*>"
6537
6538 #. type: Plain text
6539 #: build/C/man8/ld.so.8:482
6540 msgid "shared libraries"
6541 msgstr "共有ライブラリ"
6542
6543 #. type: Plain text
6544 #: build/C/man8/ld.so.8:489
6545 msgid ""
6546 "The B<ld.so> functionality is available for executables compiled using libc "
6547 "version 4.4.3 or greater.  ELF functionality is available since Linux 1.1.52 "
6548 "and libc5."
6549 msgstr ""
6550 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6551 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6552 "可能である。"
6553
6554 #.  .SH AUTHORS
6555 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6556 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
6557 #.  ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6558 #.  In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6559 #. type: Plain text
6560 #: build/C/man8/ld.so.8:505
6561 msgid ""
6562 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6563 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6564 msgstr ""
6565 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6566 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6567
6568 #. type: TH
6569 #: build/C/man8/ldconfig.8:22
6570 #, no-wrap
6571 msgid "LDCONFIG"
6572 msgstr "LDCONFIG"
6573
6574 #. type: TH
6575 #: build/C/man8/ldconfig.8:22
6576 #, no-wrap
6577 msgid "2012-05-10"
6578 msgstr "2012-05-10"
6579
6580 #. type: Plain text
6581 #: build/C/man8/ldconfig.8:25
6582 msgid "ldconfig - configure dynamic linker run-time bindings"
6583 msgstr "ldconfig - 動的リンカによる実行時の結合関係を設定する"
6584
6585 #. type: Plain text
6586 #: build/C/man8/ldconfig.8:40
6587 msgid ""
6588 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6589 "root> ] I<directory>\\ ..."
6590 msgstr ""
6591 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6592 "root> ] I<directory>\\ ..."
6593
6594 #. type: Plain text
6595 #: build/C/man8/ldconfig.8:49
6596 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6597 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6598
6599 #. type: Plain text
6600 #: build/C/man8/ldconfig.8:54
6601 msgid "B</sbin/ldconfig> B<-p>"
6602 msgstr "B</sbin/ldconfig> B<-p>"
6603
6604 #. type: Plain text
6605 #: build/C/man8/ldconfig.8:71
6606 msgid ""
6607 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6608 "libraries found in the directories specified on the command line, in the "
6609 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6610 "lib>).  The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6611 "so>.  B<ldconfig> checks the header and filenames of the libraries it "
6612 "encounters when determining which versions should have their links updated."
6613 msgstr ""
6614 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6615 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6616 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6617 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカ I<ld."
6618 "so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライブラリ"
6619 "のヘッダ部分とファイル名をチェックし、 どのバージョンに対してリンクを更新すべ"
6620 "きかを判断する。"
6621
6622 #.  The following sentence looks suspect
6623 #.  (perhaps historical cruft) -- MTK, Jul 2005
6624 #.  Therefore, when making dynamic libraries,
6625 #.  it is wise to explicitly link against libc (use \-lc).
6626 #. type: Plain text
6627 #: build/C/man8/ldconfig.8:79
6628 msgid ""
6629 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6630 "libc6/glibc)  based on what C libs, if any, the library was linked against."
6631 msgstr ""
6632 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6633 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6634
6635 #. type: Plain text
6636 #: build/C/man8/ldconfig.8:100
6637 msgid ""
6638 "Some existing libs do not contain enough information to allow the deduction "
6639 "of their type.  Therefore, the I</etc/ld.so.conf> file format allows the "
6640 "specification of an expected type.  This is used I<only> for those ELF libs "
6641 "which we can not work out.  The format is \"dirname=TYPE\", where TYPE can "
6642 "be libc4, libc5, or libc6.  (This syntax also works on the command line.)  "
6643 "Spaces are I<not> allowed.  Also see the B<-p> option.  B<ldconfig> should "
6644 "normally be run by the superuser as it may require write permission on some "
6645 "root owned directories and files."
6646 msgstr ""
6647 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6648 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6649 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6650 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6651 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6652 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6653 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6654 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6655
6656 #. type: TP
6657 #: build/C/man8/ldconfig.8:101
6658 #, no-wrap
6659 msgid "B<-v>"
6660 msgstr "B<-v>"
6661
6662 #. type: Plain text
6663 #: build/C/man8/ldconfig.8:107
6664 msgid ""
6665 "Verbose mode.  Print current version number, the name of each directory as "
6666 "it is scanned, and any links that are created.  Overrides quiet mode."
6667 msgstr ""
6668 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6669 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6670 "抑制モードを上書きする。"
6671
6672 #. type: TP
6673 #: build/C/man8/ldconfig.8:107
6674 #, no-wrap
6675 msgid "B<-n>"
6676 msgstr "B<-n>"
6677
6678 #. type: Plain text
6679 #: build/C/man8/ldconfig.8:118
6680 msgid ""
6681 "Only process directories specified on the command line.  Don't process the "
6682 "trusted directories (I</lib> and I</usr/lib>)  nor those specified in I</etc/"
6683 "ld.so.conf>.  Implies B<-N>."
6684 msgstr ""
6685 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6686 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
6687 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6688
6689 #. type: TP
6690 #: build/C/man8/ldconfig.8:118
6691 #, no-wrap
6692 msgid "B<-N>"
6693 msgstr "B<-N>"
6694
6695 #. type: Plain text
6696 #: build/C/man8/ldconfig.8:124
6697 msgid ""
6698 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
6699 "updated."
6700 msgstr ""
6701 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6702 "うは更新される。"
6703
6704 #. type: TP
6705 #: build/C/man8/ldconfig.8:124
6706 #, no-wrap
6707 msgid "B<-X>"
6708 msgstr "B<-X>"
6709
6710 #. type: Plain text
6711 #: build/C/man8/ldconfig.8:130
6712 msgid ""
6713 "Don't update links.  Unless B<-N> is also specified, the cache is still "
6714 "rebuilt."
6715 msgstr ""
6716 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6717 "される。"
6718
6719 #. type: TP
6720 #: build/C/man8/ldconfig.8:130
6721 #, no-wrap
6722 msgid "B<-f conf>"
6723 msgstr "B<-f conf>"
6724
6725 #. type: Plain text
6726 #: build/C/man8/ldconfig.8:136
6727 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6728 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6729
6730 #. type: TP
6731 #: build/C/man8/ldconfig.8:136
6732 #, no-wrap
6733 msgid "B<-C cache>"
6734 msgstr "B<-C cache>"
6735
6736 #. type: Plain text
6737 #: build/C/man8/ldconfig.8:142
6738 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6739 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6740
6741 #. type: TP
6742 #: build/C/man8/ldconfig.8:142
6743 #, no-wrap
6744 msgid "B<-r root>"
6745 msgstr "B<-r root>"
6746
6747 #. type: Plain text
6748 #: build/C/man8/ldconfig.8:147
6749 msgid "Change to and use I<root> as the root directory."
6750 msgstr ""
6751 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6752 "る。"
6753
6754 #. type: TP
6755 #: build/C/man8/ldconfig.8:147
6756 #, no-wrap
6757 msgid "B<-l>"
6758 msgstr "B<-l>"
6759
6760 #. type: Plain text
6761 #: build/C/man8/ldconfig.8:152
6762 msgid ""
6763 "Library mode.  Manually link individual libraries.  Intended for use by "
6764 "experts only."
6765 msgstr ""
6766 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6767 "べきである。"
6768
6769 #. type: TP
6770 #: build/C/man8/ldconfig.8:152
6771 #, no-wrap
6772 msgid "B<-p>"
6773 msgstr "B<-p>"
6774
6775 #. type: Plain text
6776 #: build/C/man8/ldconfig.8:156
6777 msgid ""
6778 "Print the lists of directories and candidate libraries stored in the current "
6779 "cache."
6780 msgstr ""
6781 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6782 "示する。"
6783
6784 #. type: Plain text
6785 #: build/C/man8/ldconfig.8:161
6786 msgid "run-time linker/loader"
6787 msgstr "実行時リンカ/ローダー。"
6788
6789 #. type: TP
6790 #: build/C/man8/ldconfig.8:161
6791 #, no-wrap
6792 msgid "I</etc/ld.so.conf>"
6793 msgstr "I</etc/ld.so.conf>"
6794
6795 #. type: Plain text
6796 #: build/C/man8/ldconfig.8:165
6797 msgid ""
6798 "File containing a list of colon, space, tab, newline, or comma-separated "
6799 "directories in which to search for libraries."
6800 msgstr ""
6801 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6802 "れのディレクトリでライブラリが検索される。"
6803
6804 #. type: Plain text
6805 #: build/C/man8/ldconfig.8:174
6806 msgid ""
6807 "File containing an ordered list of libraries found in the directories "
6808 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6809 "usr/lib>."
6810 msgstr ""
6811 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6812 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6813
6814 #. type: Plain text
6815 #: build/C/man8/ldconfig.8:178
6816 msgid "B<ldd>(1), B<ld.so>(8)"
6817 msgstr "B<ldd>(1), B<ld.so>(8)"
6818
6819 #. type: TH
6820 #: build/C/man1/ldd.1:14
6821 #, no-wrap
6822 msgid "LDD"
6823 msgstr "LDD"
6824
6825 #. type: Plain text
6826 #: build/C/man1/ldd.1:17
6827 msgid "ldd - print shared library dependencies"
6828 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6829
6830 #. type: Plain text
6831 #: build/C/man1/ldd.1:19
6832 msgid "B<ldd> [I<option>]... I<file>..."
6833 msgstr "B<ldd> [I<option>]... I<file>..."
6834
6835 #. type: Plain text
6836 #: build/C/man1/ldd.1:23
6837 msgid ""
6838 "B<ldd> prints the shared libraries required by each program or shared "
6839 "library specified on the command line."
6840 msgstr ""
6841 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6842 "れで必要とされる共有ライブラリを表示する。"
6843
6844 #. type: SS
6845 #: build/C/man1/ldd.1:23
6846 #, no-wrap
6847 msgid "Security"
6848 msgstr "セキュリティ"
6849
6850 #.  Mainline glibc's ldd allows this possibility (the line
6851 #.       try_trace "$file"
6852 #.  in glibc 2.15, for example), but many distro versions of
6853 #.  ldd seem to remove that code path from the script.
6854 #. type: Plain text
6855 #: build/C/man1/ldd.1:49
6856 msgid ""
6857 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
6858 "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6859 "which causes the linker to display the library dependencies.  Be aware, "
6860 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6861 "obtain the dependency information by directly executing the program.  Thus, "
6862 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6863 "result in the execution of arbitrary code.  A safer alternative when dealing "
6864 "with untrusted executables is:"
6865 msgstr ""
6866 "通常の場合、 B<ldd> は標準の動的リンカ (B<ld.so>(8) 参照) を "
6867 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6868 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカはライブラリの依存関係"
6869 "を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実行"
6870 "するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに対"
6871 "しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行することに"
6872 "つながるからである。信頼できない実行ファイルを扱う、より安全な別の方法として"
6873 "は次のようにするとよい。"
6874
6875 #. type: Plain text
6876 #: build/C/man1/ldd.1:51
6877 #, no-wrap
6878 msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
6879 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
6880
6881 #. type: TP
6882 #: build/C/man1/ldd.1:52 build/C/man1/mtrace.1:55
6883 #, no-wrap
6884 msgid "B<--version>"
6885 msgstr "B<--version>"
6886
6887 #. type: Plain text
6888 #: build/C/man1/ldd.1:56
6889 msgid "Print the version number of B<ldd>."
6890 msgstr "B<ldd> のバージョン番号を表示する。"
6891
6892 #. type: TP
6893 #: build/C/man1/ldd.1:56
6894 #, no-wrap
6895 msgid "B<-v\\ --verbose>"
6896 msgstr "B<-v\\ --verbose>"
6897
6898 #. type: Plain text
6899 #: build/C/man1/ldd.1:60
6900 msgid ""
6901 "Print all information, including, for example, symbol versioning information."
6902 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6903
6904 #. type: TP
6905 #: build/C/man1/ldd.1:60
6906 #, no-wrap
6907 msgid "B<-u\\ --unused>"
6908 msgstr "B<-u\\ --unused>"
6909
6910 #. type: Plain text
6911 #: build/C/man1/ldd.1:64
6912 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
6913 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6914
6915 #. type: TP
6916 #: build/C/man1/ldd.1:64
6917 #, no-wrap
6918 msgid "B<-d\\ --data-relocs>"
6919 msgstr "B<-d\\ --data-relocs>"
6920
6921 #. type: Plain text
6922 #: build/C/man1/ldd.1:67
6923 msgid "Perform relocations and report any missing objects (ELF only)."
6924 msgstr ""
6925 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6926
6927 #. type: TP
6928 #: build/C/man1/ldd.1:67
6929 #, no-wrap
6930 msgid "B<-r\\ --function-relocs>"
6931 msgstr "B<-r\\ --function-relocs>"
6932
6933 #. type: Plain text
6934 #: build/C/man1/ldd.1:71
6935 msgid ""
6936 "Perform relocations for both data objects and functions, and report any "
6937 "missing objects or functions (ELF only)."
6938 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6939
6940 #. type: TP
6941 #: build/C/man1/ldd.1:71 build/C/man1/mtrace.1:52
6942 #, no-wrap
6943 msgid "B<--help>"
6944 msgstr "B<--help>"
6945
6946 #.  .SH NOTES
6947 #.  The standard version of
6948 #.  .B ldd
6949 #.  comes with glibc2.
6950 #.  Libc5 came with an older version, still present
6951 #.  on some systems.
6952 #.  The long options are not supported by the libc5 version.
6953 #.  On the other hand, the glibc2 version does not support
6954 #.  .B \-V
6955 #.  and only has the equivalent
6956 #.  .BR \-\-version .
6957 #.  .LP
6958 #.  The libc5 version of this program will use the name of a library given
6959 #.  on the command line as-is when it contains a \(aq/\(aq; otherwise it
6960 #.  searches for the library in the standard locations.
6961 #.  To run it
6962 #.  on a shared library in the current directory, prefix the name with "./".
6963 #. type: Plain text
6964 #: build/C/man1/ldd.1:91
6965 msgid "Usage information."
6966 msgstr "使用法を表示する。"
6967
6968 #. type: Plain text
6969 #: build/C/man1/ldd.1:94
6970 msgid "B<ldd> does not work on a.out shared libraries."
6971 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6972
6973 #.  .SH AUTHOR
6974 #.  David Engel.
6975 #.  Roland McGrath and Ulrich Drepper.
6976 #. type: Plain text
6977 #: build/C/man1/ldd.1:108
6978 msgid ""
6979 "B<ldd> does not work with some extremely old a.out programs which were built "
6980 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
6981 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6982 "and the results will be unpredictable."
6983 msgstr ""
6984 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6985 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
6986 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
6987 "不可能である。"
6988
6989 #. type: Plain text
6990 #: build/C/man1/ldd.1:113
6991 msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
6992 msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
6993
6994 #. type: TH
6995 #: build/C/man1/memusage.1:24
6996 #, no-wrap
6997 msgid "MEMUSAGE"
6998 msgstr "MEMUSAGE"
6999
7000 #. type: TH
7001 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
7002 #, no-wrap
7003 msgid "2014-09-06"
7004 msgstr "2014-09-06"
7005
7006 #. type: TH
7007 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
7008 #, no-wrap
7009 msgid "Linux user manual"
7010 msgstr "Linux user manual"
7011
7012 #. type: Plain text
7013 #: build/C/man1/memusage.1:27
7014 msgid "memusage - profile memory usage of a program"
7015 msgstr "memusage - プログラムのメモリー使用量のプロファイルを行う"
7016
7017 #. type: Plain text
7018 #: build/C/man1/memusage.1:29
7019 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7020 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7021
7022 #. type: Plain text
7023 #: build/C/man1/memusage.1:53
7024 msgid ""
7025 "B<memusage> is a bash script which profiles memory usage of the program, "
7026 "I<program>.  It preloads the B<libmemusage.so> library into the caller's "
7027 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)).  "
7028 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
7029 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
7030 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2)  can also be intercepted."
7031 msgstr ""
7032 "B<memusage> は、 プログラム I<program> のメモリー使用量のプロファイルを行う "
7033 "bash スクリプトである。 呼び出し元の環境に (B<LD_PRELOAD> 環境変数を使って) "
7034 "B<libmemusage.so> ライブラリをプレロードする。 B<ld.so>(8) を参照。 "
7035 "B<libmemusage.so> ライブラリは、 B<malloc>(3), B<calloc>(3), B<free>(3), "
7036 "B<realloc>(3) の呼び出しを横取りし、 メモリー割り当て状況の追跡を行う。 追加"
7037 "で、 B<mmap>(2), B<mremap>(2), B<munmap>(2) を追跡することもできる。"
7038
7039 #. type: Plain text
7040 #: build/C/man1/memusage.1:62
7041 msgid ""
7042 "B<memusage> can output the collected data in textual form, or it can use "
7043 "B<memusagestat>(1)  (see the B<-p> option, below)  to create a PNG file "
7044 "containing graphical representation of the collected data."
7045 msgstr ""
7046 "B<memusage> は収集したデータをテキスト形式で出力することもできるし、 "
7047 "B<memusagestat>(1) を使って収集したデータをグラフにした PNG ファイルを作成す"
7048 "ることもできる (以下の B<-p> オプションを参照)。"
7049
7050 #. type: SS
7051 #: build/C/man1/memusage.1:62
7052 #, no-wrap
7053 msgid "Memory usage summary"
7054 msgstr "メモリー使用量概要"
7055
7056 #. type: Plain text
7057 #: build/C/man1/memusage.1:66
7058 msgid ""
7059 "The \"Memory usage summary\" line output by B<memusage> contains three "
7060 "fields:"
7061 msgstr ""
7062 "B<memusage> が出力する \"Memory usage summary\" (メモリー使用量概要) の行には"
7063 "以下のフィールドが含まれる。"
7064
7065 #. type: TP
7066 #: build/C/man1/memusage.1:67
7067 #, no-wrap
7068 msgid "B<heap total>"
7069 msgstr "B<heap total>"
7070
7071 #. type: Plain text
7072 #: build/C/man1/memusage.1:84
7073 msgid ""
7074 "Sum of I<size> arguments of all B<malloc>(3)  calls, products of arguments "
7075 "(I<nmemb>*I<size>) of all B<calloc>(3)  calls, and sum of I<length> "
7076 "arguments of all B<mmap>(2)  calls.  In the case of B<realloc>(3)  and "
7077 "B<mremap>(2), if the new size of an allocation is larger than the previous "
7078 "size, the sum of all such differences (new size minus old size) is added."
7079 msgstr ""
7080 "B<malloc>(3) のすべての呼び出しの I<size> 引き数の合計、 B<calloc>(3) のすべ"
7081 "ての呼び出しの引き数の積 (I<nmemb>*I<size>)、 B<mmap>(2) のすべての呼び出し"
7082 "の I<length> 引き数の合計。 B<realloc>(3) と B<mremap>(2) の場合、 割り当ての"
7083 "新しいサイズが以前のサイズよりも大きい場合、 差分 (新しいサイズから古いサイズ"
7084 "を引いた値) の合計が加算される。"
7085
7086 #. type: TP
7087 #: build/C/man1/memusage.1:84
7088 #, no-wrap
7089 msgid "B<heap peak>"
7090 msgstr "B<heap peak>"
7091
7092 #. type: Plain text
7093 #: build/C/man1/memusage.1:98
7094 msgid ""
7095 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
7096 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
7097 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
7098 msgstr ""
7099 "B<malloc>(3) の I<size> 引き数、 B<calloc>(3) の I<nmemb>*I<size> の積、 "
7100 "B<realloc>(3) の I<size> 引き数、 B<mmap>(2) の I<length> 引き数、 "
7101 "B<mremap>(2) の I<new_size> 引き数、 の中の最大値。"
7102
7103 #. type: TP
7104 #: build/C/man1/memusage.1:98
7105 #, no-wrap
7106 msgid "B<stack peak>"
7107 msgstr "B<stack peak>"
7108
7109 #. type: Plain text
7110 #: build/C/man1/memusage.1:105
7111 msgid ""
7112 "Before the first call to any monitored function, the stack pointer address "
7113 "(base stack pointer) is saved.  After each function call, the actual stack "
7114 "pointer address is read and the difference from the base stack pointer "
7115 "computed.  The maximum of these differences is then the stack peak."
7116 msgstr ""
7117 "監視される関数の最初の呼び出しが行われる前に、 スタックポインターアドレス "
7118 "(ベーススタックポインター) が保存される。 関数のそれぞれの呼び出し後には、 実"
7119 "際のスタックポインターアドレスを読み込み、 ベースポインターアドレスを元に差分"
7120 "を計算する。これらの差分の最大値がスタックのピーク値となる。"
7121
7122 #. type: Plain text
7123 #: build/C/man1/memusage.1:122
7124 msgid ""
7125 "Immediately following this summary line, a table shows the number calls, "
7126 "total memory allocated or deallocated, and number of failed calls for each "
7127 "intercepted function.  For B<realloc>(3)  and B<mremap>(2), the additional "
7128 "field \"nomove\" shows reallocations that changed the address of a block, "
7129 "and the additional \"dec\" field shows reallocations that decreased the size "
7130 "of the block.  For B<realloc>(3), the additional field \"free\" shows "
7131 "reallocations that caused a block to be freed (i.e., the reallocated size "
7132 "was 0)."
7133 msgstr ""
7134 "この概要行の直後には、 監視対象の各関数の呼び出し回数、 割り当て・割り当て解"
7135 "除された全メモリー量、 失敗した回数がテーブルで表示される。 B<realloc>(3) と "
7136 "B<mremap>(2) の場合には、 フィールド \"nomove\" でブロックアドレスを変更した"
7137 "再割り当て数を、 フィールド \"dec\" でブロックサイズが減少した再割り当て数が"
7138 "追加で表示される。 B<realloc>(3) の場合、 フィールド \"free\" でブロックの解"
7139 "放が行われた再割り当て (サイズが 0 の再割り当て) の数も追加で表示される。"
7140
7141 #. type: Plain text
7142 #: build/C/man1/memusage.1:132
7143 msgid ""
7144 "The \"realloc/total memory\" of the table output by B<memusage> does not "
7145 "reflect cases where B<realloc>(3)  is used to reallocate a block of memory "
7146 "to have a smaller size than previously.  This can cause sum of all \"total "
7147 "memory\" cells (excluding \"free\")  to be larger than the \"free/total "
7148 "memory\" cell."
7149 msgstr ""
7150 "B<memusage> が出力するテーブルの \"realloc/total memory\" (再割り当てメモ"
7151 "リー/全メモリー) には、 B<realloc>(3) を使ってメモリーブロックをその前よりも"
7152 "小さいサイズに再割り当てされた場合は含まれない。 このため、 (\"free\" 以外"
7153 "の) すべての「総メモリー」のセルは \"free/total memory\" セルよりも大きくなる"
7154 "ことがある。"
7155
7156 #. type: SS
7157 #: build/C/man1/memusage.1:132
7158 #, no-wrap
7159 msgid "Histogram for block sizes"
7160 msgstr "ブロックサイズのヒストグラム"
7161
7162 #. type: Plain text
7163 #: build/C/man1/memusage.1:135
7164 msgid ""
7165 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
7166 "into various bucket sizes."
7167 msgstr ""
7168 "\"Histogram for block sizes\" (ブロックサイズのヒストグラム) は、 メモリー割"
7169 "り当てをバケットサイズ単位に分割した情報である。"
7170
7171 #. type: TP
7172 #: build/C/man1/memusage.1:136
7173 #, no-wrap
7174 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7175 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7176
7177 #. type: Plain text
7178 #: build/C/man1/memusage.1:139
7179 msgid "Name of the program file to profile."
7180 msgstr "プロファイル対象のプログラムファイル名。"
7181
7182 #. type: TP
7183 #: build/C/man1/memusage.1:139
7184 #, no-wrap
7185 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7186 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7187
7188 #. type: Plain text
7189 #: build/C/man1/memusage.1:143
7190 msgid "Generate PNG graphic and store it in I<file>."
7191 msgstr "PNG 画像を生成し、 I<file> に格納する。"
7192
7193 #. type: TP
7194 #: build/C/man1/memusage.1:143
7195 #, no-wrap
7196 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7197 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7198
7199 #. type: Plain text
7200 #: build/C/man1/memusage.1:147
7201 msgid "Generate binary data file and store it in I<file>."
7202 msgstr "バイナリーデータファイルを生成し、 I<file> に格納する。"
7203
7204 #. type: TP
7205 #: build/C/man1/memusage.1:147
7206 #, no-wrap
7207 msgid "B<-u>,\\ B<--unbuffered>"
7208 msgstr "B<-u>,\\ B<--unbuffered>"
7209
7210 #. type: Plain text
7211 #: build/C/man1/memusage.1:150
7212 msgid "Do not buffer output."
7213 msgstr "出力バッファリングを行わない。"
7214
7215 #. type: TP
7216 #: build/C/man1/memusage.1:150
7217 #, no-wrap
7218 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7219 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7220
7221 #. type: Plain text
7222 #: build/C/man1/memusage.1:155
7223 msgid "Collect I<size> entries before writing them out."
7224 msgstr "出力する前に I<size> 個のエントリーの収集を行う。"
7225
7226 #. type: TP
7227 #: build/C/man1/memusage.1:155
7228 #, no-wrap
7229 msgid "B<--no-timer>"
7230 msgstr "B<--no-timer>"
7231
7232 #. type: Plain text
7233 #: build/C/man1/memusage.1:160
7234 msgid "Disable timer-based (B<SIGPROF>)  sampling of stack pointer value."
7235 msgstr ""
7236 "スタックポインター値の時間ベースのサンプリング (B<SIGPROF>) を無効にする。"
7237
7238 #. type: TP
7239 #: build/C/man1/memusage.1:160
7240 #, no-wrap
7241 msgid "B<-m>,\\ B<--mmap>"
7242 msgstr "B<-m>,\\ B<--mmap>"
7243
7244 #. type: Plain text
7245 #: build/C/man1/memusage.1:167
7246 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
7247 msgstr "B<mmap>(2), B<mremap>(2), B<mmap>(2) も追跡対象とする。"
7248
7249 #. type: TP
7250 #: build/C/man1/memusage.1:167 build/C/man1/memusagestat.1:72
7251 #, no-wrap
7252 msgid "B<-?>,\\ B<--help>"
7253 msgstr "B<-?>,\\ B<--help>"
7254
7255 #. type: Plain text
7256 #: build/C/man1/memusage.1:170 build/C/man1/mtrace.1:55
7257 msgid "Print help and exit."
7258 msgstr "ヘルプを表示し、終了する。"
7259
7260 #. type: TP
7261 #: build/C/man1/memusage.1:170 build/C/man1/memusagestat.1:75
7262 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
7263 #, no-wrap
7264 msgid "B<--usage>"
7265 msgstr "B<--usage>"
7266
7267 #. type: Plain text
7268 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7269 msgid "Print a short usage message and exit."
7270 msgstr "簡潔な使用方法を表示して終了する。"
7271
7272 #. type: TP
7273 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7274 #, no-wrap
7275 msgid "B<-V>,\\ B<--version>"
7276 msgstr "B<-V>,\\ B<--version>"
7277
7278 #. type: Plain text
7279 #: build/C/man1/memusage.1:176 build/C/man1/memusagestat.1:81
7280 #: build/C/man1/mtrace.1:58
7281 msgid "Print version information and exit."
7282 msgstr "バージョン情報を表示して終了する。"
7283
7284 #. type: TP
7285 #: build/C/man1/memusage.1:176
7286 #, no-wrap
7287 msgid "The following options only apply when generating graphical output:"
7288 msgstr "以下のオプションは画像出力を行う場合にのみ適用される。"
7289
7290 #. type: TP
7291 #: build/C/man1/memusage.1:178
7292 #, no-wrap
7293 msgid "B<-t>,\\ B<--time-based>"
7294 msgstr "B<-t>,\\ B<--time-based>"
7295
7296 #. type: Plain text
7297 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7298 msgid ""
7299 "Use time (rather than number of function calls) as the scale for the X axis."
7300 msgstr "X 軸の目盛として (関数呼び出し数ではなく) 時間を使用する。"
7301
7302 #. type: TP
7303 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7304 #, no-wrap
7305 msgid "B<-T>,\\ B<--total>"
7306 msgstr "B<-T>,\\ B<--total>"
7307
7308 #. type: Plain text
7309 #: build/C/man1/memusage.1:184
7310 msgid "Also draw a graph of total memory use."
7311 msgstr "メモリーの全使用量のグラフも生成する。"
7312
7313 #. type: TP
7314 #: build/C/man1/memusage.1:184
7315 #, no-wrap
7316 msgid "B<--title=>I<name>"
7317 msgstr "B<--title=>I<name>"
7318
7319 #. type: Plain text
7320 #: build/C/man1/memusage.1:189
7321 msgid "Use I<name> as the title of the graph."
7322 msgstr "グラフのタイトルとして I<name> を使用する。"
7323
7324 #. type: TP
7325 #: build/C/man1/memusage.1:189 build/C/man1/memusagestat.1:62
7326 #, no-wrap
7327 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7328 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7329
7330 #. type: Plain text
7331 #: build/C/man1/memusage.1:194
7332 msgid "Make the graph I<size> pixels wide."
7333 msgstr "グラフの幅を I<size> ピクセルにする。"
7334
7335 #. type: TP
7336 #: build/C/man1/memusage.1:194 build/C/man1/memusagestat.1:67
7337 #, no-wrap
7338 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7339 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7340
7341 #. type: Plain text
7342 #: build/C/man1/memusage.1:199
7343 msgid "Make the graph I<size> pixels high."
7344 msgstr "グラフの高さを I<size> ピクセルにする。"
7345
7346 #. type: SH
7347 #: build/C/man1/memusage.1:199 build/C/man1/pldd.1:60
7348 #, no-wrap
7349 msgid "EXIT STATUS"
7350 msgstr "終了ステータス"
7351
7352 #. type: Plain text
7353 #: build/C/man1/memusage.1:201
7354 msgid "Exit status is equal to the exit status of profiled program."
7355 msgstr ""
7356 "終了ステータスはプロファイルしたプログラムの終了ステータスと同じになる。"
7357
7358 #. type: Plain text
7359 #: build/C/man1/memusage.1:208
7360 msgid ""
7361 "Below is a simple program that reallocates a block of memory in cycles that "
7362 "rise to a peak before then cyclically reallocating the memory in smaller "
7363 "blocks that return to zero.  After compiling the program and running the "
7364 "following commands, a graph of the memory usage of the program can be found "
7365 "in the file I<memusage.png>:"
7366 msgstr ""
7367 "以下の簡単なプログラムは、 ピークに達するまで繰り返しメモリーブロックの再割り"
7368 "当てを行い、 その後ブロックサイズが 0 になるまで繰り返し順に小さなブロックに"
7369 "再割り当てを行う。 このプログラムをコンパイルして以下のコマンドを実行する"
7370 "と、 このプログラムのメモリ使用量がファイル I<memusage.png> に出力される。"
7371
7372 #. type: Plain text
7373 #: build/C/man1/memusage.1:232
7374 #, no-wrap
7375 msgid ""
7376 "$ B<memusage --data=memusage.dat ./a.out>\n"
7377 "\\&...\n"
7378 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7379 "        total calls  total memory  failed calls\n"
7380 " malloc|         1           400             0\n"
7381 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7382 " calloc|         0             0             0\n"
7383 "   free|         1           440\n"
7384 "Histogram for block sizes:\n"
7385 "  192-207             1   2% ================\n"
7386 "\\&...\n"
7387 " 2192-2207            1   2% ================\n"
7388 " 2240-2255            2   4% =================================\n"
7389 " 2832-2847            2   4% =================================\n"
7390 " 3440-3455            2   4% =================================\n"
7391 " 4032-4047            2   4% =================================\n"
7392 " 4640-4655            2   4% =================================\n"
7393 " 5232-5247            2   4% =================================\n"
7394 " 5840-5855            2   4% =================================\n"
7395 " 6432-6447            1   2% ================\n"
7396 "$ B<memusagestat memusage.dat memusage.png>\n"
7397 msgstr ""
7398 "$ B<memusage --data=memusage.dat ./a.out>\n"
7399 "\\&...\n"
7400 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7401 "        total calls  total memory  failed calls\n"
7402 " malloc|         1           400             0\n"
7403 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
7404 " calloc|         0             0             0\n"
7405 "   free|         1           440\n"
7406 "Histogram for block sizes:\n"
7407 "  192-207             1   2% ================\n"
7408 "\\&...\n"
7409 " 2192-2207            1   2% ================\n"
7410 " 2240-2255            2   4% =================================\n"
7411 " 2832-2847            2   4% =================================\n"
7412 " 3440-3455            2   4% =================================\n"
7413 " 4032-4047            2   4% =================================\n"
7414 " 4640-4655            2   4% =================================\n"
7415 " 5232-5247            2   4% =================================\n"
7416 " 5840-5855            2   4% =================================\n"
7417 " 6432-6447            1   2% ================\n"
7418 "$ B<memusagestat memusage.dat memusage.png>\n"
7419
7420 #. type: Plain text
7421 #: build/C/man1/memusage.1:240
7422 #, no-wrap
7423 msgid "#define CYCLES 20\n"
7424 msgstr "#define CYCLES 20\n"
7425
7426 #. type: Plain text
7427 #: build/C/man1/memusage.1:246
7428 #, no-wrap
7429 msgid ""
7430 "int\n"
7431 "main(int argc, char *argv[])\n"
7432 "{\n"
7433 "     int i, j;\n"
7434 "     int *p;\n"
7435 msgstr ""
7436 "int\n"
7437 "main(int argc, char *argv[])\n"
7438 "{\n"
7439 "     int i, j;\n"
7440 "     int *p;\n"
7441
7442 #. type: Plain text
7443 #: build/C/man1/memusage.1:249
7444 #, no-wrap
7445 msgid ""
7446 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7447 "     p = malloc(sizeof(int) * 100);\n"
7448 msgstr ""
7449 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7450 "     p = malloc(sizeof(int) * 100);\n"
7451
7452 #. type: Plain text
7453 #: build/C/man1/memusage.1:255
7454 #, no-wrap
7455 msgid ""
7456 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7457 "         if (i E<lt> CYCLES / 2)\n"
7458 "             j = i;\n"
7459 "         else\n"
7460 "             j--;\n"
7461 msgstr ""
7462 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
7463 "         if (i E<lt> CYCLES / 2)\n"
7464 "             j = i;\n"
7465 "         else\n"
7466 "             j--;\n"
7467
7468 #. type: Plain text
7469 #: build/C/man1/memusage.1:258
7470 #, no-wrap
7471 msgid ""
7472 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7473 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7474 msgstr ""
7475 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7476 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7477
7478 #. type: Plain text
7479 #: build/C/man1/memusage.1:262
7480 #, no-wrap
7481 msgid ""
7482 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7483 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7484 "     }\n"
7485 msgstr ""
7486 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7487 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7488 "     }\n"
7489
7490 #. type: Plain text
7491 #: build/C/man1/memusage.1:266
7492 #, no-wrap
7493 msgid ""
7494 "     free(p);\n"
7495 "     exit(EXIT_SUCCESS);\n"
7496 "}\n"
7497 msgstr ""
7498 "     free(p);\n"
7499 "     exit(EXIT_SUCCESS);\n"
7500 "}\n"
7501
7502 #. type: Plain text
7503 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
7504 msgid ""
7505 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
7506 msgstr ""
7507 "バグ報告については E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE> "
7508 "を参照のこと。"
7509
7510 #. type: Plain text
7511 #: build/C/man1/memusage.1:275
7512 msgid "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7513 msgstr "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
7514
7515 #. type: TH
7516 #: build/C/man1/memusagestat.1:23
7517 #, no-wrap
7518 msgid "MEMUSAGESTAT"
7519 msgstr "MEMUSAGESTAT"
7520
7521 #. type: TH
7522 #: build/C/man1/memusagestat.1:23
7523 #, no-wrap
7524 msgid "Linux programmer's manual"
7525 msgstr "Linux programmer's manual"
7526
7527 #. type: Plain text
7528 #: build/C/man1/memusagestat.1:26
7529 msgid "memusagestat - generate graphic from memory profiling data"
7530 msgstr "memusagestat - メモリーのプロファイリングデータからグラフを出力する"
7531
7532 #. type: Plain text
7533 #: build/C/man1/memusagestat.1:28
7534 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7535 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7536
7537 #. type: Plain text
7538 #: build/C/man1/memusagestat.1:39
7539 msgid ""
7540 "B<memusagestat> creates a PNG file containing a graphical representation of "
7541 "the memory profiling data in the file I<datafile>; that file is generated "
7542 "via the I<-d> (or I<--data>)  option of B<memusage>(1)."
7543 msgstr ""
7544 "B<memusagestat> は、 ファイル I<datafile> に格納されたメモリーのプロファイリ"
7545 "ングデータをグラフとして表現した PNG ファイルを作成する。 I<datafile> は "
7546 "B<memusage>(1) の I<-d> (I<--data>) オプションで生成される。"
7547
7548 #. type: Plain text
7549 #: build/C/man1/memusagestat.1:47
7550 msgid ""
7551 "The red line in the graph shows the heap usage (allocated memory)  and the "
7552 "green line shows the stack usage.  The x-scale is either the number of "
7553 "memory-handling function calls or (if the I<-t> option is specified)  time."
7554 msgstr ""
7555 "グラフの赤色の線はヒープ使用量 (割り当てられたメモリー) を示し、 緑色の線はス"
7556 "タック使用量を示す。 X 軸はメモリ処理関数の呼び出し数 (I<-t> オプションが指定"
7557 "された場合は時間) である。"
7558
7559 #. type: TP
7560 #: build/C/man1/memusagestat.1:48
7561 #, no-wrap
7562 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7563 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7564
7565 #. type: Plain text
7566 #: build/C/man1/memusagestat.1:51
7567 msgid "Name of the output file."
7568 msgstr "出力ファイルの名前。"
7569
7570 #. type: TP
7571 #: build/C/man1/memusagestat.1:51
7572 #, no-wrap
7573 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7574 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7575
7576 #. type: Plain text
7577 #: build/C/man1/memusagestat.1:56
7578 msgid "Use I<string> as the title inside the output graph."
7579 msgstr "出力グラフに表示するタイトルとして I<string> を使用する。"
7580
7581 #. type: TP
7582 #: build/C/man1/memusagestat.1:56
7583 #, no-wrap
7584 msgid "B<-t>,\\ B<--time>"
7585 msgstr "B<-t>,\\ B<--time>"
7586
7587 #. type: Plain text
7588 #: build/C/man1/memusagestat.1:62
7589 msgid "Also draw a graph of total memory consumption."
7590 msgstr "全メモリー消費量のグラフも出力する。"
7591
7592 #. type: Plain text
7593 #: build/C/man1/memusagestat.1:67
7594 msgid "Make the output graph I<size> pixels wide."
7595 msgstr "出力グラフの幅を I<size> ピクセルにする。"
7596
7597 #. type: Plain text
7598 #: build/C/man1/memusagestat.1:72
7599 msgid "Make the output graph I<size> pixels high."
7600 msgstr "出力グラフの高さを I<size> ピクセルにする。"
7601
7602 #. type: Plain text
7603 #: build/C/man1/memusagestat.1:75
7604 msgid "Print a help message and exit."
7605 msgstr "ヘルプメッセージを表示して終了する。"
7606
7607 #. type: Plain text
7608 #: build/C/man1/memusagestat.1:84
7609 msgid "See B<memusage>(1)."
7610 msgstr "B<memusage>(1) を参照。"
7611
7612 #. type: Plain text
7613 #: build/C/man1/memusagestat.1:91
7614 msgid "B<memusage>(1), B<mtrace>(1)"
7615 msgstr "B<memusage>(1), B<mtrace>(1)"
7616
7617 #. type: TH
7618 #: build/C/man1/mtrace.1:23
7619 #, no-wrap
7620 msgid "MTRACE"
7621 msgstr "MTRACE"
7622
7623 #. type: TH
7624 #: build/C/man1/mtrace.1:23
7625 #, no-wrap
7626 msgid "2014-09-01"
7627 msgstr "2014-09-01"
7628
7629 #. type: Plain text
7630 #: build/C/man1/mtrace.1:26
7631 msgid "mtrace - interpret the malloc trace log"
7632 msgstr "mtrace - malloc のトレースログを解釈する"
7633
7634 #. type: Plain text
7635 #: build/C/man1/mtrace.1:28
7636 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7637 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7638
7639 #. type: Plain text
7640 #: build/C/man1/mtrace.1:44
7641 msgid ""
7642 "B<mtrace> is a Perl script used to interpret and provide human readable "
7643 "output of the trace log contained in the file I<mtracedata>, whose contents "
7644 "were produced by B<mtrace>(3).  If I<binary> is provided, the output of "
7645 "B<mtrace> also contains the source file name with line number information "
7646 "for problem locations (assuming that I<binary> was compiled with debugging "
7647 "information)."
7648 msgstr ""
7649 "B<mtrace> は B<mtrace>(3) の出力内容が入ったファイル I<mtracedata> のトレース"
7650 "ログを解釈し人間が読みやすい出力に変換する Perl スクリプトである。 I<binary> "
7651 "が渡されると、 B<mtrace> の出力に問題箇所にソースファイル名と行番号も出力され"
7652 "る (I<binary> はデバッグ情報付きでコンパイルされているものとする)。"
7653
7654 #. type: Plain text
7655 #: build/C/man1/mtrace.1:51
7656 msgid ""
7657 "For more information about the B<mtrace>(3)  function and B<mtrace> script "
7658 "usage, see B<mtrace>(3)."
7659 msgstr ""
7660 "B<mtrace>(3) 関数と B<mtrace> スクリプトの使用方法の詳細は B<mtrace>(3) を参"
7661 "照。"
7662
7663 #. type: Plain text
7664 #: build/C/man1/mtrace.1:61
7665 msgid ""
7666 "For bug reporting instructions, please see: E<lt>http://www.gnu.org/software/"
7667 "libc/bugs.htmlE<gt>."
7668 msgstr ""
7669 "バグ報告の方法については E<lt>http://www.gnu.org/software/libc/bugs."
7670 "htmlE<gt> を参照。"
7671
7672 #. type: Plain text
7673 #: build/C/man1/mtrace.1:64
7674 msgid "B<memusage>(1), B<mtrace>(3)"
7675 msgstr "B<memusage>(1), B<mtrace>(3)"
7676
7677 #. type: TH
7678 #: build/C/man1/pldd.1:25
7679 #, no-wrap
7680 msgid "PLDD"
7681 msgstr "PLDD"
7682
7683 #. type: TH
7684 #: build/C/man1/pldd.1:25
7685 #, no-wrap
7686 msgid "2014-09-27"
7687 msgstr "2014-09-27"
7688
7689 #. type: TH
7690 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
7691 #, no-wrap
7692 msgid "Linux User Manual"
7693 msgstr "Linux User Manual"
7694
7695 #. type: Plain text
7696 #: build/C/man1/pldd.1:28
7697 msgid "pldd - display dynamic shared objects linked into a process"
7698 msgstr "pldd - プロセスにリンクされている動的共有オブジェクトを表示する"
7699
7700 #. type: Plain text
7701 #: build/C/man1/pldd.1:32
7702 #, no-wrap
7703 msgid ""
7704 "B<pldd >I<PID>\n"
7705 "B<pldd> OPTION\n"
7706 msgstr ""
7707 "B<pldd >I<PID>\n"
7708 "B<pldd> OPTION\n"
7709
7710 #. type: Plain text
7711 #: build/C/man1/pldd.1:40
7712 msgid ""
7713 "The B<pldd> command displays a list of the dynamic shared objects that are "
7714 "linked into the process with the specified process ID.  The list includes "
7715 "the libraries that have been dynamically loaded using B<dlopen>(3)."
7716 msgstr ""
7717 "B<pldd> コマンドは、 指定されたプロセス ID のプロセスにリンクされている動的共"
7718 "有オブジェクトのリストを表示する。 このリストには B<dlopen>(3) を使って動的に"
7719 "ロードされたライブラリーも含まれる。"
7720
7721 #. type: TP
7722 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
7723 #, no-wrap
7724 msgid "B<-?>, B<--help>"
7725 msgstr "B<-?>, B<--help>"
7726
7727 #. type: Plain text
7728 #: build/C/man1/pldd.1:44
7729 msgid "Display program help message."
7730 msgstr "プログラムのヘルプメッセージを表示する。"
7731
7732 #. type: Plain text
7733 #: build/C/man1/pldd.1:47
7734 msgid "Display a short usage message."
7735 msgstr "簡潔な使用方法を表示する。"
7736
7737 #. type: TP
7738 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
7739 #, no-wrap
7740 msgid "B<-V>, B<--version>"
7741 msgstr "B<-V>, B<--version>"
7742
7743 #. type: Plain text
7744 #: build/C/man1/pldd.1:50
7745 msgid "Display the program version."
7746 msgstr "プログラムのバージョンを表示する。"
7747
7748 #. type: Plain text
7749 #: build/C/man1/pldd.1:53
7750 msgid "B<pldd> is available since glibc 2.15."
7751 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
7752
7753 #.  There are man pages on Solaris and HP-UX.
7754 #. type: Plain text
7755 #: build/C/man1/pldd.1:60
7756 msgid ""
7757 "The B<pldd> command is not specified by POSIX.1.  Some other systems have a "
7758 "similar command."
7759 msgstr ""
7760 "B<pldd> コマンドは POSIX.1 では規定されていない。 他のいくつかのシステムにも"
7761 "同様のコマンドがある。"
7762
7763 #. type: Plain text
7764 #: build/C/man1/pldd.1:71
7765 msgid ""
7766 "On success, B<pldd> exits with the status 0.  If the specified process does "
7767 "not exist, the user does not have permission to access its dynamic shared "
7768 "object list, or no command-line arguments are supplied, B<pldd> exists with "
7769 "a status of 1.  If given an invalid option, it exits with the status 64."
7770 msgstr ""
7771 "成功すると B<pldd> はステータス 0 を返す。 指定されたプロセスが存在しない場"
7772 "合、 ユーザーが自身の動的共有オブジェクトのリストにアクセスする許可を持ってい"
7773 "ない場合、 もしくはコマンドライン引き数が指定されていない場合、 B<pldd> はス"
7774 "テータス 1 で終了する。 無効なオプションが指定された場合、 ステータス 64 で終"
7775 "了する。"
7776
7777 #. type: Plain text
7778 #: build/C/man1/pldd.1:83
7779 #, no-wrap
7780 msgid ""
7781 "$ B<echo $$>               # Display PID of shell\n"
7782 "1143\n"
7783 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
7784 "1143:\t/usr/bin/bash\n"
7785 "linux-vdso.so.1\n"
7786 "/lib64/libtinfo.so.5\n"
7787 "/lib64/libdl.so.2\n"
7788 "/lib64/libc.so.6\n"
7789 "/lib64/ld-linux-x86-64.so.2\n"
7790 "/lib64/libnss_files.so.2\n"
7791 msgstr ""
7792 "$ B<echo $$>               # シェルの PID を表示する\n"
7793 "1143\n"
7794 "$ B<pldd $$>               # このシェルにリンクされている動的共有オブジェクトを表示\n"
7795 "1143:\t/usr/bin/bash\n"
7796 "linux-vdso.so.1\n"
7797 "/lib64/libtinfo.so.5\n"
7798 "/lib64/libdl.so.2\n"
7799 "/lib64/libc.so.6\n"
7800 "/lib64/ld-linux-x86-64.so.2\n"
7801 "/lib64/libnss_files.so.2\n"
7802
7803 #. type: Plain text
7804 #: build/C/man1/pldd.1:86
7805 msgid "The command"
7806 msgstr "コマンド"
7807
7808 #. type: Plain text
7809 #: build/C/man1/pldd.1:88
7810 #, no-wrap
7811 msgid "     lsof -p PID\n"
7812 msgstr "     lsof -p PID\n"
7813
7814 #. type: Plain text
7815 #: build/C/man1/pldd.1:91
7816 msgid ""
7817 "also shows output that includes the dynamic shared objects that are linked "
7818 "into a process."
7819 msgstr "は、 プロセスにリンクされた動的共有オブジェクトも出力する。"
7820
7821 #. type: Plain text
7822 #: build/C/man1/pldd.1:96
7823 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7824 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7825
7826 #. type: TH
7827 #: build/C/man7/rtld-audit.7:28
7828 #, no-wrap
7829 msgid "RTLD-AUDIT"
7830 msgstr "RTLD-AUDIT"
7831
7832 #. type: TH
7833 #: build/C/man7/rtld-audit.7:28
7834 #, no-wrap
7835 msgid "2012-07-07"
7836 msgstr "2012-07-07"
7837
7838 #. type: Plain text
7839 #: build/C/man7/rtld-audit.7:31
7840 msgid "rtld-audit - auditing API for the dynamic linker"
7841 msgstr ""
7842
7843 #. type: Plain text
7844 #: build/C/man7/rtld-audit.7:33
7845 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
7846 msgstr ""
7847
7848 #. type: Plain text
7849 #: build/C/man7/rtld-audit.7:35
7850 msgid "B<#include E<lt>link.hE<gt>>"
7851 msgstr "B<#include E<lt>link.hE<gt>>"
7852
7853 #. type: Plain text
7854 #: build/C/man7/rtld-audit.7:43
7855 msgid ""
7856 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
7857 "allows an application to be notified when various dynamic linking events "
7858 "occur.  This API is very similar to the auditing interface provided by the "
7859 "Solaris run-time linker.  The necessary constants and prototypes are defined "
7860 "by including I<E<lt>link.hE<gt>>."
7861 msgstr ""
7862
7863 #. type: Plain text
7864 #: build/C/man7/rtld-audit.7:50
7865 msgid ""
7866 "To use this interface, the programmer creates a shared library that "
7867 "implements a standard set of function names.  Not all of the functions need "
7868 "to be implemented: in most cases, if the programmer is not interested in a "
7869 "particular class of auditing event, then no implementation needs to be "
7870 "provided for the corresponding auditing function."
7871 msgstr ""
7872
7873 #. type: Plain text
7874 #: build/C/man7/rtld-audit.7:58
7875 msgid ""
7876 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7877 "be defined to contain a colon-separated list of shared libraries, each of "
7878 "which can implement (parts of) the auditing API.  When an auditable event "
7879 "occurs, the corresponding function is invoked in each library, in the order "
7880 "that the libraries are listed."
7881 msgstr ""
7882
7883 #. type: SS
7884 #: build/C/man7/rtld-audit.7:58
7885 #, no-wrap
7886 msgid "la_version()"
7887 msgstr "la_version()"
7888
7889 #. type: Plain text
7890 #: build/C/man7/rtld-audit.7:62
7891 #, no-wrap
7892 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7893 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7894
7895 #. type: Plain text
7896 #: build/C/man7/rtld-audit.7:74
7897 msgid ""
7898 "This is the only function that I<must> be defined by an auditing library: it "
7899 "performs the initial handshake between the dynamic linker and the auditing "
7900 "library.  When invoking this function, the dynamic linker passes, in "
7901 "I<version>, the highest version of the auditing interface that the linker "
7902 "supports.  If necessary, the auditing library can check that this version is "
7903 "sufficient for its requirements."
7904 msgstr ""
7905
7906 #. type: Plain text
7907 #: build/C/man7/rtld-audit.7:83
7908 msgid ""
7909 "As its function result, this function should return the version of the "
7910 "auditing interface that this auditing library expects to use (returning "
7911 "I<version> is acceptable).  If the returned value is 0, or a version that is "
7912 "greater than that supported by the dynamic linker, then the audit library is "
7913 "ignored."
7914 msgstr ""
7915
7916 #. type: SS
7917 #: build/C/man7/rtld-audit.7:83
7918 #, no-wrap
7919 msgid "la_objsearch()"
7920 msgstr "la_objsearch()"
7921
7922 #. type: Plain text
7923 #: build/C/man7/rtld-audit.7:88
7924 #, no-wrap
7925 msgid ""
7926 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7927 "B<                   unsigned int >I<flag>B<);>\n"
7928 msgstr ""
7929 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7930 "B<                   unsigned int >I<flag>B<);>\n"
7931
7932 #. type: Plain text
7933 #: build/C/man7/rtld-audit.7:99
7934 msgid ""
7935 "The dynamic linker invokes this function to inform the auditing library that "
7936 "it is about to search for a shared object.  The I<name> argument is the "
7937 "filename or pathname that is to be searched for.  I<cookie> identifies the "
7938 "shared object that initiated the search.  I<flag> is set to one of the "
7939 "following values:"
7940 msgstr ""
7941
7942 #. type: TP
7943 #: build/C/man7/rtld-audit.7:99
7944 #, no-wrap
7945 msgid "B<LA_SER_ORIG>"
7946 msgstr "B<LA_SER_ORIG>"
7947
7948 #. type: Plain text
7949 #: build/C/man7/rtld-audit.7:108
7950 msgid ""
7951 "This is the original name that is being searched for.  Typically, this name "
7952 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7953 "to B<dlopen>(3)."
7954 msgstr ""
7955
7956 #. type: TP
7957 #: build/C/man7/rtld-audit.7:108
7958 #, no-wrap
7959 msgid "B<LA_SER_LIBPATH>"
7960 msgstr "B<LA_SER_LIBPATH>"
7961
7962 #. type: Plain text
7963 #: build/C/man7/rtld-audit.7:113
7964 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7965 msgstr ""
7966
7967 #. type: TP
7968 #: build/C/man7/rtld-audit.7:113
7969 #, no-wrap
7970 msgid "B<LA_SER_RUNPATH>"
7971 msgstr "B<LA_SER_RUNPATH>"
7972
7973 #. type: Plain text
7974 #: build/C/man7/rtld-audit.7:121
7975 msgid ""
7976 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7977 "B<DT_RUNPATH> list."
7978 msgstr ""
7979
7980 #. type: TP
7981 #: build/C/man7/rtld-audit.7:121
7982 #, no-wrap
7983 msgid "B<LA_SER_CONFIG>"
7984 msgstr "B<LA_SER_CONFIG>"
7985
7986 #. type: Plain text
7987 #: build/C/man7/rtld-audit.7:128
7988 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
7989 msgstr ""
7990
7991 #. type: TP
7992 #: build/C/man7/rtld-audit.7:128
7993 #, no-wrap
7994 msgid "B<LA_SER_DEFAULT>"
7995 msgstr "B<LA_SER_DEFAULT>"
7996
7997 #. type: Plain text
7998 #: build/C/man7/rtld-audit.7:132
7999 msgid "I<name> was found via a search of one of the default directories."
8000 msgstr ""
8001
8002 #. type: TP
8003 #: build/C/man7/rtld-audit.7:132
8004 #, no-wrap
8005 msgid "B<LA_SER_SECURE>"
8006 msgstr "B<LA_SER_SECURE>"
8007
8008 #. type: Plain text
8009 #: build/C/man7/rtld-audit.7:136
8010 msgid "I<name> is specific to a secure object (unused on Linux)."
8011 msgstr ""
8012
8013 #. type: Plain text
8014 #: build/C/man7/rtld-audit.7:145
8015 msgid ""
8016 "As its function result, B<la_objsearch>()  returns the pathname that the "
8017 "dynamic linker should use for further processing.  If NULL is returned, then "
8018 "this pathname is ignored for further processing.  If this audit library "
8019 "simply intends to monitor search paths, then I<name> should be returned."
8020 msgstr ""
8021
8022 #. type: SS
8023 #: build/C/man7/rtld-audit.7:145
8024 #, no-wrap
8025 msgid "la_activity()"
8026 msgstr "la_activity()"
8027
8028 #. type: Plain text
8029 #: build/C/man7/rtld-audit.7:149
8030 #, no-wrap
8031 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8032 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8033
8034 #. type: Plain text
8035 #: build/C/man7/rtld-audit.7:158
8036 msgid ""
8037 "The dynamic linker calls this function to inform the auditing library that "
8038 "link-map activity is occurring.  I<cookie> identifies the object at the head "
8039 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
8040 "set to one of the following values:"
8041 msgstr ""
8042
8043 #. type: TP
8044 #: build/C/man7/rtld-audit.7:158
8045 #, no-wrap
8046 msgid "B<LA_ACT_ADD>"
8047 msgstr "B<LA_ACT_ADD>"
8048
8049 #. type: Plain text
8050 #: build/C/man7/rtld-audit.7:161
8051 msgid "New objects are being added to the link map."
8052 msgstr ""
8053
8054 #. type: TP
8055 #: build/C/man7/rtld-audit.7:161
8056 #, no-wrap
8057 msgid "B<LA_ACT_DELETE>"
8058 msgstr "B<LA_ACT_DELETE>"
8059
8060 #. type: Plain text
8061 #: build/C/man7/rtld-audit.7:164
8062 msgid "Objects are being removed from the link map."
8063 msgstr ""
8064
8065 #. type: TP
8066 #: build/C/man7/rtld-audit.7:164
8067 #, no-wrap
8068 msgid "B<LA_ACT_CONSISTENT>"
8069 msgstr "B<LA_ACT_CONSISTENT>"
8070
8071 #. type: Plain text
8072 #: build/C/man7/rtld-audit.7:167
8073 msgid "Link-map activity has been completed: the map is once again consistent."
8074 msgstr ""
8075
8076 #. type: SS
8077 #: build/C/man7/rtld-audit.7:167
8078 #, no-wrap
8079 msgid "la_objopen()"
8080 msgstr "la_objopen()"
8081
8082 #. type: Plain text
8083 #: build/C/man7/rtld-audit.7:172
8084 #, no-wrap
8085 msgid ""
8086 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8087 "B<                        uintptr_t *>I<cookie>B<);>\n"
8088 msgstr ""
8089 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8090 "B<                        uintptr_t *>I<cookie>B<);>\n"
8091
8092 #. type: Plain text
8093 #: build/C/man7/rtld-audit.7:181
8094 msgid ""
8095 "The dynamic linker calls this function when a new shared object is loaded.  "
8096 "The I<map> argument is a pointer to a link-map structure that describes the "
8097 "object.  The I<lmid> field has one of the following values"
8098 msgstr ""
8099
8100 #. type: TP
8101 #: build/C/man7/rtld-audit.7:181
8102 #, no-wrap
8103 msgid "B<LM_ID_BASE>"
8104 msgstr "B<LM_ID_BASE>"
8105
8106 #. type: Plain text
8107 #: build/C/man7/rtld-audit.7:184
8108 msgid "Link map is part of the initial namespace."
8109 msgstr ""
8110
8111 #. type: TP
8112 #: build/C/man7/rtld-audit.7:184
8113 #, no-wrap
8114 msgid "B<LM_ID_NEWLM>"
8115 msgstr "B<LM_ID_NEWLM>"
8116
8117 #. type: Plain text
8118 #: build/C/man7/rtld-audit.7:188
8119 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
8120 msgstr ""
8121
8122 #. type: Plain text
8123 #: build/C/man7/rtld-audit.7:196
8124 msgid ""
8125 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
8126 "provided to later calls to functions in the auditing library in order to "
8127 "identify this object.  This identifier is initialized to point to object's "
8128 "link map, but the audit library can change the identifier to some other "
8129 "value that it may prefer to use to identify the object."
8130 msgstr ""
8131
8132 #. type: Plain text
8133 #: build/C/man7/rtld-audit.7:203
8134 msgid ""
8135 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
8136 "zero or more of the following constants, which allow the auditing library to "
8137 "select the objects to be monitored by B<la_symbind*>():"
8138 msgstr ""
8139
8140 #. type: TP
8141 #: build/C/man7/rtld-audit.7:203
8142 #, no-wrap
8143 msgid "B<LA_FLG_BINDTO>"
8144 msgstr "B<LA_FLG_BINDTO>"
8145
8146 #. type: Plain text
8147 #: build/C/man7/rtld-audit.7:206
8148 msgid "Audit symbol bindings to this object."
8149 msgstr ""
8150
8151 #. type: TP
8152 #: build/C/man7/rtld-audit.7:206
8153 #, no-wrap
8154 msgid "B<LA_FLG_BINDFROM>"
8155 msgstr "B<LA_FLG_BINDFROM>"
8156
8157 #. type: Plain text
8158 #: build/C/man7/rtld-audit.7:209
8159 msgid "Audit symbol bindings from this object."
8160 msgstr ""
8161
8162 #. type: Plain text
8163 #: build/C/man7/rtld-audit.7:213
8164 msgid ""
8165 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
8166 "should be audited for this object."
8167 msgstr ""
8168
8169 #. type: SS
8170 #: build/C/man7/rtld-audit.7:213
8171 #, no-wrap
8172 msgid "la_objclose()"
8173 msgstr "la_objclose()"
8174
8175 #. type: Plain text
8176 #: build/C/man7/rtld-audit.7:217
8177 #, no-wrap
8178 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8179 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8180
8181 #. type: Plain text
8182 #: build/C/man7/rtld-audit.7:226
8183 msgid ""
8184 "The dynamic linker invokes this function after any finalization code for the "
8185 "object has been executed, before the object is unloaded.  The I<cookie> "
8186 "argument is the identifier obtained from a previous invocation of "
8187 "B<la_objopen>()."
8188 msgstr ""
8189
8190 #. type: Plain text
8191 #: build/C/man7/rtld-audit.7:230
8192 msgid ""
8193 "In the current implementation, the value returned by B<la_objclose>()  is "
8194 "ignored."
8195 msgstr ""
8196
8197 #. type: SS
8198 #: build/C/man7/rtld-audit.7:230
8199 #, no-wrap
8200 msgid "la_preinit()"
8201 msgstr "la_preinit()"
8202
8203 #. type: Plain text
8204 #: build/C/man7/rtld-audit.7:234
8205 #, no-wrap
8206 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8207 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8208
8209 #. type: Plain text
8210 #: build/C/man7/rtld-audit.7:244
8211 msgid ""
8212 "The dynamic linker invokes this function after all shared objects have been "
8213 "loaded, before control is passed to the application (i.e., before calling "
8214 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
8215 "using B<dlopen>(3)."
8216 msgstr ""
8217
8218 #. type: SS
8219 #: build/C/man7/rtld-audit.7:244
8220 #, no-wrap
8221 msgid "la_symbind*()"
8222 msgstr "la_symbind*()"
8223
8224 #. type: Plain text
8225 #: build/C/man7/rtld-audit.7:253
8226 #, no-wrap
8227 msgid ""
8228 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8229 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8230 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8231 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8232 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8233 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8234 msgstr ""
8235 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8236 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8237 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8238 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8239 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8240 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8241
8242 #. type: Plain text
8243 #: build/C/man7/rtld-audit.7:265
8244 msgid ""
8245 "The dynamic linker invokes one of these functions when a symbol binding "
8246 "occurs between two shared objects that have been marked for auditing "
8247 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
8248 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
8249 "64-bit platforms."
8250 msgstr ""
8251
8252 #. type: Plain text
8253 #: build/C/man7/rtld-audit.7:275
8254 msgid ""
8255 "The I<sym> argument is a pointer to a structure that provides information "
8256 "about the symbol being bound.  The structure definition is shown in "
8257 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
8258 "indicates the address to which the symbol is bound."
8259 msgstr ""
8260
8261 #. type: Plain text
8262 #: build/C/man7/rtld-audit.7:280
8263 msgid ""
8264 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
8265 "bound shared object."
8266 msgstr ""
8267
8268 #. type: Plain text
8269 #: build/C/man7/rtld-audit.7:295
8270 msgid ""
8271 "The I<refcook> argument identifies the shared object that is making the "
8272 "symbol reference; this is the same identifier that is provided to the "
8273 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
8274 "argument identifies the shared object that defines the referenced symbol; "
8275 "this is the same identifier that is provided to the B<la_objopen>()  "
8276 "function that returned B<LA_FLG_BINDTO>."
8277 msgstr ""
8278
8279 #. type: Plain text
8280 #: build/C/man7/rtld-audit.7:299
8281 msgid ""
8282 "The I<symname> argument points a string containing the name of the symbol."
8283 msgstr ""
8284
8285 #.  LA_SYMB_STRUCTCALL appears to be unused
8286 #. type: Plain text
8287 #: build/C/man7/rtld-audit.7:307
8288 msgid ""
8289 "The I<flags> argument is a bit mask that both provides information about the "
8290 "symbol and can be used to modify further auditing of this PLT (Procedure "
8291 "Linkage Table) entry.  The dynamic linker may supply the following bit "
8292 "values in this argument:"
8293 msgstr ""
8294
8295 #. type: TP
8296 #: build/C/man7/rtld-audit.7:307
8297 #, no-wrap
8298 msgid "B<LA_SYMB_DLSYM>"
8299 msgstr "B<LA_SYMB_DLSYM>"
8300
8301 #. type: Plain text
8302 #: build/C/man7/rtld-audit.7:311
8303 msgid "The binding resulted from a call to B<dlsym>(3)."
8304 msgstr ""
8305
8306 #. type: TP
8307 #: build/C/man7/rtld-audit.7:311
8308 #, no-wrap
8309 msgid "B<LA_SYMB_ALTVALUE>"
8310 msgstr "B<LA_SYMB_ALTVALUE>"
8311
8312 #. type: Plain text
8313 #: build/C/man7/rtld-audit.7:316
8314 msgid ""
8315 "A previous B<la_symbind*>()  call returned an alternate value for this "
8316 "symbol."
8317 msgstr ""
8318
8319 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
8320 #.  but don't seem to be called for dynamically loaded libs?
8321 #.  Is this the same on Solaris?
8322 #. type: Plain text
8323 #: build/C/man7/rtld-audit.7:330
8324 msgid ""
8325 "By default, if the auditing library implements B<la_pltenter>()  and "
8326 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
8327 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
8328 "The following flags can be ORed into I<*flags> to change this default "
8329 "behavior:"
8330 msgstr ""
8331
8332 #. type: TP
8333 #: build/C/man7/rtld-audit.7:330
8334 #, no-wrap
8335 msgid "B<LA_SYMB_NOPLTENTER>"
8336 msgstr "B<LA_SYMB_NOPLTENTER>"
8337
8338 #. type: Plain text
8339 #: build/C/man7/rtld-audit.7:335
8340 msgid "Don't call B<la_pltenter>()  for this symbol."
8341 msgstr ""
8342
8343 #. type: TP
8344 #: build/C/man7/rtld-audit.7:335
8345 #, no-wrap
8346 msgid "B<LA_SYMB_NOPLTEXIT>"
8347 msgstr "B<LA_SYMB_NOPLTEXIT>"
8348
8349 #. type: Plain text
8350 #: build/C/man7/rtld-audit.7:340
8351 msgid "Don't call B<la_pltexit>()  for this symbol."
8352 msgstr ""
8353
8354 #. type: Plain text
8355 #: build/C/man7/rtld-audit.7:351
8356 msgid ""
8357 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
8358 "to which control should be passed after the function returns.  If the "
8359 "auditing library is simply monitoring symbol bindings, then it should return "
8360 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
8361 "wishes to direct control to an alternate location."
8362 msgstr ""
8363
8364 #. type: SS
8365 #: build/C/man7/rtld-audit.7:351
8366 #, no-wrap
8367 msgid "la_pltenter()"
8368 msgstr "la_pltenter()"
8369
8370 #. type: Plain text
8371 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
8372 msgid ""
8373 "The precise name and argument types for this function depend on the hardware "
8374 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
8375 "Here is the definition for x86-32:"
8376 msgstr ""
8377
8378 #. type: Plain text
8379 #: build/C/man7/rtld-audit.7:363
8380 #, no-wrap
8381 msgid ""
8382 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8383 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8384 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8385 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8386 msgstr ""
8387 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8388 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8389 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8390 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8391
8392 #. type: Plain text
8393 #: build/C/man7/rtld-audit.7:367
8394 msgid ""
8395 "This function is invoked just before a PLT entry is called, between two "
8396 "shared objects that have been marked for binding notification."
8397 msgstr ""
8398
8399 #. type: Plain text
8400 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
8401 msgid ""
8402 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
8403 "B<la_symbind*>()."
8404 msgstr ""
8405
8406 #. type: Plain text
8407 #: build/C/man7/rtld-audit.7:384
8408 msgid ""
8409 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
8410 "containing the values of registers to be used for the call to this PLT entry."
8411 msgstr ""
8412
8413 #. type: Plain text
8414 #: build/C/man7/rtld-audit.7:390
8415 msgid ""
8416 "The I<flags> argument points to a bit mask that conveys information about, "
8417 "and can be used to modify subsequent auditing of, this PLT entry, as for "
8418 "B<la_symbind*>()."
8419 msgstr ""
8420
8421 #.  FIXME . Is the following correct?
8422 #. type: Plain text
8423 #: build/C/man7/rtld-audit.7:406
8424 msgid ""
8425 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
8426 "to explicitly set the frame size used for the call to this PLT entry.  If "
8427 "different B<la_pltenter>()  invocations for this symbol return different "
8428 "values, then the maximum returned value is used.  The B<la_pltenter>()  "
8429 "function is called only if this buffer is explicitly set to a suitable value."
8430 msgstr ""
8431
8432 #. type: Plain text
8433 #: build/C/man7/rtld-audit.7:411
8434 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
8435 msgstr ""
8436
8437 #. type: SS
8438 #: build/C/man7/rtld-audit.7:411
8439 #, no-wrap
8440 msgid "la_pltexit()"
8441 msgstr "la_pltexit()"
8442
8443 #. type: Plain text
8444 #: build/C/man7/rtld-audit.7:423
8445 #, no-wrap
8446 msgid ""
8447 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8448 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8449 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8450 "B<                 const char *>I<symname>B<);>\n"
8451 msgstr ""
8452 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8453 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8454 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8455 "B<                 const char *>I<symname>B<);>\n"
8456
8457 #. type: Plain text
8458 #: build/C/man7/rtld-audit.7:430
8459 msgid ""
8460 "This function is called when a PLT entry, made between two shared objects "
8461 "that have been marked for binding notification, returns.  The function is "
8462 "called just before control returns to the caller of the PLT entry."
8463 msgstr ""
8464
8465 #. type: Plain text
8466 #: build/C/man7/rtld-audit.7:453
8467 msgid ""
8468 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
8469 "hE<gt>>)  containing the values of registers used for the call to this PLT "
8470 "entry.  The I<outregs> argument points to a structure (defined in "
8471 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
8472 "entry.  These values can be modified by the caller, and the changes will be "
8473 "visible to the caller of the PLT entry."
8474 msgstr ""
8475
8476 #.  This differs from Solaris, where an audit library that monitors
8477 #.  symbol binding should return the value of the 'retval' argument
8478 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
8479 #.  on (say) x86-32).
8480 #. type: Plain text
8481 #: build/C/man7/rtld-audit.7:461
8482 msgid ""
8483 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
8484 "ignored."
8485 msgstr ""
8486
8487 #. type: Plain text
8488 #: build/C/man7/rtld-audit.7:467
8489 msgid ""
8490 "This API is nonstandard, but very similar to the Solaris API, described in "
8491 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
8492 "Auditing Interface>."
8493 msgstr ""
8494
8495 #. type: Plain text
8496 #: build/C/man7/rtld-audit.7:470
8497 msgid ""
8498 "Note the following differences from the Solaris dynamic linker auditing API:"
8499 msgstr ""
8500
8501 #. type: IP
8502 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
8503 #: build/C/man7/rtld-audit.7:482
8504 #, no-wrap
8505 msgid "*"
8506 msgstr "*"
8507
8508 #. type: Plain text
8509 #: build/C/man7/rtld-audit.7:474
8510 msgid ""
8511 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
8512 "implementation."
8513 msgstr ""
8514
8515 #. type: Plain text
8516 #: build/C/man7/rtld-audit.7:482
8517 msgid ""
8518 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
8519 "a I<symname> argument."
8520 msgstr ""
8521
8522 #. type: Plain text
8523 #: build/C/man7/rtld-audit.7:492
8524 msgid ""
8525 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
8526 "I<outregs> arguments (but does provide a I<retval> argument with the "
8527 "function return value)."
8528 msgstr ""
8529
8530 #.  FIXME . Specifying multiple audit libraries doesn't work on GNU.
8531 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
8532 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
8533 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
8534 #. type: Plain text
8535 #: build/C/man7/rtld-audit.7:502
8536 msgid ""
8537 "In glibc versions up to and include 2.9, specifying more than one audit "
8538 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
8539 "fixed in glibc 2.10."
8540 msgstr ""
8541
8542 #. type: Plain text
8543 #: build/C/man7/rtld-audit.7:506
8544 #, no-wrap
8545 msgid ""
8546 "#include E<lt>link.hE<gt>\n"
8547 "#include E<lt>stdio.hE<gt>\n"
8548 msgstr ""
8549 "#include E<lt>link.hE<gt>\n"
8550 "#include E<lt>stdio.hE<gt>\n"
8551
8552 #. type: Plain text
8553 #: build/C/man7/rtld-audit.7:511
8554 #, no-wrap
8555 msgid ""
8556 "unsigned int\n"
8557 "la_version(unsigned int version)\n"
8558 "{\n"
8559 "    printf(\"la_version(): %d\\en\", version);\n"
8560 msgstr ""
8561 "unsigned int\n"
8562 "la_version(unsigned int version)\n"
8563 "{\n"
8564 "    printf(\"la_version(): %d\\en\", version);\n"
8565
8566 #. type: Plain text
8567 #: build/C/man7/rtld-audit.7:514
8568 #, no-wrap
8569 msgid ""
8570 "    return version;\n"
8571 "}\n"
8572 msgstr ""
8573 "    return version;\n"
8574 "}\n"
8575
8576 #. type: Plain text
8577 #: build/C/man7/rtld-audit.7:527
8578 #, no-wrap
8579 msgid ""
8580 "char *\n"
8581 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8582 "{\n"
8583 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8584 "    printf(\"; flag = %s\\en\",\n"
8585 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8586 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8587 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8588 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8589 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8590 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8591 "            \"???\");\n"
8592 msgstr ""
8593 "char *\n"
8594 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8595 "{\n"
8596 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8597 "    printf(\"; flag = %s\\en\",\n"
8598 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
8599 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8600 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8601 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8602 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
8603 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
8604 "            \"???\");\n"
8605
8606 #. type: Plain text
8607 #: build/C/man7/rtld-audit.7:530
8608 #, no-wrap
8609 msgid ""
8610 "    return name;\n"
8611 "}\n"
8612 msgstr ""
8613 "    return name;\n"
8614 "}\n"
8615
8616 #. type: Plain text
8617 #: build/C/man7/rtld-audit.7:540
8618 #, no-wrap
8619 msgid ""
8620 "void\n"
8621 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8622 "{\n"
8623 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8624 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8625 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8626 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8627 "            \"???\");\n"
8628 "}\n"
8629 msgstr ""
8630 "void\n"
8631 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8632 "{\n"
8633 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8634 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8635 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
8636 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
8637 "            \"???\");\n"
8638 "}\n"
8639
8640 #. type: Plain text
8641 #: build/C/man7/rtld-audit.7:550
8642 #, no-wrap
8643 msgid ""
8644 "unsigned int\n"
8645 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8646 "{\n"
8647 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8648 "            map-E<gt>l_name,\n"
8649 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8650 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8651 "            \"???\",\n"
8652 "            cookie);\n"
8653 msgstr ""
8654 "unsigned int\n"
8655 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8656 "{\n"
8657 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8658 "            map-E<gt>l_name,\n"
8659 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
8660 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8661 "            \"???\",\n"
8662 "            cookie);\n"
8663
8664 #. type: Plain text
8665 #: build/C/man7/rtld-audit.7:553
8666 #, no-wrap
8667 msgid ""
8668 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8669 "}\n"
8670 msgstr ""
8671 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8672 "}\n"
8673
8674 #. type: Plain text
8675 #: build/C/man7/rtld-audit.7:558
8676 #, no-wrap
8677 msgid ""
8678 "unsigned int\n"
8679 "la_objclose (uintptr_t *cookie)\n"
8680 "{\n"
8681 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8682 msgstr ""
8683 "unsigned int\n"
8684 "la_objclose (uintptr_t *cookie)\n"
8685 "{\n"
8686 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
8687
8688 #. type: Plain text
8689 #: build/C/man7/rtld-audit.7:561
8690 #, no-wrap
8691 msgid ""
8692 "    return 0;\n"
8693 "}\n"
8694 msgstr ""
8695 "    return 0;\n"
8696 "}\n"
8697
8698 #. type: Plain text
8699 #: build/C/man7/rtld-audit.7:567
8700 #, no-wrap
8701 msgid ""
8702 "void\n"
8703 "la_preinit(uintptr_t *cookie)\n"
8704 "{\n"
8705 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8706 "}\n"
8707 msgstr ""
8708 "void\n"
8709 "la_preinit(uintptr_t *cookie)\n"
8710 "{\n"
8711 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
8712 "}\n"
8713
8714 #. type: Plain text
8715 #: build/C/man7/rtld-audit.7:576
8716 #, no-wrap
8717 msgid ""
8718 "uintptr_t\n"
8719 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8720 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8721 "{\n"
8722 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8723 "            symname, sym-E<gt>st_value);\n"
8724 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8725 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8726 msgstr ""
8727 "uintptr_t\n"
8728 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8729 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8730 "{\n"
8731 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8732 "            symname, sym-E<gt>st_value);\n"
8733 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8734 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8735
8736 #. type: Plain text
8737 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
8738 #: build/C/man7/rtld-audit.7:601
8739 #, no-wrap
8740 msgid ""
8741 "    return sym-E<gt>st_value;\n"
8742 "}\n"
8743 msgstr ""
8744 "    return sym-E<gt>st_value;\n"
8745 "}\n"
8746
8747 #. type: Plain text
8748 #: build/C/man7/rtld-audit.7:588
8749 #, no-wrap
8750 msgid ""
8751 "uintptr_t\n"
8752 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8753 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8754 "{\n"
8755 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8756 "            symname, sym-E<gt>st_value);\n"
8757 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8758 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8759 msgstr ""
8760 "uintptr_t\n"
8761 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8762 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8763 "{\n"
8764 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8765 "            symname, sym-E<gt>st_value);\n"
8766 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8767 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8768
8769 #. type: Plain text
8770 #: build/C/man7/rtld-audit.7:598
8771 #, no-wrap
8772 msgid ""
8773 "Elf32_Addr\n"
8774 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8775 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8776 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8777 "{\n"
8778 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8779 msgstr ""
8780 "Elf32_Addr\n"
8781 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8782 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8783 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
8784 "{\n"
8785 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8786
8787 #. type: Plain text
8788 #: build/C/man7/rtld-audit.7:607
8789 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8790 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8791
8792 #. type: TH
8793 #: build/C/man8/sln.8:25
8794 #, no-wrap
8795 msgid "SLN"
8796 msgstr "SLN"
8797
8798 #. type: TH
8799 #: build/C/man8/sln.8:25
8800 #, no-wrap
8801 msgid "2013-02-10"
8802 msgstr "2013-02-10"
8803
8804 #. type: Plain text
8805 #: build/C/man8/sln.8:28
8806 msgid "sln - create symbolic links"
8807 msgstr "sln - シンボリックリンクを作成する"
8808
8809 #. type: Plain text
8810 #: build/C/man8/sln.8:30
8811 msgid "B<sln>I< source dest>"
8812 msgstr "B<sln>I< source dest>"
8813
8814 #. type: Plain text
8815 #: build/C/man8/sln.8:32
8816 msgid "B<sln>I< filelist>"
8817 msgstr "B<sln>I< filelist>"
8818
8819 #. type: Plain text
8820 #: build/C/man8/sln.8:42
8821 msgid ""
8822 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
8823 "is statically linked.  This means that if for some reason the dynamic linker "
8824 "is not working, B<sln> can be used to make symbolic links to dynamic "
8825 "libraries."
8826 msgstr ""
8827 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
8828 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
8829 "カが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリンク"
8830 "を作成することができる。"
8831
8832 #. type: Plain text
8833 #: build/C/man8/sln.8:48
8834 msgid ""
8835 "The command line has two forms.  In the first form, it creates I<dest> as a "
8836 "new symbolic link to I<source>."
8837 msgstr ""
8838 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
8839 "クリンクとして I<dest> を作成する。"
8840
8841 #. type: Plain text
8842 #: build/C/man8/sln.8:56
8843 msgid ""
8844 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
8845 "and the effect is as if B<sln> was executed once for each line of the file, "
8846 "with the two pathnames as the arguments."
8847 msgstr ""
8848 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
8849 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
8850 "のと同じ結果となる。"
8851
8852 #. type: Plain text
8853 #: build/C/man8/sln.8:60
8854 msgid "The B<sln> program supports no command-line options."
8855 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
8856
8857 #. type: Plain text
8858 #: build/C/man8/sln.8:64
8859 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8860 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8861
8862 #. type: TH
8863 #: build/C/man1/sprof.1:25
8864 #, no-wrap
8865 msgid "SPROF"
8866 msgstr "SPROF"
8867
8868 #. type: TH
8869 #: build/C/man1/sprof.1:25
8870 #, no-wrap
8871 msgid "2014-06-24"
8872 msgstr "2014-06-24"
8873
8874 #. type: Plain text
8875 #: build/C/man1/sprof.1:28
8876 msgid "sprof - read and display shared object profiling data"
8877 msgstr ""
8878
8879 #. type: Plain text
8880 #: build/C/man1/sprof.1:32
8881 #, no-wrap
8882 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8883 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8884
8885 #. type: Plain text
8886 #: build/C/man1/sprof.1:46
8887 msgid ""
8888 "The B<sprof> command displays a profiling summary for the shared object "
8889 "specified as its first command-line argument.  The profiling summary is "
8890 "created using previously generated profiling data in the (optional) second "
8891 "command-line argument.  If the profiling data pathname is omitted, then "
8892 "B<sprof> will attempt to deduce it using the soname of the shared object, "
8893 "looking for a file with the name I<E<lt>sonameE<gt>.profile> in the current "
8894 "directory."
8895 msgstr ""
8896
8897 #. type: Plain text
8898 #: build/C/man1/sprof.1:49
8899 msgid ""
8900 "The following command-line options specify the profile output to be produced:"
8901 msgstr ""
8902
8903 #. type: TP
8904 #: build/C/man1/sprof.1:49
8905 #, no-wrap
8906 msgid "B<-c>, B<--call-pairs>"
8907 msgstr "B<-c>, B<--call-pairs>"
8908
8909 #. type: Plain text
8910 #: build/C/man1/sprof.1:54
8911 msgid ""
8912 "Print a list of pairs of call paths for the interfaces exported by the "
8913 "shared object, along with the number of times each path is used."
8914 msgstr ""
8915
8916 #. type: TP
8917 #: build/C/man1/sprof.1:54
8918 #, no-wrap
8919 msgid "B<-p>, B<--flat-profile>"
8920 msgstr "B<-p>, B<--flat-profile>"
8921
8922 #. type: Plain text
8923 #: build/C/man1/sprof.1:58
8924 msgid ""
8925 "Generate a flat profile of all of the functions in the monitored object, "
8926 "with counts and ticks."
8927 msgstr ""
8928
8929 #. type: TP
8930 #: build/C/man1/sprof.1:58
8931 #, no-wrap
8932 msgid "B<-q>, B<--graph>"
8933 msgstr "B<-q>, B<--graph>"
8934
8935 #. type: Plain text
8936 #: build/C/man1/sprof.1:61
8937 msgid "Generate a call graph."
8938 msgstr ""
8939
8940 #. type: Plain text
8941 #: build/C/man1/sprof.1:64
8942 msgid ""
8943 "If none of the above options is specified, then the default behavior is to "
8944 "display a flat profile and a call graph."
8945 msgstr ""
8946
8947 #. type: Plain text
8948 #: build/C/man1/sprof.1:66
8949 msgid "The following additional command-line options are available:"
8950 msgstr ""
8951
8952 #. type: Plain text
8953 #: build/C/man1/sprof.1:69
8954 msgid "Display a summary of command-line options and arguments and exit."
8955 msgstr ""
8956
8957 #. type: Plain text
8958 #: build/C/man1/sprof.1:72
8959 msgid "Display a short usage message and exit."
8960 msgstr ""
8961
8962 #. type: Plain text
8963 #: build/C/man1/sprof.1:75
8964 msgid "Display the program version and exit."
8965 msgstr ""
8966
8967 #. type: Plain text
8968 #: build/C/man1/sprof.1:79
8969 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
8970 msgstr ""
8971
8972 #. type: Plain text
8973 #: build/C/man1/sprof.1:85
8974 msgid ""
8975 "The following example demonstrates the use of B<sprof>.  The example "
8976 "consists of a main program that calls two functions in a shared library.  "
8977 "First, the code of the main program:"
8978 msgstr ""
8979
8980 #. type: Plain text
8981 #: build/C/man1/sprof.1:90
8982 #, no-wrap
8983 msgid ""
8984 "$ B<cat prog.c>\n"
8985 "#include E<lt>stdlib.hE<gt>\n"
8986 msgstr ""
8987 "$ B<cat prog.c>\n"
8988 "#include E<lt>stdlib.hE<gt>\n"
8989
8990 #. type: Plain text
8991 #: build/C/man1/sprof.1:93
8992 #, no-wrap
8993 msgid ""
8994 "void x1(void);\n"
8995 "void x2(void);\n"
8996 msgstr ""
8997 "void x1(void);\n"
8998 "void x2(void);\n"
8999
9000 #. type: Plain text
9001 #: build/C/man1/sprof.1:101
9002 #, no-wrap
9003 msgid ""
9004 "int\n"
9005 "main(int argc, char *argv[])\n"
9006 "{\n"
9007 "    x1();\n"
9008 "    x2();\n"
9009 "    exit(EXIT_SUCCESS);\n"
9010 "}\n"
9011 msgstr ""
9012 "int\n"
9013 "main(int argc, char *argv[])\n"
9014 "{\n"
9015 "    x1();\n"
9016 "    x2();\n"
9017 "    exit(EXIT_SUCCESS);\n"
9018 "}\n"
9019
9020 #. type: Plain text
9021 #: build/C/man1/sprof.1:110
9022 msgid ""
9023 "The functions I<x1()> and I<x2()> are defined in the following source file "
9024 "that is used to construct the shared library:"
9025 msgstr ""
9026
9027 #. type: Plain text
9028 #: build/C/man1/sprof.1:115
9029 #, no-wrap
9030 msgid ""
9031 "$ B<cat libdemo.c>\n"
9032 "#include E<lt>unistd.hE<gt>\n"
9033 msgstr ""
9034 "$ B<cat libdemo.c>\n"
9035 "#include E<lt>unistd.hE<gt>\n"
9036
9037 #. type: Plain text
9038 #: build/C/man1/sprof.1:120
9039 #, no-wrap
9040 msgid ""
9041 "void\n"
9042 "consumeCpu1(int lim)\n"
9043 "{\n"
9044 "    int j;\n"
9045 msgstr ""
9046 "void\n"
9047 "consumeCpu1(int lim)\n"
9048 "{\n"
9049 "    int j;\n"
9050
9051 #. type: Plain text
9052 #: build/C/man1/sprof.1:124 build/C/man1/sprof.1:141
9053 #, no-wrap
9054 msgid ""
9055 "    for (j = 0; j E<lt> lim; j++)\n"
9056 "\tgetppid();\n"
9057 "}\n"
9058 msgstr ""
9059 "    for (j = 0; j E<lt> lim; j++)\n"
9060 "\tgetppid();\n"
9061 "}\n"
9062
9063 #. type: Plain text
9064 #: build/C/man1/sprof.1:128
9065 #, no-wrap
9066 msgid ""
9067 "void\n"
9068 "x1(void) {\n"
9069 "    int j;\n"
9070 msgstr ""
9071 "void\n"
9072 "x1(void) {\n"
9073 "    int j;\n"
9074
9075 #. type: Plain text
9076 #: build/C/man1/sprof.1:132
9077 #, no-wrap
9078 msgid ""
9079 "    for (j = 0; j E<lt> 100; j++)\n"
9080 "\tconsumeCpu1(200000);\n"
9081 "}\n"
9082 msgstr ""
9083 "    for (j = 0; j E<lt> 100; j++)\n"
9084 "\tconsumeCpu1(200000);\n"
9085 "}\n"
9086
9087 #. type: Plain text
9088 #: build/C/man1/sprof.1:137
9089 #, no-wrap
9090 msgid ""
9091 "void\n"
9092 "consumeCpu2(int lim)\n"
9093 "{\n"
9094 "    int j;\n"
9095 msgstr ""
9096 "void\n"
9097 "consumeCpu2(int lim)\n"
9098 "{\n"
9099 "    int j;\n"
9100
9101 #. type: Plain text
9102 #: build/C/man1/sprof.1:146
9103 #, no-wrap
9104 msgid ""
9105 "void\n"
9106 "x2(void)\n"
9107 "{\n"
9108 "    int j;\n"
9109 msgstr ""
9110 "void\n"
9111 "x2(void)\n"
9112 "{\n"
9113 "    int j;\n"
9114
9115 #. type: Plain text
9116 #: build/C/man1/sprof.1:150
9117 #, no-wrap
9118 msgid ""
9119 "    for (j = 0; j E<lt> 1000; j++)\n"
9120 "\tconsumeCpu2(10000);\n"
9121 "}\n"
9122 msgstr ""
9123 "    for (j = 0; j E<lt> 1000; j++)\n"
9124 "\tconsumeCpu2(10000);\n"
9125 "}\n"
9126
9127 #. type: Plain text
9128 #: build/C/man1/sprof.1:157
9129 msgid ""
9130 "Now we construct the shared library with the real name I<libdemo.so.1.0.1>, "
9131 "and the soname I<libdemo.so.1>:"
9132 msgstr ""
9133
9134 #. type: Plain text
9135 #: build/C/man1/sprof.1:162
9136 #, no-wrap
9137 msgid ""
9138 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9139 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9140 msgstr ""
9141 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9142 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
9143
9144 #. type: Plain text
9145 #: build/C/man1/sprof.1:167
9146 msgid ""
9147 "Then we construct symbolic links for the library soname and the library "
9148 "linker name:"
9149 msgstr ""
9150
9151 #. type: Plain text
9152 #: build/C/man1/sprof.1:172
9153 #, no-wrap
9154 msgid ""
9155 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9156 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9157 msgstr ""
9158 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9159 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9160
9161 #. type: Plain text
9162 #: build/C/man1/sprof.1:177
9163 msgid ""
9164 "Next, we compile the main program, linking it against the shared library, "
9165 "and then list the dynamic dependencies of the program:"
9166 msgstr ""
9167
9168 #. type: Plain text
9169 #: build/C/man1/sprof.1:186
9170 #, no-wrap
9171 msgid ""
9172 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9173 "$ B<ldd prog>\n"
9174 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9175 "\tlibdemo.so.1 =E<gt> not found\n"
9176 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9177 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9178 msgstr ""
9179 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9180 "$ B<ldd prog>\n"
9181 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
9182 "\tlibdemo.so.1 =E<gt> not found\n"
9183 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9184 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9185
9186 #. type: Plain text
9187 #: build/C/man1/sprof.1:193
9188 msgid ""
9189 "In order to get profiling information for the shared library, we define the "
9190 "environment variable B<LD_PROFILE> with the soname of the library:"
9191 msgstr ""
9192
9193 #. type: Plain text
9194 #: build/C/man1/sprof.1:197
9195 #, no-wrap
9196 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
9197 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
9198
9199 #. type: Plain text
9200 #: build/C/man1/sprof.1:204
9201 msgid ""
9202 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
9203 "pathname of the directory where profile output should be written, and create "
9204 "that directory if it does not exist already:"
9205 msgstr ""
9206
9207 #. type: Plain text
9208 #: build/C/man1/sprof.1:209
9209 #, no-wrap
9210 msgid ""
9211 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9212 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9213 msgstr ""
9214 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9215 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9216
9217 #. type: Plain text
9218 #: build/C/man1/sprof.1:217
9219 msgid ""
9220 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
9221 "if it already exists, so we ensure that there is no preexisting profiling "
9222 "data:"
9223 msgstr ""
9224
9225 #. type: Plain text
9226 #: build/C/man1/sprof.1:221
9227 #, no-wrap
9228 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9229 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9230
9231 #. type: Plain text
9232 #: build/C/man1/sprof.1:227
9233 msgid ""
9234 "We then run the program to produce the profiling output, which is written to "
9235 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
9236 msgstr ""
9237
9238 #. type: Plain text
9239 #: build/C/man1/sprof.1:233
9240 #, no-wrap
9241 msgid ""
9242 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9243 "$ B<ls prof_data>\n"
9244 "libdemo.so.1.profile\n"
9245 msgstr ""
9246 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9247 "$ B<ls prof_data>\n"
9248 "libdemo.so.1.profile\n"
9249
9250 #. type: Plain text
9251 #: build/C/man1/sprof.1:239
9252 msgid ""
9253 "We then use the B<sprof -p> option to generate a flat profile with counts "
9254 "and ticks:"
9255 msgstr ""
9256
9257 #. type: Plain text
9258 #: build/C/man1/sprof.1:244
9259 #, no-wrap
9260 msgid ""
9261 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9262 "Flat profile:\n"
9263 msgstr ""
9264 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9265 "Flat profile:\n"
9266
9267 #. type: Plain text
9268 #: build/C/man1/sprof.1:252
9269 #, no-wrap
9270 msgid ""
9271 "Each sample counts as 0.01 seconds.\n"
9272 "  %   cumulative   self              self     total\n"
9273 " time   seconds   seconds    calls  us/call  us/call  name\n"
9274 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9275 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9276 "  0.00      0.10     0.00        1     0.00           x1\n"
9277 "  0.00      0.10     0.00        1     0.00           x2\n"
9278 msgstr ""
9279 "Each sample counts as 0.01 seconds.\n"
9280 "  %   cumulative   self              self     total\n"
9281 " time   seconds   seconds    calls  us/call  us/call  name\n"
9282 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
9283 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
9284 "  0.00      0.10     0.00        1     0.00           x1\n"
9285 "  0.00      0.10     0.00        1     0.00           x2\n"
9286
9287 #. type: Plain text
9288 #: build/C/man1/sprof.1:258
9289 msgid "The B<sprof -q> option generates a call graph:"
9290 msgstr ""
9291
9292 #. type: Plain text
9293 #: build/C/man1/sprof.1:262
9294 #, no-wrap
9295 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9296 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9297
9298 #. type: Plain text
9299 #: build/C/man1/sprof.1:264
9300 #, no-wrap
9301 msgid "index % time    self  children    called     name\n"
9302 msgstr "index % time    self  children    called     name\n"
9303
9304 #. type: Plain text
9305 #: build/C/man1/sprof.1:279
9306 #, no-wrap
9307 msgid ""
9308 "                0.00    0.00      100/100         x1 [1]\n"
9309 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9310 "-----------------------------------------------\n"
9311 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9312 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9313 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9314 "-----------------------------------------------\n"
9315 "                0.00    0.00     1000/1000        x2 [3]\n"
9316 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9317 "-----------------------------------------------\n"
9318 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9319 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9320 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9321 "-----------------------------------------------\n"
9322 msgstr ""
9323 "                0.00    0.00      100/100         x1 [1]\n"
9324 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
9325 "-----------------------------------------------\n"
9326 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9327 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
9328 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
9329 "-----------------------------------------------\n"
9330 "                0.00    0.00     1000/1000        x2 [3]\n"
9331 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
9332 "-----------------------------------------------\n"
9333 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
9334 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
9335 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
9336 "-----------------------------------------------\n"
9337
9338 #. type: Plain text
9339 #: build/C/man1/sprof.1:285
9340 msgid ""
9341 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
9342 "that are outside of the profiled object (in this example, these are "
9343 "instances of I<main()>)."
9344 msgstr ""
9345
9346 #. type: Plain text
9347 #: build/C/man1/sprof.1:289
9348 msgid ""
9349 "The B<sprof -c> option generates a list of call pairs and the number of "
9350 "their occurrences:"
9351 msgstr ""
9352
9353 #. type: Plain text
9354 #: build/C/man1/sprof.1:297
9355 #, no-wrap
9356 msgid ""
9357 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9358 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9359 "x1                         consumeCpu1                      100\n"
9360 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9361 "x2                         consumeCpu2                     1000\n"
9362 msgstr ""
9363 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9364 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
9365 "x1                         consumeCpu1                      100\n"
9366 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
9367 "x2                         consumeCpu2                     1000\n"
9368
9369 #. type: Plain text
9370 #: build/C/man1/sprof.1:303
9371 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9372 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"