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.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2015-02-04 23:30+0900\n"
10 "PO-Revision-Date: 2015-01-30 17:19+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man3/dl_iterate_phdr.3:25
21 msgid "DL_ITERATE_PHDR"
22 msgstr "DL_ITERATE_PHDR"
25 #: build/C/man3/dl_iterate_phdr.3:25
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
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
45 msgid "Linux Programmer's Manual"
46 msgstr "Linux Programmer's Manual"
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
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 - 共有オブジェクトのリストを辿る"
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
76 #: build/C/man3/dl_iterate_phdr.3:32
79 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
80 "B<#include E<lt>link.hE<gt>>\n"
82 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
83 "B<#include E<lt>link.hE<gt>>\n"
86 #: build/C/man3/dl_iterate_phdr.3:37
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"
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"
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
111 #: build/C/man3/dl_iterate_phdr.3:43
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."
116 "B<dl_iterate_phdr>() 関数を使うと、アプリケーションは実行時に どの共有オブ"
117 "ジェクトをロードしたかを見つけることができる。"
120 #: build/C/man3/dl_iterate_phdr.3:53
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."
127 "B<dl_iterate_phdr>() 関数はアプリケーションの共有オブジェクトのリストを辿"
128 "り、 各オブジェクトに対して関数 I<callback> を 1 回ずつ呼び出す。 これは全て"
129 "の共有オブジェクトが処理されるか、 I<callback> が 0 以外の値を返すまで行われ"
133 #: build/C/man3/dl_iterate_phdr.3:70
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>()."
142 "各々の I<callback> 呼び出しは 3 つの引き数を受け取る: I<info> は共有オブジェ"
143 "クトの情報を保持する構造体へのポインターである。 I<size> は I<info> で指され"
144 "る構造体のサイズである。 I<data> は呼び出し元プログラムから "
145 "B<dl_iterate_phdr>() の呼び出しの (同じく I<data> という名前の) 第 2 引き数"
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> 引き数は、以下のような型の構造体である。"
154 #: build/C/man3/dl_iterate_phdr.3:86
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"
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"
167 "struct dl_phdr_info {\n"
168 " ElfW(Addr) dlpi_addr; /* オブジェクトのベースアドレス */\n"
169 " const char *dlpi_name; /* (ヌル文字で終端された)\n"
171 " const ElfW(Phdr) *dlpi_phdr; /* このオブジェクトの\n"
174 " ElfW(Half) dlpi_phnum; /* I<dlpi_phdr> のアイテム数 */\n"
178 #: build/C/man3/dl_iterate_phdr.3:98
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.)"
186 "(I<ElfW>() マクロ定義は引き数をハードウェアアーキテクチャーに適した ELF デー"
187 "タ型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
188 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
189 "ダーファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
192 #: build/C/man3/dl_iterate_phdr.3:109
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."
200 "I<dlpi_addr> フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ"
201 "ジェクトの仮想メモリーアドレスと、 ファイル (このファイルから共有オブジェクト"
202 "がロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 "
203 "I<dlpi_name> はヌル文字で終端された文字列であり、 このパス名のファイルから共"
207 #: build/C/man3/dl_iterate_phdr.3:124
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 "
216 "I<dlpi_phdr> と I<dlpi_phnum> フィールドの意味を理解するには、 ELF 共有オブ"
217 "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対"
218 "応するプログラムヘッダー (そのセグメントを説明する) を持っていることを知って"
219 "いる必要がある。 I<dlpi_phdr> フィールドは、この共有オブジェクトのプログラム"
220 "ヘッダーの配列へのポインターである。 I<dlpi_phnum> は、この配列のサイズを表"
224 #: build/C/man3/dl_iterate_phdr.3:126
225 msgid "These program headers are structures of the following form:"
226 msgstr "これらのプログラムヘッダーは以下のような形式の構造体である:"
229 #: build/C/man3/dl_iterate_phdr.3:139
233 " Elf32_Word p_type; /* Segment type */\n"
234 " Elf32_Off p_offset; /* Segment file offset */\n"
235 " Elf32_Addr p_vaddr; /* Segment virtual address */\n"
236 " Elf32_Addr p_paddr; /* Segment physical address */\n"
237 " Elf32_Word p_filesz; /* Segment size in file */\n"
238 " Elf32_Word p_memsz; /* Segment size in memory */\n"
239 " Elf32_Word p_flags; /* Segment flags */\n"
240 " Elf32_Word p_align; /* Segment alignment */\n"
245 " Elf32_Word p_type; /* セグメントの型 */\n"
246 " Elf32_Off p_offset; /* セグメントのファイルオフセット */\n"
247 " Elf32_Addr p_vaddr; /* セグメントの仮想アドレス */\n"
248 " Elf32_Addr p_paddr; /* セグメントの物理アドレス */\n"
249 " Elf32_Word p_filesz; /* ファイルにおけるセグメントサイズ */\n"
250 " Elf32_Word p_memsz; /* メモリーにおけるセグメントサイズ */\n"
251 " Elf32_Word p_flags; /* セグメントフラグ */\n"
252 " Elf32_Word p_align; /* セグメントの配置 (alignment) */\n"
256 #: build/C/man3/dl_iterate_phdr.3:145
258 "Note that we can calculate the location of a particular program header, "
259 "I<x>, in virtual memory using the formula:"
261 "特定のプログラムヘッダー I<x> の仮想メモリーにおける位置は、以下の式で計算で"
265 #: build/C/man3/dl_iterate_phdr.3:148
267 msgid " addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
268 msgstr " addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
271 #: build/C/man3/dl_iterate_phdr.3:149
277 #: build/C/man3/dl_iterate_phdr.3:154
279 "The B<dl_iterate_phdr>() function returns whatever value was returned by "
280 "the last call to I<callback>."
282 "B<dl_iterate_phdr>() 関数は最後の I<callback> の呼び出しで返された値を返す。"
285 #: build/C/man3/dl_iterate_phdr.3:154 build/C/man1/pldd.1:50
291 #: build/C/man3/dl_iterate_phdr.3:157
292 msgid "B<dl_iterate_phdr>() has been supported in glibc since version 2.2.4."
294 "B<dl_iterate_phdr>() は glibc のバージョン 2.2.4 以降でサポートされている。"
297 #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381
298 #: build/C/man3/end.3:50 build/C/man1/pldd.1:53 build/C/man7/rtld-audit.7:461
299 #: build/C/man1/sprof.1:75
301 msgid "CONFORMING TO"
305 #: build/C/man3/dl_iterate_phdr.3:161
307 "The B<dl_iterate_phdr>() function is Linux-specific and should be avoided "
308 "in portable applications."
310 "B<dl_iterate_phdr>() 関数は Linux 固有であり、移植を考えたアプリケーションで"
314 #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446
315 #: build/C/man3/end.3:76 build/C/man1/memusage.1:201
316 #: build/C/man1/memusagestat.1:81 build/C/man1/pldd.1:71
317 #: build/C/man7/rtld-audit.7:502 build/C/man1/sprof.1:79
323 #: build/C/man3/dl_iterate_phdr.3:166
325 "The following program displays a list of pathnames of the shared objects it "
326 "has loaded. For each shared object, the program lists the virtual addresses "
327 "at which the object's ELF segments are loaded."
329 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
330 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
331 "ロードされた 仮想アドレスの一覧を表示する。"
334 #: build/C/man3/dl_iterate_phdr.3:172
337 "#define _GNU_SOURCE\n"
338 "#include E<lt>link.hE<gt>\n"
339 "#include E<lt>stdlib.hE<gt>\n"
340 "#include E<lt>stdio.hE<gt>\n"
342 "#define _GNU_SOURCE\n"
343 "#include E<lt>link.hE<gt>\n"
344 "#include E<lt>stdlib.hE<gt>\n"
345 "#include E<lt>stdio.hE<gt>\n"
348 #: build/C/man3/dl_iterate_phdr.3:177
352 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
357 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
362 #: build/C/man3/dl_iterate_phdr.3:180
365 " printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
366 " info-E<gt>dlpi_phnum);\n"
368 " printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
369 " info-E<gt>dlpi_phnum);\n"
372 #: build/C/man3/dl_iterate_phdr.3:186
375 " for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
376 " printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
377 " (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
381 " for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
382 " printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
383 " (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
388 #: build/C/man3/dl_iterate_phdr.3:191
392 "main(int argc, char *argv[])\n"
394 " dl_iterate_phdr(callback, NULL);\n"
397 "main(int argc, char *argv[])\n"
399 " dl_iterate_phdr(callback, NULL);\n"
402 #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107
405 " exit(EXIT_SUCCESS);\n"
408 " exit(EXIT_SUCCESS);\n"
412 #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521
413 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:489
414 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108
415 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
416 #: build/C/man1/mtrace.1:61 build/C/man1/pldd.1:91
417 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60
418 #: build/C/man1/sprof.1:299
424 #: build/C/man3/dl_iterate_phdr.3:202
426 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
428 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
431 #: build/C/man3/dl_iterate_phdr.3:205
433 "I<Executable and Linking Format Specification>, available at various "
436 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
440 #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:531
441 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:505
442 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:113
443 #: build/C/man1/memusage.1:275 build/C/man1/memusagestat.1:91
444 #: build/C/man1/mtrace.1:64 build/C/man1/pldd.1:96
445 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64
446 #: build/C/man1/sprof.1:303
452 #: build/C/man3/dl_iterate_phdr.3:213 build/C/man3/dlopen.3:539
453 #: build/C/man5/elf.5:1971 build/C/man3/end.3:121 build/C/man8/ld.so.8:513
454 #: build/C/man8/ldconfig.8:186 build/C/man1/ldd.1:121
455 #: build/C/man1/memusage.1:283 build/C/man1/memusagestat.1:99
456 #: build/C/man1/mtrace.1:72 build/C/man1/pldd.1:104
457 #: build/C/man7/rtld-audit.7:615 build/C/man8/sln.8:72
458 #: build/C/man1/sprof.1:311
461 #| "This page is part of release 3.78 of the Linux I<man-pages> project. A "
462 #| "description of the project, information about reporting bugs, and the "
463 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
466 "This page is part of release 3.79 of the Linux I<man-pages> project. A "
467 "description of the project, information about reporting bugs, and the latest "
468 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
471 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
472 "である。プロジェクトの説明とバグ報告に関する情報は\n"
473 "http://www.kernel.org/doc/man-pages/ に書かれている。"
476 #: build/C/man3/dlopen.3:35
482 #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14
488 #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28
489 #: build/C/man1/sprof.1:25
495 #: build/C/man3/dlopen.3:39
497 "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to "
498 "dynamic linking loader"
500 "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダーへの プログラミング"
504 #: build/C/man3/dlopen.3:41
505 msgid "B<#include E<lt>dlfcn.hE<gt>>"
506 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
509 #: build/C/man3/dlopen.3:43
510 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
511 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
514 #: build/C/man3/dlopen.3:45
515 msgid "B<char *dlerror(void);>"
516 msgstr "B<char *dlerror(void);>"
519 #: build/C/man3/dlopen.3:47
520 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
521 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
524 #: build/C/man3/dlopen.3:49
525 msgid "B<int dlclose(void *>I<handle>B<);>"
526 msgstr "B<int dlclose(void *>I<handle>B<);>"
529 #: build/C/man3/dlopen.3:51
530 msgid "Link with I<-ldl>."
531 msgstr "I<-ldl> でリンクする。"
534 #: build/C/man3/dlopen.3:58
536 "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>() "
537 "implement the interface to the dynamic linking loader."
539 "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>() の 4つの関数は、動的リン"
540 "ク (dynamic linking) を行うローダーへの インターフェースを実装したものであ"
544 #: build/C/man3/dlopen.3:58
550 #: build/C/man3/dlopen.3:71
552 "The function B<dlerror>() returns a human-readable string describing the "
553 "most recent error that occurred from B<dlopen>(), B<dlsym>() or "
554 "B<dlclose>() since the last call to B<dlerror>(). It returns NULL if no "
555 "errors have occurred since initialization or since it was last called."
557 "関数 B<dlerror>() は、前回 B<dlerror>() が呼び出された後に、 B<dlopen>(), "
558 "B<dlsym>(), B<dlclose>() のいずれかで最後に発生したエラーについての説明メッ"
559 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
563 #: build/C/man3/dlopen.3:71
569 #: build/C/man3/dlopen.3:89
571 "The function B<dlopen>() loads the dynamic library file named by the null-"
572 "terminated string I<filename> and returns an opaque \"handle\" for the "
573 "dynamic library. If I<filename> is NULL, then the returned handle is for "
574 "the main program. If I<filename> contains a slash (\"/\"), then it is "
575 "interpreted as a (relative or absolute) pathname. Otherwise, the dynamic "
576 "linker searches for the library as follows (see B<ld.so>(8) for further "
579 "関数 B<dlopen>() は、ヌル終端された文字列 I<filename> で指定されたファイル名"
580 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
581 "「ハンドル」を返す。 I<filename> が NULL の場合、メインプログラムへのハンドル"
582 "が返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)パ"
583 "ス名として解釈される。 それ以外の場合、動的リンカーは以下の手順でライブラリを"
584 "検索する (詳細は B<ld.so>(8) を参照):"
587 #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100
588 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56
589 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70
590 #: build/C/man8/ld.so.8:80
596 #: build/C/man3/dlopen.3:93
598 "(ELF only) If the executable file for the calling program contains a "
599 "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
600 "listed in the DT_RPATH tag are searched."
602 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
603 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
607 #: build/C/man3/dlopen.3:100
609 "If, at the time that the program was started, the environment variable "
610 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
611 "directories, then these are searched. (As a security measure this variable "
612 "is ignored for set-user-ID and set-group-ID programs.)"
614 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
615 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
616 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
620 #: build/C/man3/dlopen.3:104
622 "(ELF only) If the executable file for the calling program contains a "
623 "DT_RUNPATH tag, then the directories listed in that tag are searched."
625 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
626 "る場合、そのタグに書かれているディレクトリリストを検索する。"
629 #: build/C/man3/dlopen.3:111
631 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8)) is "
632 "checked to see whether it contains an entry for I<filename>."
634 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリーが入っ"
635 "ているかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8) によって管理さ"
639 #: build/C/man3/dlopen.3:117
640 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
641 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
644 #: build/C/man3/dlopen.3:123
646 "If the library has dependencies on other shared libraries, then these are "
647 "also automatically loaded by the dynamic linker using the same rules. (This "
648 "process may occur recursively, if those libraries in turn have dependencies, "
651 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
652 "リも動的リンカーが同じ検索ルールに基づいて 自動的にロードする (それらのライブ"
653 "ラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
656 #: build/C/man3/dlopen.3:126
657 msgid "One of the following two values must be included in I<flag>:"
658 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
661 #: build/C/man3/dlopen.3:126
664 msgstr "B<RTLD_LAZY>"
667 #: build/C/man3/dlopen.3:134
669 "Perform lazy binding. Only resolve symbols as the code that references them "
670 "is executed. If the symbol is never referenced, then it is never resolved. "
671 "(Lazy binding is performed only for function references; references to "
672 "variables are always immediately bound when the library is loaded.)"
674 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
675 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
676 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
677 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
681 #: build/C/man3/dlopen.3:134
687 #: build/C/man3/dlopen.3:143
689 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
690 "set to a nonempty string, all undefined symbols in the library are resolved "
691 "before B<dlopen>() returns. If this cannot be done, an error is returned."
693 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
694 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>() は復帰す"
695 "る。解決できなかったときにはエラーが返される。"
698 #: build/C/man3/dlopen.3:146
699 msgid "Zero or more of the following values may also be ORed in I<flag>:"
701 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
704 #: build/C/man3/dlopen.3:146
706 msgid "B<RTLD_GLOBAL>"
707 msgstr "B<RTLD_GLOBAL>"
710 #: build/C/man3/dlopen.3:150
712 "The symbols defined by this library will be made available for symbol "
713 "resolution of subsequently loaded libraries."
715 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
716 "のシンボル解決で利用できるようになる。"
719 #: build/C/man3/dlopen.3:150
721 msgid "B<RTLD_LOCAL>"
722 msgstr "B<RTLD_LOCAL>"
725 #: build/C/man3/dlopen.3:157
727 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
728 "specified. Symbols defined in this library are not made available to "
729 "resolve references in subsequently loaded libraries."
731 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
732 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
733 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
736 #: build/C/man3/dlopen.3:157
738 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
739 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
741 #. (But it is present on Solaris.)
743 #: build/C/man3/dlopen.3:167
745 "Do not unload the library during B<dlclose>(). Consequently, the library's "
746 "static variables are not reinitialized if the library is reloaded with "
747 "B<dlopen>() at a later time. This flag is not specified in POSIX.1-2001."
749 "B<dlclose>() 中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
750 "をこれ以降に B<dlopen>() で再度ロードした場合に、ライブラリ内の静的変数は再"
751 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
754 #: build/C/man3/dlopen.3:167
756 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
757 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
759 #. (But it is present on Solaris.)
761 #: build/C/man3/dlopen.3:182
763 "Don't load the library. This can be used to test if the library is already "
764 "resident (B<dlopen>() returns NULL if it is not, or the library's handle if "
765 "it is resident). This flag can also be used to promote the flags on a "
766 "library that is already loaded. For example, a library that was previously "
767 "loaded with B<RTLD_LOCAL> can be reopened with B<RTLD_NOLOAD\\ |\\ "
768 "RTLD_GLOBAL>. This flag is not specified in POSIX.1-2001."
770 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
771 "いるかを検査するのに 利用できる (B<dlopen>() は、ライブラリが組み込まれてい"
772 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
773 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
774 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
775 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
779 #: build/C/man3/dlopen.3:182
781 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
782 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
784 #. Inimitably described by UD in
785 #. http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
787 #: build/C/man3/dlopen.3:192
789 "Place the lookup scope of the symbols in this library ahead of the global "
790 "scope. This means that a self-contained library will use its own symbols in "
791 "preference to global symbols with the same name contained in libraries that "
792 "have already been loaded. This flag is not specified in POSIX.1-2001."
794 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
795 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
796 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
797 "フラグは POSIX.1-2001 では規定されていない。"
800 #: build/C/man3/dlopen.3:204
802 "If I<filename> is NULL, then the returned handle is for the main program. "
803 "When given to B<dlsym>(), this handle causes a search for a symbol in the "
804 "main program, followed by all shared libraries loaded at program startup, "
805 "and then all shared libraries loaded by B<dlopen>() with the flag "
808 "I<filename> が NULL である場合は、 返されるハンドルはメインプログラムのものに"
809 "なる。 このハンドルが B<dlsym>() に渡されると、シンボルの検索は、メインプロ"
810 "グラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
811 "B<dlopen>() によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
815 #: build/C/man3/dlopen.3:214
817 "External references in the library are resolved using the libraries in that "
818 "library's dependency list and any other libraries previously opened with the "
819 "B<RTLD_GLOBAL> flag. If the executable was linked with the flag \"-rdynamic"
820 "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the "
821 "executable will also be used to resolve references in a dynamically loaded "
824 "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ"
825 "イブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラリを"
826 "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" "
827 "も同義) 付きでリンクされている場合は、実行ファイル中のグローバルシンボル"
828 "も、 動的にロードされるライブラリ内の参照解決に用いられる。"
831 #: build/C/man3/dlopen.3:232
833 "If the same library is loaded again with B<dlopen>(), the same library "
834 "handle is returned. The dl library maintains reference counts for library "
835 "handles, so a dynamic library is not deallocated until B<dlclose>() has "
836 "been called on it as many times as B<dlopen>() has succeeded on it. The "
837 "B<_init>() routine, if present, is called only once. But a subsequent call "
838 "with B<RTLD_NOW> may force symbol resolution for a library earlier loaded "
841 "同じライブラリが B<dlopen>() によって再度ロードされた場合には、同じライブラ"
842 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
843 "いる。 したがって動的ライブラリは B<dlclose>() が B<dlopen>() と同じ回数だ"
844 "け呼び出されない限りアンロードされない。 B<_init>() ルーチンは一度だけ呼び出"
845 "される (B<_init>() が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
846 "B<dlopen>() が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
847 "のシンボル解決が実行されることがある。"
850 #: build/C/man3/dlopen.3:236
851 msgid "If B<dlopen>() fails for any reason, it returns NULL."
852 msgstr "B<dlopen>() は、何らかの理由で失敗すると NULL を返す。"
855 #: build/C/man3/dlopen.3:236
861 #: build/C/man3/dlopen.3:265
863 "The function B<dlsym>() takes a \"handle\" of a dynamic library returned by "
864 "B<dlopen>() and the null-terminated symbol name, returning the address "
865 "where that symbol is loaded into memory. If the symbol is not found, in the "
866 "specified library or any of the libraries that were automatically loaded by "
867 "B<dlopen>() when that library was loaded, B<dlsym>() returns NULL. (The "
868 "search performed by B<dlsym>() is breadth first through the dependency tree "
869 "of these libraries.) Since the value of the symbol could actually be NULL "
870 "(so that a NULL return from B<dlsym>() need not indicate an error), the "
871 "correct way to test for an error is to call B<dlerror>() to clear any old "
872 "error conditions, then call B<dlsym>(), and then call B<dlerror>() again, "
873 "saving its return value into a variable, and check whether this saved value "
876 "関数 B<dlsym>() は、 B<dlopen>() が返した動的ライブラリの「ハンドル」と、 "
877 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
878 "メモリーのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライ"
879 "ブラリがロードされる際に B<dlopen>() が自動的にロードしてライブラリのいずれ"
880 "にも見つからない場合には、 B<dlsym>() は NULL を返す (B<dlsym>() による検索"
881 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
882 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>() の返り値が "
883 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
884 "る正しい方法は以下の通りである: B<dlerror>() を呼び出して以前のエラー状態を"
885 "クリアしてから、 B<dlsym>() を呼び出す。その後でもう一度 B<dlerror>() を呼"
886 "び出して、 B<dlerror>() の返り値を変数に保存し、保存した値が NULL であるか判"
890 #: build/C/man3/dlopen.3:277
892 "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>. The "
893 "former will find the first occurrence of the desired symbol using the "
894 "default library search order. The latter will find the next occurrence of a "
895 "function in the search order after the current library. This allows one to "
896 "provide a wrapper around a function in another shared library."
898 "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
899 "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ"
900 "ンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序の中で"
901 "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、"
902 "別の共有ライブラリの 関数へのラッパーを提供することができる。"
905 #: build/C/man3/dlopen.3:277
911 #: build/C/man3/dlopen.3:284
913 "The function B<dlclose>() decrements the reference count on the dynamic "
914 "library handle I<handle>. If the reference count drops to zero and no other "
915 "loaded libraries use symbols in it, then the dynamic library is unloaded."
917 "関数 B<dlclose>() は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
918 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
919 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
922 #: build/C/man3/dlopen.3:288
923 msgid "The function B<dlclose>() returns 0 on success, and nonzero on error."
925 "関数 B<dlclose>() は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。"
928 #: build/C/man3/dlopen.3:288
930 msgid "The obsolete symbols _init() and _fini()"
931 msgstr "廃止されたシンボル _init() と _fini()"
934 #: build/C/man3/dlopen.3:306
936 "The linker recognizes special symbols B<_init> and B<_fini>. If a dynamic "
937 "library exports a routine named B<_init>(), then that code is executed after "
938 "the loading, before B<dlopen>() returns. If the dynamic library exports a "
939 "routine named B<_fini>(), then that routine is called just before the "
940 "library is unloaded. In case you need to avoid linking against the system "
941 "startup files, this can be done by using the B<gcc>(1) I<-nostartfiles> "
942 "command-line option."
944 "リンカーは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラ"
945 "リで B<_init>() という名前のルーチンがエクスポートされていれば、 そのコード"
946 "は、ライブラリのロード後、かつ B<dlopen>() が復帰する前に実行される。 その動"
947 "的ライブラリで B<_fini>() という名前のルーチンがエクスポートされていれば、 "
948 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
949 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1) のコマンドラインに "
950 "I<-nostartfiles> オプションを指定すればよい。"
952 #. void _init(void) __attribute__((constructor));
953 #. void _fini(void) __attribute__((destructor));
955 #: build/C/man3/dlopen.3:317
957 "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, "
958 "is not recommended. Their use may result in undesired behavior, since the "
959 "constructor/destructor routines will not be executed (unless special "
960 "measures are taken)."
962 "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな"
963 "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな"
964 "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実"
968 #: build/C/man3/dlopen.3:329
970 "Instead, libraries should export routines using the "
971 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
972 "attributes. See the gcc info pages for information on these. Constructor "
973 "routines are executed before B<dlopen>() returns, and destructor routines "
974 "are executed before B<dlclose>() returns."
976 "代わりに、ライブラリは B<__attribute__((constructor))> や "
977 "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート"
978 "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor "
979 "ルーチンは B<dlopen>() が復帰する前に実行され、 destructor ルーチンは "
980 "B<dlclose>() が復帰する前に実行される。"
983 #: build/C/man3/dlopen.3:329
985 msgid "Glibc extensions: dladdr() and dlvsym()"
986 msgstr "GNU での拡張: dladdr() と dlvsym()"
989 #: build/C/man3/dlopen.3:331
990 msgid "Glibc adds two functions not described by POSIX, with prototypes"
992 "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ"
996 #: build/C/man3/dlopen.3:335
999 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1000 "B<#include E<lt>dlfcn.hE<gt>>\n"
1002 "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
1003 "B<#include E<lt>dlfcn.hE<gt>>\n"
1006 #: build/C/man3/dlopen.3:337
1008 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1009 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1012 #: build/C/man3/dlopen.3:339
1014 msgid "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1015 msgstr "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>\n"
1018 #: build/C/man3/dlopen.3:348
1020 "The function B<dladdr>() takes a function pointer and tries to resolve name "
1021 "and file where it is located. Information is stored in the I<Dl_info> "
1024 "関数 B<dladdr>() は、関数のポインターを引き数にとり、関数の名前と関数が定義"
1025 "されている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納される。"
1028 #: build/C/man3/dlopen.3:361
1031 "typedef struct {\n"
1032 " const char *dli_fname; /* Pathname of shared object that\n"
1033 " contains address */\n"
1034 " void *dli_fbase; /* Address at which shared object\n"
1036 " const char *dli_sname; /* Name of symbol whose definition\n"
1037 " overlaps I<addr> */\n"
1038 " void *dli_saddr; /* Exact address of symbol named\n"
1039 " in I<dli_sname> */\n"
1042 "typedef struct {\n"
1043 " const char *dli_fname; /* Pathname of shared object that\n"
1044 " contains address */\n"
1045 " void *dli_fbase; /* Address at which shared object\n"
1047 " const char *dli_sname; /* Name of symbol whose definition\n"
1048 " overlaps I<addr> */\n"
1049 " void *dli_saddr; /* Exact address of symbol named\n"
1050 " in I<dli_sname> */\n"
1054 #: build/C/man3/dlopen.3:371
1056 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
1057 "I<dli_saddr> are set to NULL."
1059 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
1060 "I<dli_saddr> は NULL にセットされる。"
1063 #: build/C/man3/dlopen.3:374
1064 msgid "B<dladdr>() returns 0 on error, and nonzero on success."
1065 msgstr "B<dladdr>() は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
1068 #: build/C/man3/dlopen.3:381
1070 "The function B<dlvsym>(), provided by glibc since version 2.1, does the same "
1071 "as B<dlsym>() but takes a version string as an additional argument."
1073 "関数 B<dlvsym>() は B<dlsym>() と同じ動作をするが、バージョンの文字列を渡す"
1074 "引き数が 追加されている点が異なる (B<dlvsym>() はバージョン 2.1 以降の "
1078 #: build/C/man3/dlopen.3:388
1080 "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
1083 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>(). の記"
1087 #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53
1088 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84
1089 #: build/C/man7/rtld-audit.7:467
1095 #. The string returned by
1097 #. should not be modified.
1098 #. Some systems give the prototype as
1101 #. .B "const char *dlerror(void);"
1104 #: build/C/man3/dlopen.3:407
1106 "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
1107 "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
1109 "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義されて"
1110 "おり、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義されてい"
1114 #: build/C/man3/dlopen.3:412
1116 "Since glibc 2.2.3, B<atexit>(3) can be used to register an exit handler "
1117 "that is automatically called when a library is unloaded."
1119 "glibc 2.2.3 以降では、 B<atexit>(3) を使って、ライブラリがアンロードされる際"
1120 "に自動的に呼び出される 終了ハンドラー (exit handler) を登録することができる。"
1123 #: build/C/man3/dlopen.3:412
1129 #: build/C/man3/dlopen.3:418
1131 "The dlopen interface standard comes from SunOS. That system also has "
1132 "B<dladdr>(), but not B<dlvsym>()."
1134 "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
1135 "B<dladdr>() もあったが、 B<dlvsym>() はなかった。"
1138 #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267
1139 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58
1140 #: build/C/man7/rtld-audit.7:492
1146 #: build/C/man3/dlopen.3:430
1148 "Sometimes, the function pointers you pass to B<dladdr>() may surprise you. "
1149 "On some architectures (notably i386 and x86_64), I<dli_fname> and "
1150 "I<dli_fbase> may end up pointing back at the object from which you called "
1151 "B<dladdr>(), even if the function used as an argument should come from a "
1152 "dynamically linked library."
1154 "時として、 B<dladdr>() に渡した関数ポインターは驚くような値になることがあ"
1155 "る。 いくつかのアーキテクチャー (特に i386 と x86_64) では、 引き数として使用"
1156 "した関数が動的リンクライブラリで定義されるもので あったとしても、 "
1157 "I<dli_fname> と I<dli_fbase> が B<dladdr>() を呼び出したオブジェクトを参照し"
1161 #: build/C/man3/dlopen.3:446
1163 "The problem is that the function pointer will still be resolved at compile "
1164 "time, but merely point to the I<plt> (Procedure Linkage Table) section of "
1165 "the original object (which dispatches the call after asking the dynamic "
1166 "linker to resolve the symbol). To work around this, you can try to compile "
1167 "the code to be position-independent: then, the compiler cannot prepare the "
1168 "pointer at compile time anymore and today's B<gcc>(1) will generate code "
1169 "that just loads the final symbol address from the I<got> (Global Offset "
1170 "Table) at run time before passing it to B<dladdr>()."
1172 "問題は、関数ポインターの解決は今なおコンパイル時に行われるが、 そのポインター"
1173 "は元のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指している"
1174 "だけだという点にある (オブジェクト自体は、ダイナミックリンカーによってシンボ"
1175 "ルの解決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法として"
1176 "は、 コードを position-independent でコンパイルするという方法がある。 そうす"
1177 "ると、コンパイラはコンパイル時にポインターを用意することができず、 今日の "
1178 "B<gcc>(1) では、実行時に B<dladdr>() に関数ポインターを渡す前に、 I<got> "
1179 "(Global Offset Table) から最終的なシンボルのアドレスをロードするだけの コード"
1183 #: build/C/man3/dlopen.3:448
1184 msgid "Load the math library, and print the cosine of 2.0:"
1185 msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
1188 #: build/C/man3/dlopen.3:453
1191 "#include E<lt>stdio.hE<gt>\n"
1192 "#include E<lt>stdlib.hE<gt>\n"
1193 "#include E<lt>dlfcn.hE<gt>\n"
1195 "#include E<lt>stdio.hE<gt>\n"
1196 "#include E<lt>stdlib.hE<gt>\n"
1197 "#include E<lt>dlfcn.hE<gt>\n"
1200 #: build/C/man3/dlopen.3:460
1204 "main(int argc, char **argv)\n"
1207 " double (*cosine)(double);\n"
1211 "main(int argc, char **argv)\n"
1214 " double (*cosine)(double);\n"
1218 #: build/C/man3/dlopen.3:466
1221 " handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1223 " fprintf(stderr, \"%s\\en\", dlerror());\n"
1224 " exit(EXIT_FAILURE);\n"
1227 " handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1229 " fprintf(stderr, \"%s\\en\", dlerror());\n"
1230 " exit(EXIT_FAILURE);\n"
1234 #: build/C/man3/dlopen.3:468
1236 msgid " dlerror(); /* Clear any existing error */\n"
1237 msgstr " dlerror(); /* Clear any existing error */\n"
1240 #: build/C/man3/dlopen.3:470
1242 msgid " cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1243 msgstr " cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
1246 #: build/C/man3/dlopen.3:475
1249 " /* According to the ISO C standard, casting between function\n"
1250 " pointers and 'void *', as done above, produces undefined results.\n"
1251 " POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
1252 " proposed the following workaround:\n"
1254 " /* ISO の C 標準によれば、上のような、関数ポインターと 'void *' 間の\n"
1255 " キャストを行った場合に得られる結果は不定である。\n"
1256 " POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
1257 " 以下のようなワークアラウンドが提案されている。\n"
1260 #: build/C/man3/dlopen.3:477
1262 msgid " *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1263 msgstr " *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
1266 #: build/C/man3/dlopen.3:480
1269 " This (clumsy) cast conforms with the ISO C standard and will\n"
1270 " avoid any compiler warnings.\n"
1272 " この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
1273 " コンパイラの警告を避けることができる。\n"
1275 #. http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
1276 #. http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
1277 #. http://austingroupbugs.net/view.php?id=74
1279 #: build/C/man3/dlopen.3:489
1282 " The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
1283 " POSIX.1-2013) improved matters by requiring that conforming\n"
1284 " implementations support casting 'void *' to a function pointer.\n"
1285 " Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
1286 " option) may complain about the cast used in this program. */\n"
1288 " POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
1289 " では、 POSIX に準拠する実装では 'void *' から関数ポインターへの\n"
1290 " キャストをサポートすることが要求されるようになり、状況が改善\n"
1291 " された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
1292 " などの) いくつかのコンパイラは、このプログラムで使用されている\n"
1293 " キャストについて文句を言うのだ。\n"
1296 #: build/C/man3/dlopen.3:495
1299 " error = dlerror();\n"
1300 " if (error != NULL) {\n"
1301 " fprintf(stderr, \"%s\\en\", error);\n"
1302 " exit(EXIT_FAILURE);\n"
1305 " error = dlerror();\n"
1306 " if (error != NULL) {\n"
1307 " fprintf(stderr, \"%s\\en\", error);\n"
1308 " exit(EXIT_FAILURE);\n"
1312 #: build/C/man3/dlopen.3:500
1315 " printf(\"%f\\en\", (*cosine)(2.0));\n"
1316 " dlclose(handle);\n"
1317 " exit(EXIT_SUCCESS);\n"
1320 " printf(\"%f\\en\", (*cosine)(2.0));\n"
1321 " dlclose(handle);\n"
1322 " exit(EXIT_SUCCESS);\n"
1326 #: build/C/man3/dlopen.3:504
1328 "If this program were in a file named \"foo.c\", you would build the program "
1329 "with the following command:"
1331 "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ"
1335 #: build/C/man3/dlopen.3:507
1337 msgid " gcc -rdynamic -o foo foo.c -ldl\n"
1338 msgstr " gcc -rdynamic -o foo foo.c -ldl\n"
1341 #: build/C/man3/dlopen.3:517
1343 "Libraries exporting B<_init>() and B<_fini>() will want to be compiled as "
1344 "follows, using I<bar.c> as the example name:"
1346 "B<_init>() と B<_fini>() をエクスポートするライブラリの場合は 以下のように"
1347 "してコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
1350 #: build/C/man3/dlopen.3:520
1352 msgid " gcc -shared -nostartfiles -o bar bar.c\n"
1353 msgstr " gcc -shared -nostartfiles -o bar bar.c\n"
1356 #: build/C/man3/dlopen.3:529
1358 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1359 "B<ld.so>(8), B<ldconfig>(8)"
1361 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
1362 "B<ld.so>(8), B<ldconfig>(8)"
1365 #: build/C/man3/dlopen.3:531
1366 msgid "ld.so info pages, gcc info pages, ld info pages"
1367 msgstr "ld.so info pages, gcc info pages, ld info pages"
1370 #: build/C/man5/elf.5:35
1376 #: build/C/man5/elf.5:35
1382 #: build/C/man5/elf.5:38
1383 msgid "elf - format of Executable and Linking Format (ELF) files"
1384 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
1386 #. .B #include <elf_abi.h>
1388 #: build/C/man5/elf.5:42
1390 msgid "B<#include E<lt>elf.hE<gt>>\n"
1391 msgstr "B<#include E<lt>elf.hE<gt>>\n"
1394 #: build/C/man5/elf.5:50
1396 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
1397 "binary files. Amongst these files are normal executable files, relocatable "
1398 "object files, core files and shared libraries."
1400 "ヘッダーファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォー"
1401 "マットを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置"
1402 "可能オブジェクトファイル・コアファイル・共有ライブラリがある。"
1405 #: build/C/man5/elf.5:59
1407 "An executable file using the ELF file format consists of an ELF header, "
1408 "followed by a program header table or a section header table, or both. The "
1409 "ELF header is always at offset zero of the file. The program header table "
1410 "and the section header table's offset in the file are defined in the ELF "
1411 "header. The two tables describe the rest of the particularities of the file."
1413 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダーの後にプログラ"
1414 "ムヘッダーテーブルまたは セクションヘッダーテーブル (またはその両方) が続く構"
1415 "成である。 ELF ヘッダーは常にファイルのオフセット 0 にある。 プログラムヘッ"
1416 "ダーテーブルとセクションヘッダーテーブルの ファイル内でのオフセットは、ELF "
1417 "ヘッダーに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を"
1420 #. Applications which wish to process ELF binary files for their native
1421 #. architecture only should include
1423 #. in their source code.
1424 #. These applications should need to refer to
1425 #. all the types and structures by their generic names
1427 #. and to the macros by
1429 #. Applications written this way can be compiled on any architecture,
1430 #. regardless of whether the host is 32-bit or 64-bit.
1432 #. Should an application need to process ELF files of an unknown
1433 #. architecture, then the application needs to explicitly use either
1437 #. type and structure names.
1438 #. Likewise, the macros need to be identified by
1444 #: build/C/man5/elf.5:86
1446 "This header file describes the above mentioned headers as C structures and "
1447 "also includes structures for dynamic sections, relocation sections and "
1450 "このヘッダーファイルは上記のヘッダーを C 言語の構造体で記述し、 また動的セク"
1451 "ション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
1454 #: build/C/man5/elf.5:98
1456 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
1457 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
1460 "以下の型は N ビットアーキテクチャーで使われる (N=32,64 であり I<ElfN> は "
1461 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
1464 #. Elf32_Size Unsigned object size
1466 #: build/C/man5/elf.5:112
1469 "ElfN_Addr Unsigned program address, uintN_t\n"
1470 "ElfN_Off Unsigned file offset, uintN_t\n"
1471 "ElfN_Section Unsigned section index, uint16_t\n"
1472 "ElfN_Versym Unsigned version symbol information, uint16_t\n"
1473 "Elf_Byte unsigned char\n"
1474 "ElfN_Half uint16_t\n"
1475 "ElfN_Sword int32_t\n"
1476 "ElfN_Word uint32_t\n"
1477 "ElfN_Sxword int64_t\n"
1478 "ElfN_Xword uint64_t\n"
1480 "ElfN_Addr 符号なしのプログラムアドレス, uintN_t\n"
1481 "ElfN_Off 符号なしのファイルオフセット, uintN_t\n"
1482 "ElfN_Section 符号なしのセクションインデックス, uint16_t\n"
1483 "ElfN_Versym 符号なしのバージョンシンボル情報, uint16_t\n"
1484 "Elf_Byte unsigned char\n"
1485 "ElfN_Half uint16_t\n"
1486 "ElfN_Sword int32_t\n"
1487 "ElfN_Word uint32_t\n"
1488 "ElfN_Sxword int64_t\n"
1489 "ElfN_Xword uint64_t\n"
1492 #: build/C/man5/elf.5:127
1494 "(Note: The *BSD terminology is a bit different. There I<Elf64_Half> is "
1495 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
1496 "I<uint16_t>. In order to avoid confusion these types are replaced by "
1497 "explicit ones in the below.)"
1499 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
1500 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
1501 "は、これらの型はサイズが自明な型に置き換えてある。)"
1504 #: build/C/man5/elf.5:134
1506 "All data structures that the file format defines follow the \"natural\" size "
1507 "and alignment guidelines for the relevant class. If necessary, data "
1508 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
1509 "objects, to force structure sizes to a multiple of 4, and so on."
1511 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
1512 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
1513 "ディング (padding, 詰め込み) が行なわれる。これは 4 バイトオブジェクトに対す"
1514 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
1518 #: build/C/man5/elf.5:139
1519 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
1520 msgstr "ELF ヘッダーは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
1523 #: build/C/man5/elf.5:143
1525 msgid "#define EI_NIDENT 16\n"
1526 msgstr "#define EI_NIDENT 16\n"
1529 #: build/C/man5/elf.5:160
1532 "typedef struct {\n"
1533 " unsigned char e_ident[EI_NIDENT];\n"
1534 " uint16_t e_type;\n"
1535 " uint16_t e_machine;\n"
1536 " uint32_t e_version;\n"
1537 " ElfN_Addr e_entry;\n"
1538 " ElfN_Off e_phoff;\n"
1539 " ElfN_Off e_shoff;\n"
1540 " uint32_t e_flags;\n"
1541 " uint16_t e_ehsize;\n"
1542 " uint16_t e_phentsize;\n"
1543 " uint16_t e_phnum;\n"
1544 " uint16_t e_shentsize;\n"
1545 " uint16_t e_shnum;\n"
1546 " uint16_t e_shstrndx;\n"
1549 "typedef struct {\n"
1550 " unsigned char e_ident[EI_NIDENT];\n"
1551 " uint16_t e_type;\n"
1552 " uint16_t e_machine;\n"
1553 " uint32_t e_version;\n"
1554 " ElfN_Addr e_entry;\n"
1555 " ElfN_Off e_phoff;\n"
1556 " ElfN_Off e_shoff;\n"
1557 " uint32_t e_flags;\n"
1558 " uint16_t e_ehsize;\n"
1559 " uint16_t e_phentsize;\n"
1560 " uint16_t e_phnum;\n"
1561 " uint16_t e_shentsize;\n"
1562 " uint16_t e_shnum;\n"
1563 " uint16_t e_shstrndx;\n"
1566 #. .Bl -tag -width "e_phentsize"
1568 #: build/C/man5/elf.5:165
1569 msgid "The fields have the following meanings:"
1570 msgstr "フィールドは以下の意味を持つ:"
1573 #: build/C/man5/elf.5:165
1579 #: build/C/man5/elf.5:175
1581 "This array of bytes specifies to interpret the file, independent of the "
1582 "processor or the file's remaining contents. Within this array everything is "
1583 "named by macros, which start with the prefix B<EI_> and may contain values "
1584 "which start with the prefix B<ELF>. The following macros are defined:"
1586 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
1587 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
1588 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
1592 #: build/C/man5/elf.5:177
1598 #: build/C/man5/elf.5:183
1600 "The first byte of the magic number. It must be filled with B<ELFMAG0>. (0: "
1603 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
1606 #: build/C/man5/elf.5:183
1612 #: build/C/man5/elf.5:189
1614 "The second byte of the magic number. It must be filled with B<ELFMAG1>. "
1617 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
1621 #: build/C/man5/elf.5:189
1627 #: build/C/man5/elf.5:195
1629 "The third byte of the magic number. It must be filled with B<ELFMAG2>. (2: "
1632 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
1636 #: build/C/man5/elf.5:195
1642 #: build/C/man5/elf.5:201
1644 "The fourth byte of the magic number. It must be filled with B<ELFMAG3>. "
1647 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
1651 #: build/C/man5/elf.5:201
1654 msgstr "B<EI_CLASS>"
1657 #: build/C/man5/elf.5:204
1658 msgid "The fifth byte identifies the architecture for this binary:"
1659 msgstr "第 5 バイトは、このバイナリのアーキテクチャーを示す:"
1662 #: build/C/man5/elf.5:206
1664 msgid "B<ELFCLASSNONE>"
1665 msgstr "B<ELFCLASSNONE>"
1668 #: build/C/man5/elf.5:210
1669 msgid "This class is invalid."
1670 msgstr "このクラスは不正である。"
1673 #: build/C/man5/elf.5:210
1675 msgid "B<ELFCLASS32>"
1676 msgstr "B<ELFCLASS32>"
1679 #: build/C/man5/elf.5:215
1681 "This defines the 32-bit architecture. It supports machines with files and "
1682 "virtual address spaces up to 4 Gigabytes."
1684 "32 ビットアーキテクチャーを定義する。 ファイルと仮想アドレス空間が 4 ギガバイ"
1688 #: build/C/man5/elf.5:215
1690 msgid "B<ELFCLASS64>"
1691 msgstr "B<ELFCLASS64>"
1694 #: build/C/man5/elf.5:218
1695 msgid "This defines the 64-bit architecture."
1696 msgstr "64 ビットアーキテクチャーを定義する。"
1699 #: build/C/man5/elf.5:221
1704 #. .Bl -tag -width "ELFDATA2LSB" -compact
1706 #: build/C/man5/elf.5:227
1708 "The sixth byte specifies the data encoding of the processor-specific data in "
1709 "the file. Currently these encodings are supported:"
1711 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
1712 "する。 現在のところ以下のエンコーディングがサポートされている:"
1715 #: build/C/man5/elf.5:228
1717 msgid "B<ELFDATANONE>"
1718 msgstr "B<ELFDATANONE>"
1721 #: build/C/man5/elf.5:232
1722 msgid "Unknown data format."
1723 msgstr "不明なデータフォーマット。"
1726 #: build/C/man5/elf.5:232
1728 msgid "B<ELFDATA2LSB>"
1729 msgstr "B<ELFDATA2LSB>"
1732 #: build/C/man5/elf.5:235
1733 msgid "Two's complement, little-endian."
1734 msgstr "2 の補数、リトルエンディアン。"
1737 #: build/C/man5/elf.5:235
1739 msgid "B<ELFDATA2MSB>"
1740 msgstr "B<ELFDATA2MSB>"
1743 #: build/C/man5/elf.5:238
1744 msgid "Two's complement, big-endian."
1745 msgstr "2 の補数、ビッグエンディアン。"
1748 #: build/C/man5/elf.5:241
1750 msgid "B<EI_VERSION>"
1751 msgstr "B<EI_VERSION>"
1753 #. .Bl -tag -width "EV_CURRENT" -compact
1755 #: build/C/man5/elf.5:246
1756 msgid "The seventh byte is the version number of the ELF specification:"
1757 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
1760 #: build/C/man5/elf.5:247 build/C/man5/elf.5:501
1766 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1767 msgid "Invalid version."
1771 #: build/C/man5/elf.5:250 build/C/man5/elf.5:505
1773 msgid "B<EV_CURRENT>"
1774 msgstr "B<EV_CURRENT>"
1778 #: build/C/man5/elf.5:253 build/C/man5/elf.5:509
1779 msgid "Current version."
1783 #: build/C/man5/elf.5:256
1786 msgstr "B<EI_OSABI>"
1788 #. .Bl -tag -width "ELFOSABI_STANDALONE" -compact
1790 #: build/C/man5/elf.5:265
1792 "The eighth byte identifies the operating system and ABI to which the object "
1793 "is targeted. Some fields in other ELF structures have flags and values that "
1794 "have platform-specific meanings; the interpretation of those fields is "
1795 "determined by the value of this byte. For example:"
1797 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
1798 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
1799 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
1803 #: build/C/man5/elf.5:266
1805 msgid "B<ELFOSABI_NONE>"
1806 msgstr "B<ELFOSABI_NONE>"
1810 #: build/C/man5/elf.5:271
1811 msgid "Same as ELFOSABI_SYSV"
1812 msgstr "ELFOSABI_SYSV と同じ。"
1815 #: build/C/man5/elf.5:271
1817 msgid "B<ELFOSABI_SYSV>"
1818 msgstr "B<ELFOSABI_SYSV>"
1821 #. synonym: ELFOSABI_NONE
1823 #: build/C/man5/elf.5:276
1824 msgid "UNIX System V ABI."
1825 msgstr "UNIX System V ABI."
1828 #: build/C/man5/elf.5:276
1830 msgid "B<ELFOSABI_HPUX>"
1831 msgstr "B<ELFOSABI_HPUX>"
1835 #: build/C/man5/elf.5:280
1840 #: build/C/man5/elf.5:280
1842 msgid "B<ELFOSABI_NETBSD>"
1843 msgstr "B<ELFOSABI_NETBSD>"
1847 #: build/C/man5/elf.5:284
1849 msgstr "NetBSD ABI."
1852 #: build/C/man5/elf.5:284
1854 msgid "B<ELFOSABI_LINUX>"
1855 msgstr "B<ELFOSABI_LINUX>"
1859 #. .BR ELFOSABI_HURD
1863 #. .BR ELFOSABI_86OPEN
1864 #. 86Open Common IA32 ABI.
1867 #: build/C/man5/elf.5:296
1872 #: build/C/man5/elf.5:296
1874 msgid "B<ELFOSABI_SOLARIS>"
1875 msgstr "B<ELFOSABI_SOLARIS>"
1879 #. .BR ELFOSABI_MONTEREY
1880 #. Monterey project ABI.
1885 #: build/C/man5/elf.5:306
1886 msgid "Solaris ABI."
1887 msgstr "Solaris ABI."
1890 #: build/C/man5/elf.5:306
1892 msgid "B<ELFOSABI_IRIX>"
1893 msgstr "B<ELFOSABI_IRIX>"
1897 #: build/C/man5/elf.5:310
1902 #: build/C/man5/elf.5:310
1904 msgid "B<ELFOSABI_FREEBSD>"
1905 msgstr "B<ELFOSABI_FREEBSD>"
1909 #: build/C/man5/elf.5:314
1910 msgid "FreeBSD ABI."
1911 msgstr "FreeBSD ABI."
1914 #: build/C/man5/elf.5:314
1916 msgid "B<ELFOSABI_TRU64>"
1917 msgstr "B<ELFOSABI_TRU64>"
1925 #: build/C/man5/elf.5:322
1926 msgid "TRU64 UNIX ABI."
1927 msgstr "TRU64 UNIX ABI."
1930 #: build/C/man5/elf.5:322
1932 msgid "B<ELFOSABI_ARM>"
1933 msgstr "B<ELFOSABI_ARM>"
1937 #: build/C/man5/elf.5:326
1938 msgid "ARM architecture ABI."
1939 msgstr "ARM アーキテクチャー ABI."
1942 #: build/C/man5/elf.5:326
1944 msgid "B<ELFOSABI_STANDALONE>"
1945 msgstr "B<ELFOSABI_STANDALONE>"
1950 #: build/C/man5/elf.5:331
1951 msgid "Stand-alone (embedded) ABI."
1952 msgstr "スタンドアロン (組み込み) ABI."
1955 #: build/C/man5/elf.5:333
1957 msgid "B<EI_ABIVERSION>"
1958 msgstr "B<EI_ABIVERSION>"
1961 #: build/C/man5/elf.5:343
1963 "The ninth byte identifies the version of the ABI to which the object is "
1964 "targeted. This field is used to distinguish among incompatible versions of "
1965 "an ABI. The interpretation of this version number is dependent on the ABI "
1966 "identified by the B<EI_OSABI> field. Applications conforming to this "
1967 "specification use the value 0."
1969 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
1970 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
1971 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
1972 "仕様に準拠するアプリケーションでは、値 0 を使う。"
1975 #: build/C/man5/elf.5:343
1980 #. As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
1981 #. not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
1982 #. It looks to be a BSDism
1985 #. Start of architecture identification.
1987 #: build/C/man5/elf.5:359
1989 "Start of padding. These bytes are reserved and set to zero. Programs which "
1990 "read them should ignore them. The value for B<EI_PAD> will change in the "
1991 "future if currently unused bytes are given meanings."
1993 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
1994 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
1995 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
1998 #: build/C/man5/elf.5:359
2000 msgid "B<EI_NIDENT>"
2001 msgstr "B<EI_NIDENT>"
2005 #: build/C/man5/elf.5:365
2006 msgid "The size of the I<e_ident> array."
2007 msgstr "I<e_ident> 配列のサイズ。"
2010 #: build/C/man5/elf.5:366
2016 #: build/C/man5/elf.5:369
2017 msgid "This member of the structure identifies the object file type:"
2018 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
2021 #: build/C/man5/elf.5:371
2027 #: build/C/man5/elf.5:375
2028 msgid "An unknown type."
2032 #: build/C/man5/elf.5:375
2038 #: build/C/man5/elf.5:378
2039 msgid "A relocatable file."
2043 #: build/C/man5/elf.5:378
2049 #: build/C/man5/elf.5:381
2050 msgid "An executable file."
2054 #: build/C/man5/elf.5:381
2060 #: build/C/man5/elf.5:384
2061 msgid "A shared object."
2065 #: build/C/man5/elf.5:384
2071 #: build/C/man5/elf.5:387
2072 msgid "A core file."
2076 #: build/C/man5/elf.5:390
2078 msgid "I<e_machine>"
2079 msgstr "I<e_machine>"
2082 #: build/C/man5/elf.5:394
2084 "This member specifies the required architecture for an individual file. For "
2087 "このメンバは個々のファイルに必要とされるアーキテクチャーを指定する。 例:"
2090 #: build/C/man5/elf.5:396
2097 #: build/C/man5/elf.5:401
2098 msgid "An unknown machine."
2102 #: build/C/man5/elf.5:401
2109 #: build/C/man5/elf.5:405
2110 msgid "AT&T WE 32100."
2111 msgstr "AT&T WE 32100."
2114 #: build/C/man5/elf.5:405
2117 msgstr "B<EM_SPARC>"
2121 #: build/C/man5/elf.5:409
2122 msgid "Sun Microsystems SPARC."
2123 msgstr "Sun Microsystems SPARC."
2126 #: build/C/man5/elf.5:409
2133 #: build/C/man5/elf.5:413
2134 msgid "Intel 80386."
2135 msgstr "Intel 80386."
2138 #: build/C/man5/elf.5:413
2145 #: build/C/man5/elf.5:417
2146 msgid "Motorola 68000."
2147 msgstr "Motorola 68000."
2150 #: build/C/man5/elf.5:417
2161 #: build/C/man5/elf.5:425
2162 msgid "Motorola 88000."
2163 msgstr "Motorola 88000."
2166 #: build/C/man5/elf.5:425
2173 #: build/C/man5/elf.5:429
2174 msgid "Intel 80860."
2175 msgstr "Intel 80860."
2178 #: build/C/man5/elf.5:429
2187 #. .BR EM_MIPS_RS4_BE
2188 #. MIPS RS4000 (big-endian only). Deprecated.
2190 #. EM_MIPS_RS3_LE (MIPS R3000 little-endian)
2193 #: build/C/man5/elf.5:441
2194 msgid "MIPS RS3000 (big-endian only)."
2195 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
2198 #: build/C/man5/elf.5:441
2200 msgid "B<EM_PARISC>"
2201 msgstr "B<EM_PARISC>"
2205 #: build/C/man5/elf.5:445
2210 #: build/C/man5/elf.5:445
2212 msgid "B<EM_SPARC32PLUS>"
2213 msgstr "B<EM_SPARC32PLUS>"
2217 #: build/C/man5/elf.5:449
2218 msgid "SPARC with enhanced instruction set."
2219 msgstr "拡張命令セット付き SPARC。"
2222 #: build/C/man5/elf.5:449
2229 #: build/C/man5/elf.5:453
2234 #: build/C/man5/elf.5:453
2237 msgstr "B<EM_PPC64>"
2241 #: build/C/man5/elf.5:457
2242 msgid "PowerPC 64-bit."
2243 msgstr "PowerPC 64-bit."
2246 #: build/C/man5/elf.5:457
2253 #: build/C/man5/elf.5:461
2258 #: build/C/man5/elf.5:461
2265 #: build/C/man5/elf.5:465
2266 msgid "Advanced RISC Machines"
2267 msgstr "Advanced RISC Machines"
2270 #: build/C/man5/elf.5:465
2277 #: build/C/man5/elf.5:469
2278 msgid "Renesas SuperH"
2279 msgstr "Renesas SuperH"
2282 #: build/C/man5/elf.5:469
2284 msgid "B<EM_SPARCV9>"
2285 msgstr "B<EM_SPARCV9>"
2289 #: build/C/man5/elf.5:473
2290 msgid "SPARC v9 64-bit."
2291 msgstr "SPARC v9 64-bit."
2294 #: build/C/man5/elf.5:473
2297 msgstr "B<EM_IA_64>"
2301 #: build/C/man5/elf.5:477
2302 msgid "Intel Itanium"
2303 msgstr "Intel Itanium"
2306 #: build/C/man5/elf.5:477
2308 msgid "B<EM_X86_64>"
2309 msgstr "B<EM_X86_64>"
2313 #: build/C/man5/elf.5:481
2318 #: build/C/man5/elf.5:481
2328 #. Compaq [DEC] Alpha.
2331 #. Compaq [DEC] Alpha with enhanced instruction set.
2333 #: build/C/man5/elf.5:493
2338 #: build/C/man5/elf.5:496
2340 msgid "I<e_version>"
2341 msgstr "I<e_version>"
2343 #. .Bl -tag -width "EV_CURRENT" -compact
2345 #: build/C/man5/elf.5:500
2346 msgid "This member identifies the file version:"
2347 msgstr "このメンバはファイルバージョンを示す:"
2350 #: build/C/man5/elf.5:511
2356 #: build/C/man5/elf.5:517
2358 "This member gives the virtual address to which the system first transfers "
2359 "control, thus starting the process. If the file has no associated entry "
2360 "point, this member holds zero."
2362 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
2363 "スを指定する。 ファイルにエントリーポイントが関連付けられていない場合、 この"
2367 #: build/C/man5/elf.5:517
2373 #: build/C/man5/elf.5:522
2375 "This member holds the program header table's file offset in bytes. If the "
2376 "file has no program header table, this member holds zero."
2378 "このメンバはプログラムヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2379 "持する。 ファイルにプログラムヘッダーテーブルがない場合、 このメンバには 0 が"
2383 #: build/C/man5/elf.5:522
2389 #: build/C/man5/elf.5:527
2391 "This member holds the section header table's file offset in bytes. If the "
2392 "file has no section header table, this member holds zero."
2394 "このメンバはセクションヘッダーテーブルの ファイルオフセット (バイト単位) を保"
2395 "持する。 ファイルにセクションヘッダーテーブルがない場合、 このメンバには 0 が"
2399 #: build/C/man5/elf.5:527
2405 #: build/C/man5/elf.5:532
2407 "This member holds processor-specific flags associated with the file. Flag "
2408 "names take the form EF_`machine_flag'. Currently no flags have been defined."
2410 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
2411 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
2415 #: build/C/man5/elf.5:532
2418 msgstr "I<e_ehsize>"
2421 #: build/C/man5/elf.5:535
2422 msgid "This member holds the ELF header's size in bytes."
2423 msgstr "このメンバは ELF ヘッダーサイズ (バイト単位) を保持する。"
2426 #: build/C/man5/elf.5:535
2428 msgid "I<e_phentsize>"
2429 msgstr "I<e_phentsize>"
2432 #: build/C/man5/elf.5:539
2434 "This member holds the size in bytes of one entry in the file's program "
2435 "header table; all entries are the same size."
2437 "このメンバはこのファイルのプログラムヘッダーテーブルの 1 エントリーあたりのサ"
2438 "イズ (バイト単位) を保持する; 全てのエントリーは同じサイズである。"
2441 #: build/C/man5/elf.5:539
2447 #: build/C/man5/elf.5:552
2449 "This member holds the number of entries in the program header table. Thus "
2450 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
2451 "bytes. If a file has no program header, I<e_phnum> holds the value zero."
2453 "このメンバはプログラムヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2454 "て I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 "
2455 "ファイルにプログラムヘッダーがない場合、 I<e_phnum> は値 0 を保持する。"
2457 #. This is a Linux extension, added in Linux 2.6.34.
2458 #. .Bl -tag -width "PN_XNUM"
2460 #: build/C/man5/elf.5:566
2462 "If the number of entries in the program header table is larger than or equal "
2463 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
2464 "number of entries in the program header table is held in the I<sh_info> "
2465 "member of the initial entry in section header table. Otherwise, the "
2466 "I<sh_info> member of the initial entry contains the value zero."
2468 "プログラムヘッダーテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
2469 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダーテーブルの\n"
2470 "エントリーの実際の数は、セクションヘッダーテーブルの最初のエントリーの \n"
2471 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2472 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
2475 #: build/C/man5/elf.5:567
2481 #: build/C/man5/elf.5:572
2483 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
2484 "specifying where the actual number of program headers is assigned."
2486 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
2487 "はプログラムヘッダーの実際の数がどこに割り当てられているかを示す。"
2490 #: build/C/man5/elf.5:576
2492 msgid "I<e_shentsize>"
2493 msgstr "I<e_shentsize>"
2496 #: build/C/man5/elf.5:581
2498 "This member holds a sections header's size in bytes. A section header is "
2499 "one entry in the section header table; all entries are the same size."
2501 "このメンバはセクションヘッダーのサイズ (バイト単位) を保持する。 セクション"
2502 "ヘッダーはセクションヘッダーテーブルの 1 つのエントリーである; 全てのエント"
2506 #: build/C/man5/elf.5:581
2512 #: build/C/man5/elf.5:594
2514 "This member holds the number of entries in the section header table. Thus "
2515 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
2516 "table's size in bytes. If a file has no section header table, I<e_shnum> "
2517 "holds the value of zero."
2519 "このメンバはセクションヘッダーテーブルにあるエントリーの数を保持する。 よっ"
2520 "て I<e_shentsize> と I<e_shnum> の積はセクションヘッダーテーブルのサイズ (バ"
2521 "イト単位) になる。 ファイルにセクションヘッダーテーブルがない場合、 "
2522 "I<e_shnum> は値 0 を保持する。"
2525 #: build/C/man5/elf.5:606
2527 "If the number of entries in the section header table is larger than or equal "
2528 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
2529 "number of entries in the section header table is held in the I<sh_size> "
2530 "member of the initial entry in section header table. Otherwise, the "
2531 "I<sh_size> member of the initial entry in the section header table holds the "
2534 "セクションヘッダーテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
2536 "I<e_shnum> には値 0 が入り、セクションヘッダーテーブルのエントリーの実際の数"
2538 "セクションヘッダーテーブルの最初のエントリーの I<sh_size> メンバに格納され"
2540 "それ以外の場合、セクションヘッダーテーブルの最初のエントリーの I<sh_info> メ"
2545 #: build/C/man5/elf.5:606
2547 msgid "I<e_shstrndx>"
2548 msgstr "I<e_shstrndx>"
2551 #: build/C/man5/elf.5:613
2553 "This member holds the section header table index of the entry associated "
2554 "with the section name string table. If the file has no section name string "
2555 "table, this member holds the value B<SHN_UNDEF>."
2557 "このメンバはセクション名文字列テーブルに関連付けられたエントリーの セクション"
2558 "ヘッダーテーブルインデックスを保持する。 ファイルにセクション名文字列テーブル"
2559 "がない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
2562 #: build/C/man5/elf.5:625
2564 "If the index of section name string table section is larger than or equal to "
2565 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
2566 "real index of the section name string table section is held in the "
2567 "I<sh_link> member of the initial entry in section header table. Otherwise, "
2568 "the I<sh_link> member of the initial entry in section header table contains "
2571 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
2573 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
2574 "テーブルの実際のインデックスはセクションヘッダーテーブルの最初のエントリー"
2576 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
2577 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
2580 #: build/C/man5/elf.5:627 build/C/man5/elf.5:914
2582 msgid "B<SHN_UNDEF>"
2583 msgstr "B<SHN_UNDEF>"
2586 #: build/C/man5/elf.5:636
2588 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
2589 "section reference. For example, a symbol \"defined\" relative to section "
2590 "number B<SHN_UNDEF> is an undefined symbol."
2592 "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ"
2593 "とを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」されたシン"
2594 "ボルは、「未定義」なシンボルである。"
2597 #: build/C/man5/elf.5:636 build/C/man5/elf.5:918
2599 msgid "B<SHN_LORESERVE>"
2600 msgstr "B<SHN_LORESERVE>"
2603 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2604 msgid "This value specifies the lower bound of the range of reserved indices."
2605 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
2608 #: build/C/man5/elf.5:639 build/C/man5/elf.5:921
2610 msgid "B<SHN_LOPROC>"
2611 msgstr "B<SHN_LOPROC>"
2614 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2616 "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
2617 "specific semantics."
2619 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2622 #: build/C/man5/elf.5:644 build/C/man5/elf.5:926
2624 msgid "B<SHN_HIPROC>"
2625 msgstr "B<SHN_HIPROC>"
2628 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2630 "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
2631 "specific semantics."
2633 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2636 #: build/C/man5/elf.5:649 build/C/man5/elf.5:931
2642 #: build/C/man5/elf.5:656
2644 "This value specifies absolute values for the corresponding reference. For "
2645 "example, symbols defined relative to section number B<SHN_ABS> have absolute "
2646 "values and are not affected by relocation."
2648 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
2649 "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。"
2652 #: build/C/man5/elf.5:656 build/C/man5/elf.5:938
2654 msgid "B<SHN_COMMON>"
2655 msgstr "B<SHN_COMMON>"
2658 #: build/C/man5/elf.5:660
2660 "Symbols defined relative to this section are common symbols, such as Fortran "
2661 "COMMON or unallocated C external variables."
2663 "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割"
2664 "り当て external 変数のような、 共通シンボルである。"
2667 #: build/C/man5/elf.5:660 build/C/man5/elf.5:942
2669 msgid "B<SHN_HIRESERVE>"
2670 msgstr "B<SHN_HIRESERVE>"
2673 #: build/C/man5/elf.5:673
2675 "This value specifies the upper bound of the range of reserved indices "
2676 "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do not "
2677 "reference the section header table. That is, the section header table does "
2678 "I<not> contain entries for the reserved indices."
2680 "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> と "
2681 "B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダーテーブルを参照しな"
2682 "い。 つまり、セクションヘッダーテーブルは 予約されたインデックスのエントリー"
2686 #: build/C/man5/elf.5:695
2688 "An executable or shared object file's program header table is an array of "
2689 "structures, each describing a segment or other information the system needs "
2690 "to prepare the program for execution. An object file I<segment> contains "
2691 "one or more I<sections>. Program headers are meaningful only for executable "
2692 "and shared object files. A file specifies its own program header size with "
2693 "the ELF header's I<e_phentsize> and I<e_phnum> members. The ELF program "
2694 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
2697 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダーテーブル"
2698 "は、 システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する"
2699 "構造体の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<"
2700 "セクション> が含まれる。 プログラムヘッダーは実行可能ファイルと共有オブジェク"
2701 "トファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダーサイズを ELF "
2702 "ヘッダーの I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラ"
2703 "ムヘッダーは I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらにな"
2707 #: build/C/man5/elf.5:708
2710 "typedef struct {\n"
2711 " uint32_t p_type;\n"
2712 " Elf32_Off p_offset;\n"
2713 " Elf32_Addr p_vaddr;\n"
2714 " Elf32_Addr p_paddr;\n"
2715 " uint32_t p_filesz;\n"
2716 " uint32_t p_memsz;\n"
2717 " uint32_t p_flags;\n"
2718 " uint32_t p_align;\n"
2721 "typedef struct {\n"
2722 " uint32_t p_type;\n"
2723 " Elf32_Off p_offset;\n"
2724 " Elf32_Addr p_vaddr;\n"
2725 " Elf32_Addr p_paddr;\n"
2726 " uint32_t p_filesz;\n"
2727 " uint32_t p_memsz;\n"
2728 " uint32_t p_flags;\n"
2729 " uint32_t p_align;\n"
2733 #: build/C/man5/elf.5:723
2736 "typedef struct {\n"
2737 " uint32_t p_type;\n"
2738 " uint32_t p_flags;\n"
2739 " Elf64_Off p_offset;\n"
2740 " Elf64_Addr p_vaddr;\n"
2741 " Elf64_Addr p_paddr;\n"
2742 " uint64_t p_filesz;\n"
2743 " uint64_t p_memsz;\n"
2744 " uint64_t p_align;\n"
2747 "typedef struct {\n"
2748 " uint32_t p_type;\n"
2749 " uint32_t p_flags;\n"
2750 " Elf64_Off p_offset;\n"
2751 " Elf64_Addr p_vaddr;\n"
2752 " Elf64_Addr p_paddr;\n"
2753 " uint64_t p_filesz;\n"
2754 " uint64_t p_memsz;\n"
2755 " uint64_t p_align;\n"
2758 #. .Bl -tag -width "p_offset"
2760 #: build/C/man5/elf.5:731
2762 "The main difference between the 32-bit and the 64-bit program header lies in "
2763 "the location of the I<p_flags> member in the total struct."
2765 "32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における "
2766 "I<p_flags> メンバの位置にある。"
2769 #: build/C/man5/elf.5:731
2774 #. .Bl -tag -width "PT_DYNAMIC"
2776 #: build/C/man5/elf.5:736
2778 "This member of the Phdr struct tells what kind of segment this array element "
2779 "describes or how to interpret the array element's information."
2781 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
2782 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
2785 #: build/C/man5/elf.5:737
2791 #: build/C/man5/elf.5:741
2793 "The array element is unused and the other members' values are undefined. "
2794 "This lets the program header have ignored entries."
2796 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
2797 "り、このプログラムヘッダーのエントリーは無視される。"
2800 #: build/C/man5/elf.5:741
2806 #: build/C/man5/elf.5:762
2808 "The array element specifies a loadable segment, described by I<p_filesz> and "
2809 "I<p_memsz>. The bytes from the file are mapped to the beginning of the "
2810 "memory segment. If the segment's memory size I<p_memsz> is larger than the "
2811 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
2812 "and to follow the segment's initialized area. The file size may not be "
2813 "larger than the memory size. Loadable segment entries in the program header "
2814 "table appear in ascending order, sorted on the I<p_vaddr> member."
2816 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
2817 "定する。 このファイルからのバイトデータが、このメモリーセグメントの先頭から"
2818 "マップされる。 セグメントのメモリーサイズ I<Sy>p_memsz がファイルサイズ "
2819 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
2820 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリーサイズ"
2821 "より大きくてはいけない。 プログラムヘッダーテーブルのロード可能セグメントエン"
2822 "トリーは、 I<p_vaddr> メンバの昇順にソートされて出現する。"
2825 #: build/C/man5/elf.5:762
2827 msgid "B<PT_DYNAMIC>"
2828 msgstr "B<PT_DYNAMIC>"
2831 #: build/C/man5/elf.5:765
2832 msgid "The array element specifies dynamic linking information."
2833 msgstr "この配列要素は動的リンク情報を指定する。"
2836 #: build/C/man5/elf.5:765
2838 msgid "B<PT_INTERP>"
2839 msgstr "B<PT_INTERP>"
2842 #: build/C/man5/elf.5:773
2844 "The array element specifies the location and size of a null-terminated "
2845 "pathname to invoke as an interpreter. This segment type is meaningful only "
2846 "for executable files (though it may occur for shared objects). However it "
2847 "may not occur more than once in a file. If it is present, it must precede "
2848 "any loadable segment entry."
2850 "この配列要素は、インタープリターとして起動されるパス名 (ヌル文字終端) の位置"
2851 "とサイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
2852 "が) 実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
2853 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
2854 "のロード可能セグメントエントリーより前になければならない。"
2857 #: build/C/man5/elf.5:773
2863 #: build/C/man5/elf.5:776
2865 "The array element specifies the location and size for auxiliary information."
2867 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
2870 #: build/C/man5/elf.5:776
2873 msgstr "B<PT_SHLIB>"
2876 #: build/C/man5/elf.5:781
2878 "This segment type is reserved but has unspecified semantics. Programs that "
2879 "contain an array element of this type do not conform to the ABI."
2881 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
2882 "を保持するプログラムは ABI に準拠しない。"
2885 #: build/C/man5/elf.5:781
2891 #: build/C/man5/elf.5:790
2893 "The array element, if present, specifies the location and size of the "
2894 "program header table itself, both in the file and in the memory image of the "
2895 "program. This segment type may not occur more than once in a file. "
2896 "Moreover, it may occur only if the program header table is part of the "
2897 "memory image of the program. If it is present, it must precede any loadable "
2900 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリーイ"
2901 "メージ双方における プログラムヘッダーテーブル自身の位置とサイズを指定する。 "
2902 "このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、この"
2903 "セグメント型が存在してもよいのは、プログラムヘッダーテーブルが プログラムのメ"
2904 "モリーイメージの一部である場合のみである。 もし存在する場合、これは全てのロー"
2905 "ド可能セグメントエントリーより 前になければならない。"
2908 #: build/C/man5/elf.5:790
2910 msgid "B<PT_LOPROC>"
2911 msgstr "B<PT_LOPROC>"
2914 #: build/C/man5/elf.5:795
2916 "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
2917 "specific semantics."
2919 "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
2922 #: build/C/man5/elf.5:795
2924 msgid "B<PT_HIPROC>"
2925 msgstr "B<PT_HIPROC>"
2928 #: build/C/man5/elf.5:800
2930 "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
2931 "specific semantics."
2933 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
2936 #: build/C/man5/elf.5:800
2938 msgid "B<PT_GNU_STACK>"
2939 msgstr "B<PT_GNU_STACK>"
2943 #: build/C/man5/elf.5:807
2945 "GNU extension which is used by the Linux kernel to control the state of the "
2946 "stack via the flags set in the I<p_flags> member."
2948 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
2949 "由でスタックの状態を制御するために使用する。"
2952 #: build/C/man5/elf.5:808
2955 msgstr "I<p_offset>"
2958 #: build/C/man5/elf.5:812
2960 "This member holds the offset from the beginning of the file at which the "
2961 "first byte of the segment resides."
2963 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
2967 #: build/C/man5/elf.5:812
2973 #: build/C/man5/elf.5:816
2975 "This member holds the virtual address at which the first byte of the segment "
2976 "resides in memory."
2978 "このメンバは、セグメントの先頭バイトがある メモリーの仮想アドレスを保持する。"
2981 #: build/C/man5/elf.5:816
2987 #: build/C/man5/elf.5:824
2989 "On systems for which physical addressing is relevant, this member is "
2990 "reserved for the segment's physical address. Under BSD this member is not "
2991 "used and must be zero."
2993 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
2994 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
2997 #: build/C/man5/elf.5:824
3000 msgstr "I<p_filesz>"
3003 #: build/C/man5/elf.5:828
3005 "This member holds the number of bytes in the file image of the segment. It "
3008 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
3012 #: build/C/man5/elf.5:828
3018 #: build/C/man5/elf.5:832
3020 "This member holds the number of bytes in the memory image of the segment. "
3023 "このメンバはセグメントのメモリーイメージのバイト数を保持する。 これは 0 でも"
3027 #: build/C/man5/elf.5:832
3032 #. .Bl -tag -width "PF_X" -compact
3034 #: build/C/man5/elf.5:836
3035 msgid "This member holds a bit mask of flags relevant to the segment:"
3036 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
3039 #: build/C/man5/elf.5:837
3045 #: build/C/man5/elf.5:841
3046 msgid "An executable segment."
3050 #: build/C/man5/elf.5:841
3056 #: build/C/man5/elf.5:844
3057 msgid "A writable segment."
3058 msgstr "書き込み可能セグメント."
3061 #: build/C/man5/elf.5:844
3067 #: build/C/man5/elf.5:847
3068 msgid "A readable segment."
3069 msgstr "読み込み可能セグメント。"
3072 #: build/C/man5/elf.5:860
3074 "A text segment commonly has the flags B<PF_X> and B<PF_R>. A data segment "
3075 "commonly has B<PF_X>, B<PF_W> and B<PF_R>."
3077 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
3078 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
3081 #: build/C/man5/elf.5:860
3088 #: build/C/man5/elf.5:879
3090 "This member holds the value to which the segments are aligned in memory and "
3091 "in the file. Loadable process segments must have congruent values for "
3092 "I<p_vaddr> and I<p_offset>, modulo the page size. Values of zero and one "
3093 "mean no alignment is required. Otherwise, I<p_align> should be a positive, "
3094 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
3097 "このメンバは、セグメントがメモリーおよびファイルにおいて配置 (align) される"
3098 "値を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
3099 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
3100 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
3101 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
3102 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
3103 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
3107 #: build/C/man5/elf.5:896
3109 "A file's section header table lets one locate all the file's sections. The "
3110 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
3111 "structures. The ELF header's I<e_shoff> member gives the byte offset from "
3112 "the beginning of the file to the section header table. I<e_shnum> holds the "
3113 "number of entries the section header table contains. I<e_shentsize> holds "
3114 "the size in bytes of each entry."
3116 "ファイルのセクションヘッダーテーブルには、 全てのファイルセクションの場所が記"
3117 "述されている。 セクションヘッダーテーブルは I<Elf32_Shdr> 構造体または "
3118 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダーの I<e_shoff> メンバはファイル"
3119 "の先頭から セクションヘッダーテーブルへのバイトオフセットである。 I<e_shnum> "
3120 "はセクションヘッダーテーブルに含まれるエントリーの数を保持する。 "
3121 "I<e_shentsize> は各エントリーのサイズ (バイト単位) を保持する。"
3123 #. .Bl -tag -width "SHN_LORESERVE"
3125 #: build/C/man5/elf.5:913
3127 "A section header table index is a subscript into this array. Some section "
3128 "header table indices are reserved: the initial entry and the indices between "
3129 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>. The initial entry is used in ELF "
3130 "extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in other cases, each "
3131 "field in the initial entry is set to zero. An object file does not have "
3132 "sections for these special indices:"
3134 "セクションヘッダーテーブルインデックスは、この配列の添字である。\n"
3135 "いくつかのセクションヘッダーテーブルインデックスは予約されている。予約され"
3137 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
3139 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
3140 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
3141 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
3145 #: build/C/man5/elf.5:918
3147 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
3148 "section reference."
3150 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
3154 #: build/C/man5/elf.5:938
3156 "This value specifies the absolute value for the corresponding reference. "
3157 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
3158 "absolute value and is not affected by relocation."
3160 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
3161 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
3165 #: build/C/man5/elf.5:942
3167 "Symbols defined relative to this section are common symbols, such as FORTRAN "
3168 "COMMON or unallocated C external variables."
3170 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
3171 "未割り当て外部変数のような共通シンボルである。"
3174 #: build/C/man5/elf.5:953
3176 "This value specifies the upper bound of the range of reserved indices. The "
3177 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
3178 "inclusive. The section header table does not contain entries for the "
3181 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
3182 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッ"
3183 "ダーテーブルは予約されたインデックスに対応するエントリーを持たない。"
3186 #: build/C/man5/elf.5:957
3187 msgid "The section header has the following structure:"
3188 msgstr "セクションヘッダーは以下の構造体を持つ:"
3191 #: build/C/man5/elf.5:972
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"
3207 "typedef struct {\n"
3208 " uint32_t sh_name;\n"
3209 " uint32_t sh_type;\n"
3210 " uint32_t sh_flags;\n"
3211 " Elf32_Addr sh_addr;\n"
3212 " Elf32_Off sh_offset;\n"
3213 " uint32_t sh_size;\n"
3214 " uint32_t sh_link;\n"
3215 " uint32_t sh_info;\n"
3216 " uint32_t sh_addralign;\n"
3217 " uint32_t sh_entsize;\n"
3221 #: build/C/man5/elf.5:989
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"
3237 "typedef struct {\n"
3238 " uint32_t sh_name;\n"
3239 " uint32_t sh_type;\n"
3240 " uint64_t sh_flags;\n"
3241 " Elf64_Addr sh_addr;\n"
3242 " Elf64_Off sh_offset;\n"
3243 " uint64_t sh_size;\n"
3244 " uint32_t sh_link;\n"
3245 " uint32_t sh_info;\n"
3246 " uint64_t sh_addralign;\n"
3247 " uint64_t sh_entsize;\n"
3250 #. .Bl -tag -width "sh_addralign"
3252 #: build/C/man5/elf.5:994
3254 "No real differences exist between the 32-bit and 64-bit section headers."
3255 msgstr "32 ビットと 64 ビットのセクションヘッダーには実際の違いはない。"
3258 #: build/C/man5/elf.5:994
3264 #: build/C/man5/elf.5:1000
3266 "This member specifies the name of the section. Its value is an index into "
3267 "the section header string table section, giving the location of a null-"
3268 "terminated string."
3270 "このメンバはセクション名を定める。 この値はセクションヘッダー文字列テーブルセ"
3271 "クションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
3274 #: build/C/man5/elf.5:1000
3279 #. .Bl -tag -width "SHT_PROGBITS"
3281 #: build/C/man5/elf.5:1004
3282 msgid "This member categorizes the section's contents and semantics."
3283 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリーを示す。"
3286 #: build/C/man5/elf.5:1005
3289 msgstr "B<SHT_NULL>"
3292 #: build/C/man5/elf.5:1012
3294 "This value marks the section header as inactive. It does not have an "
3295 "associated section. Other members of the section header have undefined "
3298 "この値はセクションヘッダーが不活性であることを示す。 これは関連するセクション"
3299 "を持たない。 このセクションヘッダーの他のメンバは、未定義の値を持つ。"
3302 #: build/C/man5/elf.5:1012
3304 msgid "B<SHT_PROGBITS>"
3305 msgstr "B<SHT_PROGBITS>"
3308 #: build/C/man5/elf.5:1016
3310 "This section holds information defined by the program, whose format and "
3311 "meaning are determined solely by the program."
3313 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
3314 "味は、ひとえにプログラムによって決定される。"
3317 #: build/C/man5/elf.5:1016
3319 msgid "B<SHT_SYMTAB>"
3320 msgstr "B<SHT_SYMTAB>"
3323 #: build/C/man5/elf.5:1029
3325 "This section holds a symbol table. Typically, B<SHT_SYMTAB> provides "
3326 "symbols for link editing, though it may also be used for dynamic linking. "
3327 "As a complete symbol table, it may contain many symbols unnecessary for "
3328 "dynamic linking. An object file can also contain a B<SHT_DYNSYM> section."
3330 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
3331 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
3332 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
3333 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
3336 #: build/C/man5/elf.5:1029
3338 msgid "B<SHT_STRTAB>"
3339 msgstr "B<SHT_STRTAB>"
3342 #: build/C/man5/elf.5:1034
3344 "This section holds a string table. An object file may have multiple string "
3347 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
3348 "テーブルセクションを持つことができる。"
3351 #: build/C/man5/elf.5:1034
3354 msgstr "B<SHT_RELA>"
3357 #: build/C/man5/elf.5:1042
3359 "This section holds relocation entries with explicit addends, such as type "
3360 "I<Elf32_Rela> for the 32-bit class of object files. An object may have "
3361 "multiple relocation sections."
3363 "このセクションは明示的な加数 (addend) を持つ再配置エントリーを保持する。 再配"
3364 "置エントリーの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> "
3365 "である。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3368 #: build/C/man5/elf.5:1042
3371 msgstr "B<SHT_HASH>"
3374 #: build/C/man5/elf.5:1049
3376 "This section holds a symbol hash table. An object participating in dynamic "
3377 "linking must contain a symbol hash table. An object file may have only one "
3380 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
3381 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
3382 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
3385 #: build/C/man5/elf.5:1049
3387 msgid "B<SHT_DYNAMIC>"
3388 msgstr "B<SHT_DYNAMIC>"
3391 #: build/C/man5/elf.5:1054
3393 "This section holds information for dynamic linking. An object file may have "
3394 "only one dynamic section."
3396 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
3397 "的セクションのみを持つことができる。"
3400 #: build/C/man5/elf.5:1054
3403 msgstr "B<SHT_NOTE>"
3406 #: build/C/man5/elf.5:1057
3407 msgid "This section holds information that marks the file in some way."
3408 msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
3411 #: build/C/man5/elf.5:1057
3413 msgid "B<SHT_NOBITS>"
3414 msgstr "B<SHT_NOBITS>"
3417 #: build/C/man5/elf.5:1065
3419 "A section of this type occupies no space in the file but otherwise resembles "
3420 "B<SHT_PROGBITS>. Although this section contains no bytes, the I<sh_offset> "
3421 "member contains the conceptual file offset."
3423 "このタイプのセクションはファイルの領域を使わないという以外は、 "
3424 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
3425 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
3428 #: build/C/man5/elf.5:1065
3434 #: build/C/man5/elf.5:1073
3436 "This section holds relocation offsets without explicit addends, such as type "
3437 "I<Elf32_Rel> for the 32-bit class of object files. An object file may have "
3438 "multiple relocation sections."
3440 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
3441 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
3442 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
3445 #: build/C/man5/elf.5:1073
3447 msgid "B<SHT_SHLIB>"
3448 msgstr "B<SHT_SHLIB>"
3451 #: build/C/man5/elf.5:1076
3452 msgid "This section is reserved but has unspecified semantics."
3453 msgstr "このセクションは予約されているが、意味は指定されていない。"
3456 #: build/C/man5/elf.5:1076
3458 msgid "B<SHT_DYNSYM>"
3459 msgstr "B<SHT_DYNSYM>"
3462 #: build/C/man5/elf.5:1083
3464 "This section holds a minimal set of dynamic linking symbols. An object file "
3465 "can also contain a B<SHT_SYMTAB> section."
3467 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
3468 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
3471 #: build/C/man5/elf.5:1083
3473 msgid "B<SHT_LOPROC>"
3474 msgstr "B<SHT_LOPROC>"
3477 #: build/C/man5/elf.5:1088
3479 "This value up to and including B<SHT_HIPROC> is reserved for processor-"
3480 "specific semantics."
3482 "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
3485 #: build/C/man5/elf.5:1088
3487 msgid "B<SHT_HIPROC>"
3488 msgstr "B<SHT_HIPROC>"
3491 #: build/C/man5/elf.5:1093
3493 "This value down to and including B<SHT_LOPROC> is reserved for processor-"
3494 "specific semantics."
3496 "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
3499 #: build/C/man5/elf.5:1093
3501 msgid "B<SHT_LOUSER>"
3502 msgstr "B<SHT_LOUSER>"
3505 #: build/C/man5/elf.5:1097
3507 "This value specifies the lower bound of the range of indices reserved for "
3508 "application programs."
3510 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
3514 #: build/C/man5/elf.5:1097
3516 msgid "B<SHT_HIUSER>"
3517 msgstr "B<SHT_HIUSER>"
3521 #: build/C/man5/elf.5:1108
3523 "This value specifies the upper bound of the range of indices reserved for "
3524 "application programs. Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
3525 "may be used by the application, without conflicting with current or future "
3526 "system-defined section types."
3528 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
3529 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
3530 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
3534 #: build/C/man5/elf.5:1109
3537 msgstr "I<sh_flags>"
3539 #. .Bl -tag -width "SHF_EXECINSTR" -compact
3541 #: build/C/man5/elf.5:1122
3543 "Sections support one-bit flags that describe miscellaneous attributes. If a "
3544 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section. "
3545 "Otherwise, the attribute is \"off\" or does not apply. Undefined attributes "
3548 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
3549 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
3550 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
3554 #: build/C/man5/elf.5:1123
3556 msgid "B<SHF_WRITE>"
3557 msgstr "B<SHF_WRITE>"
3560 #: build/C/man5/elf.5:1127
3562 "This section contains data that should be writable during process execution."
3563 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
3566 #: build/C/man5/elf.5:1127
3568 msgid "B<SHF_ALLOC>"
3569 msgstr "B<SHF_ALLOC>"
3572 #: build/C/man5/elf.5:1134
3574 "This section occupies memory during process execution. Some control "
3575 "sections do not reside in the memory image of an object file. This "
3576 "attribute is off for those sections."
3578 "このセクションはプロセス実行中にメモリーを使用する。 制御セクションの中には、"
3579 "オブジェクトファイルのメモリーイメージには 存在しないものもある。 そうしたセ"
3580 "クションの場合、この属性はオフである。"
3583 #: build/C/man5/elf.5:1134
3585 msgid "B<SHF_EXECINSTR>"
3586 msgstr "B<SHF_EXECINSTR>"
3589 #: build/C/man5/elf.5:1137
3590 msgid "This section contains executable machine instructions."
3591 msgstr "このセクションは実行可能なマシン命令を含む。"
3594 #: build/C/man5/elf.5:1137
3596 msgid "B<SHF_MASKPROC>"
3597 msgstr "B<SHF_MASKPROC>"
3600 #: build/C/man5/elf.5:1141
3602 "All bits included in this mask are reserved for processor-specific semantics."
3604 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
3607 #: build/C/man5/elf.5:1143
3613 #: build/C/man5/elf.5:1148
3615 "If this section appears in the memory image of a process, this member holds "
3616 "the address at which the section's first byte should reside. Otherwise, the "
3617 "member contains zero."
3619 "このセクションがプロセスのメモリーイメージにある場合、 このメンバはセクション"
3620 "の最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 "
3624 #: build/C/man5/elf.5:1148
3626 msgid "I<sh_offset>"
3627 msgstr "I<sh_offset>"
3630 #: build/C/man5/elf.5:1157
3632 "This member's value holds the byte offset from the beginning of the file to "
3633 "the first byte in the section. One section type, B<SHT_NOBITS>, occupies no "
3634 "space in the file, and its I<sh_offset> member locates the conceptual "
3635 "placement in the file."
3637 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
3638 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
3639 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
3642 #: build/C/man5/elf.5:1157
3648 #: build/C/man5/elf.5:1169
3650 "This member holds the section's size in bytes. Unless the section type is "
3651 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file. A section "
3652 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
3655 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
3656 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
3657 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
3661 #: build/C/man5/elf.5:1169
3667 #: build/C/man5/elf.5:1173
3669 "This member holds a section header table index link, whose interpretation "
3670 "depends on the section type."
3672 "このメンバは、セクションヘッダーテーブルインデックスリンクを保持する。 この解"
3676 #: build/C/man5/elf.5:1173
3682 #: build/C/man5/elf.5:1177
3684 "This member holds extra information, whose interpretation depends on the "
3687 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
3690 #: build/C/man5/elf.5:1177
3692 msgid "I<sh_addralign>"
3693 msgstr "I<sh_addralign>"
3696 #: build/C/man5/elf.5:1190
3698 "Some sections have address alignment constraints. If a section holds a "
3699 "doubleword, the system must ensure doubleword alignment for the entire "
3700 "section. That is, the value of I<sh_addr> must be congruent to zero, modulo "
3701 "the value of I<sh_addralign>. Only zero and positive integral powers of two "
3702 "are allowed. Values of zero or one mean the section has no alignment "
3705 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
3706 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
3707 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
3708 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
3709 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
3713 #: build/C/man5/elf.5:1190
3715 msgid "I<sh_entsize>"
3716 msgstr "I<sh_entsize>"
3720 #: build/C/man5/elf.5:1197
3722 "Some sections hold a table of fixed-sized entries, such as a symbol table. "
3723 "For such a section, this member gives the size in bytes for each entry. "
3724 "This member contains zero if the section does not hold a table of fixed-size "
3727 "シンボルテーブルのような固定サイズエントリーのテーブルを保持する セクションも"
3728 "ある。 このようなセクションでは、 このメンバは各エントリーのサイズ (バイト単"
3729 "位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリーの"
3732 #. .Bl -tag -width ".shstrtab"
3734 #: build/C/man5/elf.5:1200
3735 msgid "Various sections hold program and control information:"
3736 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
3739 #: build/C/man5/elf.5:1200
3745 #: build/C/man5/elf.5:1212
3747 "This section holds uninitialized data that contributes to the program's "
3748 "memory image. By definition, the system initializes the data with zeros "
3749 "when the program begins to run. This section is of type B<SHT_NOBITS>. The "
3750 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
3752 "このセクションはプログラムのメモリーイメージに配置される 非初期化データを保持"
3753 "する。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 "
3754 "このセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
3758 #: build/C/man5/elf.5:1212
3761 msgstr "I<.comment>"
3764 #: build/C/man5/elf.5:1218
3766 "This section holds version control information. This section is of type "
3767 "B<SHT_PROGBITS>. No attribute types are used."
3769 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
3770 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
3773 #: build/C/man5/elf.5:1218
3779 #: build/C/man5/elf.5:1227
3781 "This section holds initialized pointers to the C++ constructor functions. "
3782 "This section is of type B<SHT_PROGBITS>. The attribute types are "
3783 "B<SHF_ALLOC> and B<SHF_WRITE>."
3785 "このセクションは C++ コンストラクター関数への初期化されたポインターを保持す"
3786 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3787 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3790 #: build/C/man5/elf.5:1227
3796 #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247
3798 "This section holds initialized data that contribute to the program's memory "
3799 "image. This section is of type B<SHT_PROGBITS>. The attribute types are "
3800 "B<SHF_ALLOC> and B<SHF_WRITE>."
3802 "このセクションはプログラムのメモリーイメージに配置される 初期化済みデータを保"
3803 "持する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
3804 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
3807 #: build/C/man5/elf.5:1237
3813 #: build/C/man5/elf.5:1247
3819 #: build/C/man5/elf.5:1255
3821 "This section holds information for symbolic debugging. The contents are "
3822 "unspecified. This section is of type B<SHT_PROGBITS>. No attribute types "
3825 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
3826 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
3830 #: build/C/man5/elf.5:1255
3836 #: build/C/man5/elf.5:1264
3838 "This section holds initialized pointers to the C++ destructor functions. "
3839 "This section is of type B<SHT_PROGBITS>. The attribute types are "
3840 "B<SHF_ALLOC> and B<SHF_WRITE>."
3842 "このセクションは C++ デストラクタ関数への初期化されたポインターを保持する。 "
3843 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
3844 "と B<SHF_WRITE> である。"
3847 #: build/C/man5/elf.5:1264
3850 msgstr "I<.dynamic>"
3853 #: build/C/man5/elf.5:1277
3855 "This section holds dynamic linking information. The section's attributes "
3856 "will include the B<SHF_ALLOC> bit. Whether the B<SHF_WRITE> bit is set is "
3857 "processor-specific. This section is of type B<SHT_DYNAMIC>. See the "
3860 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
3861 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
3862 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
3866 #: build/C/man5/elf.5:1277
3872 #: build/C/man5/elf.5:1285
3874 "This section holds strings needed for dynamic linking, most commonly the "
3875 "strings that represent the names associated with symbol table entries. This "
3876 "section is of type B<SHT_STRTAB>. The attribute type used is B<SHF_ALLOC>."
3878 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
3879 "列はシンボルテーブルエントリーと 関連づけられた名前を表す。 このセクションの"
3880 "タイプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3883 #: build/C/man5/elf.5:1285
3889 #: build/C/man5/elf.5:1292
3891 "This section holds the dynamic linking symbol table. This section is of "
3892 "type B<SHT_DYNSYM>. The attribute used is B<SHF_ALLOC>."
3894 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
3895 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3898 #: build/C/man5/elf.5:1292
3904 #: build/C/man5/elf.5:1304
3906 "This section holds executable instructions that contribute to the process "
3907 "termination code. When a program exits normally the system arranges to "
3908 "execute the code in this section. This section is of type B<SHT_PROGBITS>. "
3909 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
3911 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
3912 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
3913 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
3914 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
3917 #: build/C/man5/elf.5:1304
3919 msgid "I<.gnu.version>"
3920 msgstr "I<.gnu.version>"
3923 #: build/C/man5/elf.5:1313
3925 "This section holds the version symbol table, an array of I<ElfN_Half> "
3926 "elements. This section is of type B<SHT_GNU_versym>. The attribute type "
3927 "used is B<SHF_ALLOC>."
3929 "このセクションはバージョンシンボルテーブルを保持する。 その内容は "
3930 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
3931 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
3934 #: build/C/man5/elf.5:1313
3936 msgid "I<.gnu.version_d>"
3937 msgstr "I<.gnu.version_d>"
3940 #: build/C/man5/elf.5:1322
3942 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
3943 "structures. This section is of type B<SHT_GNU_verdef>. The attribute type "
3944 "used is B<SHF_ALLOC>."
3946 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
3947 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
3948 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
3951 #: build/C/man5/elf.5:1322
3953 msgid "I<.gnu.version_r>"
3954 msgstr "I<.gnu.version_r>"
3957 #: build/C/man5/elf.5:1332
3959 "This section holds the version symbol needed elements, a table of "
3960 "I<ElfN_Verneed> structures. This section is of type B<SHT_GNU_versym>. The "
3961 "attribute type used is B<SHF_ALLOC>."
3963 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
3964 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
3965 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
3968 #: build/C/man5/elf.5:1332
3974 #: build/C/man5/elf.5:1338
3976 "This section holds the global offset table. This section is of type "
3977 "B<SHT_PROGBITS>. The attributes are processor-specific."
3979 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
3980 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
3983 #: build/C/man5/elf.5:1338
3989 #: build/C/man5/elf.5:1345
3991 "This section holds a symbol hash table. This section is of type "
3992 "B<SHT_HASH>. The attribute used is B<SHF_ALLOC>."
3994 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
3995 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
3998 #: build/C/man5/elf.5:1345
4004 #: build/C/man5/elf.5:1357
4006 "This section holds executable instructions that contribute to the process "
4007 "initialization code. When a program starts to run the system arranges to "
4008 "execute the code in this section before calling the main program entry "
4009 "point. This section is of type B<SHT_PROGBITS>. The attributes used are "
4010 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4012 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
4013 "グラムが実行を開始すると、 システムはメインプログラムエントリーポイントを呼び"
4014 "出す前に、 このセクションにあるコードを配置して実行する。 このセクションはの"
4015 "タイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4016 "B<SHF_EXECINSTR> である。"
4019 #: build/C/man5/elf.5:1357
4025 #: build/C/man5/elf.5:1368
4027 "This section holds the pathname of a program interpreter. If the file has a "
4028 "loadable segment that includes the section, the section's attributes will "
4029 "include the B<SHF_ALLOC> bit. Otherwise, that bit will be off. This "
4030 "section is of type B<SHT_PROGBITS>."
4032 "このセクションはプログラムインタープリターのパス名を保持する。 ファイルにこの"
4033 "セクションを含むロード可能セグメントがある場合、 そのセクションの属性には "
4034 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
4035 "クションのタイプは B<SHT_PROGBITS> である。"
4038 #: build/C/man5/elf.5:1368
4044 #: build/C/man5/elf.5:1376
4046 "This section holds line number information for symbolic debugging, which "
4047 "describes the correspondence between the program source and the machine "
4048 "code. The contents are unspecified. This section is of type "
4049 "B<SHT_PROGBITS>. No attribute types are used."
4051 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
4052 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
4053 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
4057 #: build/C/man5/elf.5:1376
4063 #: build/C/man5/elf.5:1389
4065 "This section holds information in the \"Note Section\" format. This section "
4066 "is of type B<SHT_NOTE>. No attribute types are used. OpenBSD native "
4067 "executables usually contain a I<.note.openbsd.ident> section to identify "
4068 "themselves, for the kernel to bypass any compatibility ELF binary emulation "
4069 "tests when loading the file."
4071 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
4073 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
4075 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
4077 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
4082 #: build/C/man5/elf.5:1389
4084 msgid "I<.note.GNU-stack>"
4085 msgstr "I<.note.GNU-stack>"
4088 #: build/C/man5/elf.5:1398
4090 "This section is used in Linux object files for declaring stack attributes. "
4091 "This section is of type B<SHT_PROGBITS>. The only attribute used is "
4092 "B<SHF_EXECINSTR>. This indicates to the GNU linker that the object file "
4093 "requires an executable stack."
4095 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
4096 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
4097 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカーに対して オブジェクトファ"
4098 "イルが実行可能なスタック (executable stack) を必要とする 示すものである。"
4101 #: build/C/man5/elf.5:1398
4107 #: build/C/man5/elf.5:1404
4109 "This section holds the procedure linkage table. This section is of type "
4110 "B<SHT_PROGBITS>. The attributes are processor-specific."
4112 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
4113 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
4116 #: build/C/man5/elf.5:1404
4119 msgstr "I<.relNAME>"
4122 #: build/C/man5/elf.5:1423
4124 "This section holds relocation information as described below. If the file "
4125 "has a loadable segment that includes relocation, the section's attributes "
4126 "will include the B<SHF_ALLOC> bit. Otherwise, the bit will be off. By "
4127 "convention, \"NAME\" is supplied by the section to which the relocations "
4128 "apply. Thus a relocation section for B<.text> normally would have the name "
4129 "B<.rel.text>. This section is of type B<SHT_REL>."
4131 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4132 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4133 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4134 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4135 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
4136 "プは B<SHT_REL> である。"
4139 #: build/C/man5/elf.5:1423
4141 msgid "I<.relaNAME>"
4142 msgstr "I<.relaNAME>"
4145 #: build/C/man5/elf.5:1442
4147 "This section holds relocation information as described below. If the file "
4148 "has a loadable segment that includes relocation, the section's attributes "
4149 "will include the B<SHF_ALLOC> bit. Otherwise, the bit will be off. By "
4150 "convention, \"NAME\" is supplied by the section to which the relocations "
4151 "apply. Thus a relocation section for B<.text> normally would have the name "
4152 "B<.rela.text>. This section is of type B<SHT_RELA>."
4154 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
4155 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
4156 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
4157 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
4158 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
4159 "イプは B<SHT_RELA> である。"
4162 #: build/C/man5/elf.5:1442
4168 #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458
4170 "This section holds read-only data that typically contributes to a "
4171 "nonwritable segment in the process image. This section is of type "
4172 "B<SHT_PROGBITS>. The attribute used is B<SHF_ALLOC>."
4174 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
4175 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
4176 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
4179 #: build/C/man5/elf.5:1450
4182 msgstr "I<.rodata1>"
4185 #: build/C/man5/elf.5:1458
4187 msgid "I<.shstrtab>"
4188 msgstr "I<.shstrtab>"
4191 #: build/C/man5/elf.5:1464
4193 "This section holds section names. This section is of type B<SHT_STRTAB>. "
4194 "No attribute types are used."
4196 "このセクションはセクション名を保持する。 このセクションのタイプは "
4197 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
4200 #: build/C/man5/elf.5:1464
4206 #: build/C/man5/elf.5:1476
4208 "This section holds strings, most commonly the strings that represent the "
4209 "names associated with symbol table entries. If the file has a loadable "
4210 "segment that includes the symbol string table, the section's attributes will "
4211 "include the B<SHF_ALLOC> bit. Otherwise, the bit will be off. This section "
4212 "is of type B<SHT_STRTAB>."
4214 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエント"
4215 "リーに関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブ"
4216 "ルを含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビッ"
4217 "トを含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
4218 "B<SHT_STRTAB> である。"
4221 #: build/C/man5/elf.5:1476
4227 #: build/C/man5/elf.5:1487
4229 "This section holds a symbol table. If the file has a loadable segment that "
4230 "includes the symbol table, the section's attributes will include the "
4231 "B<SHF_ALLOC> bit. Otherwise, the bit will be off. This section is of type "
4234 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
4235 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
4236 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
4237 "B<SHT_SYMTAB> である。"
4240 #: build/C/man5/elf.5:1487
4247 #: build/C/man5/elf.5:1499
4249 "This section holds the \"text\", or executable instructions, of a program. "
4250 "This section is of type B<SHT_PROGBITS>. The attributes used are "
4251 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
4253 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
4254 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
4255 "B<SHF_EXECINSTR> である。"
4258 #: build/C/man5/elf.5:1510
4260 "String table sections hold null-terminated character sequences, commonly "
4261 "called strings. The object file uses these strings to represent symbol and "
4262 "section names. One references a string as an index into the string table "
4263 "section. The first byte, which is index zero, is defined to hold a null "
4264 "byte (\\(aq\\e0\\(aq). Similarly, a string table's last byte is defined to "
4265 "hold a null byte, ensuring null termination for all strings."
4267 "文字列テーブルセクションはヌル文字で終端されたキャラクター配列 (通常文字列と"
4268 "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名"
4269 "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン"
4270 "デックスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
4271 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
4272 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
4276 #: build/C/man5/elf.5:1515
4278 "An object file's symbol table holds information needed to locate and "
4279 "relocate a program's symbolic definitions and references. A symbol table "
4280 "index is a subscript into this array."
4282 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
4283 "置または再配置するのに 必要な情報を保持する。"
4286 #: build/C/man5/elf.5:1526
4289 "typedef struct {\n"
4290 " uint32_t st_name;\n"
4291 " Elf32_Addr st_value;\n"
4292 " uint32_t st_size;\n"
4293 " unsigned char st_info;\n"
4294 " unsigned char st_other;\n"
4295 " uint16_t st_shndx;\n"
4298 "typedef struct {\n"
4299 " uint32_t st_name;\n"
4300 " Elf32_Addr st_value;\n"
4301 " uint32_t st_size;\n"
4302 " unsigned char st_info;\n"
4303 " unsigned char st_other;\n"
4304 " uint16_t st_shndx;\n"
4308 #: build/C/man5/elf.5:1539
4311 "typedef struct {\n"
4312 " uint32_t st_name;\n"
4313 " unsigned char st_info;\n"
4314 " unsigned char st_other;\n"
4315 " uint16_t st_shndx;\n"
4316 " Elf64_Addr st_value;\n"
4317 " uint64_t st_size;\n"
4320 "typedef struct {\n"
4321 " uint32_t st_name;\n"
4322 " unsigned char st_info;\n"
4323 " unsigned char st_other;\n"
4324 " uint16_t st_shndx;\n"
4325 " Elf64_Addr st_value;\n"
4326 " uint64_t st_size;\n"
4329 #. .Bl -tag -width "st_value"
4331 #: build/C/man5/elf.5:1545
4333 "The 32-bit and 64-bit versions have the same members, just in a different "
4336 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
4339 #: build/C/man5/elf.5:1545
4345 #: build/C/man5/elf.5:1553
4347 "This member holds an index into the object file's symbol string table, which "
4348 "holds character representations of the symbol names. If the value is "
4349 "nonzero, it represents a string table index that gives the symbol name. "
4350 "Otherwise, the symbol table has no name."
4352 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
4353 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
4354 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
4355 "合、シンボルテーブルは名前を持たない。"
4358 #: build/C/man5/elf.5:1553
4361 msgstr "I<st_value>"
4364 #: build/C/man5/elf.5:1556
4365 msgid "This member gives the value of the associated symbol."
4366 msgstr "このメンバは関連づけられたシンボルの値を表す。"
4369 #: build/C/man5/elf.5:1556
4375 #: build/C/man5/elf.5:1561
4377 "Many symbols have associated sizes. This member holds zero if the symbol "
4378 "has no size or an unknown size."
4380 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
4381 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
4384 #: build/C/man5/elf.5:1561
4389 #. .Bl -tag -width "STT_SECTION"
4391 #: build/C/man5/elf.5:1565
4392 msgid "This member specifies the symbol's type and binding attributes:"
4393 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
4396 #: build/C/man5/elf.5:1566
4398 msgid "B<STT_NOTYPE>"
4399 msgstr "B<STT_NOTYPE>"
4402 #: build/C/man5/elf.5:1569
4403 msgid "The symbol's type is not defined."
4404 msgstr "シンボルのタイプが定義されていない。"
4407 #: build/C/man5/elf.5:1569
4409 msgid "B<STT_OBJECT>"
4410 msgstr "B<STT_OBJECT>"
4413 #: build/C/man5/elf.5:1572
4414 msgid "The symbol is associated with a data object."
4415 msgstr "シンボルはデータオブジェクトに関連づけられている。"
4418 #: build/C/man5/elf.5:1572
4421 msgstr "B<STT_FUNC>"
4424 #: build/C/man5/elf.5:1575
4425 msgid "The symbol is associated with a function or other executable code."
4426 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
4429 #: build/C/man5/elf.5:1575
4431 msgid "B<STT_SECTION>"
4432 msgstr "B<STT_SECTION>"
4435 #: build/C/man5/elf.5:1582
4437 "The symbol is associated with a section. Symbol table entries of this type "
4438 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
4440 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
4441 "リーは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
4445 #: build/C/man5/elf.5:1582
4448 msgstr "B<STT_FILE>"
4451 #: build/C/man5/elf.5:1593
4453 "By convention, the symbol's name gives the name of the source file "
4454 "associated with the object file. A file symbol has B<STB_LOCAL> bindings, "
4455 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
4456 "symbols of the file, if it is present."
4458 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
4459 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
4460 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
4461 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
4464 #: build/C/man5/elf.5:1593
4466 msgid "B<STT_LOPROC>"
4467 msgstr "B<STT_LOPROC>"
4470 #: build/C/man5/elf.5:1598
4472 "This value up to and including B<STT_HIPROC> is reserved for processor-"
4473 "specific semantics."
4475 "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4478 #: build/C/man5/elf.5:1598
4480 msgid "B<STT_HIPROC>"
4481 msgstr "B<STT_HIPROC>"
4484 #. .Bl -tag -width "STB_GLOBAL"
4486 #: build/C/man5/elf.5:1605
4488 "This value down to and including B<STT_LOPROC> is reserved for processor-"
4489 "specific semantics."
4491 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4494 #: build/C/man5/elf.5:1605
4496 msgid "B<STB_LOCAL>"
4497 msgstr "B<STB_LOCAL>"
4500 #: build/C/man5/elf.5:1611
4502 "Local symbols are not visible outside the object file containing their "
4503 "definition. Local symbols of the same name may exist in multiple files "
4504 "without interfering with each other."
4506 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
4507 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
4511 #: build/C/man5/elf.5:1611
4513 msgid "B<STB_GLOBAL>"
4514 msgstr "B<STB_GLOBAL>"
4517 #: build/C/man5/elf.5:1617
4519 "Global symbols are visible to all object files being combined. One file's "
4520 "definition of a global symbol will satisfy another file's undefined "
4521 "reference to the same symbol."
4523 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
4524 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
4528 #: build/C/man5/elf.5:1617
4531 msgstr "B<STB_WEAK>"
4534 #: build/C/man5/elf.5:1621
4536 "Weak symbols resemble global symbols, but their definitions have lower "
4538 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
4541 #: build/C/man5/elf.5:1621
4543 msgid "B<STB_LOPROC>"
4544 msgstr "B<STB_LOPROC>"
4547 #: build/C/man5/elf.5:1626
4549 "This value up to and including B<STB_HIPROC> is reserved for processor-"
4550 "specific semantics."
4552 "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されている。"
4555 #: build/C/man5/elf.5:1626
4557 msgid "B<STB_HIPROC>"
4558 msgstr "B<STB_HIPROC>"
4561 #: build/C/man5/elf.5:1631
4563 "This value down to and including B<STB_LOPROC> is reserved for processor-"
4564 "specific semantics."
4566 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
4569 #: build/C/man5/elf.5:1633
4570 msgid "There are macros for packing and unpacking the binding and type fields:"
4572 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
4576 #: build/C/man5/elf.5:1640
4578 "B<ELF32_ST_BIND>(info) or B<ELF64_ST_BIND>(info) extract a binding from an "
4581 "B<ELF32_ST_BIND>(info) または B<ELF64_ST_BIND>(info) I<st_info> の値からバ"
4585 #: build/C/man5/elf.5:1644
4586 msgid "B<ELF32_ST_TYPE>(info) or B<ELF64_ST_TYPE>(info)"
4587 msgstr "B<ELF32_ST_TYPE>(info) または B<ELF64_ST_TYPE>(info)"
4590 #: build/C/man5/elf.5:1648
4591 msgid "extract a type from an I<st_info> value."
4592 msgstr "I<st_info> の値からタイプを取り出す。"
4595 #: build/C/man5/elf.5:1652
4596 msgid "B<ELF32_ST_INFO>(bind, type) or B<ELF64_ST_INFO>(bind, type)"
4597 msgstr "B<ELF32_ST_INFO>(bind, type) または B<ELF64_ST_INFO>(bind, type)"
4600 #: build/C/man5/elf.5:1656
4601 msgid "convert a binding and a type into an I<st_info> value."
4602 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
4605 #: build/C/man5/elf.5:1658
4608 msgstr "I<st_other>"
4610 #. .Bl -tag -width "STV_PROTECTED"
4612 #: build/C/man5/elf.5:1662
4613 msgid "This member defines the symbol visibility."
4614 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
4617 #: build/C/man5/elf.5:1663
4619 msgid "B<STV_DEFAULT>"
4620 msgstr "B<STV_DEFAULT>"
4623 #: build/C/man5/elf.5:1667
4624 msgid "Default symbol visibility rules."
4625 msgstr "デフォルトのシンボル visibility ルール。"
4628 #: build/C/man5/elf.5:1667
4630 msgid "B<STV_INTERNAL>"
4631 msgstr "B<STV_INTERNAL>"
4634 #: build/C/man5/elf.5:1670
4635 msgid "Processor-specific hidden class."
4636 msgstr "プロセッサ固有の隠しクラス。"
4639 #: build/C/man5/elf.5:1670
4641 msgid "B<STV_HIDDEN>"
4642 msgstr "B<STV_HIDDEN>"
4645 #: build/C/man5/elf.5:1673
4646 msgid "Symbol is unavailable in other modules."
4647 msgstr "シンボルは他のモジュールからは利用できない。"
4650 #: build/C/man5/elf.5:1673
4652 msgid "B<STV_PROTECTED>"
4653 msgstr "B<STV_PROTECTED>"
4656 #: build/C/man5/elf.5:1676
4657 msgid "Not preemptible, not exported."
4658 msgstr "横取りできず (not preemptible)、公開されない。"
4661 #: build/C/man5/elf.5:1679
4662 msgid "There are macros for extracting the visibility type:"
4663 msgstr "visibility 種別を抽出するためのマクロがある。"
4666 #: build/C/man5/elf.5:1683
4667 msgid "B<ELF32_ST_VISIBILITY>(other) or B<ELF64_ST_VISIBILITY>(other)"
4668 msgstr "B<ELF32_ST_VISIBILITY>(other) または B<ELF64_ST_VISIBILITY>(other)"
4671 #: build/C/man5/elf.5:1685
4674 msgstr "I<st_shndx>"
4678 #: build/C/man5/elf.5:1693
4680 "Every symbol table entry is \"defined\" in relation to some section. This "
4681 "member holds the relevant section header table index."
4683 "各シンボルテーブルエントリーは、いくつかのセクションに関連して \"定義されてい"
4684 "る\"。 このメンバは関連するセクションヘッダーテーブルインデックスを保持する。"
4687 #: build/C/man5/elf.5:1701
4689 "Relocation is the process of connecting symbolic references with symbolic "
4690 "definitions. Relocatable files must have information that describes how to "
4691 "modify their section contents, thus allowing executable and shared object "
4692 "files to hold the right information for a process's program image. "
4693 "Relocation entries are these data."
4695 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
4696 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
4697 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
4698 "グラムイメージについての正しい情報を持つことができる。 再配置エントリーは以下"
4702 #: build/C/man5/elf.5:1703
4703 msgid "Relocation structures that do not need an addend:"
4704 msgstr "加数を必要としない再配置構造体。"
4707 #: build/C/man5/elf.5:1710
4710 "typedef struct {\n"
4711 " Elf32_Addr r_offset;\n"
4712 " uint32_t r_info;\n"
4715 "typedef struct {\n"
4716 " Elf32_Addr r_offset;\n"
4717 " uint32_t r_info;\n"
4721 #: build/C/man5/elf.5:1719
4724 "typedef struct {\n"
4725 " Elf64_Addr r_offset;\n"
4726 " uint64_t r_info;\n"
4729 "typedef struct {\n"
4730 " Elf64_Addr r_offset;\n"
4731 " uint64_t r_info;\n"
4735 #: build/C/man5/elf.5:1723
4736 msgid "Relocation structures that need an addend:"
4737 msgstr "加数を必要とする再配置構造体。"
4740 #: build/C/man5/elf.5:1731
4743 "typedef struct {\n"
4744 " Elf32_Addr r_offset;\n"
4745 " uint32_t r_info;\n"
4746 " int32_t r_addend;\n"
4749 "typedef struct {\n"
4750 " Elf32_Addr r_offset;\n"
4751 " uint32_t r_info;\n"
4752 " int32_t r_addend;\n"
4756 #: build/C/man5/elf.5:1741
4759 "typedef struct {\n"
4760 " Elf64_Addr r_offset;\n"
4761 " uint64_t r_info;\n"
4762 " int64_t r_addend;\n"
4765 "typedef struct {\n"
4766 " Elf64_Addr r_offset;\n"
4767 " uint64_t r_info;\n"
4768 " int64_t r_addend;\n"
4772 #: build/C/man5/elf.5:1744
4775 msgstr "I<r_offset>"
4778 #: build/C/man5/elf.5:1752
4780 "This member gives the location at which to apply the relocation action. For "
4781 "a relocatable file, the value is the byte offset from the beginning of the "
4782 "section to the storage unit affected by the relocation. For an executable "
4783 "file or shared object, the value is the virtual address of the storage unit "
4784 "affected by the relocation."
4786 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
4787 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
4788 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
4789 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
4792 #: build/C/man5/elf.5:1752
4798 #: build/C/man5/elf.5:1767
4800 "This member gives both the symbol table index with respect to which the "
4801 "relocation must be made and the type of relocation to apply. Relocation "
4802 "types are processor-specific. When the text refers to a relocation entry's "
4803 "relocation type or symbol table index, it means the result of applying "
4804 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
4807 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
4808 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
4809 "る。 テキストが再配置エントリーの再配置タイプ またはシンボルテーブルインデッ"
4810 "クスを参照している場合、 それぞれエントリーの I<r_info> メンバに対して、それ"
4811 "ぞれ B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
4814 #: build/C/man5/elf.5:1767
4817 msgstr "I<r_addend>"
4821 #: build/C/man5/elf.5:1772
4823 "This member specifies a constant addend used to compute the value to be "
4824 "stored into the relocatable field."
4826 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
4830 #: build/C/man5/elf.5:1777
4832 "The .dynamic section contains a series of structures that hold relevant "
4833 "dynamic linking information. The d_tag member controls the interpretation "
4836 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
4837 "保持する。 d_tag メンバは d_un の解釈を制御する。"
4840 #: build/C/man5/elf.5:1788
4843 "typedef struct {\n"
4844 " Elf32_Sword d_tag;\n"
4846 " Elf32_Word d_val;\n"
4847 " Elf32_Addr d_ptr;\n"
4850 "extern Elf32_Dyn _DYNAMIC[];\n"
4852 "typedef struct {\n"
4853 " Elf32_Sword d_tag;\n"
4855 " Elf32_Word d_val;\n"
4856 " Elf32_Addr d_ptr;\n"
4859 "extern Elf32_Dyn _DYNAMIC[];\n"
4862 #: build/C/man5/elf.5:1801
4865 "typedef struct {\n"
4866 " Elf64_Sxword d_tag;\n"
4868 " Elf64_Xword d_val;\n"
4869 " Elf64_Addr d_ptr;\n"
4872 "extern Elf64_Dyn _DYNAMIC[];\n"
4874 "typedef struct {\n"
4875 " Elf64_Sxword d_tag;\n"
4877 " Elf64_Xword d_val;\n"
4878 " Elf64_Addr d_ptr;\n"
4881 "extern Elf64_Dyn _DYNAMIC[];\n"
4884 #: build/C/man5/elf.5:1804
4889 #. .Bl -tag -width "DT_SYMBOLIC"
4891 #: build/C/man5/elf.5:1808
4892 msgid "This member may have any of the following values:"
4893 msgstr "このメンバは以下の値を持つことができる:"
4896 #: build/C/man5/elf.5:1809
4902 #: build/C/man5/elf.5:1812
4903 msgid "Marks end of dynamic section"
4904 msgstr "動的セクションの終りのマーク"
4907 #: build/C/man5/elf.5:1812
4909 msgid "B<DT_NEEDED>"
4910 msgstr "B<DT_NEEDED>"
4913 #: build/C/man5/elf.5:1815
4914 msgid "String table offset to name of a needed library"
4915 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
4918 #: build/C/man5/elf.5:1815
4920 msgid "B<DT_PLTRELSZ>"
4921 msgstr "B<DT_PLTRELSZ>"
4924 #: build/C/man5/elf.5:1818
4925 msgid "Size in bytes of PLT relocs"
4926 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
4929 #: build/C/man5/elf.5:1818
4931 msgid "B<DT_PLTGOT>"
4932 msgstr "B<DT_PLTGOT>"
4935 #: build/C/man5/elf.5:1821
4936 msgid "Address of PLT and/or GOT"
4937 msgstr "PLT と GOT (または何れか一方) のアドレス"
4940 #: build/C/man5/elf.5:1821
4946 #: build/C/man5/elf.5:1824
4947 msgid "Address of symbol hash table"
4948 msgstr "シンボルハッシュテーブルのアドレス"
4951 #: build/C/man5/elf.5:1824
4953 msgid "B<DT_STRTAB>"
4954 msgstr "B<DT_STRTAB>"
4957 #: build/C/man5/elf.5:1827
4958 msgid "Address of string table"
4959 msgstr "文字列テーブルのアドレス"
4962 #: build/C/man5/elf.5:1827
4964 msgid "B<DT_SYMTAB>"
4965 msgstr "B<DT_SYMTAB>"
4968 #: build/C/man5/elf.5:1830
4969 msgid "Address of symbol table"
4970 msgstr "シンボルテーブルのアドレス"
4973 #: build/C/man5/elf.5:1830
4979 #: build/C/man5/elf.5:1833
4980 msgid "Address of Rela relocs table"
4981 msgstr "Rela 再配置テーブルのアドレス"
4984 #: build/C/man5/elf.5:1833
4986 msgid "B<DT_RELASZ>"
4987 msgstr "B<DT_RELASZ>"
4990 #: build/C/man5/elf.5:1836
4991 msgid "Size in bytes of Rela table"
4992 msgstr "Rela テーブルのサイズ (バイト単位)"
4995 #: build/C/man5/elf.5:1836
4997 msgid "B<DT_RELAENT>"
4998 msgstr "B<DT_RELAENT>"
5001 #: build/C/man5/elf.5:1839
5002 msgid "Size in bytes of a Rela table entry"
5003 msgstr "Rela テーブルエントリーのサイズ (バイト単位)"
5006 #: build/C/man5/elf.5:1839
5009 msgstr "B<DT_STRSZ>"
5012 #: build/C/man5/elf.5:1842
5013 msgid "Size in bytes of string table"
5014 msgstr "文字列テーブルのサイズ (バイト単位)"
5017 #: build/C/man5/elf.5:1842
5019 msgid "B<DT_SYMENT>"
5020 msgstr "B<DT_SYMENT>"
5023 #: build/C/man5/elf.5:1845
5024 msgid "Size in bytes of a symbol table entry"
5025 msgstr "シンボルテーブルエントリーのサイズ (バイト単位)"
5028 #: build/C/man5/elf.5:1845
5034 #: build/C/man5/elf.5:1848
5035 msgid "Address of the initialization function"
5039 #: build/C/man5/elf.5:1848
5045 #: build/C/man5/elf.5:1851
5046 msgid "Address of the termination function"
5050 #: build/C/man5/elf.5:1851
5052 msgid "B<DT_SONAME>"
5053 msgstr "B<DT_SONAME>"
5056 #: build/C/man5/elf.5:1854
5057 msgid "String table offset to name of shared object"
5058 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
5061 #: build/C/man5/elf.5:1854
5064 msgstr "B<DT_RPATH>"
5067 #: build/C/man5/elf.5:1857
5068 msgid "String table offset to library search path (deprecated)"
5069 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
5072 #: build/C/man5/elf.5:1857
5074 msgid "B<DT_SYMBOLIC>"
5075 msgstr "B<DT_SYMBOLIC>"
5078 #: build/C/man5/elf.5:1860
5080 "Alert linker to search this shared object before the executable for symbols"
5082 "リンカーがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場"
5086 #: build/C/man5/elf.5:1860
5092 #: build/C/man5/elf.5:1863
5093 msgid "Address of Rel relocs table"
5094 msgstr "Rel 再配置テーブルのアドレス"
5097 #: build/C/man5/elf.5:1863
5100 msgstr "B<DT_RELSZ>"
5103 #: build/C/man5/elf.5:1866
5104 msgid "Size in bytes of Rel table"
5105 msgstr "Rel テーブルのサイズ (バイト単位)"
5108 #: build/C/man5/elf.5:1866
5110 msgid "B<DT_RELENT>"
5111 msgstr "B<DT_RELENT>"
5114 #: build/C/man5/elf.5:1869
5115 msgid "Size in bytes of a Rel table entry"
5116 msgstr "Rel テーブルエントリーのサイズ (バイト単位)"
5119 #: build/C/man5/elf.5:1869
5121 msgid "B<DT_PLTREL>"
5122 msgstr "B<DT_PLTREL>"
5125 #: build/C/man5/elf.5:1872
5126 msgid "Type of reloc the PLT refers (Rela or Rel)"
5127 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
5130 #: build/C/man5/elf.5:1872
5133 msgstr "B<DT_DEBUG>"
5136 #: build/C/man5/elf.5:1875
5137 msgid "Undefined use for debugging"
5138 msgstr "デバッグのために使用されている。内容は定義されていない。"
5141 #: build/C/man5/elf.5:1875
5143 msgid "B<DT_TEXTREL>"
5144 msgstr "B<DT_TEXTREL>"
5147 #: build/C/man5/elf.5:1878
5149 "Absence of this indicates no relocs should apply to a nonwritable segment"
5151 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
5155 #: build/C/man5/elf.5:1878
5157 msgid "B<DT_JMPREL>"
5158 msgstr "B<DT_JMPREL>"
5161 #: build/C/man5/elf.5:1881
5162 msgid "Address of reloc entries solely for the PLT"
5163 msgstr "PLT 専用の再配置エントリーのアドレス"
5166 #: build/C/man5/elf.5:1881
5168 msgid "B<DT_BIND_NOW>"
5169 msgstr "B<DT_BIND_NOW>"
5172 #: build/C/man5/elf.5:1885
5174 "Instruct dynamic linker to process all relocs before transferring control to "
5177 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカーに"
5181 #: build/C/man5/elf.5:1885
5183 msgid "B<DT_RUNPATH>"
5184 msgstr "B<DT_RUNPATH>"
5187 #: build/C/man5/elf.5:1888
5188 msgid "String table offset to library search path"
5189 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
5192 #: build/C/man5/elf.5:1888
5194 msgid "B<DT_LOPROC>"
5195 msgstr "B<DT_LOPROC>"
5198 #: build/C/man5/elf.5:1891
5199 msgid "Start of processor-specific semantics"
5200 msgstr "プロセッサ固有の意味の開始"
5203 #: build/C/man5/elf.5:1891
5205 msgid "B<DT_HIPROC>"
5206 msgstr "B<DT_HIPROC>"
5209 #: build/C/man5/elf.5:1894
5210 msgid "End of processor-specific semantics"
5211 msgstr "プロセッサ固有の意味の終了"
5214 #: build/C/man5/elf.5:1896
5220 #: build/C/man5/elf.5:1899
5221 msgid "This member represents integer values with various interpretations."
5222 msgstr "このメンバは様々な意味に解釈される整数値である。"
5225 #: build/C/man5/elf.5:1899
5231 #: build/C/man5/elf.5:1907
5233 "This member represents program virtual addresses. When interpreting these "
5234 "addresses, the actual address should be computed based on the original file "
5235 "value and memory base address. Files do not contain relocation entries to "
5236 "fixup these addresses."
5238 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
5239 "に、 実際のアドレスは元々のファイルの値と メモリーの基底アドレスから計算され"
5240 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリーを含めては"
5244 #: build/C/man5/elf.5:1907
5247 msgstr "I<_DYNAMIC>"
5251 #: build/C/man5/elf.5:1912
5253 "Array containing all the dynamic structures in the .dynamic section. This "
5254 "is automatically populated by the linker."
5256 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリン"
5260 #. ELF support first appeared in
5262 #. although not all supported platforms use it as the native
5263 #. binary file format.
5265 #: build/C/man5/elf.5:1921
5266 msgid "ELF first appeared in System V. The ELF format is an adopted standard."
5268 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
5269 "ELF フォーマットは採択された標準である。"
5272 #. The original version of this manual page was written by
5273 #. .An Jeroen Ruigrok van der Werven
5274 #. .Aq asmodai@FreeBSD.org
5275 #. with inspiration from BSDi's
5280 #: build/C/man5/elf.5:1939
5282 "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively are "
5283 "Linux extensions. Sun, BSD and AMD64 also support them; for further "
5284 "information, look under SEE ALSO."
5286 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
5288 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
5291 #: build/C/man5/elf.5:1946
5292 msgid "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5293 msgstr "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
5296 #: build/C/man5/elf.5:1949
5297 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
5298 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
5301 #: build/C/man5/elf.5:1952
5302 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
5303 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
5306 #: build/C/man5/elf.5:1956
5308 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5311 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
5315 #: build/C/man5/elf.5:1959
5316 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
5317 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
5320 #: build/C/man5/elf.5:1962
5322 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
5323 "Processor Supplement>."
5325 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
5326 "Processor Supplement>."
5329 #: build/C/man3/end.3:26
5335 #: build/C/man3/end.3:26
5341 #: build/C/man3/end.3:29
5342 msgid "etext, edata, end - end of program segments"
5343 msgstr "etext, edata, end - プログラムセグメントの終わり"
5346 #: build/C/man3/end.3:34
5349 "B<extern>I< etext>B<;>\n"
5350 "B<extern>I< edata>B<;>\n"
5351 "B<extern>I< end>B<;>\n"
5353 "B<extern>I< etext>B<;>\n"
5354 "B<extern>I< edata>B<;>\n"
5355 "B<extern>I< end>B<;>\n"
5358 #: build/C/man3/end.3:38
5360 "The addresses of these symbols indicate the end of various program segments:"
5361 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
5364 #: build/C/man3/end.3:38
5370 #: build/C/man3/end.3:42
5372 "This is the first address past the end of the text segment (the program "
5374 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
5377 #: build/C/man3/end.3:42
5383 #: build/C/man3/end.3:46
5384 msgid "This is the first address past the end of the initialized data segment."
5385 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
5388 #: build/C/man3/end.3:46
5394 #: build/C/man3/end.3:50
5396 "This is the first address past the end of the uninitialized data segment "
5397 "(also known as the BSS segment)."
5399 "初期化されていないデータのセグメント (BSS セグメントとも言われる) の末尾の次"
5403 #: build/C/man3/end.3:53
5405 "Although these symbols have long been provided on most UNIX systems, they "
5406 "are not standardized; use with caution."
5408 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
5412 #: build/C/man3/end.3:56
5414 "The program must explicitly declare these symbols; they are not defined in "
5417 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
5418 "ヘッダーファイルでも定義されていない。"
5421 #: build/C/man3/end.3:64
5423 "On some systems the names of these symbols are preceded by underscores, "
5424 "thus: I<_etext>, I<_edata>, and I<_end>. These symbols are also defined for "
5425 "programs compiled on Linux."
5427 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
5428 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
5429 "ログラムでは、 これらのシンボルでも定義される。"
5432 #: build/C/man3/end.3:76
5434 "At the start of program execution, the program break will be somewhere near "
5435 "I<&end> (perhaps at the start of the following page). However, the break "
5436 "will change as memory is allocated via B<brk>(2) or B<malloc>(3). Use "
5437 "B<sbrk>(2) with an argument of zero to find the current value of the "
5440 "プログラムの実行開始時に、プログラムブレークは I<&end> の近くのどこか (おそら"
5441 "く次のページの先頭) になる。 しかしながら、 B<brk>(2) や B<malloc>(3) でメ"
5442 "モリーが割り当てられるに連れて、プログラムブレークは変化していく。 引き数に "
5443 "0 を指定して B<sbrk>(2) を呼び出すことで、プログラムブレークの現在値を知るこ"
5447 #: build/C/man3/end.3:78
5448 msgid "When run, the program below produces output such as the following:"
5449 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
5452 #: build/C/man3/end.3:86
5456 "First address past:\n"
5457 " program text (etext) 0x8048568\n"
5458 " initialized data (edata) 0x804a01c\n"
5459 " uninitialized data (end) 0x804a024\n"
5462 "First address past:\n"
5463 " program text (etext) 0x8048568\n"
5464 " initialized data (edata) 0x804a01c\n"
5465 " uninitialized data (end) 0x804a024\n"
5468 #: build/C/man3/end.3:88 build/C/man1/memusage.1:234
5470 msgid "Program source"
5474 #: build/C/man3/end.3:93 build/C/man1/memusage.1:238
5477 "#include E<lt>stdio.hE<gt>\n"
5478 "#include E<lt>stdlib.hE<gt>\n"
5480 "#include E<lt>stdio.hE<gt>\n"
5481 "#include E<lt>stdlib.hE<gt>\n"
5484 #: build/C/man3/end.3:96
5487 "extern char etext, edata, end; /* The symbols must have some type,\n"
5488 " or \"gcc -Wall\" complains */\n"
5490 "extern char etext, edata, end; /* The symbols must have some type,\n"
5491 " or \"gcc -Wall\" complains */\n"
5494 #: build/C/man3/end.3:104
5498 "main(int argc, char *argv[])\n"
5500 " printf(\"First address past:\\en\");\n"
5501 " printf(\" program text (etext) %10p\\en\", &etext);\n"
5502 " printf(\" initialized data (edata) %10p\\en\", &edata);\n"
5503 " printf(\" uninitialized data (end) %10p\\en\", &end);\n"
5506 "main(int argc, char *argv[])\n"
5508 " printf(\"First address past:\\en\");\n"
5509 " printf(\" program text (etext) %10p\\en\", &etext);\n"
5510 " printf(\" initialized data (edata) %10p\\en\", &edata);\n"
5511 " printf(\" uninitialized data (end) %10p\\en\", &end);\n"
5514 #: build/C/man3/end.3:113
5515 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5516 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
5519 #: build/C/man8/ld.so.8:5
5525 #: build/C/man8/ld.so.8:5
5531 #: build/C/man8/ld.so.8:8
5532 msgid "ld.so, ld-linux.so* - dynamic linker/loader"
5533 msgstr "ld.so, ld-linux.so* - 動的なリンカー/ローダー"
5536 #: build/C/man8/ld.so.8:15
5538 "The dynamic linker can be run either indirectly by running some dynamically "
5539 "linked program or library (in which case no command-line options to the "
5540 "dynamic linker can be passed and, in the ELF case, the dynamic linker which "
5541 "is stored in the B<.interp> section of the program is executed) or directly "
5544 "動的リンカーは、動的にリンクされたプログラムやライブラリの実行によって 間接的"
5545 "に実行することができる (ELF の場合、動的リンカーにコマンドラインオプションを"
5546 "渡すことはできず、 プログラムの B<.interp> セクションに入っている動的リンカー"
5547 "が実行される)。 また以下のように直接実行することもできる"
5550 #: build/C/man8/ld.so.8:18
5551 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5552 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
5555 #: build/C/man8/ld.so.8:25
5557 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared libraries "
5558 "needed by a program, prepare the program to run, and then run it."
5560 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
5561 "つけてロードし、 プログラムの実行を準備してから起動させる。"
5564 #: build/C/man8/ld.so.8:32
5566 "Linux binaries require dynamic linking (linking at run time) unless the B<-"
5567 "static> option was given to B<ld>(1) during compilation."
5569 "Linux のバイナリは、コンパイルの時に B<ld>(1) に対して B<-static> オプション"
5570 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
5573 #: build/C/man8/ld.so.8:45
5575 "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
5576 "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
5577 "so.2> for glibc2), which everybody has been using for years now. Otherwise, "
5578 "both have the same behavior, and use the same support files and programs "
5579 "B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
5581 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
5582 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
5583 "glibc2 では I</lib/ld-linux.so.2>) は ELF バイナリを扱う。 このフォーマット"
5584 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
5585 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
5589 #: build/C/man8/ld.so.8:53
5591 "When resolving library dependencies, the dynamic linker first inspects each "
5592 "dependency string to see if it contains a slash (this can occur if a library "
5593 "pathname containing slashes was specified at link time). If a slash is "
5594 "found, then the dependency string is interpreted as a (relative or absolute) "
5595 "pathname, and the library is loaded using that pathname."
5597 "ライブラリの依存関係を解決する際、動的リンカーは、最初に、依存関係の各文字列"
5598 "がスラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にス"
5599 "ラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかっ"
5600 "た場合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として"
5601 "解釈され、そのパス名を使ってそのライブラリはロードされる。"
5604 #: build/C/man8/ld.so.8:56
5606 "If a library dependency does not contain a slash, then it is searched for in "
5607 "the following order:"
5609 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
5612 #: build/C/man8/ld.so.8:61
5614 "(ELF only) Using the directories specified in the DT_RPATH dynamic section "
5615 "attribute of the binary if present and DT_RUNPATH attribute does not exist. "
5616 "Use of DT_RPATH is deprecated."
5618 "(ELF のみ) バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
5619 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
5623 #: build/C/man8/ld.so.8:66
5625 "Using the environment variable B<LD_LIBRARY_PATH>. Except if the executable "
5626 "is a set-user-ID/set-group-ID binary, in which case it is ignored."
5628 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
5629 "group-ID バイナリの場合、 これは無視される。"
5632 #: build/C/man8/ld.so.8:70
5634 "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section "
5635 "attribute of the binary if present."
5637 "(ELF のみ) バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
5638 "DT_RUNPATH で指定されたディレクトリを使用する。"
5641 #: build/C/man8/ld.so.8:80
5643 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
5644 "candidate libraries previously found in the augmented library path. If, "
5645 "however, the binary was linked with the B<-z nodeflib> linker option, "
5646 "libraries in the default library paths are skipped. Libraries installed in "
5647 "hardware capability directories (see below) are preferred to other "
5650 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
5651 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
5652 "イルの情報を集めたものである。ただし、バイナリがリンカーオプション B<-z "
5653 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
5654 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
5655 "れたライブラリは、他のライブラリよりも優先される。"
5658 #: build/C/man8/ld.so.8:88
5660 "In the default path I</lib>, and then I</usr/lib>. If the binary was linked "
5661 "with the B<-z nodeflib> linker option, this step is skipped."
5663 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリン"
5664 "カーオプション B<-z nodeflib> でリンクされている場合、このステップはスキップ"
5668 #: build/C/man8/ld.so.8:88
5670 msgid "Rpath token expansion"
5671 msgstr "rpath トークンの展開"
5674 #: build/C/man8/ld.so.8:92
5676 "B<ld.so> understands certain strings in an rpath specification (DT_RPATH or "
5677 "DT_RUNPATH); those strings are substituted as follows"
5679 "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列"
5680 "を使うことができる。 それらの文字列は以下のように置き換えられる。"
5683 #: build/C/man8/ld.so.8:92
5685 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
5686 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
5689 #: build/C/man8/ld.so.8:99
5691 "This expands to the directory containing the program or shared library. "
5692 "Thus, an application located in I<somedir/app> could be compiled with"
5694 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
5695 "て、 I<somedir/app> に置かれたアプリケーションを"
5698 #: build/C/man8/ld.so.8:101
5700 msgid " gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5701 msgstr " gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
5704 #: build/C/man8/ld.so.8:111
5706 "so that it finds an associated shared library in I<somedir/lib> no matter "
5707 "where I<somedir> is located in the directory hierarchy. This facilitates "
5708 "the creation of \"turn-key\" applications that do not need to be installed "
5709 "into special directories, but can instead be unpacked into any directory and "
5710 "still find their own shared libraries."
5712 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
5713 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
5714 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
5715 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
5719 #: build/C/man8/ld.so.8:111
5721 msgid "I<$LIB> (or equivalently I<${LIB}>)"
5722 msgstr "I<$LIB> (I<${LIB}> も同じ)"
5725 #: build/C/man8/ld.so.8:123
5727 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
5728 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
5730 "アーキテクチャーに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 で"
5731 "は I<lib64> に、 x86-32 では I<lib> に展開される)。"
5734 #: build/C/man8/ld.so.8:123
5736 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
5737 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
5741 #. To get an idea of the places that $PLATFORM would match,
5742 #. look at the output of the following:
5744 #. LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
5745 #. ld.so lets names be abbreviated, so $O will work for $ORIGIN;
5748 #: build/C/man8/ld.so.8:141
5750 "This expands to a string corresponding to the processor type of the host "
5751 "system (e.g., \"x86_64\"). On some architectures, the Linux kernel doesn't "
5752 "provide a platform string to the dynamic linker. The value of this string "
5753 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
5756 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
5758 "いくつかのアーキテクチャーでは、 Linux カーネルから動的リンカーにプラット"
5759 "フォームを表す文字列が提供されない。 この文字列の値は補助ベクトルの "
5760 "B<AT_PLATFORM> 値から取得される (B<getauxval>(3) 参照)。"
5763 #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51
5764 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47
5765 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
5771 #: build/C/man8/ld.so.8:142
5777 #: build/C/man8/ld.so.8:145
5778 msgid "List all dependencies and how they are resolved."
5779 msgstr "全ての依存関係とその解決法をリストする。"
5782 #: build/C/man8/ld.so.8:145
5785 msgstr "B<--verify>"
5788 #: build/C/man8/ld.so.8:149
5790 "Verify that program is dynamically linked and this dynamic linker can handle "
5793 "プログラムが動的にリンクされているかと、 動的リンカーがそのプログラムを扱える"
5797 #: build/C/man8/ld.so.8:149
5799 msgid "B<--inhibit-cache>"
5800 msgstr "B<--inhibit-cache>"
5803 #: build/C/man8/ld.so.8:152
5804 msgid "Do not use /etc/ld.so.cache."
5805 msgstr "/etc/ld.so.cache を使用しない。"
5808 #: build/C/man8/ld.so.8:152
5810 msgid "B<--library-path PATH>"
5811 msgstr "B<--library-path PATH>"
5814 #: build/C/man8/ld.so.8:157
5816 "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
5819 "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
5820 "指定した PATH を使用する (下記参照)。"
5823 #: build/C/man8/ld.so.8:157
5825 msgid "B<--inhibit-rpath LIST>"
5826 msgstr "B<--inhibit-rpath LIST>"
5829 #: build/C/man8/ld.so.8:163
5831 "Ignore RPATH and RUNPATH information in object names in LIST. This option "
5832 "is ignored if B<ld.so> is set-user-ID or set-group-ID."
5834 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
5835 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
5838 #: build/C/man8/ld.so.8:163
5840 msgid "B<--audit LIST>"
5841 msgstr "B<--audit LIST>"
5844 #: build/C/man8/ld.so.8:166
5845 msgid "Use objects named in LIST as auditors."
5846 msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
5849 #: build/C/man8/ld.so.8:166
5851 msgid "HARDWARE CAPABILITIES"
5855 #: build/C/man8/ld.so.8:177
5857 "Some libraries are compiled using hardware-specific instructions which do "
5858 "not exist on every CPU. Such libraries should be installed in directories "
5859 "whose names define the required hardware capabilities, such as I</usr/lib/"
5860 "sse2/>. The dynamic linker checks these directories against the hardware of "
5861 "the machine and selects the most suitable version of a given library. "
5862 "Hardware capability directories can be cascaded to combine CPU features. "
5863 "The list of supported hardware capability names depends on the CPU. The "
5864 "following names are currently recognized:"
5866 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
5868 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
5869 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
5871 "定する名前のディレクトリにインストールすべきである。\n"
5872 "動的リンカーは、マシンのハードウェアに基づいてこれらのディレクトリを確認"
5874 "指定されたライブラリに最も適したバージョンを選択する。\n"
5875 "ハードウェア機能ディレクトリはつなげることができ、\n"
5876 "複数の CPU 機能を組み合わることができる。\n"
5877 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
5878 "現在のところ、以下の名前が認識される。"
5881 #: build/C/man8/ld.so.8:177
5887 #: build/C/man8/ld.so.8:180
5888 msgid "ev4, ev5, ev56, ev6, ev67"
5889 msgstr "ev4, ev5, ev56, ev6, ev67"
5892 #: build/C/man8/ld.so.8:180
5898 #: build/C/man8/ld.so.8:183
5899 msgid "loongson2e, loongson2f, octeon, octeon2"
5900 msgstr "loongson2e, loongson2f, octeon, octeon2"
5903 #: build/C/man8/ld.so.8:183
5909 #: build/C/man8/ld.so.8:188
5911 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5912 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5913 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5915 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
5916 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
5917 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
5920 #: build/C/man8/ld.so.8:188
5926 #: build/C/man8/ld.so.8:191
5927 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5928 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
5931 #: build/C/man8/ld.so.8:191
5937 #: build/C/man8/ld.so.8:195
5939 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5940 "z990, z9-109, z10, zarch"
5942 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
5943 "z990, z9-109, z10, zarch"
5946 #: build/C/man8/ld.so.8:195
5948 msgid "B<x86 (32-bit only)>"
5949 msgstr "B<x86 (32-bit のみ)>"
5952 #: build/C/man8/ld.so.8:199
5954 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5955 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5957 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
5958 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
5961 #: build/C/man8/ld.so.8:199
5967 #: build/C/man8/ld.so.8:201
5968 msgid "Among the more important environment variables are the following:"
5969 msgstr "重要な環境変数には以下のものがある。"
5972 #: build/C/man8/ld.so.8:201
5974 msgid "B<LD_ASSUME_KERNEL>"
5975 msgstr "B<LD_ASSUME_KERNEL>"
5978 #: build/C/man8/ld.so.8:214
5980 "(glibc since 2.2.3) Each shared library can inform the dynamic linker of "
5981 "the minimum kernel ABI version that it requires. (This requirement is "
5982 "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
5983 "section labeled B<NT_GNU_ABI_TAG>.) At run time, the dynamic linker "
5984 "determines the ABI version of the running kernel and will reject loading "
5985 "shared libraries that specify minimum ABI versions that exceed that ABI "
5988 "(glibc 2.2.3 以降) 各共有ライブラリは動的リンカーに必要なカーネル ABI の最小"
5989 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
5990 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
5991 "て見ることができる)。 実行時に、 動的リンカーは実行中のカーネルの ABI バー"
5992 "ジョンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが"
5993 "指定された共有ライブラリのロードを行わない。"
5996 #: build/C/man8/ld.so.8:223
5998 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
5999 "it is running on a system with a different kernel ABI version. For example, "
6000 "the following command line causes the dynamic linker to assume it is running "
6001 "on Linux 2.2.5 when loading the shared libraries required by I<myprog>:"
6003 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカーに、 異なるカーネル ABI バー"
6004 "ジョンのシステムで実行されているかのように見せることができる。 例えば、 以下"
6005 "のコマンドラインを実行すると、 動的リンカーは I<myprog> が必要とする共有ライ"
6006 "ブラリをロードする際に Linux 2.2.5 上で動作していると仮定する。"
6009 #: build/C/man8/ld.so.8:227
6011 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6012 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
6015 #: build/C/man8/ld.so.8:244
6017 "On systems that provide multiple versions of a shared library (in different "
6018 "directories in the search path) that have different minimum kernel ABI "
6019 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
6020 "of the library that is used (dependent on the directory search order). "
6021 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
6022 "manually select the older LinuxThreads POSIX threads implementation on "
6023 "systems that provided both LinuxThreads and NPTL (which latter was typically "
6024 "the default on such systems); see B<pthreads>(7)."
6026 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
6027 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
6028 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
6029 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
6030 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
6031 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
6032 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
6035 #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325
6037 msgid "B<LD_BIND_NOT>"
6038 msgstr "B<LD_BIND_NOT>"
6041 #: build/C/man8/ld.so.8:249
6043 "(glibc since 2.2) Don't update the Global Offset Table (GOT) and Procedure "
6044 "Linkage Table (PLT) when resolving a symbol."
6046 "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
6047 "Procedure Linkage Table (PLT) を更新しない。"
6050 #: build/C/man8/ld.so.8:249
6052 msgid "B<LD_BIND_NOW>"
6053 msgstr "B<LD_BIND_NOW>"
6056 #: build/C/man8/ld.so.8:257
6058 "(libc5; glibc since 2.1.1) If set to a nonempty string, causes the dynamic "
6059 "linker to resolve all symbols at program startup instead of deferring "
6060 "function call resolution to the point when they are first referenced. This "
6061 "is useful when using a debugger."
6063 "(libc5; glibc 2.1.1 以降) 空文字列でない場合、 動的リンカーはプログラムの開"
6064 "始時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼"
6065 "び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
6068 #: build/C/man8/ld.so.8:257
6070 msgid "B<LD_LIBRARY_PATH>"
6071 msgstr "B<LD_LIBRARY_PATH>"
6074 #: build/C/man8/ld.so.8:265
6076 "A colon-separated list of directories in which to search for ELF libraries "
6077 "at execution-time. Similar to the B<PATH> environment variable. Ignored in "
6078 "set-user-ID and set-group-ID programs."
6080 "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク"
6081 "トリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/set-"
6082 "group-ID されたプログラムでは無視される。"
6085 #: build/C/man8/ld.so.8:265
6087 msgid "B<LD_PRELOAD>"
6088 msgstr "B<LD_PRELOAD>"
6091 #: build/C/man8/ld.so.8:276
6093 "A list of additional, user-specified, ELF shared libraries to be loaded "
6094 "before all others. The items of the list can be separated by spaces or "
6095 "colons. This can be used to selectively override functions in other shared "
6096 "libraries. The libraries are searched for using the rules given under "
6097 "DESCRIPTION. For set-user-ID/set-group-ID ELF binaries, preload pathnames "
6098 "containing slashes are ignored, and libraries in the standard search "
6099 "directories are loaded only if the set-user-ID permission bit is enabled on "
6102 "追加でユーザーが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、"
6103 "すべてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ"
6104 "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ"
6105 "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-"
6106 "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ"
6107 "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル"
6108 "の set-user-ID 許可ビットが有効になっている場合のみロードされる。"
6111 #: build/C/man8/ld.so.8:276
6113 msgid "B<LD_TRACE_LOADED_OBJECTS>"
6114 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
6117 #: build/C/man8/ld.so.8:283
6119 "(ELF only) If set to a nonempty string, causes the program to list its "
6120 "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
6123 "(ELF のみ) 空文字列でない場合、 プログラムを普通に実行するのではなく、 "
6124 "B<ldd>(1) を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
6127 #: build/C/man8/ld.so.8:286
6129 "Then there are lots of more or less obscure variables, many obsolete or only "
6132 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
6136 #: build/C/man8/ld.so.8:286
6138 msgid "B<LD_AOUT_LIBRARY_PATH>"
6139 msgstr "B<LD_AOUT_LIBRARY_PATH>"
6142 #: build/C/man8/ld.so.8:294
6144 "(libc5) Version of B<LD_LIBRARY_PATH> for a.out binaries only. Old "
6145 "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
6147 "(libc5) a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同じ役"
6148 "割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> もサポー"
6152 #: build/C/man8/ld.so.8:294
6154 msgid "B<LD_AOUT_PRELOAD>"
6155 msgstr "B<LD_AOUT_PRELOAD>"
6158 #: build/C/man8/ld.so.8:302
6160 "(libc5) Version of B<LD_PRELOAD> for a.out binaries only. Old versions of "
6161 "ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
6163 "(libc5) a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割を"
6164 "する。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートしてい"
6168 #: build/C/man8/ld.so.8:302
6171 msgstr "B<LD_AUDIT>"
6174 #: build/C/man8/ld.so.8:312
6176 "(glibc since 2.4) A colon-separated list of user-specified, ELF shared "
6177 "objects to be loaded before all others in a separate linker namespace (i.e., "
6178 "one that does not intrude upon the normal symbol bindings that would occur "
6179 "in the process). These libraries can be used to audit the operation of the "
6180 "dynamic linker. B<LD_AUDIT> is ignored for set-user-ID/set-group-ID "
6183 "(glibc 2.4 以降) 他のオブジェクトよりも前に、別のリンカー名前空間 (そのプロ"
6184 "セスで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) "
6185 "で ロードされる、ユーザー指定の ELF 共有オブジェクトのコロン区切りのリスト。 "
6186 "これらのライブラリを使って、動的リンカーの動作を監査することができる。 set-"
6187 "user-ID/set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
6190 #: build/C/man8/ld.so.8:325
6192 "The dynamic linker will notify the audit libraries at so-called auditing "
6193 "checkpoints\\(emfor example, loading a new library, resolving a symbol, or "
6194 "calling a symbol from another shared object\\(emby calling an appropriate "
6195 "function within the audit library. For details, see B<rtld-audit>(7). The "
6196 "auditing interface is largely compatible with that provided on Solaris, as "
6197 "described in its I<Linker and Libraries Guide>, in the chapter I<Runtime "
6198 "Linker Auditing Interface>."
6200 "動的リンカーは、いわゆる監査チェックポイント (auditing checkpoints) におい"
6201 "て、監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの"
6202 "通知を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シン"
6203 "ボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細"
6204 "は B<rtld-audit>(7) を参照してほしい。 audit インターフェースは、Solaris で"
6205 "提供されているものと 大部分は互換性がある。Solaris の audit インターフェース"
6206 "については、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing "
6207 "Interface> の章に説明がある。"
6210 #: build/C/man8/ld.so.8:330
6212 "(glibc since 2.1.95) Do not update the GOT (global offset table) and PLT "
6213 "(procedure linkage table) after resolving a symbol."
6215 "(glibc 2.1.95 以降) シンボルを解決した後、GOT (global offset table) と PLT "
6216 "(procedure linkage table) を更新しない。"
6219 #: build/C/man8/ld.so.8:330
6222 msgstr "B<LD_DEBUG>"
6225 #: build/C/man8/ld.so.8:343
6227 "(glibc since 2.1) Output verbose debugging information about the dynamic "
6228 "linker. If set to B<all> prints all debugging information it has, if set to "
6229 "B<help> prints a help message about which categories can be specified in "
6230 "this environment variable. Since glibc 2.3.4, B<LD_DEBUG> is ignored for "
6231 "set-user-ID/set-group-ID binaries."
6233 "(glibc 2.1 以降) 動的リンカーの詳細なデバッグ情報を出力する。 B<all> に設定"
6234 "した場合、全ての動的リンカーが持つデバッグ情報を表示する。 B<help> に設定した"
6235 "場合、この環境変数で指定されるカテゴリーのヘルプ情報を表示する。 glibc 2.3.4 "
6236 "以降、 set-user-ID/set-group-ID されたバイナリでは B<LD_DEBUG> は無視される。"
6239 #: build/C/man8/ld.so.8:343
6241 msgid "B<LD_DEBUG_OUTPUT>"
6242 msgstr "B<LD_DEBUG_OUTPUT>"
6245 #: build/C/man8/ld.so.8:352
6247 "(glibc since 2.1) File in which B<LD_DEBUG> output should be written. The "
6248 "default is standard error. B<LD_DEBUG_OUTPUT> is ignored for set-user-ID/"
6249 "set-group-ID binaries."
6251 "(glibc 2.1 以降) B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準エ"
6252 "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
6253 "B<LD_DEBUG_OUTPUT> は無視される。"
6256 #: build/C/man8/ld.so.8:352
6258 msgid "B<LD_DYNAMIC_WEAK>"
6259 msgstr "B<LD_DYNAMIC_WEAK>"
6262 #: build/C/man8/ld.so.8:359
6264 "(glibc since 2.1.91) Allow weak symbols to be overridden (reverting to old "
6265 "glibc behavior). For security reasons, since glibc 2.3.4, "
6266 "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
6268 "(glibc 2.1.19 以降) 上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
6269 "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6270 "されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
6273 #: build/C/man8/ld.so.8:359
6275 msgid "B<LD_HWCAP_MASK>"
6276 msgstr "B<LD_HWCAP_MASK>"
6279 #: build/C/man8/ld.so.8:363
6280 msgid "(glibc since 2.1) Mask for hardware capabilities."
6281 msgstr "(glibc 2.1 以降) ハードウェア機能のマスク。"
6284 #: build/C/man8/ld.so.8:363
6286 msgid "B<LD_KEEPDIR>"
6287 msgstr "B<LD_KEEPDIR>"
6290 #: build/C/man8/ld.so.8:368
6292 "(a.out only)(libc5) Don't ignore the directory in the names of a.out "
6293 "libraries to be loaded. Use of this option is strongly discouraged."
6295 "(a.out のみ)(libc5) ロードする a.out ライブラリの名前において、ディレクトリ"
6296 "を無視しない。 このオプションは用いるべきではない。"
6299 #: build/C/man8/ld.so.8:368
6301 msgid "B<LD_NOWARN>"
6302 msgstr "B<LD_NOWARN>"
6305 #: build/C/man8/ld.so.8:373
6307 "(a.out only)(libc5) Suppress warnings about a.out libraries with "
6308 "incompatible minor version numbers."
6310 "(a.out のみ)(libc5) a.out ライブラリにおけるマイナーバージョン番号の非互換"
6311 "に 対する警告メッセージを抑制する。"
6314 #: build/C/man8/ld.so.8:373
6316 msgid "B<LD_ORIGIN_PATH>"
6317 msgstr "B<LD_ORIGIN_PATH>"
6319 #. Only used if $ORIGIN can't be determined by normal means
6320 #. (from the origin path saved at load time, or from /proc/self/exe)?
6322 #: build/C/man8/ld.so.8:382
6324 "(glibc since 2.1) Path where the binary is found (for non-set-user-ID "
6325 "programs). For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
6326 "ignored for set-user-ID/set-group-ID binaries."
6328 "(glibc 2.1 以降) バイナリへのパス (set-user-ID されていないプログラムについ"
6329 "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID "
6330 "されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
6333 #: build/C/man8/ld.so.8:382
6335 msgid "B<LD_POINTER_GUARD>"
6336 msgstr "B<LD_POINTER_GUARD>"
6339 #: build/C/man8/ld.so.8:394
6341 "(glibc since 2.4) Set to 0 to disable pointer guarding. Any other value "
6342 "enables pointer guarding, which is also the default. Pointer guarding is a "
6343 "security mechanism whereby some pointers to code stored in writable program "
6344 "memory (return addresses saved by B<setjmp>(3) or function pointers used by "
6345 "various glibc internals) are mangled semi-randomly to make it more difficult "
6346 "for an attacker to hijack the pointers for use in the event of a buffer "
6347 "overrun or stack-smashing attack."
6349 "(glibc 2.4 以降) 0 に設定すると、ポインター保護 (pointer guarding) が無効に"
6350 "なる。 それ以外の値の場合はポインター保護が有効になる。 デフォルトはポイン"
6351 "ター保護有効である。 ポインター保護はセキュリティ機構の一つで、書き込み可能な"
6352 "プログラムメモリー に格納されたコードへのポインターをほぼランダム化すること"
6353 "で、 攻撃者がバッファーオーバーランやスタック破壊 (stack-smashing) 攻撃の際"
6354 "に ポインターを乗っ取ることを困難にするものである。"
6357 #: build/C/man8/ld.so.8:394
6359 msgid "B<LD_PROFILE>"
6360 msgstr "B<LD_PROFILE>"
6363 #: build/C/man8/ld.so.8:401
6365 "(glibc since 2.1) The name of a (single) shared object to be profiled, "
6366 "specified either as a pathname or a soname. Profiling output is appended to "
6367 "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
6369 "(glibc 2.1 以降) プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
6370 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
6371 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
6375 #: build/C/man8/ld.so.8:401
6377 msgid "B<LD_PROFILE_OUTPUT>"
6378 msgstr "B<LD_PROFILE_OUTPUT>"
6381 #: build/C/man8/ld.so.8:414
6383 "(glibc since 2.1) Directory where B<LD_PROFILE> output should be written. "
6384 "If this variable is not defined, or is defined as an empty string, then the "
6385 "default is I</var/tmp>. B<LD_PROFILE_OUTPUT> is ignored for set-user-ID and "
6386 "set-group-ID programs, which always use I</var/profile>."
6388 "(glibc 2.1 以降) B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
6389 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
6390 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
6391 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
6395 #: build/C/man8/ld.so.8:414
6397 msgid "B<LD_SHOW_AUXV>"
6398 msgstr "B<LD_SHOW_AUXV>"
6401 #. Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog)
6402 #. Available since glibc 2.3
6403 #. Also enables DL_DEBUG_PRELINK
6405 #: build/C/man8/ld.so.8:425
6407 "(glibc since 2.1) Show auxiliary array passed up from the kernel. For "
6408 "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-user-"
6409 "ID/set-group-ID binaries."
6411 "(glibc 2.1 以降) カーネルから渡される補助的な (パラメーターの) 配列を表示す"
6412 "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ"
6413 "れたバイナリでは B<LD_SHOW_AUXV> は無視される。"
6416 #: build/C/man8/ld.so.8:425
6418 msgid "B<LD_USE_LOAD_BIAS>"
6419 msgstr "B<LD_USE_LOAD_BIAS>"
6421 #. http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
6422 #. Subject: [PATCH] Support LD_USE_LOAD_BIAS
6425 #: build/C/man8/ld.so.8:444
6427 "By default (i.e., if this variable is not defined) executables and "
6428 "prelinked shared objects will honor base addresses of their dependent "
6429 "libraries and (nonprelinked) position-independent executables (PIEs) and "
6430 "other shared objects will not honor them. If B<LD_USE_LOAD_BIAS> is defined "
6431 "with the value 1, both executables and PIEs will honor the base addresses. "
6432 "If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
6433 "PIEs will honor the base addresses. This variable is ignored by set-user-ID "
6434 "and set-group-ID programs."
6436 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
6437 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
6438 "スが尊重される一方、 (prelink されていない) position-independent executables "
6439 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
6440 "れない。 B<LD_USE_LOAD_BIAS> が値 1 で定義された場合、実行ファイルと PIE のど"
6441 "ちらでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された"
6442 "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-"
6443 "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。"
6446 #: build/C/man8/ld.so.8:444
6448 msgid "B<LD_VERBOSE>"
6449 msgstr "B<LD_VERBOSE>"
6452 #: build/C/man8/ld.so.8:452
6454 "(glibc since 2.1) If set to a nonempty string, output symbol versioning "
6455 "information about the program if the B<LD_TRACE_LOADED_OBJECTS> environment "
6456 "variable has been set."
6458 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
6459 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
6462 #: build/C/man8/ld.so.8:452
6468 #: build/C/man8/ld.so.8:456
6470 "(ELF only)(glibc since 2.1.3) If set to a nonempty string, warn about "
6471 "unresolved symbols."
6473 "(ELF のみ)(glibc 2.1.3 以降) 空文字列でない場合、解決されていないシンボルが"
6477 #: build/C/man8/ld.so.8:456
6479 msgid "B<LDD_ARGV0>"
6480 msgstr "B<LDD_ARGV0>"
6483 #: build/C/man8/ld.so.8:463
6484 msgid "(libc5) I<argv>[0] to be used by B<ldd>(1) when none is present."
6486 "(libc5) B<ldd>(1) の引き数がない場合に、 I<argv>[0] として使われる値。"
6489 #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156
6495 #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158
6497 msgid "I</lib/ld.so>"
6498 msgstr "I</lib/ld.so>"
6501 #: build/C/man8/ld.so.8:468
6502 msgid "a.out dynamic linker/loader"
6503 msgstr "a.out の動的リンカー/ローダー"
6506 #: build/C/man8/ld.so.8:468
6508 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
6509 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
6512 #: build/C/man8/ld.so.8:471
6513 msgid "ELF dynamic linker/loader"
6514 msgstr "ELF の動的リンカー/ローダー"
6517 #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165
6519 msgid "I</etc/ld.so.cache>"
6520 msgstr "I</etc/ld.so.cache>"
6523 #: build/C/man8/ld.so.8:475
6525 "File containing a compiled list of directories in which to search for "
6526 "libraries and an ordered list of candidate libraries."
6528 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
6532 #: build/C/man8/ld.so.8:475
6534 msgid "I</etc/ld.so.preload>"
6535 msgstr "I</etc/ld.so.preload>"
6538 #: build/C/man8/ld.so.8:479
6540 "File containing a whitespace-separated list of ELF shared libraries to be "
6541 "loaded before the program."
6543 "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが"
6547 #: build/C/man8/ld.so.8:479
6550 msgstr "B<lib*.so*>"
6553 #: build/C/man8/ld.so.8:482
6554 msgid "shared libraries"
6558 #: build/C/man8/ld.so.8:489
6560 "The B<ld.so> functionality is available for executables compiled using libc "
6561 "version 4.4.3 or greater. ELF functionality is available since Linux 1.1.52 "
6564 "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行"
6565 "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用"
6569 #. ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
6570 #. Torvalds, Lars Wirzenius and Mitch D'Souza
6571 #. ld-linux.so: Roland McGrath, Ulrich Drepper and others.
6572 #. In the above, (libc5) stands for David Engel's ld.so/ld-linux.so.
6574 #: build/C/man8/ld.so.8:505
6576 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6577 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6579 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
6580 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
6583 #: build/C/man8/ldconfig.8:22
6589 #: build/C/man8/ldconfig.8:22
6595 #: build/C/man8/ldconfig.8:25
6596 msgid "ldconfig - configure dynamic linker run-time bindings"
6597 msgstr "ldconfig - 動的リンカーによる実行時の結合関係を設定する"
6600 #: build/C/man8/ldconfig.8:40
6602 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6603 "root> ] I<directory>\\ ..."
6605 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
6606 "root> ] I<directory>\\ ..."
6609 #: build/C/man8/ldconfig.8:49
6610 msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6611 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
6614 #: build/C/man8/ldconfig.8:54
6615 msgid "B</sbin/ldconfig> B<-p>"
6616 msgstr "B</sbin/ldconfig> B<-p>"
6619 #: build/C/man8/ldconfig.8:71
6621 "B<ldconfig> creates the necessary links and cache to the most recent shared "
6622 "libraries found in the directories specified on the command line, in the "
6623 "file I</etc/ld.so.conf>, and in the trusted directories (I</lib> and I</usr/"
6624 "lib>). The cache is used by the run-time linker, I<ld.so> or I<ld-linux."
6625 "so>. B<ldconfig> checks the header and filenames of the libraries it "
6626 "encounters when determining which versions should have their links updated."
6628 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
6629 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
6630 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
6631 "リ (I</lib> と I</usr/lib>) から検索される。 キャッシュは実行時リンカー "
6632 "I<ld.so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライ"
6633 "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを"
6636 #. The following sentence looks suspect
6637 #. (perhaps historical cruft) -- MTK, Jul 2005
6638 #. Therefore, when making dynamic libraries,
6639 #. it is wise to explicitly link against libc (use \-lc).
6641 #: build/C/man8/ldconfig.8:79
6643 "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
6644 "libc6/glibc) based on what C libs, if any, the library was linked against."
6646 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
6647 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
6650 #: build/C/man8/ldconfig.8:100
6652 "Some existing libs do not contain enough information to allow the deduction "
6653 "of their type. Therefore, the I</etc/ld.so.conf> file format allows the "
6654 "specification of an expected type. This is used I<only> for those ELF libs "
6655 "which we can not work out. The format is \"dirname=TYPE\", where TYPE can "
6656 "be libc4, libc5, or libc6. (This syntax also works on the command line.) "
6657 "Spaces are I<not> allowed. Also see the B<-p> option. B<ldconfig> should "
6658 "normally be run by the superuser as it may require write permission on some "
6659 "root owned directories and files."
6661 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
6662 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
6663 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
6664 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
6665 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
6666 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
6667 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
6668 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
6671 #: build/C/man8/ldconfig.8:101
6677 #: build/C/man8/ldconfig.8:107
6679 "Verbose mode. Print current version number, the name of each directory as "
6680 "it is scanned, and any links that are created. Overrides quiet mode."
6682 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
6683 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
6687 #: build/C/man8/ldconfig.8:107
6693 #: build/C/man8/ldconfig.8:118
6695 "Only process directories specified on the command line. Don't process the "
6696 "trusted directories (I</lib> and I</usr/lib>) nor those specified in I</etc/"
6697 "ld.so.conf>. Implies B<-N>."
6699 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
6700 "かれるディレクトリ (I</lib> と I</usr/lib>) や I</etc/ld.so.conf> で指定され"
6701 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
6704 #: build/C/man8/ldconfig.8:118
6710 #: build/C/man8/ldconfig.8:124
6712 "Don't rebuild the cache. Unless B<-X> is also specified, links are still "
6715 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
6719 #: build/C/man8/ldconfig.8:124
6725 #: build/C/man8/ldconfig.8:130
6727 "Don't update links. Unless B<-N> is also specified, the cache is still "
6730 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
6734 #: build/C/man8/ldconfig.8:130
6740 #: build/C/man8/ldconfig.8:136
6741 msgid "Use B<conf> instead of I</etc/ld.so.conf>."
6742 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
6745 #: build/C/man8/ldconfig.8:136
6748 msgstr "B<-C cache>"
6751 #: build/C/man8/ldconfig.8:142
6752 msgid "Use B<cache> instead of I</etc/ld.so.cache>."
6753 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
6756 #: build/C/man8/ldconfig.8:142
6762 #: build/C/man8/ldconfig.8:147
6763 msgid "Change to and use I<root> as the root directory."
6765 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
6769 #: build/C/man8/ldconfig.8:147
6775 #: build/C/man8/ldconfig.8:152
6777 "Library mode. Manually link individual libraries. Intended for use by "
6780 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
6784 #: build/C/man8/ldconfig.8:152
6790 #: build/C/man8/ldconfig.8:156
6792 "Print the lists of directories and candidate libraries stored in the current "
6795 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
6799 #: build/C/man8/ldconfig.8:161
6800 msgid "run-time linker/loader"
6801 msgstr "実行時リンカー/ローダー。"
6804 #: build/C/man8/ldconfig.8:161
6806 msgid "I</etc/ld.so.conf>"
6807 msgstr "I</etc/ld.so.conf>"
6810 #: build/C/man8/ldconfig.8:165
6812 "File containing a list of colon, space, tab, newline, or comma-separated "
6813 "directories in which to search for libraries."
6815 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
6816 "れのディレクトリでライブラリが検索される。"
6819 #: build/C/man8/ldconfig.8:174
6821 "File containing an ordered list of libraries found in the directories "
6822 "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
6825 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
6826 "と I</usr/lib> にあるライブラリの順序付きリスト。"
6829 #: build/C/man8/ldconfig.8:178
6830 msgid "B<ldd>(1), B<ld.so>(8)"
6831 msgstr "B<ldd>(1), B<ld.so>(8)"
6834 #: build/C/man1/ldd.1:14
6840 #: build/C/man1/ldd.1:17
6841 msgid "ldd - print shared library dependencies"
6842 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
6845 #: build/C/man1/ldd.1:19
6846 msgid "B<ldd> [I<option>]... I<file>..."
6847 msgstr "B<ldd> [I<option>]... I<file>..."
6850 #: build/C/man1/ldd.1:23
6852 "B<ldd> prints the shared libraries required by each program or shared "
6853 "library specified on the command line."
6855 "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それぞ"
6856 "れで必要とされる共有ライブラリを表示する。"
6859 #: build/C/man1/ldd.1:23
6864 #. Mainline glibc's ldd allows this possibility (the line
6865 #. try_trace "$file"
6866 #. in glibc 2.15, for example), but many distro versions of
6867 #. ldd seem to remove that code path from the script.
6869 #: build/C/man1/ldd.1:49
6871 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
6872 "so>(8)) with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1, "
6873 "which causes the linker to display the library dependencies. Be aware, "
6874 "however, that in some circumstances, some versions of B<ldd> may attempt to "
6875 "obtain the dependency information by directly executing the program. Thus, "
6876 "you should I<never> employ B<ldd> on an untrusted executable, since this may "
6877 "result in the execution of arbitrary code. A safer alternative when dealing "
6878 "with untrusted executables is:"
6880 "通常の場合、 B<ldd> は標準の動的リンカー (B<ld.so>(8) 参照) を "
6881 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
6882 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカーはライブラリの依存関"
6883 "係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実"
6884 "行するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに"
6885 "対しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行すること"
6886 "につながるからである。信頼できない実行ファイルを扱う、より安全な別の方法とし"
6890 #: build/C/man1/ldd.1:51
6892 msgid " $ objdump -p /path/to/program | grep NEEDED\n"
6893 msgstr " $ objdump -p /path/to/program | grep NEEDED\n"
6896 #: build/C/man1/ldd.1:52 build/C/man1/mtrace.1:55
6898 msgid "B<--version>"
6899 msgstr "B<--version>"
6902 #: build/C/man1/ldd.1:56
6903 msgid "Print the version number of B<ldd>."
6904 msgstr "B<ldd> のバージョン番号を表示する。"
6907 #: build/C/man1/ldd.1:56
6909 msgid "B<-v\\ --verbose>"
6910 msgstr "B<-v\\ --verbose>"
6913 #: build/C/man1/ldd.1:60
6915 "Print all information, including, for example, symbol versioning information."
6916 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
6919 #: build/C/man1/ldd.1:60
6921 msgid "B<-u\\ --unused>"
6922 msgstr "B<-u\\ --unused>"
6925 #: build/C/man1/ldd.1:64
6926 msgid "Print unused direct dependencies. (Since glibc 2.3.4.)"
6927 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
6930 #: build/C/man1/ldd.1:64
6932 msgid "B<-d\\ --data-relocs>"
6933 msgstr "B<-d\\ --data-relocs>"
6936 #: build/C/man1/ldd.1:67
6937 msgid "Perform relocations and report any missing objects (ELF only)."
6939 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
6942 #: build/C/man1/ldd.1:67
6944 msgid "B<-r\\ --function-relocs>"
6945 msgstr "B<-r\\ --function-relocs>"
6948 #: build/C/man1/ldd.1:71
6950 "Perform relocations for both data objects and functions, and report any "
6951 "missing objects or functions (ELF only)."
6952 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
6955 #: build/C/man1/ldd.1:71 build/C/man1/mtrace.1:52
6961 #. The standard version of
6963 #. comes with glibc2.
6964 #. Libc5 came with an older version, still present
6966 #. The long options are not supported by the libc5 version.
6967 #. On the other hand, the glibc2 version does not support
6969 #. and only has the equivalent
6970 #. .BR \-\-version .
6972 #. The libc5 version of this program will use the name of a library given
6973 #. on the command line as-is when it contains a \(aq/\(aq; otherwise it
6974 #. searches for the library in the standard locations.
6976 #. on a shared library in the current directory, prefix the name with "./".
6978 #: build/C/man1/ldd.1:91
6979 msgid "Usage information."
6983 #: build/C/man1/ldd.1:94
6984 msgid "B<ldd> does not work on a.out shared libraries."
6985 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
6989 #. Roland McGrath and Ulrich Drepper.
6991 #: build/C/man1/ldd.1:108
6993 "B<ldd> does not work with some extremely old a.out programs which were built "
6994 "before B<ldd> support was added to the compiler releases. If you use B<ldd> "
6995 "on one of these programs, the program will attempt to run with I<argc> = 0 "
6996 "and the results will be unpredictable."
6998 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
6999 "る以前にビルドされたようなプログラム) では動作しない。 このようなプログラム"
7000 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
7004 #: build/C/man1/ldd.1:113
7005 msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7006 msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
7009 #: build/C/man1/memusage.1:24
7015 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23
7021 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
7023 msgid "Linux user manual"
7024 msgstr "Linux user manual"
7027 #: build/C/man1/memusage.1:27
7028 msgid "memusage - profile memory usage of a program"
7029 msgstr "memusage - プログラムのメモリー使用量のプロファイルを行う"
7032 #: build/C/man1/memusage.1:29
7033 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7034 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
7037 #: build/C/man1/memusage.1:53
7039 "B<memusage> is a bash script which profiles memory usage of the program, "
7040 "I<program>. It preloads the B<libmemusage.so> library into the caller's "
7041 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)). "
7042 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
7043 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
7044 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2) can also be intercepted."
7046 "B<memusage> は、 プログラム I<program> のメモリー使用量のプロファイルを行う "
7047 "bash スクリプトである。 呼び出し元の環境に (B<LD_PRELOAD> 環境変数を使って) "
7048 "B<libmemusage.so> ライブラリをプレロードする。 B<ld.so>(8) を参照。 "
7049 "B<libmemusage.so> ライブラリは、 B<malloc>(3), B<calloc>(3), B<free>(3), "
7050 "B<realloc>(3) の呼び出しを横取りし、 メモリー割り当て状況の追跡を行う。 追加"
7051 "で、 B<mmap>(2), B<mremap>(2), B<munmap>(2) を追跡することもできる。"
7054 #: build/C/man1/memusage.1:62
7056 "B<memusage> can output the collected data in textual form, or it can use "
7057 "B<memusagestat>(1) (see the B<-p> option, below) to create a PNG file "
7058 "containing graphical representation of the collected data."
7060 "B<memusage> は収集したデータをテキスト形式で出力することもできるし、 "
7061 "B<memusagestat>(1) を使って収集したデータをグラフにした PNG ファイルを作成す"
7062 "ることもできる (以下の B<-p> オプションを参照)。"
7065 #: build/C/man1/memusage.1:62
7067 msgid "Memory usage summary"
7071 #: build/C/man1/memusage.1:66
7073 "The \"Memory usage summary\" line output by B<memusage> contains three "
7076 "B<memusage> が出力する \"Memory usage summary\" (メモリー使用量概要) の行には"
7080 #: build/C/man1/memusage.1:67
7082 msgid "B<heap total>"
7083 msgstr "B<heap total>"
7086 #: build/C/man1/memusage.1:84
7088 "Sum of I<size> arguments of all B<malloc>(3) calls, products of arguments "
7089 "(I<nmemb>*I<size>) of all B<calloc>(3) calls, and sum of I<length> "
7090 "arguments of all B<mmap>(2) calls. In the case of B<realloc>(3) and "
7091 "B<mremap>(2), if the new size of an allocation is larger than the previous "
7092 "size, the sum of all such differences (new size minus old size) is added."
7094 "B<malloc>(3) のすべての呼び出しの I<size> 引き数の合計、 B<calloc>(3) のすべ"
7095 "ての呼び出しの引き数の積 (I<nmemb>*I<size>)、 B<mmap>(2) のすべての呼び出し"
7096 "の I<length> 引き数の合計。 B<realloc>(3) と B<mremap>(2) の場合、 割り当ての"
7097 "新しいサイズが以前のサイズよりも大きい場合、 差分 (新しいサイズから古いサイズ"
7101 #: build/C/man1/memusage.1:84
7103 msgid "B<heap peak>"
7104 msgstr "B<heap peak>"
7107 #: build/C/man1/memusage.1:98
7109 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
7110 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
7111 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
7113 "B<malloc>(3) の I<size> 引き数、 B<calloc>(3) の I<nmemb>*I<size> の積、 "
7114 "B<realloc>(3) の I<size> 引き数、 B<mmap>(2) の I<length> 引き数、 "
7115 "B<mremap>(2) の I<new_size> 引き数、 の中の最大値。"
7118 #: build/C/man1/memusage.1:98
7120 msgid "B<stack peak>"
7121 msgstr "B<stack peak>"
7124 #: build/C/man1/memusage.1:105
7126 "Before the first call to any monitored function, the stack pointer address "
7127 "(base stack pointer) is saved. After each function call, the actual stack "
7128 "pointer address is read and the difference from the base stack pointer "
7129 "computed. The maximum of these differences is then the stack peak."
7131 "監視される関数の最初の呼び出しが行われる前に、 スタックポインターアドレス "
7132 "(ベーススタックポインター) が保存される。 関数のそれぞれの呼び出し後には、 実"
7133 "際のスタックポインターアドレスを読み込み、 ベースポインターアドレスを元に差分"
7134 "を計算する。これらの差分の最大値がスタックのピーク値となる。"
7137 #: build/C/man1/memusage.1:122
7139 "Immediately following this summary line, a table shows the number calls, "
7140 "total memory allocated or deallocated, and number of failed calls for each "
7141 "intercepted function. For B<realloc>(3) and B<mremap>(2), the additional "
7142 "field \"nomove\" shows reallocations that changed the address of a block, "
7143 "and the additional \"dec\" field shows reallocations that decreased the size "
7144 "of the block. For B<realloc>(3), the additional field \"free\" shows "
7145 "reallocations that caused a block to be freed (i.e., the reallocated size "
7148 "この概要行の直後には、 監視対象の各関数の呼び出し回数、 割り当て・割り当て解"
7149 "除された全メモリー量、 失敗した回数がテーブルで表示される。 B<realloc>(3) と "
7150 "B<mremap>(2) の場合には、 フィールド \"nomove\" でブロックアドレスを変更した"
7151 "再割り当て数を、 フィールド \"dec\" でブロックサイズが減少した再割り当て数が"
7152 "追加で表示される。 B<realloc>(3) の場合、 フィールド \"free\" でブロックの解"
7153 "放が行われた再割り当て (サイズが 0 の再割り当て) の数も追加で表示される。"
7156 #: build/C/man1/memusage.1:132
7158 "The \"realloc/total memory\" of the table output by B<memusage> does not "
7159 "reflect cases where B<realloc>(3) is used to reallocate a block of memory "
7160 "to have a smaller size than previously. This can cause sum of all \"total "
7161 "memory\" cells (excluding \"free\") to be larger than the \"free/total "
7164 "B<memusage> が出力するテーブルの \"realloc/total memory\" (再割り当てメモ"
7165 "リー/全メモリー) には、 B<realloc>(3) を使ってメモリーブロックをその前よりも"
7166 "小さいサイズに再割り当てされた場合は含まれない。 このため、 (\"free\" 以外"
7167 "の) すべての「総メモリー」のセルは \"free/total memory\" セルよりも大きくなる"
7171 #: build/C/man1/memusage.1:132
7173 msgid "Histogram for block sizes"
7174 msgstr "ブロックサイズのヒストグラム"
7177 #: build/C/man1/memusage.1:135
7179 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
7180 "into various bucket sizes."
7182 "\"Histogram for block sizes\" (ブロックサイズのヒストグラム) は、 メモリー割"
7183 "り当てをバケットサイズ単位に分割した情報である。"
7186 #: build/C/man1/memusage.1:136
7188 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7189 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
7192 #: build/C/man1/memusage.1:139
7193 msgid "Name of the program file to profile."
7194 msgstr "プロファイル対象のプログラムファイル名。"
7197 #: build/C/man1/memusage.1:139
7199 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7200 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
7203 #: build/C/man1/memusage.1:143
7204 msgid "Generate PNG graphic and store it in I<file>."
7205 msgstr "PNG 画像を生成し、 I<file> に格納する。"
7208 #: build/C/man1/memusage.1:143
7210 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7211 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
7214 #: build/C/man1/memusage.1:147
7215 msgid "Generate binary data file and store it in I<file>."
7216 msgstr "バイナリーデータファイルを生成し、 I<file> に格納する。"
7219 #: build/C/man1/memusage.1:147
7221 msgid "B<-u>,\\ B<--unbuffered>"
7222 msgstr "B<-u>,\\ B<--unbuffered>"
7225 #: build/C/man1/memusage.1:150
7226 msgid "Do not buffer output."
7227 msgstr "出力バッファーリングを行わない。"
7230 #: build/C/man1/memusage.1:150
7232 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7233 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
7236 #: build/C/man1/memusage.1:155
7237 msgid "Collect I<size> entries before writing them out."
7238 msgstr "出力する前に I<size> 個のエントリーの収集を行う。"
7241 #: build/C/man1/memusage.1:155
7243 msgid "B<--no-timer>"
7244 msgstr "B<--no-timer>"
7247 #: build/C/man1/memusage.1:160
7248 msgid "Disable timer-based (B<SIGPROF>) sampling of stack pointer value."
7250 "スタックポインター値の時間ベースのサンプリング (B<SIGPROF>) を無効にする。"
7253 #: build/C/man1/memusage.1:160
7255 msgid "B<-m>,\\ B<--mmap>"
7256 msgstr "B<-m>,\\ B<--mmap>"
7259 #: build/C/man1/memusage.1:167
7260 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
7261 msgstr "B<mmap>(2), B<mremap>(2), B<mmap>(2) も追跡対象とする。"
7264 #: build/C/man1/memusage.1:167 build/C/man1/memusagestat.1:72
7266 msgid "B<-?>,\\ B<--help>"
7267 msgstr "B<-?>,\\ B<--help>"
7270 #: build/C/man1/memusage.1:170 build/C/man1/mtrace.1:55
7271 msgid "Print help and exit."
7272 msgstr "ヘルプを表示し、終了する。"
7275 #: build/C/man1/memusage.1:170 build/C/man1/memusagestat.1:75
7276 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
7282 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7283 msgid "Print a short usage message and exit."
7284 msgstr "簡潔な使用方法を表示して終了する。"
7287 #: build/C/man1/memusage.1:173 build/C/man1/memusagestat.1:78
7289 msgid "B<-V>,\\ B<--version>"
7290 msgstr "B<-V>,\\ B<--version>"
7293 #: build/C/man1/memusage.1:176 build/C/man1/memusagestat.1:81
7294 #: build/C/man1/mtrace.1:58
7295 msgid "Print version information and exit."
7296 msgstr "バージョン情報を表示して終了する。"
7299 #: build/C/man1/memusage.1:176
7301 #| msgid "The following options only apply when generating graphical output:"
7302 msgid "The following options apply only when generating graphical output:"
7303 msgstr "以下のオプションは画像出力を行う場合にのみ適用される。"
7306 #: build/C/man1/memusage.1:178
7308 msgid "B<-t>,\\ B<--time-based>"
7309 msgstr "B<-t>,\\ B<--time-based>"
7312 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7314 "Use time (rather than number of function calls) as the scale for the X axis."
7315 msgstr "X 軸の目盛として (関数呼び出し数ではなく) 時間を使用する。"
7318 #: build/C/man1/memusage.1:181 build/C/man1/memusagestat.1:59
7320 msgid "B<-T>,\\ B<--total>"
7321 msgstr "B<-T>,\\ B<--total>"
7324 #: build/C/man1/memusage.1:184
7325 msgid "Also draw a graph of total memory use."
7326 msgstr "メモリーの全使用量のグラフも生成する。"
7329 #: build/C/man1/memusage.1:184
7331 msgid "B<--title=>I<name>"
7332 msgstr "B<--title=>I<name>"
7335 #: build/C/man1/memusage.1:189
7336 msgid "Use I<name> as the title of the graph."
7337 msgstr "グラフのタイトルとして I<name> を使用する。"
7340 #: build/C/man1/memusage.1:189 build/C/man1/memusagestat.1:62
7342 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7343 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
7346 #: build/C/man1/memusage.1:194
7347 msgid "Make the graph I<size> pixels wide."
7348 msgstr "グラフの幅を I<size> ピクセルにする。"
7351 #: build/C/man1/memusage.1:194 build/C/man1/memusagestat.1:67
7353 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7354 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
7357 #: build/C/man1/memusage.1:199
7358 msgid "Make the graph I<size> pixels high."
7359 msgstr "グラフの高さを I<size> ピクセルにする。"
7362 #: build/C/man1/memusage.1:199 build/C/man1/pldd.1:60
7368 #: build/C/man1/memusage.1:201
7369 msgid "Exit status is equal to the exit status of profiled program."
7371 "終了ステータスはプロファイルしたプログラムの終了ステータスと同じになる。"
7374 #: build/C/man1/memusage.1:208
7376 "Below is a simple program that reallocates a block of memory in cycles that "
7377 "rise to a peak before then cyclically reallocating the memory in smaller "
7378 "blocks that return to zero. After compiling the program and running the "
7379 "following commands, a graph of the memory usage of the program can be found "
7380 "in the file I<memusage.png>:"
7382 "以下の簡単なプログラムは、 ピークに達するまで繰り返しメモリーブロックの再割り"
7383 "当てを行い、 その後ブロックサイズが 0 になるまで繰り返し順に小さなブロックに"
7384 "再割り当てを行う。 このプログラムをコンパイルして以下のコマンドを実行する"
7385 "と、 このプログラムのメモリー使用量がファイル I<memusage.png> に出力される。"
7388 #: build/C/man1/memusage.1:232
7391 "$ B<memusage --data=memusage.dat ./a.out>\n"
7393 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7394 " total calls total memory failed calls\n"
7395 " malloc| 1 400 0\n"
7396 "realloc| 40 44800 0 (nomove:40, dec:19, free:0)\n"
7399 "Histogram for block sizes:\n"
7400 " 192-207 1 2% ================\n"
7402 " 2192-2207 1 2% ================\n"
7403 " 2240-2255 2 4% =================================\n"
7404 " 2832-2847 2 4% =================================\n"
7405 " 3440-3455 2 4% =================================\n"
7406 " 4032-4047 2 4% =================================\n"
7407 " 4640-4655 2 4% =================================\n"
7408 " 5232-5247 2 4% =================================\n"
7409 " 5840-5855 2 4% =================================\n"
7410 " 6432-6447 1 2% ================\n"
7411 "$ B<memusagestat memusage.dat memusage.png>\n"
7413 "$ B<memusage --data=memusage.dat ./a.out>\n"
7415 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
7416 " total calls total memory failed calls\n"
7417 " malloc| 1 400 0\n"
7418 "realloc| 40 44800 0 (nomove:40, dec:19, free:0)\n"
7421 "Histogram for block sizes:\n"
7422 " 192-207 1 2% ================\n"
7424 " 2192-2207 1 2% ================\n"
7425 " 2240-2255 2 4% =================================\n"
7426 " 2832-2847 2 4% =================================\n"
7427 " 3440-3455 2 4% =================================\n"
7428 " 4032-4047 2 4% =================================\n"
7429 " 4640-4655 2 4% =================================\n"
7430 " 5232-5247 2 4% =================================\n"
7431 " 5840-5855 2 4% =================================\n"
7432 " 6432-6447 1 2% ================\n"
7433 "$ B<memusagestat memusage.dat memusage.png>\n"
7436 #: build/C/man1/memusage.1:240
7438 msgid "#define CYCLES 20\n"
7439 msgstr "#define CYCLES 20\n"
7442 #: build/C/man1/memusage.1:246
7446 "main(int argc, char *argv[])\n"
7452 "main(int argc, char *argv[])\n"
7458 #: build/C/man1/memusage.1:249
7461 " printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7462 " p = malloc(sizeof(int) * 100);\n"
7464 " printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
7465 " p = malloc(sizeof(int) * 100);\n"
7468 #: build/C/man1/memusage.1:255
7471 " for (i = 0; i E<lt> CYCLES; i++) {\n"
7472 " if (i E<lt> CYCLES / 2)\n"
7477 " for (i = 0; i E<lt> CYCLES; i++) {\n"
7478 " if (i E<lt> CYCLES / 2)\n"
7484 #: build/C/man1/memusage.1:258
7487 " printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7488 " p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7490 " printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
7491 " p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
7494 #: build/C/man1/memusage.1:262
7497 " printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7498 " p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7501 " printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
7502 " p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
7506 #: build/C/man1/memusage.1:266
7510 " exit(EXIT_SUCCESS);\n"
7514 " exit(EXIT_SUCCESS);\n"
7518 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88
7520 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
7522 "バグ報告については E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE> "
7526 #: build/C/man1/memusage.1:275
7527 msgid "B<memusagestat>(1), B<mtrace>(1) B<ld.so>(8)"
7528 msgstr "B<memusagestat>(1), B<mtrace>(1) B<ld.so>(8)"
7531 #: build/C/man1/memusagestat.1:23
7533 msgid "MEMUSAGESTAT"
7534 msgstr "MEMUSAGESTAT"
7537 #: build/C/man1/memusagestat.1:23
7539 msgid "Linux programmer's manual"
7540 msgstr "Linux programmer's manual"
7543 #: build/C/man1/memusagestat.1:26
7544 msgid "memusagestat - generate graphic from memory profiling data"
7545 msgstr "memusagestat - メモリーのプロファイリングデータからグラフを出力する"
7548 #: build/C/man1/memusagestat.1:28
7549 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7550 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
7553 #: build/C/man1/memusagestat.1:39
7555 "B<memusagestat> creates a PNG file containing a graphical representation of "
7556 "the memory profiling data in the file I<datafile>; that file is generated "
7557 "via the I<-d> (or I<--data>) option of B<memusage>(1)."
7559 "B<memusagestat> は、 ファイル I<datafile> に格納されたメモリーのプロファイリ"
7560 "ングデータをグラフとして表現した PNG ファイルを作成する。 I<datafile> は "
7561 "B<memusage>(1) の I<-d> (I<--data>) オプションで生成される。"
7564 #: build/C/man1/memusagestat.1:47
7566 "The red line in the graph shows the heap usage (allocated memory) and the "
7567 "green line shows the stack usage. The x-scale is either the number of "
7568 "memory-handling function calls or (if the I<-t> option is specified) time."
7570 "グラフの赤色の線はヒープ使用量 (割り当てられたメモリー) を示し、 緑色の線はス"
7571 "タック使用量を示す。 X 軸はメモリー処理関数の呼び出し数 (I<-t> オプションが指"
7575 #: build/C/man1/memusagestat.1:48
7577 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7578 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
7581 #: build/C/man1/memusagestat.1:51
7582 msgid "Name of the output file."
7586 #: build/C/man1/memusagestat.1:51
7588 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7589 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
7592 #: build/C/man1/memusagestat.1:56
7593 msgid "Use I<string> as the title inside the output graph."
7594 msgstr "出力グラフに表示するタイトルとして I<string> を使用する。"
7597 #: build/C/man1/memusagestat.1:56
7599 msgid "B<-t>,\\ B<--time>"
7600 msgstr "B<-t>,\\ B<--time>"
7603 #: build/C/man1/memusagestat.1:62
7604 msgid "Also draw a graph of total memory consumption."
7605 msgstr "全メモリー消費量のグラフも出力する。"
7608 #: build/C/man1/memusagestat.1:67
7609 msgid "Make the output graph I<size> pixels wide."
7610 msgstr "出力グラフの幅を I<size> ピクセルにする。"
7613 #: build/C/man1/memusagestat.1:72
7614 msgid "Make the output graph I<size> pixels high."
7615 msgstr "出力グラフの高さを I<size> ピクセルにする。"
7618 #: build/C/man1/memusagestat.1:75
7619 msgid "Print a help message and exit."
7620 msgstr "ヘルプメッセージを表示して終了する。"
7623 #: build/C/man1/memusagestat.1:84
7624 msgid "See B<memusage>(1)."
7625 msgstr "B<memusage>(1) を参照。"
7628 #: build/C/man1/memusagestat.1:91
7629 msgid "B<memusage>(1), B<mtrace>(1)"
7630 msgstr "B<memusage>(1), B<mtrace>(1)"
7633 #: build/C/man1/mtrace.1:23
7639 #: build/C/man1/mtrace.1:23
7645 #: build/C/man1/mtrace.1:26
7646 msgid "mtrace - interpret the malloc trace log"
7647 msgstr "mtrace - malloc のトレースログを解釈する"
7650 #: build/C/man1/mtrace.1:28
7651 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7652 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
7655 #: build/C/man1/mtrace.1:44
7657 "B<mtrace> is a Perl script used to interpret and provide human readable "
7658 "output of the trace log contained in the file I<mtracedata>, whose contents "
7659 "were produced by B<mtrace>(3). If I<binary> is provided, the output of "
7660 "B<mtrace> also contains the source file name with line number information "
7661 "for problem locations (assuming that I<binary> was compiled with debugging "
7664 "B<mtrace> は B<mtrace>(3) の出力内容が入ったファイル I<mtracedata> のトレース"
7665 "ログを解釈し人間が読みやすい出力に変換する Perl スクリプトである。 I<binary> "
7666 "が渡されると、 B<mtrace> の出力に問題箇所にソースファイル名と行番号も出力され"
7667 "る (I<binary> はデバッグ情報付きでコンパイルされているものとする)。"
7670 #: build/C/man1/mtrace.1:51
7672 "For more information about the B<mtrace>(3) function and B<mtrace> script "
7673 "usage, see B<mtrace>(3)."
7675 "B<mtrace>(3) 関数と B<mtrace> スクリプトの使用方法の詳細は B<mtrace>(3) を参"
7679 #: build/C/man1/mtrace.1:61
7681 "For bug reporting instructions, please see: E<lt>http://www.gnu.org/software/"
7682 "libc/bugs.htmlE<gt>."
7684 "バグ報告の方法については E<lt>http://www.gnu.org/software/libc/bugs."
7688 #: build/C/man1/mtrace.1:64
7689 msgid "B<memusage>(1), B<mtrace>(3)"
7690 msgstr "B<memusage>(1), B<mtrace>(3)"
7693 #: build/C/man1/pldd.1:25
7699 #: build/C/man1/pldd.1:25
7705 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
7707 msgid "Linux User Manual"
7708 msgstr "Linux User Manual"
7711 #: build/C/man1/pldd.1:28
7712 msgid "pldd - display dynamic shared objects linked into a process"
7713 msgstr "pldd - プロセスにリンクされている動的共有オブジェクトを表示する"
7716 #: build/C/man1/pldd.1:32
7726 #: build/C/man1/pldd.1:40
7728 "The B<pldd> command displays a list of the dynamic shared objects that are "
7729 "linked into the process with the specified process ID. The list includes "
7730 "the libraries that have been dynamically loaded using B<dlopen>(3)."
7732 "B<pldd> コマンドは、 指定されたプロセス ID のプロセスにリンクされている動的共"
7733 "有オブジェクトのリストを表示する。 このリストには B<dlopen>(3) を使って動的に"
7734 "ロードされたライブラリーも含まれる。"
7737 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
7739 msgid "B<-?>, B<--help>"
7740 msgstr "B<-?>, B<--help>"
7743 #: build/C/man1/pldd.1:44
7744 msgid "Display program help message."
7745 msgstr "プログラムのヘルプメッセージを表示する。"
7748 #: build/C/man1/pldd.1:47
7749 msgid "Display a short usage message."
7750 msgstr "簡潔な使用方法を表示する。"
7753 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
7755 msgid "B<-V>, B<--version>"
7756 msgstr "B<-V>, B<--version>"
7759 #: build/C/man1/pldd.1:50
7760 msgid "Display the program version."
7761 msgstr "プログラムのバージョンを表示する。"
7764 #: build/C/man1/pldd.1:53
7765 msgid "B<pldd> is available since glibc 2.15."
7766 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
7768 #. There are man pages on Solaris and HP-UX.
7770 #: build/C/man1/pldd.1:60
7772 "The B<pldd> command is not specified by POSIX.1. Some other systems have a "
7775 "B<pldd> コマンドは POSIX.1 では規定されていない。 他のいくつかのシステムにも"
7779 #: build/C/man1/pldd.1:71
7781 "On success, B<pldd> exits with the status 0. If the specified process does "
7782 "not exist, the user does not have permission to access its dynamic shared "
7783 "object list, or no command-line arguments are supplied, B<pldd> exists with "
7784 "a status of 1. If given an invalid option, it exits with the status 64."
7786 "成功すると B<pldd> はステータス 0 を返す。 指定されたプロセスが存在しない場"
7787 "合、 ユーザーが自身の動的共有オブジェクトのリストにアクセスする許可を持ってい"
7788 "ない場合、 もしくはコマンドライン引き数が指定されていない場合、 B<pldd> はス"
7789 "テータス 1 で終了する。 無効なオプションが指定された場合、 ステータス 64 で終"
7793 #: build/C/man1/pldd.1:83
7796 "$ B<echo $$> # Display PID of shell\n"
7798 "$ B<pldd $$> # Display DSOs linked into the shell\n"
7799 "1143:\t/usr/bin/bash\n"
7801 "/lib64/libtinfo.so.5\n"
7802 "/lib64/libdl.so.2\n"
7803 "/lib64/libc.so.6\n"
7804 "/lib64/ld-linux-x86-64.so.2\n"
7805 "/lib64/libnss_files.so.2\n"
7807 "$ B<echo $$> # シェルの PID を表示する\n"
7809 "$ B<pldd $$> # このシェルにリンクされている動的共有オブジェクトを表示\n"
7810 "1143:\t/usr/bin/bash\n"
7812 "/lib64/libtinfo.so.5\n"
7813 "/lib64/libdl.so.2\n"
7814 "/lib64/libc.so.6\n"
7815 "/lib64/ld-linux-x86-64.so.2\n"
7816 "/lib64/libnss_files.so.2\n"
7819 #: build/C/man1/pldd.1:86
7824 #: build/C/man1/pldd.1:88
7826 msgid " lsof -p PID\n"
7827 msgstr " lsof -p PID\n"
7830 #: build/C/man1/pldd.1:91
7832 "also shows output that includes the dynamic shared objects that are linked "
7834 msgstr "は、 プロセスにリンクされた動的共有オブジェクトも出力する。"
7837 #: build/C/man1/pldd.1:96
7838 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7839 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
7842 #: build/C/man7/rtld-audit.7:28
7848 #: build/C/man7/rtld-audit.7:28
7854 #: build/C/man7/rtld-audit.7:31
7855 msgid "rtld-audit - auditing API for the dynamic linker"
7859 #: build/C/man7/rtld-audit.7:33
7860 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
7864 #: build/C/man7/rtld-audit.7:35
7865 msgid "B<#include E<lt>link.hE<gt>>"
7866 msgstr "B<#include E<lt>link.hE<gt>>"
7869 #: build/C/man7/rtld-audit.7:43
7871 "The GNU dynamic linker (run-time linker) provides an auditing API that "
7872 "allows an application to be notified when various dynamic linking events "
7873 "occur. This API is very similar to the auditing interface provided by the "
7874 "Solaris run-time linker. The necessary constants and prototypes are defined "
7875 "by including I<E<lt>link.hE<gt>>."
7879 #: build/C/man7/rtld-audit.7:50
7881 "To use this interface, the programmer creates a shared library that "
7882 "implements a standard set of function names. Not all of the functions need "
7883 "to be implemented: in most cases, if the programmer is not interested in a "
7884 "particular class of auditing event, then no implementation needs to be "
7885 "provided for the corresponding auditing function."
7889 #: build/C/man7/rtld-audit.7:58
7891 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
7892 "be defined to contain a colon-separated list of shared libraries, each of "
7893 "which can implement (parts of) the auditing API. When an auditable event "
7894 "occurs, the corresponding function is invoked in each library, in the order "
7895 "that the libraries are listed."
7899 #: build/C/man7/rtld-audit.7:58
7901 msgid "la_version()"
7902 msgstr "la_version()"
7905 #: build/C/man7/rtld-audit.7:62
7907 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7908 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
7911 #: build/C/man7/rtld-audit.7:74
7913 "This is the only function that I<must> be defined by an auditing library: it "
7914 "performs the initial handshake between the dynamic linker and the auditing "
7915 "library. When invoking this function, the dynamic linker passes, in "
7916 "I<version>, the highest version of the auditing interface that the linker "
7917 "supports. If necessary, the auditing library can check that this version is "
7918 "sufficient for its requirements."
7922 #: build/C/man7/rtld-audit.7:83
7924 "As its function result, this function should return the version of the "
7925 "auditing interface that this auditing library expects to use (returning "
7926 "I<version> is acceptable). If the returned value is 0, or a version that is "
7927 "greater than that supported by the dynamic linker, then the audit library is "
7932 #: build/C/man7/rtld-audit.7:83
7934 msgid "la_objsearch()"
7935 msgstr "la_objsearch()"
7938 #: build/C/man7/rtld-audit.7:88
7941 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7942 "B< unsigned int >I<flag>B<);>\n"
7944 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
7945 "B< unsigned int >I<flag>B<);>\n"
7948 #: build/C/man7/rtld-audit.7:99
7950 "The dynamic linker invokes this function to inform the auditing library that "
7951 "it is about to search for a shared object. The I<name> argument is the "
7952 "filename or pathname that is to be searched for. I<cookie> identifies the "
7953 "shared object that initiated the search. I<flag> is set to one of the "
7958 #: build/C/man7/rtld-audit.7:99
7960 msgid "B<LA_SER_ORIG>"
7961 msgstr "B<LA_SER_ORIG>"
7964 #: build/C/man7/rtld-audit.7:108
7966 "This is the original name that is being searched for. Typically, this name "
7967 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
7972 #: build/C/man7/rtld-audit.7:108
7974 msgid "B<LA_SER_LIBPATH>"
7975 msgstr "B<LA_SER_LIBPATH>"
7978 #: build/C/man7/rtld-audit.7:113
7979 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
7983 #: build/C/man7/rtld-audit.7:113
7985 msgid "B<LA_SER_RUNPATH>"
7986 msgstr "B<LA_SER_RUNPATH>"
7989 #: build/C/man7/rtld-audit.7:121
7991 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
7992 "B<DT_RUNPATH> list."
7996 #: build/C/man7/rtld-audit.7:121
7998 msgid "B<LA_SER_CONFIG>"
7999 msgstr "B<LA_SER_CONFIG>"
8002 #: build/C/man7/rtld-audit.7:128
8003 msgid "I<name> was found via the B<ldconfig>(8) cache (I</etc/ld.so.cache>)."
8007 #: build/C/man7/rtld-audit.7:128
8009 msgid "B<LA_SER_DEFAULT>"
8010 msgstr "B<LA_SER_DEFAULT>"
8013 #: build/C/man7/rtld-audit.7:132
8014 msgid "I<name> was found via a search of one of the default directories."
8018 #: build/C/man7/rtld-audit.7:132
8020 msgid "B<LA_SER_SECURE>"
8021 msgstr "B<LA_SER_SECURE>"
8024 #: build/C/man7/rtld-audit.7:136
8025 msgid "I<name> is specific to a secure object (unused on Linux)."
8029 #: build/C/man7/rtld-audit.7:145
8031 "As its function result, B<la_objsearch>() returns the pathname that the "
8032 "dynamic linker should use for further processing. If NULL is returned, then "
8033 "this pathname is ignored for further processing. If this audit library "
8034 "simply intends to monitor search paths, then I<name> should be returned."
8038 #: build/C/man7/rtld-audit.7:145
8040 msgid "la_activity()"
8041 msgstr "la_activity()"
8044 #: build/C/man7/rtld-audit.7:149
8046 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8047 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
8050 #: build/C/man7/rtld-audit.7:158
8052 "The dynamic linker calls this function to inform the auditing library that "
8053 "link-map activity is occurring. I<cookie> identifies the object at the head "
8054 "of the link map. When the dynamic linker invokes this function, I<flag> is "
8055 "set to one of the following values:"
8059 #: build/C/man7/rtld-audit.7:158
8061 msgid "B<LA_ACT_ADD>"
8062 msgstr "B<LA_ACT_ADD>"
8065 #: build/C/man7/rtld-audit.7:161
8066 msgid "New objects are being added to the link map."
8070 #: build/C/man7/rtld-audit.7:161
8072 msgid "B<LA_ACT_DELETE>"
8073 msgstr "B<LA_ACT_DELETE>"
8076 #: build/C/man7/rtld-audit.7:164
8077 msgid "Objects are being removed from the link map."
8081 #: build/C/man7/rtld-audit.7:164
8083 msgid "B<LA_ACT_CONSISTENT>"
8084 msgstr "B<LA_ACT_CONSISTENT>"
8087 #: build/C/man7/rtld-audit.7:167
8088 msgid "Link-map activity has been completed: the map is once again consistent."
8092 #: build/C/man7/rtld-audit.7:167
8094 msgid "la_objopen()"
8095 msgstr "la_objopen()"
8098 #: build/C/man7/rtld-audit.7:172
8101 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8102 "B< uintptr_t *>I<cookie>B<);>\n"
8104 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
8105 "B< uintptr_t *>I<cookie>B<);>\n"
8108 #: build/C/man7/rtld-audit.7:181
8110 "The dynamic linker calls this function when a new shared object is loaded. "
8111 "The I<map> argument is a pointer to a link-map structure that describes the "
8112 "object. The I<lmid> field has one of the following values"
8116 #: build/C/man7/rtld-audit.7:181
8118 msgid "B<LM_ID_BASE>"
8119 msgstr "B<LM_ID_BASE>"
8122 #: build/C/man7/rtld-audit.7:184
8123 msgid "Link map is part of the initial namespace."
8127 #: build/C/man7/rtld-audit.7:184
8129 msgid "B<LM_ID_NEWLM>"
8130 msgstr "B<LM_ID_NEWLM>"
8133 #: build/C/man7/rtld-audit.7:188
8134 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
8138 #: build/C/man7/rtld-audit.7:196
8140 "I<cookie> is a pointer to an identifier for this object. The identifier is "
8141 "provided to later calls to functions in the auditing library in order to "
8142 "identify this object. This identifier is initialized to point to object's "
8143 "link map, but the audit library can change the identifier to some other "
8144 "value that it may prefer to use to identify the object."
8148 #: build/C/man7/rtld-audit.7:203
8150 "As its return value, B<la_objopen>() returns a bit mask created by ORing "
8151 "zero or more of the following constants, which allow the auditing library to "
8152 "select the objects to be monitored by B<la_symbind*>():"
8156 #: build/C/man7/rtld-audit.7:203
8158 msgid "B<LA_FLG_BINDTO>"
8159 msgstr "B<LA_FLG_BINDTO>"
8162 #: build/C/man7/rtld-audit.7:206
8163 msgid "Audit symbol bindings to this object."
8167 #: build/C/man7/rtld-audit.7:206
8169 msgid "B<LA_FLG_BINDFROM>"
8170 msgstr "B<LA_FLG_BINDFROM>"
8173 #: build/C/man7/rtld-audit.7:209
8174 msgid "Audit symbol bindings from this object."
8178 #: build/C/man7/rtld-audit.7:213
8180 "A return value of 0 from B<la_objopen>() indicates that no symbol bindings "
8181 "should be audited for this object."
8185 #: build/C/man7/rtld-audit.7:213
8187 msgid "la_objclose()"
8188 msgstr "la_objclose()"
8191 #: build/C/man7/rtld-audit.7:217
8193 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8194 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
8197 #: build/C/man7/rtld-audit.7:226
8199 "The dynamic linker invokes this function after any finalization code for the "
8200 "object has been executed, before the object is unloaded. The I<cookie> "
8201 "argument is the identifier obtained from a previous invocation of "
8206 #: build/C/man7/rtld-audit.7:230
8208 "In the current implementation, the value returned by B<la_objclose>() is "
8213 #: build/C/man7/rtld-audit.7:230
8215 msgid "la_preinit()"
8216 msgstr "la_preinit()"
8219 #: build/C/man7/rtld-audit.7:234
8221 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8222 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
8225 #: build/C/man7/rtld-audit.7:244
8227 "The dynamic linker invokes this function after all shared objects have been "
8228 "loaded, before control is passed to the application (i.e., before calling "
8229 "I<main>()). Note that I<main>() may still later dynamically load objects "
8230 "using B<dlopen>(3)."
8234 #: build/C/man7/rtld-audit.7:244
8236 msgid "la_symbind*()"
8237 msgstr "la_symbind*()"
8240 #: build/C/man7/rtld-audit.7:253
8243 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8244 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8245 "B< unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8246 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8247 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8248 "B< unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8250 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8251 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8252 "B< unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8253 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8254 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8255 "B< unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
8258 #: build/C/man7/rtld-audit.7:265
8260 "The dynamic linker invokes one of these functions when a symbol binding "
8261 "occurs between two shared objects that have been marked for auditing "
8262 "notification by B<la_objopen>(). The B<la_symbind32>() function is "
8263 "employed on 32-bit platforms; the B<la_symbind64>() function is employed on "
8268 #: build/C/man7/rtld-audit.7:275
8270 "The I<sym> argument is a pointer to a structure that provides information "
8271 "about the symbol being bound. The structure definition is shown in "
8272 "I<E<lt>elf.hE<gt>>. Among the fields of this structure, I<st_value> "
8273 "indicates the address to which the symbol is bound."
8277 #: build/C/man7/rtld-audit.7:280
8279 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
8280 "bound shared object."
8284 #: build/C/man7/rtld-audit.7:295
8286 "The I<refcook> argument identifies the shared object that is making the "
8287 "symbol reference; this is the same identifier that is provided to the "
8288 "B<la_objopen>() function that returned B<LA_FLG_BINDFROM>. The I<defcook> "
8289 "argument identifies the shared object that defines the referenced symbol; "
8290 "this is the same identifier that is provided to the B<la_objopen>() "
8291 "function that returned B<LA_FLG_BINDTO>."
8295 #: build/C/man7/rtld-audit.7:299
8297 "The I<symname> argument points a string containing the name of the symbol."
8300 #. LA_SYMB_STRUCTCALL appears to be unused
8302 #: build/C/man7/rtld-audit.7:307
8304 "The I<flags> argument is a bit mask that both provides information about the "
8305 "symbol and can be used to modify further auditing of this PLT (Procedure "
8306 "Linkage Table) entry. The dynamic linker may supply the following bit "
8307 "values in this argument:"
8311 #: build/C/man7/rtld-audit.7:307
8313 msgid "B<LA_SYMB_DLSYM>"
8314 msgstr "B<LA_SYMB_DLSYM>"
8317 #: build/C/man7/rtld-audit.7:311
8318 msgid "The binding resulted from a call to B<dlsym>(3)."
8322 #: build/C/man7/rtld-audit.7:311
8324 msgid "B<LA_SYMB_ALTVALUE>"
8325 msgstr "B<LA_SYMB_ALTVALUE>"
8328 #: build/C/man7/rtld-audit.7:316
8330 "A previous B<la_symbind*>() call returned an alternate value for this "
8334 #. pltenter/pltexit are called for non-dynamically loaded libraries,
8335 #. but don't seem to be called for dynamically loaded libs?
8336 #. Is this the same on Solaris?
8338 #: build/C/man7/rtld-audit.7:330
8340 "By default, if the auditing library implements B<la_pltenter>() and "
8341 "B<la_pltexit>() functions (see below), then these functions are invoked, "
8342 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced. "
8343 "The following flags can be ORed into I<*flags> to change this default "
8348 #: build/C/man7/rtld-audit.7:330
8350 msgid "B<LA_SYMB_NOPLTENTER>"
8351 msgstr "B<LA_SYMB_NOPLTENTER>"
8354 #: build/C/man7/rtld-audit.7:335
8355 msgid "Don't call B<la_pltenter>() for this symbol."
8359 #: build/C/man7/rtld-audit.7:335
8361 msgid "B<LA_SYMB_NOPLTEXIT>"
8362 msgstr "B<LA_SYMB_NOPLTEXIT>"
8365 #: build/C/man7/rtld-audit.7:340
8366 msgid "Don't call B<la_pltexit>() for this symbol."
8370 #: build/C/man7/rtld-audit.7:351
8372 "The return value of B<la_symbind32>() and B<la_symbind64>() is the address "
8373 "to which control should be passed after the function returns. If the "
8374 "auditing library is simply monitoring symbol bindings, then it should return "
8375 "I<sym-E<gt>st_value>. A different value may be returned if the library "
8376 "wishes to direct control to an alternate location."
8380 #: build/C/man7/rtld-audit.7:351
8382 msgid "la_pltenter()"
8383 msgstr "la_pltenter()"
8386 #: build/C/man7/rtld-audit.7:357 build/C/man7/rtld-audit.7:417
8388 "The precise name and argument types for this function depend on the hardware "
8389 "platform. (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.) "
8390 "Here is the definition for x86-32:"
8394 #: build/C/man7/rtld-audit.7:363
8397 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8398 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8399 "B< La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8400 "B< const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8402 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8403 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8404 "B< La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
8405 "B< const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
8408 #: build/C/man7/rtld-audit.7:367
8410 "This function is invoked just before a PLT entry is called, between two "
8411 "shared objects that have been marked for binding notification."
8415 #: build/C/man7/rtld-audit.7:377 build/C/man7/rtld-audit.7:440
8417 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
8422 #: build/C/man7/rtld-audit.7:384
8424 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>) "
8425 "containing the values of registers to be used for the call to this PLT entry."
8429 #: build/C/man7/rtld-audit.7:390
8431 "The I<flags> argument points to a bit mask that conveys information about, "
8432 "and can be used to modify subsequent auditing of, this PLT entry, as for "
8436 #. FIXME . Is the following correct?
8438 #: build/C/man7/rtld-audit.7:406
8440 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
8441 "to explicitly set the frame size used for the call to this PLT entry. If "
8442 "different B<la_pltenter>() invocations for this symbol return different "
8443 "values, then the maximum returned value is used. The B<la_pltenter>() "
8444 "function is called only if this buffer is explicitly set to a suitable value."
8448 #: build/C/man7/rtld-audit.7:411
8449 msgid "The return value of B<la_pltenter>() is as for B<la_symbind*>()."
8453 #: build/C/man7/rtld-audit.7:411
8455 msgid "la_pltexit()"
8456 msgstr "la_pltexit()"
8459 #: build/C/man7/rtld-audit.7:423
8462 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8463 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8464 "B< const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8465 "B< const char *>I<symname>B<);>\n"
8467 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
8468 "B< uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
8469 "B< const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
8470 "B< const char *>I<symname>B<);>\n"
8473 #: build/C/man7/rtld-audit.7:430
8475 "This function is called when a PLT entry, made between two shared objects "
8476 "that have been marked for binding notification, returns. The function is "
8477 "called just before control returns to the caller of the PLT entry."
8481 #: build/C/man7/rtld-audit.7:453
8483 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
8484 "hE<gt>>) containing the values of registers used for the call to this PLT "
8485 "entry. The I<outregs> argument points to a structure (defined in "
8486 "I<E<lt>link.hE<gt>>) containing return values for the call to this PLT "
8487 "entry. These values can be modified by the caller, and the changes will be "
8488 "visible to the caller of the PLT entry."
8491 #. This differs from Solaris, where an audit library that monitors
8492 #. symbol binding should return the value of the 'retval' argument
8493 #. (not provided by GNU, but equivalent to returning outregs->lrv_eax
8494 #. on (say) x86-32).
8496 #: build/C/man7/rtld-audit.7:461
8498 "In the current GNU implementation, the return value of B<la_pltexit>() is "
8503 #: build/C/man7/rtld-audit.7:467
8505 "This API is nonstandard, but very similar to the Solaris API, described in "
8506 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
8507 "Auditing Interface>."
8511 #: build/C/man7/rtld-audit.7:470
8513 "Note the following differences from the Solaris dynamic linker auditing API:"
8517 #: build/C/man7/rtld-audit.7:470 build/C/man7/rtld-audit.7:474
8518 #: build/C/man7/rtld-audit.7:482
8524 #: build/C/man7/rtld-audit.7:474
8526 "The Solaris B<la_objfilter>() interface is not supported by the GNU "
8531 #: build/C/man7/rtld-audit.7:482
8533 "The Solaris B<la_symbind32>() and B<la_pltexit>() functions do not provide "
8534 "a I<symname> argument."
8538 #: build/C/man7/rtld-audit.7:492
8540 "The Solaris B<la_pltexit>() function does not provide I<inregs> and "
8541 "I<outregs> arguments (but does provide a I<retval> argument with the "
8542 "function return value)."
8545 #. FIXME . Specifying multiple audit libraries doesn't work on GNU.
8546 #. My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
8547 #. glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
8548 #. Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
8550 #: build/C/man7/rtld-audit.7:502
8552 "In glibc versions up to and include 2.9, specifying more than one audit "
8553 "library in B<LD_AUDIT> results in a run-time crash. This is reportedly "
8554 "fixed in glibc 2.10."
8558 #: build/C/man7/rtld-audit.7:506
8561 "#include E<lt>link.hE<gt>\n"
8562 "#include E<lt>stdio.hE<gt>\n"
8564 "#include E<lt>link.hE<gt>\n"
8565 "#include E<lt>stdio.hE<gt>\n"
8568 #: build/C/man7/rtld-audit.7:511
8572 "la_version(unsigned int version)\n"
8574 " printf(\"la_version(): %d\\en\", version);\n"
8577 "la_version(unsigned int version)\n"
8579 " printf(\"la_version(): %d\\en\", version);\n"
8582 #: build/C/man7/rtld-audit.7:514
8585 " return version;\n"
8588 " return version;\n"
8592 #: build/C/man7/rtld-audit.7:527
8596 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8598 " printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8599 " printf(\"; flag = %s\\en\",\n"
8600 " (flag == LA_SER_ORIG) ? \"LA_SER_ORIG\" :\n"
8601 " (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8602 " (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8603 " (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8604 " (flag == LA_SER_CONFIG) ? \"LA_SER_CONFIG\" :\n"
8605 " (flag == LA_SER_SECURE) ? \"LA_SER_SECURE\" :\n"
8609 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
8611 " printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
8612 " printf(\"; flag = %s\\en\",\n"
8613 " (flag == LA_SER_ORIG) ? \"LA_SER_ORIG\" :\n"
8614 " (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
8615 " (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
8616 " (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
8617 " (flag == LA_SER_CONFIG) ? \"LA_SER_CONFIG\" :\n"
8618 " (flag == LA_SER_SECURE) ? \"LA_SER_SECURE\" :\n"
8622 #: build/C/man7/rtld-audit.7:530
8632 #: build/C/man7/rtld-audit.7:540
8636 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8638 " printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8639 " (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8640 " (flag == LA_ACT_ADD) ? \"LA_ACT_ADD\" :\n"
8641 " (flag == LA_ACT_DELETE) ? \"LA_ACT_DELETE\" :\n"
8646 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
8648 " printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
8649 " (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
8650 " (flag == LA_ACT_ADD) ? \"LA_ACT_ADD\" :\n"
8651 " (flag == LA_ACT_DELETE) ? \"LA_ACT_DELETE\" :\n"
8656 #: build/C/man7/rtld-audit.7:550
8660 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8662 " printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8663 " map-E<gt>l_name,\n"
8664 " (lmid == LM_ID_BASE) ? \"LM_ID_BASE\" :\n"
8665 " (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8670 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
8672 " printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
8673 " map-E<gt>l_name,\n"
8674 " (lmid == LM_ID_BASE) ? \"LM_ID_BASE\" :\n"
8675 " (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
8680 #: build/C/man7/rtld-audit.7:553
8683 " return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8686 " return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
8690 #: build/C/man7/rtld-audit.7:558
8694 "la_objclose (uintptr_t *cookie)\n"
8696 " printf(\"la_objclose(): %x\\en\", cookie);\n"
8699 "la_objclose (uintptr_t *cookie)\n"
8701 " printf(\"la_objclose(): %x\\en\", cookie);\n"
8704 #: build/C/man7/rtld-audit.7:561
8714 #: build/C/man7/rtld-audit.7:567
8718 "la_preinit(uintptr_t *cookie)\n"
8720 " printf(\"la_preinit(): %x\\en\", cookie);\n"
8724 "la_preinit(uintptr_t *cookie)\n"
8726 " printf(\"la_preinit(): %x\\en\", cookie);\n"
8730 #: build/C/man7/rtld-audit.7:576
8734 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8735 " uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8737 " printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8738 " symname, sym-E<gt>st_value);\n"
8739 " printf(\" ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8740 " printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8743 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8744 " uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8746 " printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8747 " symname, sym-E<gt>st_value);\n"
8748 " printf(\" ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8749 " printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8752 #: build/C/man7/rtld-audit.7:579 build/C/man7/rtld-audit.7:591
8753 #: build/C/man7/rtld-audit.7:601
8756 " return sym-E<gt>st_value;\n"
8759 " return sym-E<gt>st_value;\n"
8763 #: build/C/man7/rtld-audit.7:588
8767 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8768 " uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8770 " printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8771 " symname, sym-E<gt>st_value);\n"
8772 " printf(\" ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8773 " printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8776 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
8777 " uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
8779 " printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
8780 " symname, sym-E<gt>st_value);\n"
8781 " printf(\" ndx = %d; flags = 0x%x\", ndx, *flags);\n"
8782 " printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
8785 #: build/C/man7/rtld-audit.7:598
8789 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8790 " uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8791 " unsigned int *flags, const char *symname, long int *framesizep)\n"
8793 " printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8796 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
8797 " uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
8798 " unsigned int *flags, const char *symname, long int *framesizep)\n"
8800 " printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
8803 #: build/C/man7/rtld-audit.7:607
8804 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8805 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
8808 #: build/C/man8/sln.8:25
8814 #: build/C/man8/sln.8:25
8820 #: build/C/man8/sln.8:28
8821 msgid "sln - create symbolic links"
8822 msgstr "sln - シンボリックリンクを作成する"
8825 #: build/C/man8/sln.8:30
8826 msgid "B<sln>I< source dest>"
8827 msgstr "B<sln>I< source dest>"
8830 #: build/C/man8/sln.8:32
8831 msgid "B<sln>I< filelist>"
8832 msgstr "B<sln>I< filelist>"
8835 #: build/C/man8/sln.8:42
8837 "The B<sln> program creates symbolic links. Unlike the B<ln>(1) program, it "
8838 "is statically linked. This means that if for some reason the dynamic linker "
8839 "is not working, B<sln> can be used to make symbolic links to dynamic "
8842 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
8843 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
8844 "カーが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリン"
8848 #: build/C/man8/sln.8:48
8850 "The command line has two forms. In the first form, it creates I<dest> as a "
8851 "new symbolic link to I<source>."
8853 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
8854 "クリンクとして I<dest> を作成する。"
8857 #: build/C/man8/sln.8:56
8859 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
8860 "and the effect is as if B<sln> was executed once for each line of the file, "
8861 "with the two pathnames as the arguments."
8863 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
8864 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
8868 #: build/C/man8/sln.8:60
8869 msgid "The B<sln> program supports no command-line options."
8870 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
8873 #: build/C/man8/sln.8:64
8874 msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8875 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
8878 #: build/C/man1/sprof.1:25
8884 #: build/C/man1/sprof.1:25
8890 #: build/C/man1/sprof.1:28
8891 msgid "sprof - read and display shared object profiling data"
8892 msgstr "sprof - 共有オブジェクトのプロファイルデータを読み出して表示する"
8895 #: build/C/man1/sprof.1:32
8897 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8898 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
8901 #: build/C/man1/sprof.1:46
8903 "The B<sprof> command displays a profiling summary for the shared object "
8904 "specified as its first command-line argument. The profiling summary is "
8905 "created using previously generated profiling data in the (optional) second "
8906 "command-line argument. If the profiling data pathname is omitted, then "
8907 "B<sprof> will attempt to deduce it using the soname of the shared object, "
8908 "looking for a file with the name I<E<lt>sonameE<gt>.profile> in the current "
8911 "B<sprof> コマンドは、 最初のコマンドライン引き数で指定された共有オブジェクト"
8912 "のプロファイルの概要を表示する。 2 番目のコマンドライン引き数 (省略可能) で指"
8913 "定された生成済みのプロファイルデータを使って、 プロファイルの概要が生成され"
8914 "る。 プロファイルデータのパス名が省略された場合、 B<sprof> は、 共有オブジェ"
8915 "クトの soname を使ってパス名を元に、 カレントディレクトリに "
8916 "I<E<lt>sonameE<gt>.profile> という名前のファイルを探して、 プロファイルデータ"
8920 #: build/C/man1/sprof.1:49
8922 "The following command-line options specify the profile output to be produced:"
8924 "以下のコマンドラインオプションは生成されるプロファイリング出力を指定する。"
8927 #: build/C/man1/sprof.1:49
8929 msgid "B<-c>, B<--call-pairs>"
8930 msgstr "B<-c>, B<--call-pairs>"
8933 #: build/C/man1/sprof.1:54
8935 "Print a list of pairs of call paths for the interfaces exported by the "
8936 "shared object, along with the number of times each path is used."
8938 "共有オブジェクトで公開されているインターフェースに対して呼び出し経路のペアの"
8939 "リストを表示する。 各経路が使用された回数も表示される。"
8942 #: build/C/man1/sprof.1:54
8944 msgid "B<-p>, B<--flat-profile>"
8945 msgstr "B<-p>, B<--flat-profile>"
8948 #: build/C/man1/sprof.1:58
8950 "Generate a flat profile of all of the functions in the monitored object, "
8951 "with counts and ticks."
8953 "監視対象のオブジェクトの全関数の、 回数と tick が入った flat profile を生成す"
8957 #: build/C/man1/sprof.1:58
8959 msgid "B<-q>, B<--graph>"
8960 msgstr "B<-q>, B<--graph>"
8963 #: build/C/man1/sprof.1:61
8964 msgid "Generate a call graph."
8965 msgstr "コールグラフを生成する。"
8968 #: build/C/man1/sprof.1:64
8970 "If none of the above options is specified, then the default behavior is to "
8971 "display a flat profile and a call graph."
8973 "上記のオプションがどれも指定されなかった場合のデフォルトの動作は、 flat "
8974 "profile とコールグラフが表示される。"
8977 #: build/C/man1/sprof.1:66
8978 msgid "The following additional command-line options are available:"
8979 msgstr "以下のコマンドラインオプションも使用できる。"
8982 #: build/C/man1/sprof.1:69
8983 msgid "Display a summary of command-line options and arguments and exit."
8984 msgstr "コマンドラインオプションと引き数の概要を表示し終了する。"
8987 #: build/C/man1/sprof.1:72
8988 msgid "Display a short usage message and exit."
8989 msgstr "使用方法の簡潔な概要を表示し終了する。"
8992 #: build/C/man1/sprof.1:75
8993 msgid "Display the program version and exit."
8994 msgstr "プログラムのバージョンを表示し終了する。"
8997 #: build/C/man1/sprof.1:79
8998 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
8999 msgstr "B<sprof> コマンドは GNU 拡張であり、 POSIX.1 には存在しない。"
9002 #: build/C/man1/sprof.1:85
9004 "The following example demonstrates the use of B<sprof>. The example "
9005 "consists of a main program that calls two functions in a shared library. "
9006 "First, the code of the main program:"
9008 "以下は B<sprof> の使用例を示したものである。 この例では、メインプログラムで共"
9009 "有ライブラリ内の 2 つの関数を呼び出している。 最初に、 メインプログラムのコー"
9013 #: build/C/man1/sprof.1:90
9017 "#include E<lt>stdlib.hE<gt>\n"
9020 "#include E<lt>stdlib.hE<gt>\n"
9023 #: build/C/man1/sprof.1:93
9033 #: build/C/man1/sprof.1:101
9037 "main(int argc, char *argv[])\n"
9041 " exit(EXIT_SUCCESS);\n"
9045 "main(int argc, char *argv[])\n"
9049 " exit(EXIT_SUCCESS);\n"
9053 #: build/C/man1/sprof.1:110
9055 "The functions I<x1()> and I<x2()> are defined in the following source file "
9056 "that is used to construct the shared library:"
9058 "関数 I<x1()> と I<x2()> は以下のソースファイルで定義されており、 このファイル"
9062 #: build/C/man1/sprof.1:115
9065 "$ B<cat libdemo.c>\n"
9066 "#include E<lt>unistd.hE<gt>\n"
9068 "$ B<cat libdemo.c>\n"
9069 "#include E<lt>unistd.hE<gt>\n"
9072 #: build/C/man1/sprof.1:120
9076 "consumeCpu1(int lim)\n"
9081 "consumeCpu1(int lim)\n"
9086 #: build/C/man1/sprof.1:124 build/C/man1/sprof.1:141
9089 " for (j = 0; j E<lt> lim; j++)\n"
9093 " for (j = 0; j E<lt> lim; j++)\n"
9098 #: build/C/man1/sprof.1:128
9110 #: build/C/man1/sprof.1:132
9113 " for (j = 0; j E<lt> 100; j++)\n"
9114 "\tconsumeCpu1(200000);\n"
9117 " for (j = 0; j E<lt> 100; j++)\n"
9118 "\tconsumeCpu1(200000);\n"
9122 #: build/C/man1/sprof.1:137
9126 "consumeCpu2(int lim)\n"
9131 "consumeCpu2(int lim)\n"
9136 #: build/C/man1/sprof.1:146
9150 #: build/C/man1/sprof.1:150
9153 " for (j = 0; j E<lt> 1000; j++)\n"
9154 "\tconsumeCpu2(10000);\n"
9157 " for (j = 0; j E<lt> 1000; j++)\n"
9158 "\tconsumeCpu2(10000);\n"
9162 #: build/C/man1/sprof.1:157
9164 "Now we construct the shared library with the real name I<libdemo.so.1.0.1>, "
9165 "and the soname I<libdemo.so.1>:"
9167 "ここで、 実際の名前は I<libdemo.so.1.0.1> で soname は I<libdemo.so.1> で共有"
9171 #: build/C/man1/sprof.1:162
9174 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9175 " B<-o libdemo.so.1.0.1 libdemo.c>\n"
9177 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
9178 " B<-o libdemo.so.1.0.1 libdemo.c>\n"
9181 #: build/C/man1/sprof.1:167
9183 "Then we construct symbolic links for the library soname and the library "
9186 "次に、 ライブラリ soname とライブラリのリンカー名へのシンボリックリンクを作成"
9190 #: build/C/man1/sprof.1:172
9193 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9194 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9196 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
9197 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
9200 #: build/C/man1/sprof.1:177
9202 "Next, we compile the main program, linking it against the shared library, "
9203 "and then list the dynamic dependencies of the program:"
9205 "続けて、 共有ライブラリとリンクしてメインプログラムをコンパイルし、 プログラ"
9206 "ムが依存する共有ライブラリの一覧を表示する。"
9209 #: build/C/man1/sprof.1:186
9212 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9214 "\tlinux-vdso.so.1 =E<gt> (0x00007fff86d66000)\n"
9215 "\tlibdemo.so.1 =E<gt> not found\n"
9216 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9217 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9219 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
9221 "\tlinux-vdso.so.1 =E<gt> (0x00007fff86d66000)\n"
9222 "\tlibdemo.so.1 =E<gt> not found\n"
9223 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
9224 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
9227 #: build/C/man1/sprof.1:193
9229 "In order to get profiling information for the shared library, we define the "
9230 "environment variable B<LD_PROFILE> with the soname of the library:"
9232 "共有ライブラリのプロファイル情報を取得するために、 環境変数 B<LD_PROFILE> に"
9233 "このライブラリの soname を設定する。"
9236 #: build/C/man1/sprof.1:197
9238 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
9239 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
9242 #: build/C/man1/sprof.1:204
9244 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
9245 "pathname of the directory where profile output should be written, and create "
9246 "that directory if it does not exist already:"
9248 "環境変数 B<LD_PROFILE_OUTPUT> にプロファイル情報を出力するディレクトリのパス"
9249 "名を設定し、 このディレクトリが存在しない場合は作成する。"
9252 #: build/C/man1/sprof.1:209
9255 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9256 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9258 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
9259 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
9262 #: build/C/man1/sprof.1:217
9264 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
9265 "if it already exists, so we ensure that there is no preexisting profiling "
9268 "B<LD_PROFILE> を設定すると、 プロファイルの出力は出力ファイルがすでに存在する"
9269 "場合は「追記」されるので、 既存のプロファイルデータが存在しないようにしてお"
9273 #: build/C/man1/sprof.1:221
9275 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9276 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
9279 #: build/C/man1/sprof.1:227
9281 "We then run the program to produce the profiling output, which is written to "
9282 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
9284 "次にプログラムを実行し、 プロファイリング出力を生成させる。 プロファイリング"
9285 "出力は B<LD_PROFILE_OUTPUT> で指定されたディレクトリにファイルが書き込まれ"
9289 #: build/C/man1/sprof.1:233
9292 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9293 "$ B<ls prof_data>\n"
9294 "libdemo.so.1.profile\n"
9296 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
9297 "$ B<ls prof_data>\n"
9298 "libdemo.so.1.profile\n"
9301 #: build/C/man1/sprof.1:239
9303 "We then use the B<sprof -p> option to generate a flat profile with counts "
9306 "B<sprof -p> オプションを使って、 呼び出し回数と tick 数が含まれる flat プロ"
9310 #: build/C/man1/sprof.1:244
9313 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9316 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9320 #: build/C/man1/sprof.1:252
9323 "Each sample counts as 0.01 seconds.\n"
9324 " % cumulative self self total\n"
9325 " time seconds seconds calls us/call us/call name\n"
9326 " 60.00 0.06 0.06 100 600.00 consumeCpu1\n"
9327 " 40.00 0.10 0.04 1000 40.00 consumeCpu2\n"
9328 " 0.00 0.10 0.00 1 0.00 x1\n"
9329 " 0.00 0.10 0.00 1 0.00 x2\n"
9331 "Each sample counts as 0.01 seconds.\n"
9332 " % cumulative self self total\n"
9333 " time seconds seconds calls us/call us/call name\n"
9334 " 60.00 0.06 0.06 100 600.00 consumeCpu1\n"
9335 " 40.00 0.10 0.04 1000 40.00 consumeCpu2\n"
9336 " 0.00 0.10 0.00 1 0.00 x1\n"
9337 " 0.00 0.10 0.00 1 0.00 x2\n"
9340 #: build/C/man1/sprof.1:258
9341 msgid "The B<sprof -q> option generates a call graph:"
9342 msgstr "B<sprof -q> オプションを使うと、 コールグラフが生成される。"
9345 #: build/C/man1/sprof.1:262
9347 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9348 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9351 #: build/C/man1/sprof.1:264
9353 msgid "index % time self children called name\n"
9354 msgstr "index % time self children called name\n"
9357 #: build/C/man1/sprof.1:279
9360 " 0.00 0.00 100/100 x1 [1]\n"
9361 "[0] 100.0 0.00 0.00 100 consumeCpu1 [0]\n"
9362 "-----------------------------------------------\n"
9363 " 0.00 0.00 1/1 E<lt>UNKNOWNE<gt>\n"
9364 "[1] 0.0 0.00 0.00 1 x1 [1]\n"
9365 " 0.00 0.00 100/100 consumeCpu1 [0]\n"
9366 "-----------------------------------------------\n"
9367 " 0.00 0.00 1000/1000 x2 [3]\n"
9368 "[2] 0.0 0.00 0.00 1000 consumeCpu2 [2]\n"
9369 "-----------------------------------------------\n"
9370 " 0.00 0.00 1/1 E<lt>UNKNOWNE<gt>\n"
9371 "[3] 0.0 0.00 0.00 1 x2 [3]\n"
9372 " 0.00 0.00 1000/1000 consumeCpu2 [2]\n"
9373 "-----------------------------------------------\n"
9375 " 0.00 0.00 100/100 x1 [1]\n"
9376 "[0] 100.0 0.00 0.00 100 consumeCpu1 [0]\n"
9377 "-----------------------------------------------\n"
9378 " 0.00 0.00 1/1 E<lt>UNKNOWNE<gt>\n"
9379 "[1] 0.0 0.00 0.00 1 x1 [1]\n"
9380 " 0.00 0.00 100/100 consumeCpu1 [0]\n"
9381 "-----------------------------------------------\n"
9382 " 0.00 0.00 1000/1000 x2 [3]\n"
9383 "[2] 0.0 0.00 0.00 1000 consumeCpu2 [2]\n"
9384 "-----------------------------------------------\n"
9385 " 0.00 0.00 1/1 E<lt>UNKNOWNE<gt>\n"
9386 "[3] 0.0 0.00 0.00 1 x2 [3]\n"
9387 " 0.00 0.00 1000/1000 consumeCpu2 [2]\n"
9388 "-----------------------------------------------\n"
9391 #: build/C/man1/sprof.1:285
9393 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
9394 "that are outside of the profiled object (in this example, these are "
9395 "instances of I<main()>)."
9397 "上記や以下の例で、 \"E<lt>UNKNOWNE<gt>\" の文字列は、 識別子がプロファイルさ"
9398 "れたオブジェクトの外部にあることを表している (この例では \"E<lt>UNKNOWNE<gt>"
9399 "\" になっているのは I<main()> 内のオブジェクトである)。"
9402 #: build/C/man1/sprof.1:289
9404 "The B<sprof -c> option generates a list of call pairs and the number of "
9405 "their occurrences:"
9407 "B<sprof -c> オプションを使うと、 呼び出しの組とその発生回数のリストが生成され"
9411 #: build/C/man1/sprof.1:297
9414 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9415 "E<lt>UNKNOWNE<gt> x1 1\n"
9416 "x1 consumeCpu1 100\n"
9417 "E<lt>UNKNOWNE<gt> x2 1\n"
9418 "x2 consumeCpu2 1000\n"
9420 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
9421 "E<lt>UNKNOWNE<gt> x1 1\n"
9422 "x1 consumeCpu1 100\n"
9423 "E<lt>UNKNOWNE<gt> x2 1\n"
9424 "x2 consumeCpu2 1000\n"
9427 #: build/C/man1/sprof.1:303
9428 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
9429 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"