OSDN Git Service

98f43449a338ad59e10ec95e0741c47707830421
[linuxjm/jm.git] / manual / LDP_man-pages / po4a / ld / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2021-03-12 14:01+0900\n"
10 "PO-Revision-Date: 2021-03-26 13:29+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/dl_iterate_phdr.3:25
20 #, no-wrap
21 msgid "DL_ITERATE_PHDR"
22 msgstr "DL_ITERATE_PHDR"
23
24 #. type: TH
25 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dlinfo.3:25
26 #: build/C/man3/dlopen.3:35 build/C/man1/memusage.1:24 build/C/man1/pldd.1:25
27 #: build/C/man7/rtld-audit.7:28 build/C/man1/sprof.1:25
28 #, no-wrap
29 msgid "2020-11-01"
30 msgstr ""
31
32 #. type: TH
33 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/end.3:26
34 #: build/C/man8/ld.so.8:7 build/C/man8/ldconfig.8:22 build/C/man1/memusage.1:24
35 #: build/C/man1/memusagestat.1:23 build/C/man1/mtrace.1:23
36 #: build/C/man1/pldd.1:25 build/C/man8/sln.8:25
37 #, no-wrap
38 msgid "GNU"
39 msgstr "GNU"
40
41 #. type: TH
42 #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dladdr.3:26
43 #: build/C/man3/dlerror.3:25 build/C/man3/dlinfo.3:25 build/C/man3/dlopen.3:35
44 #: build/C/man3/dlsym.3:25 build/C/man5/elf.5:35 build/C/man3/end.3:26
45 #: build/C/man8/ld.so.8:7 build/C/man8/ldconfig.8:22 build/C/man1/ldd.1:14
46 #: build/C/man7/rtld-audit.7:28 build/C/man8/sln.8:25
47 #, no-wrap
48 msgid "Linux Programmer's Manual"
49 msgstr "Linux Programmer's Manual"
50
51 #. type: SH
52 #: build/C/man3/dl_iterate_phdr.3:26 build/C/man3/dladdr.3:27
53 #: build/C/man3/dlerror.3:26 build/C/man3/dlinfo.3:26 build/C/man3/dlopen.3:36
54 #: build/C/man3/dlsym.3:26 build/C/man5/elf.5:36 build/C/man3/end.3:27
55 #: build/C/man8/ld.so.8:8 build/C/man8/ldconfig.8:23 build/C/man1/ldd.1:15
56 #: build/C/man1/memusage.1:25 build/C/man1/memusagestat.1:24
57 #: build/C/man1/mtrace.1:24 build/C/man1/pldd.1:26 build/C/man7/rtld-audit.7:29
58 #: build/C/man8/sln.8:26 build/C/man1/sprof.1:26
59 #, no-wrap
60 msgid "NAME"
61 msgstr "名前"
62
63 #. type: Plain text
64 #: build/C/man3/dl_iterate_phdr.3:28
65 msgid "dl_iterate_phdr - walk through list of shared objects"
66 msgstr "dl_iterate_phdr - 共有オブジェクトのリストを辿る"
67
68 #. type: SH
69 #: build/C/man3/dl_iterate_phdr.3:28 build/C/man3/dladdr.3:29
70 #: build/C/man3/dlerror.3:28 build/C/man3/dlinfo.3:28 build/C/man3/dlopen.3:39
71 #: build/C/man3/dlsym.3:28 build/C/man5/elf.5:38 build/C/man3/end.3:29
72 #: build/C/man8/ld.so.8:10 build/C/man8/ldconfig.8:25 build/C/man1/ldd.1:17
73 #: build/C/man1/memusage.1:27 build/C/man1/memusagestat.1:26
74 #: build/C/man1/mtrace.1:26 build/C/man1/pldd.1:28 build/C/man7/rtld-audit.7:31
75 #: build/C/man8/sln.8:28 build/C/man1/sprof.1:28
76 #, no-wrap
77 msgid "SYNOPSIS"
78 msgstr "書式"
79
80 #. type: Plain text
81 #: build/C/man3/dl_iterate_phdr.3:32
82 #, no-wrap
83 msgid ""
84 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
85 "B<#include E<lt>link.hE<gt>>\n"
86 msgstr ""
87 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
88 "B<#include E<lt>link.hE<gt>>\n"
89
90 #. type: Plain text
91 #: build/C/man3/dl_iterate_phdr.3:37
92 #, no-wrap
93 msgid ""
94 "B<int dl_iterate_phdr(>\n"
95 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
96 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
97 "B<          void *>I<data>B<);>\n"
98 msgstr ""
99 "B<int dl_iterate_phdr(>\n"
100 "B<          int (*>I<callback>B<) (struct dl_phdr_info *>I<info>B<,>\n"
101 "B<                           size_t >I<size>B<, void *>I<data>B<),>\n"
102 "B<          void *>I<data>B<);>\n"
103
104 #. type: SH
105 #: build/C/man3/dl_iterate_phdr.3:38 build/C/man3/dladdr.3:41
106 #: build/C/man3/dlerror.3:34 build/C/man3/dlinfo.3:38 build/C/man3/dlopen.3:53
107 #: build/C/man3/dlsym.3:40 build/C/man5/elf.5:43 build/C/man3/end.3:35
108 #: build/C/man8/ld.so.8:21 build/C/man8/ldconfig.8:40 build/C/man1/ldd.1:19
109 #: build/C/man1/memusage.1:29 build/C/man1/memusagestat.1:28
110 #: build/C/man1/mtrace.1:28 build/C/man1/pldd.1:33 build/C/man7/rtld-audit.7:36
111 #: build/C/man8/sln.8:32 build/C/man1/sprof.1:33
112 #, no-wrap
113 msgid "DESCRIPTION"
114 msgstr "説明"
115
116 #. type: Plain text
117 #: build/C/man3/dl_iterate_phdr.3:44
118 #, fuzzy
119 #| msgid ""
120 #| "The B<dl_iterate_phdr>()  function allows an application to inquire at "
121 #| "run time to find out which shared objects it has loaded."
122 msgid ""
123 "The B<dl_iterate_phdr>()  function allows an application to inquire at run "
124 "time to find out which shared objects it has loaded, and the order in which "
125 "they were loaded."
126 msgstr ""
127 "B<dl_iterate_phdr>()  関数を使うと、アプリケーションは実行時に どの共有オブ"
128 "ジェクトをロードしたかを見つけることができる。"
129
130 #. type: Plain text
131 #: build/C/man3/dl_iterate_phdr.3:54
132 msgid ""
133 "The B<dl_iterate_phdr>()  function walks through the list of an "
134 "application's shared objects and calls the function I<callback> once for "
135 "each object, until either all shared objects have been processed or "
136 "I<callback> returns a nonzero value."
137 msgstr ""
138 "B<dl_iterate_phdr>()  関数はアプリケーションの共有オブジェクトのリストを辿"
139 "り、 各オブジェクトに対して関数 I<callback> を 1 回ずつ呼び出す。 これは全て"
140 "の共有オブジェクトが処理されるか、 I<callback> が 0 以外の値を返すまで行われ"
141 "る。"
142
143 #. type: Plain text
144 #: build/C/man3/dl_iterate_phdr.3:71
145 msgid ""
146 "Each call to I<callback> receives three arguments: I<info>, which is a "
147 "pointer to a structure containing information about the shared object; "
148 "I<size>, which is the size of the structure pointed to by I<info>; and "
149 "I<data>, which is a copy of whatever value was passed by the calling program "
150 "as the second argument (also named I<data>)  in the call to "
151 "B<dl_iterate_phdr>()."
152 msgstr ""
153 "各々の I<callback> 呼び出しは 3 つの引き数を受け取る: I<info> は共有オブジェ"
154 "クトの情報を保持する構造体へのポインターである。 I<size> は I<info> で指され"
155 "る構造体のサイズである。 I<data> は呼び出し元プログラムから "
156 "B<dl_iterate_phdr>()  の呼び出しの (同じく I<data> という名前の) 第 2 引き数"
157 "として渡される値のコピーである。"
158
159 #. type: Plain text
160 #: build/C/man3/dl_iterate_phdr.3:75
161 msgid "The I<info> argument is a structure of the following type:"
162 msgstr "I<info> 引き数は、以下のような型の構造体である。"
163
164 #. type: Plain text
165 #: build/C/man3/dl_iterate_phdr.3:86
166 #, fuzzy, no-wrap
167 #| msgid ""
168 #| "struct dl_phdr_info {\n"
169 #| "    ElfW(Addr)        dlpi_addr;  /* Base address of object */\n"
170 #| "    const char       *dlpi_name;  /* (Null-terminated) name of\n"
171 #| "                                     object */\n"
172 #| "    const ElfW(Phdr) *dlpi_phdr;  /* Pointer to array of\n"
173 #| "                                     ELF program headers\n"
174 #| "                                     for this object */\n"
175 #| "    ElfW(Half)        dlpi_phnum; /* # of items in I<dlpi_phdr> */\n"
176 #| "};\n"
177 msgid ""
178 "struct dl_phdr_info {\n"
179 "    ElfW(Addr)        dlpi_addr;  /* Base address of object */\n"
180 "    const char       *dlpi_name;  /* (Null-terminated) name of\n"
181 "                                     object */\n"
182 "    const ElfW(Phdr) *dlpi_phdr;  /* Pointer to array of\n"
183 "                                     ELF program headers\n"
184 "                                     for this object */\n"
185 "    ElfW(Half)        dlpi_phnum; /* # of items in I<dlpi_phdr> */\n"
186 msgstr ""
187 "struct dl_phdr_info {\n"
188 "    ElfW(Addr)        dlpi_addr;  /* オブジェクトのベースアドレス */\n"
189 "    const char       *dlpi_name;  /* (ヌル文字で終端された)\n"
190 "                                     オブジェクト名 */\n"
191 "    const ElfW(Phdr) *dlpi_phdr;  /* このオブジェクトの\n"
192 "                                     ELF プログラムヘッダーの\n"
193 "                                     配列へのポインター */\n"
194 "    ElfW(Half)        dlpi_phnum; /* I<dlpi_phdr> のアイテム数 */\n"
195 "};\n"
196
197 #. type: Plain text
198 #: build/C/man3/dl_iterate_phdr.3:91
199 #, no-wrap
200 msgid ""
201 "    /* The following fields were added in glibc 2.4, after the first\n"
202 "       version of this structure was available.  Check the I<size>\n"
203 "       argument passed to the dl_iterate_phdr callback to determine\n"
204 "       whether or not each later member is available.  */\n"
205 msgstr ""
206
207 #. type: Plain text
208 #: build/C/man3/dl_iterate_phdr.3:107
209 #, no-wrap
210 msgid ""
211 "    unsigned long long dlpi_adds;\n"
212 "                    /* Incremented when a new object may\n"
213 "                       have been added */\n"
214 "    unsigned long long dlpi_subs;\n"
215 "                    /* Incremented when an object may\n"
216 "                       have been removed */\n"
217 "    size_t dlpi_tls_modid;\n"
218 "                    /* If there is a PT_TLS segment, its module\n"
219 "                       ID as used in TLS relocations, else zero */\n"
220 "    void  *dlpi_tls_data;\n"
221 "                    /* The address of the calling thread\\(aqs instance\n"
222 "                       of this module\\(aqs PT_TLS segment, if it has\n"
223 "                       one and it has been allocated in the calling\n"
224 "                       thread, otherwise a null pointer */\n"
225 "};\n"
226 msgstr ""
227
228 #. type: Plain text
229 #: build/C/man3/dl_iterate_phdr.3:121
230 #, fuzzy
231 #| msgid ""
232 #| "(The I<ElfW>()  macro definition turns its argument into the name of an "
233 #| "ELF data type suitable for the hardware architecture.  For example, on a "
234 #| "32-bit platform, ElfW(Addr) yields the data type name Elf32_Addr.  "
235 #| "Further information on these types can be found in the I<E<lt>elf.hE<gt>> "
236 #| "and I<E<lt>link.hE<gt>> header files.)"
237 msgid ""
238 "(The I<ElfW>()  macro definition turns its argument into the name of an ELF "
239 "data type suitable for the hardware architecture.  For example, on a 32-bit "
240 "platform, I<ElfW(Addr)> yields the data type name I<Elf32_Addr>.  Further "
241 "information on these types can be found in the I<E<lt>elf.hE<gt>> and "
242 "I<E<lt>link.hE<gt>> header files.)"
243 msgstr ""
244 "(I<ElfW>()  マクロ定義は引き数をハードウェアアーキテクチャーに適した ELF デー"
245 "タ型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
246 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
247 "ダーファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
248
249 #. type: Plain text
250 #: build/C/man3/dl_iterate_phdr.3:132
251 msgid ""
252 "The I<dlpi_addr> field indicates the base address of the shared object (i."
253 "e., the difference between the virtual memory address of the shared object "
254 "and the offset of that object in the file from which it was loaded).  The "
255 "I<dlpi_name> field is a null-terminated string giving the pathname from "
256 "which the shared object was loaded."
257 msgstr ""
258 "I<dlpi_addr> フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ"
259 "ジェクトの仮想メモリーアドレスと、 ファイル (このファイルから共有オブジェクト"
260 "がロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 "
261 "I<dlpi_name> はヌル文字で終端された文字列であり、 このパス名のファイルから共"
262 "有オブジェクトがロードされる。"
263
264 #. type: Plain text
265 #: build/C/man3/dl_iterate_phdr.3:147
266 msgid ""
267 "To understand the meaning of the I<dlpi_phdr> and I<dlpi_phnum> fields, we "
268 "need to be aware that an ELF shared object consists of a number of segments, "
269 "each of which has a corresponding program header describing the segment.  "
270 "The I<dlpi_phdr> field is a pointer to an array of the program headers for "
271 "this shared object.  The I<dlpi_phnum> field indicates the size of this "
272 "array."
273 msgstr ""
274 "I<dlpi_phdr> と I<dlpi_phnum> フィールドの意味を理解するには、 ELF 共有オブ"
275 "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対"
276 "応するプログラムヘッダー (そのセグメントを説明する) を持っていることを知って"
277 "いる必要がある。 I<dlpi_phdr> フィールドは、この共有オブジェクトのプログラム"
278 "ヘッダーの配列へのポインターである。 I<dlpi_phnum> は、この配列のサイズを表"
279 "す。"
280
281 #. type: Plain text
282 #: build/C/man3/dl_iterate_phdr.3:149
283 msgid "These program headers are structures of the following form:"
284 msgstr "これらのプログラムヘッダーは以下のような形式の構造体である:"
285
286 #. type: Plain text
287 #: build/C/man3/dl_iterate_phdr.3:162
288 #, no-wrap
289 msgid ""
290 "typedef struct {\n"
291 "    Elf32_Word  p_type;    /* Segment type */\n"
292 "    Elf32_Off   p_offset;  /* Segment file offset */\n"
293 "    Elf32_Addr  p_vaddr;   /* Segment virtual address */\n"
294 "    Elf32_Addr  p_paddr;   /* Segment physical address */\n"
295 "    Elf32_Word  p_filesz;  /* Segment size in file */\n"
296 "    Elf32_Word  p_memsz;   /* Segment size in memory */\n"
297 "    Elf32_Word  p_flags;   /* Segment flags */\n"
298 "    Elf32_Word  p_align;   /* Segment alignment */\n"
299 "} Elf32_Phdr;\n"
300 msgstr ""
301 "typedef struct\n"
302 "{\n"
303 "    Elf32_Word  p_type;    /* セグメントの型 */\n"
304 "    Elf32_Off   p_offset;  /* セグメントのファイルオフセット */\n"
305 "    Elf32_Addr  p_vaddr;   /* セグメントの仮想アドレス */\n"
306 "    Elf32_Addr  p_paddr;   /* セグメントの物理アドレス */\n"
307 "    Elf32_Word  p_filesz;  /* ファイルにおけるセグメントサイズ */\n"
308 "    Elf32_Word  p_memsz;   /* メモリーにおけるセグメントサイズ */\n"
309 "    Elf32_Word  p_flags;   /* セグメントフラグ */\n"
310 "    Elf32_Word  p_align;   /* セグメントの配置 (alignment) */\n"
311 "} Elf32_Phdr;\n"
312
313 #. type: Plain text
314 #: build/C/man3/dl_iterate_phdr.3:168
315 msgid ""
316 "Note that we can calculate the location of a particular program header, "
317 "I<x>, in virtual memory using the formula:"
318 msgstr ""
319 "特定のプログラムヘッダー I<x> の仮想メモリーにおける位置は、以下の式で計算で"
320 "きる点に注意すること:"
321
322 #. type: Plain text
323 #: build/C/man3/dl_iterate_phdr.3:172
324 #, fuzzy, no-wrap
325 #| msgid "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
326 msgid "addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
327 msgstr "  addr == info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[x].p_vaddr;\n"
328
329 #. type: Plain text
330 #: build/C/man3/dl_iterate_phdr.3:180
331 msgid ""
332 "Possible values for I<p_type> include the following (see I<E<lt>elf.hE<gt>> "
333 "for further details):"
334 msgstr ""
335
336 #.  For PT_GNU_STACK, see http://www.airs.com/blog/archives/518
337 #. type: Plain text
338 #: build/C/man3/dl_iterate_phdr.3:194
339 #, no-wrap
340 msgid ""
341 "#define PT_LOAD         1    /* Loadable program segment */\n"
342 "#define PT_DYNAMIC      2    /* Dynamic linking information */\n"
343 "#define PT_INTERP       3    /* Program interpreter */\n"
344 "#define PT_NOTE         4    /* Auxiliary information */\n"
345 "#define PT_SHLIB        5    /* Reserved */\n"
346 "#define PT_PHDR         6    /* Entry for header table itself */\n"
347 "#define PT_TLS          7    /* Thread-local storage segment */\n"
348 "#define PT_GNU_EH_FRAME 0x6474e550 /* GCC .eh_frame_hdr segment */\n"
349 "#define PT_GNU_STACK  0x6474e551 /* Indicates stack executability */\n"
350 "#define PT_GNU_RELRO  0x6474e552 /* Read-only after relocation */\n"
351 msgstr ""
352
353 #. type: SH
354 #: build/C/man3/dl_iterate_phdr.3:196 build/C/man3/dladdr.3:215
355 #: build/C/man3/dlinfo.3:214 build/C/man3/dlopen.3:348 build/C/man3/dlsym.3:113
356 #, no-wrap
357 msgid "RETURN VALUE"
358 msgstr "返り値"
359
360 #. type: Plain text
361 #: build/C/man3/dl_iterate_phdr.3:201
362 msgid ""
363 "The B<dl_iterate_phdr>()  function returns whatever value was returned by "
364 "the last call to I<callback>."
365 msgstr ""
366 "B<dl_iterate_phdr>()  関数は最後の I<callback> の呼び出しで返された値を返す。"
367
368 #. type: SH
369 #: build/C/man3/dl_iterate_phdr.3:201 build/C/man3/dladdr.3:235
370 #: build/C/man3/dlerror.3:49 build/C/man3/dlinfo.3:220
371 #: build/C/man3/dlopen.3:365 build/C/man3/dlsym.3:120 build/C/man1/pldd.1:61
372 #, no-wrap
373 msgid "VERSIONS"
374 msgstr "バージョン"
375
376 #. type: Plain text
377 #: build/C/man3/dl_iterate_phdr.3:204
378 msgid "B<dl_iterate_phdr>()  has been supported in glibc since version 2.2.4."
379 msgstr ""
380 "B<dl_iterate_phdr>()  は glibc のバージョン 2.2.4 以降でサポートされている。"
381
382 #. type: SH
383 #: build/C/man3/dl_iterate_phdr.3:204 build/C/man3/dladdr.3:240
384 #: build/C/man3/dlerror.3:52 build/C/man3/dlinfo.3:223
385 #: build/C/man3/dlopen.3:372 build/C/man3/dlsym.3:125
386 #, no-wrap
387 msgid "ATTRIBUTES"
388 msgstr ""
389
390 #. type: Plain text
391 #: build/C/man3/dl_iterate_phdr.3:207 build/C/man3/dladdr.3:243
392 #: build/C/man3/dlerror.3:55 build/C/man3/dlinfo.3:226
393 #: build/C/man3/dlopen.3:375 build/C/man3/dlsym.3:128
394 msgid ""
395 "For an explanation of the terms used in this section, see B<attributes>(7)."
396 msgstr "この節で使用されている用語の説明については、 B<attributes>(7) を参照。"
397
398 #. type: tbl table
399 #: build/C/man3/dl_iterate_phdr.3:211 build/C/man3/dladdr.3:247
400 #: build/C/man3/dlerror.3:59 build/C/man3/dlinfo.3:230
401 #: build/C/man3/dlopen.3:379 build/C/man3/dlsym.3:132
402 #, no-wrap
403 msgid "Interface"
404 msgstr "インターフェース"
405
406 #. type: tbl table
407 #: build/C/man3/dl_iterate_phdr.3:211 build/C/man3/dladdr.3:247
408 #: build/C/man3/dlerror.3:59 build/C/man3/dlinfo.3:230
409 #: build/C/man3/dlopen.3:379 build/C/man3/dlsym.3:132
410 #, no-wrap
411 msgid "Attribute"
412 msgstr "属性"
413
414 #. type: tbl table
415 #: build/C/man3/dl_iterate_phdr.3:211 build/C/man3/dladdr.3:166
416 #: build/C/man3/dladdr.3:189 build/C/man3/dladdr.3:208
417 #: build/C/man3/dladdr.3:247 build/C/man3/dlerror.3:59
418 #: build/C/man3/dlinfo.3:230 build/C/man3/dlopen.3:379 build/C/man3/dlsym.3:132
419 #, no-wrap
420 msgid "Value"
421 msgstr "値"
422
423 #. type: tbl table
424 #: build/C/man3/dl_iterate_phdr.3:214
425 #, no-wrap
426 msgid "B<dl_iterate_phdr>()"
427 msgstr "B<dl_iterate_phdr>()"
428
429 #. type: tbl table
430 #: build/C/man3/dl_iterate_phdr.3:214 build/C/man3/dladdr.3:251
431 #: build/C/man3/dlerror.3:62 build/C/man3/dlinfo.3:233
432 #: build/C/man3/dlopen.3:384 build/C/man3/dlsym.3:136
433 #, no-wrap
434 msgid "Thread safety"
435 msgstr "Thread safety"
436
437 #. type: tbl table
438 #: build/C/man3/dl_iterate_phdr.3:214 build/C/man3/dladdr.3:251
439 #: build/C/man3/dlerror.3:62 build/C/man3/dlinfo.3:233
440 #: build/C/man3/dlopen.3:384 build/C/man3/dlsym.3:136
441 #, no-wrap
442 msgid "MT-Safe"
443 msgstr "MT-Safe"
444
445 #. type: SH
446 #: build/C/man3/dl_iterate_phdr.3:217 build/C/man3/dladdr.3:253
447 #: build/C/man3/dlerror.3:64 build/C/man3/dlinfo.3:235
448 #: build/C/man3/dlopen.3:386 build/C/man3/dlsym.3:138 build/C/man3/end.3:50
449 #: build/C/man1/pldd.1:64 build/C/man7/rtld-audit.7:478 build/C/man1/sprof.1:75
450 #, no-wrap
451 msgid "CONFORMING TO"
452 msgstr "準拠"
453
454 #. type: Plain text
455 #: build/C/man3/dl_iterate_phdr.3:232
456 msgid ""
457 "The B<dl_iterate_phdr>()  function is not specified in any standard.  "
458 "Various other systems provide a version of this function, although details "
459 "of the returned I<dl_phdr_info> structure differ.  On the BSDs and Solaris, "
460 "the structure includes the fields I<dlpi_addr>, I<dlpi_name>, I<dlpi_phdr>, "
461 "and I<dlpi_phnum> in addition to other implementation-specific fields."
462 msgstr ""
463
464 #. type: SH
465 #: build/C/man3/dl_iterate_phdr.3:232 build/C/man3/dlerror.3:66
466 #: build/C/man3/dlinfo.3:237 build/C/man3/dlopen.3:402 build/C/man3/dlsym.3:144
467 #: build/C/man5/elf.5:2132 build/C/man3/end.3:53 build/C/man8/ld.so.8:779
468 #: build/C/man1/pldd.1:71 build/C/man7/rtld-audit.7:484
469 #, no-wrap
470 msgid "NOTES"
471 msgstr "注意"
472
473 #. type: Plain text
474 #: build/C/man3/dl_iterate_phdr.3:239
475 msgid ""
476 "Future versions of the C library may add further fields to the "
477 "I<dl_phdr_info> structure; in that event, the I<size> argument provides a "
478 "mechanism for the callback function to discover whether it is running on a "
479 "system with added fields."
480 msgstr ""
481
482 #. type: Plain text
483 #: build/C/man3/dl_iterate_phdr.3:246
484 msgid ""
485 "The first object visited by I<callback> is the main program.  For the main "
486 "program, the I<dlpi_name> field will be an empty string."
487 msgstr ""
488
489 #. type: SH
490 #: build/C/man3/dl_iterate_phdr.3:246 build/C/man3/dlerror.3:84
491 #: build/C/man3/dlinfo.3:242 build/C/man3/dlopen.3:550 build/C/man3/dlsym.3:168
492 #: build/C/man3/end.3:76 build/C/man1/memusage.1:204
493 #: build/C/man1/memusagestat.1:85 build/C/man1/pldd.1:106
494 #: build/C/man7/rtld-audit.7:519 build/C/man1/sprof.1:79
495 #, fuzzy, no-wrap
496 #| msgid "EXAMPLE"
497 msgid "EXAMPLES"
498 msgstr "例"
499
500 #. type: Plain text
501 #: build/C/man3/dl_iterate_phdr.3:252
502 #, fuzzy
503 #| msgid ""
504 #| "The following program displays a list of pathnames of the shared objects "
505 #| "it has loaded.  For each shared object, the program lists the virtual "
506 #| "addresses at which the object's ELF segments are loaded."
507 msgid ""
508 "The following program displays a list of pathnames of the shared objects it "
509 "has loaded.  For each shared object, the program lists some information "
510 "(virtual address, size, flags, and type)  for each of the objects ELF "
511 "segments."
512 msgstr ""
513 "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 "
514 "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが"
515 "ロードされた 仮想アドレスの一覧を表示する。"
516
517 #. type: Plain text
518 #: build/C/man3/dl_iterate_phdr.3:258
519 msgid ""
520 "The following shell session demonstrates the output produced by the program "
521 "on an x86-64 system.  The first shared object for which output is displayed "
522 "(where the name is an empty string)  is the main program."
523 msgstr ""
524
525 #. type: Plain text
526 #: build/C/man3/dl_iterate_phdr.3:296
527 #, no-wrap
528 msgid ""
529 "$ B<./a.out>\n"
530 "Name: \"\" (9 segments)\n"
531 "     0: [      0x400040; memsz:    1f8] flags: 0x5; PT_PHDR\n"
532 "     1: [      0x400238; memsz:     1c] flags: 0x4; PT_INTERP\n"
533 "     2: [      0x400000; memsz:    ac4] flags: 0x5; PT_LOAD\n"
534 "     3: [      0x600e10; memsz:    240] flags: 0x6; PT_LOAD\n"
535 "     4: [      0x600e28; memsz:    1d0] flags: 0x6; PT_DYNAMIC\n"
536 "     5: [      0x400254; memsz:     44] flags: 0x4; PT_NOTE\n"
537 "     6: [      0x400970; memsz:     3c] flags: 0x4; PT_GNU_EH_FRAME\n"
538 "     7: [         (nil); memsz:      0] flags: 0x6; PT_GNU_STACK\n"
539 "     8: [      0x600e10; memsz:    1f0] flags: 0x4; PT_GNU_RELRO\n"
540 "Name: \"linux-vdso.so.1\" (4 segments)\n"
541 "     0: [0x7ffc6edd1000; memsz:    e89] flags: 0x5; PT_LOAD\n"
542 "     1: [0x7ffc6edd1360; memsz:    110] flags: 0x4; PT_DYNAMIC\n"
543 "     2: [0x7ffc6edd17b0; memsz:     3c] flags: 0x4; PT_NOTE\n"
544 "     3: [0x7ffc6edd17ec; memsz:     3c] flags: 0x4; PT_GNU_EH_FRAME\n"
545 "Name: \"/lib64/libc.so.6\" (10 segments)\n"
546 "     0: [0x7f55712ce040; memsz:    230] flags: 0x5; PT_PHDR\n"
547 "     1: [0x7f557145b980; memsz:     1c] flags: 0x4; PT_INTERP\n"
548 "     2: [0x7f55712ce000; memsz: 1b6a5c] flags: 0x5; PT_LOAD\n"
549 "     3: [0x7f55716857a0; memsz:   9240] flags: 0x6; PT_LOAD\n"
550 "     4: [0x7f5571688b80; memsz:    1f0] flags: 0x6; PT_DYNAMIC\n"
551 "     5: [0x7f55712ce270; memsz:     44] flags: 0x4; PT_NOTE\n"
552 "     6: [0x7f55716857a0; memsz:     78] flags: 0x4; PT_TLS\n"
553 "     7: [0x7f557145b99c; memsz:   544c] flags: 0x4; PT_GNU_EH_FRAME\n"
554 "     8: [0x7f55712ce000; memsz:      0] flags: 0x6; PT_GNU_STACK\n"
555 "     9: [0x7f55716857a0; memsz:   3860] flags: 0x4; PT_GNU_RELRO\n"
556 "Name: \"/lib64/ld-linux-x86-64.so.2\" (7 segments)\n"
557 "     0: [0x7f557168f000; memsz:  20828] flags: 0x5; PT_LOAD\n"
558 "     1: [0x7f55718afba0; memsz:   15a8] flags: 0x6; PT_LOAD\n"
559 "     2: [0x7f55718afe10; memsz:    190] flags: 0x6; PT_DYNAMIC\n"
560 "     3: [0x7f557168f1c8; memsz:     24] flags: 0x4; PT_NOTE\n"
561 "     4: [0x7f55716acec4; memsz:    604] flags: 0x4; PT_GNU_EH_FRAME\n"
562 "     5: [0x7f557168f000; memsz:      0] flags: 0x6; PT_GNU_STACK\n"
563 "     6: [0x7f55718afba0; memsz:    460] flags: 0x4; PT_GNU_RELRO\n"
564 msgstr ""
565
566 #. type: SS
567 #: build/C/man3/dl_iterate_phdr.3:298 build/C/man3/dlinfo.3:259
568 #: build/C/man3/dlopen.3:564 build/C/man3/end.3:88 build/C/man1/memusage.1:237
569 #, no-wrap
570 msgid "Program source"
571 msgstr "プログラムのソース"
572
573 #. type: Plain text
574 #: build/C/man3/dl_iterate_phdr.3:306
575 #, fuzzy, no-wrap
576 #| msgid ""
577 #| "#define _GNU_SOURCE\n"
578 #| "#include E<lt>link.hE<gt>\n"
579 #| "#include E<lt>stdlib.hE<gt>\n"
580 #| "#include E<lt>stdio.hE<gt>\n"
581 msgid ""
582 "#define _GNU_SOURCE\n"
583 "#include E<lt>link.hE<gt>\n"
584 "#include E<lt>stdlib.hE<gt>\n"
585 "#include E<lt>stdio.hE<gt>\n"
586 "#include E<lt>stdint.hE<gt>\n"
587 msgstr ""
588 "#define _GNU_SOURCE\n"
589 "#include E<lt>link.hE<gt>\n"
590 "#include E<lt>stdlib.hE<gt>\n"
591 "#include E<lt>stdio.hE<gt>\n"
592
593 #. type: Plain text
594 #: build/C/man3/dl_iterate_phdr.3:312
595 #, fuzzy, no-wrap
596 #| msgid ""
597 #| "static int\n"
598 #| "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
599 #| "{\n"
600 #| "    int j;\n"
601 msgid ""
602 "static int\n"
603 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
604 "{\n"
605 "    char *type;\n"
606 "    int p_type;\n"
607 msgstr ""
608 "static int\n"
609 "callback(struct dl_phdr_info *info, size_t size, void *data)\n"
610 "{\n"
611 "    int j;\n"
612
613 #. type: Plain text
614 #: build/C/man3/dl_iterate_phdr.3:315
615 #, fuzzy, no-wrap
616 #| msgid ""
617 #| "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
618 #| "        info-E<gt>dlpi_phnum);\n"
619 msgid ""
620 "    printf(\"Name: \\e\"%s\\e\" (%d segments)\\en\", info-E<gt>dlpi_name,\n"
621 "               info-E<gt>dlpi_phnum);\n"
622 msgstr ""
623 "    printf(\"name=%s (%d segments)\\en\", info-E<gt>dlpi_name,\n"
624 "        info-E<gt>dlpi_phnum);\n"
625
626 #. type: Plain text
627 #: build/C/man3/dl_iterate_phdr.3:328
628 #, no-wrap
629 msgid ""
630 "    for (int j = 0; j E<lt> info-E<gt>dlpi_phnum; j++) {\n"
631 "        p_type = info-E<gt>dlpi_phdr[j].p_type;\n"
632 "        type =  (p_type == PT_LOAD) ? \"PT_LOAD\" :\n"
633 "                (p_type == PT_DYNAMIC) ? \"PT_DYNAMIC\" :\n"
634 "                (p_type == PT_INTERP) ? \"PT_INTERP\" :\n"
635 "                (p_type == PT_NOTE) ? \"PT_NOTE\" :\n"
636 "                (p_type == PT_INTERP) ? \"PT_INTERP\" :\n"
637 "                (p_type == PT_PHDR) ? \"PT_PHDR\" :\n"
638 "                (p_type == PT_TLS) ? \"PT_TLS\" :\n"
639 "                (p_type == PT_GNU_EH_FRAME) ? \"PT_GNU_EH_FRAME\" :\n"
640 "                (p_type == PT_GNU_STACK) ? \"PT_GNU_STACK\" :\n"
641 "                (p_type == PT_GNU_RELRO) ? \"PT_GNU_RELRO\" : NULL;\n"
642 msgstr ""
643
644 #. type: Plain text
645 #: build/C/man3/dl_iterate_phdr.3:338
646 #, no-wrap
647 msgid ""
648 "        printf(\"    %2d: [%14p; memsz:%7jx] flags: %#jx; \", j,\n"
649 "                (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr),\n"
650 "                (uintmax_t) info-E<gt>dlpi_phdr[j].p_memsz,\n"
651 "                (uintmax_t) info-E<gt>dlpi_phdr[j].p_flags);\n"
652 "        if (type != NULL)\n"
653 "            printf(\"%s\\en\", type);\n"
654 "        else\n"
655 "            printf(\"[other (%#x)]\\en\", p_type);\n"
656 "    }\n"
657 msgstr ""
658
659 #. type: Plain text
660 #: build/C/man3/dl_iterate_phdr.3:341 build/C/man7/rtld-audit.7:579
661 #, no-wrap
662 msgid ""
663 "    return 0;\n"
664 "}\n"
665 msgstr ""
666 "    return 0;\n"
667 "}\n"
668
669 #. type: Plain text
670 #: build/C/man3/dl_iterate_phdr.3:346
671 #, no-wrap
672 msgid ""
673 "int\n"
674 "main(int argc, char *argv[])\n"
675 "{\n"
676 "    dl_iterate_phdr(callback, NULL);\n"
677 msgstr ""
678 "int\n"
679 "main(int argc, char *argv[])\n"
680 "{\n"
681 "    dl_iterate_phdr(callback, NULL);\n"
682
683 #. type: Plain text
684 #: build/C/man3/dl_iterate_phdr.3:349 build/C/man3/dlinfo.3:325
685 #: build/C/man3/end.3:107
686 #, no-wrap
687 msgid ""
688 "    exit(EXIT_SUCCESS);\n"
689 "}\n"
690 msgstr ""
691 "    exit(EXIT_SUCCESS);\n"
692 "}\n"
693
694 #. type: SH
695 #: build/C/man3/dl_iterate_phdr.3:350 build/C/man3/dladdr.3:284
696 #: build/C/man3/dlerror.3:87 build/C/man3/dlinfo.3:326
697 #: build/C/man3/dlopen.3:619 build/C/man3/dlsym.3:171 build/C/man5/elf.5:2159
698 #: build/C/man3/end.3:108 build/C/man8/ld.so.8:815 build/C/man8/ldconfig.8:215
699 #: build/C/man1/ldd.1:172 build/C/man1/memusage.1:274
700 #: build/C/man1/memusagestat.1:88 build/C/man1/mtrace.1:62
701 #: build/C/man1/pldd.1:119 build/C/man7/rtld-audit.7:620 build/C/man8/sln.8:60
702 #: build/C/man1/sprof.1:291
703 #, no-wrap
704 msgid "SEE ALSO"
705 msgstr "関連項目"
706
707 #. type: Plain text
708 #: build/C/man3/dl_iterate_phdr.3:358
709 #, fuzzy
710 #| msgid ""
711 #| "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld."
712 #| "so>(8)"
713 msgid ""
714 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dladdr>(3), B<dlopen>(3), "
715 "B<elf>(5), B<ld.so>(8)"
716 msgstr ""
717 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
718
719 #. type: Plain text
720 #: build/C/man3/dl_iterate_phdr.3:361
721 msgid ""
722 "I<Executable and Linking Format Specification>, available at various "
723 "locations online."
724 msgstr ""
725 "オンラインのいろいろな場所で入手できる I<Executable and Linking Format "
726 "Specification>"
727
728 #. type: SH
729 #: build/C/man3/dl_iterate_phdr.3:361 build/C/man3/dladdr.3:290
730 #: build/C/man3/dlerror.3:92 build/C/man3/dlinfo.3:333
731 #: build/C/man3/dlopen.3:633 build/C/man3/dlsym.3:178 build/C/man5/elf.5:2192
732 #: build/C/man3/end.3:113 build/C/man8/ld.so.8:833 build/C/man8/ldconfig.8:218
733 #: build/C/man1/ldd.1:177 build/C/man1/memusage.1:278
734 #: build/C/man1/memusagestat.1:91 build/C/man1/mtrace.1:65
735 #: build/C/man1/pldd.1:124 build/C/man7/rtld-audit.7:625 build/C/man8/sln.8:64
736 #: build/C/man1/sprof.1:295
737 #, no-wrap
738 msgid "COLOPHON"
739 msgstr "この文書について"
740
741 #. type: Plain text
742 #: build/C/man3/dl_iterate_phdr.3:369 build/C/man3/dladdr.3:298
743 #: build/C/man3/dlerror.3:100 build/C/man3/dlinfo.3:341
744 #: build/C/man3/dlopen.3:641 build/C/man3/dlsym.3:186 build/C/man5/elf.5:2200
745 #: build/C/man3/end.3:121 build/C/man8/ld.so.8:841 build/C/man8/ldconfig.8:226
746 #: build/C/man1/ldd.1:185 build/C/man1/memusage.1:286
747 #: build/C/man1/memusagestat.1:99 build/C/man1/mtrace.1:73
748 #: build/C/man1/pldd.1:132 build/C/man7/rtld-audit.7:633 build/C/man8/sln.8:72
749 #: build/C/man1/sprof.1:303
750 msgid ""
751 "This page is part of release 5.10 of the Linux I<man-pages> project.  A "
752 "description of the project, information about reporting bugs, and the latest "
753 "version of this page, can be found at \\%https://www.kernel.org/doc/man-"
754 "pages/."
755 msgstr "この man ページは Linux I<man-pages> プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \\%https://www.kernel.org/doc/man-pages/ に書かれている。"
756
757 #. type: TH
758 #: build/C/man3/dladdr.3:26
759 #, no-wrap
760 msgid "DLADDR"
761 msgstr ""
762
763 #. type: TH
764 #: build/C/man3/dladdr.3:26 build/C/man8/ld.so.8:7
765 #, no-wrap
766 msgid "2020-08-13"
767 msgstr ""
768
769 #. type: TH
770 #: build/C/man3/dladdr.3:26 build/C/man3/dlerror.3:25 build/C/man3/dlinfo.3:25
771 #: build/C/man3/dlopen.3:35 build/C/man3/dlsym.3:25 build/C/man5/elf.5:35
772 #: build/C/man7/rtld-audit.7:28 build/C/man1/sprof.1:25
773 #, no-wrap
774 msgid "Linux"
775 msgstr "Linux"
776
777 #. type: Plain text
778 #: build/C/man3/dladdr.3:29
779 msgid "dladdr, dladdr1 - translate address to symbolic information"
780 msgstr ""
781
782 #. type: Plain text
783 #: build/C/man3/dladdr.3:33
784 #, fuzzy, no-wrap
785 #| msgid ""
786 #| "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
787 #| "B<#include E<lt>dlfcn.hE<gt>>\n"
788 msgid ""
789 "B<#define _GNU_SOURCE>\n"
790 "B<#include E<lt>dlfcn.hE<gt>>\n"
791 msgstr ""
792 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
793 "B<#include E<lt>dlfcn.hE<gt>>\n"
794
795 #. type: Plain text
796 #: build/C/man3/dladdr.3:35
797 #, no-wrap
798 msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
799 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
800
801 #. type: Plain text
802 #: build/C/man3/dladdr.3:38
803 #, fuzzy, no-wrap
804 #| msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
805 msgid "B<int dladdr1(void *>I<addr>B<, Dl_info *>I<info>B<, void **>I<extra_info>B<, int >I<flags>B<);>\n"
806 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
807
808 #. type: Plain text
809 #: build/C/man3/dladdr.3:40 build/C/man3/dlinfo.3:37
810 #, fuzzy, no-wrap
811 #| msgid "Link with I<-ldl>."
812 msgid "Link with I<-ldl>.\n"
813 msgstr "I<-ldl> でリンクする。"
814
815 #. type: Plain text
816 #: build/C/man3/dladdr.3:54
817 msgid ""
818 "The function B<dladdr>()  determines whether the address specified in "
819 "I<addr> is located in one of the shared objects loaded by the calling "
820 "application.  If it is, then B<dladdr>()  returns information about the "
821 "shared object and symbol that overlaps I<addr>.  This information is "
822 "returned in a I<Dl_info> structure:"
823 msgstr ""
824
825 #. type: Plain text
826 #: build/C/man3/dladdr.3:67
827 #, fuzzy, no-wrap
828 #| msgid ""
829 #| "typedef struct {\n"
830 #| "    const char *dli_fname;  /* Pathname of shared object that\n"
831 #| "                               contains address */\n"
832 #| "    void       *dli_fbase;  /* Address at which shared object\n"
833 #| "                               is loaded */\n"
834 #| "    const char *dli_sname;  /* Name of symbol whose definition\n"
835 #| "                               overlaps I<addr> */\n"
836 #| "    void       *dli_saddr;  /* Exact address of symbol named\n"
837 #| "                               in I<dli_sname> */\n"
838 #| "} Dl_info;\n"
839 msgid ""
840 "typedef struct {\n"
841 "    const char *dli_fname;  /* Pathname of shared object that\n"
842 "                               contains address */\n"
843 "    void       *dli_fbase;  /* Base address at which shared\n"
844 "                               object is loaded */\n"
845 "    const char *dli_sname;  /* Name of symbol whose definition\n"
846 "                               overlaps I<addr> */\n"
847 "    void       *dli_saddr;  /* Exact address of symbol named\n"
848 "                               in I<dli_sname> */\n"
849 "} Dl_info;\n"
850 msgstr ""
851 "typedef struct {\n"
852 "    const char *dli_fname;  /* Pathname of shared object that\n"
853 "                               contains address */\n"
854 "    void       *dli_fbase;  /* Address at which shared object\n"
855 "                               is loaded */\n"
856 "    const char *dli_sname;  /* Name of symbol whose definition\n"
857 "                               overlaps I<addr> */\n"
858 "    void       *dli_saddr;  /* Exact address of symbol named\n"
859 "                               in I<dli_sname> */\n"
860 "} Dl_info;\n"
861
862 #. type: Plain text
863 #: build/C/man3/dladdr.3:77
864 msgid ""
865 "If no symbol matching I<addr> could be found, then I<dli_sname> and "
866 "I<dli_saddr> are set to NULL."
867 msgstr ""
868 "I<addr> にマッチするシンボルが見つからなかった場合、 I<dli_sname> と "
869 "I<dli_saddr> は NULL にセットされる。"
870
871 #. type: Plain text
872 #: build/C/man3/dladdr.3:87
873 msgid ""
874 "The function B<dladdr1>()  is like B<dladdr>(), but returns additional "
875 "information via the argument I<extra_info>.  The information returned "
876 "depends on the value specified in I<flags>, which can have one of the "
877 "following values:"
878 msgstr ""
879
880 #. type: TP
881 #: build/C/man3/dladdr.3:87
882 #, fuzzy, no-wrap
883 #| msgid "B<RTLD_LAZY>"
884 msgid "B<RTLD_DL_LINKMAP>"
885 msgstr "B<RTLD_LAZY>"
886
887 #. type: Plain text
888 #: build/C/man3/dladdr.3:99
889 msgid ""
890 "Obtain a pointer to the link map for the matched file.  The I<extra_info> "
891 "argument points to a pointer to a I<link_map> structure (i.e., I<struct "
892 "link_map\\ **>), defined in I<E<lt>link.hE<gt>> as:"
893 msgstr ""
894
895 #. type: Plain text
896 #: build/C/man3/dladdr.3:112 build/C/man3/dlinfo.3:93
897 #, no-wrap
898 msgid ""
899 "struct link_map {\n"
900 "    ElfW(Addr) l_addr;  /* Difference between the\n"
901 "                           address in the ELF file and\n"
902 "                           the address in memory */\n"
903 "    char      *l_name;  /* Absolute pathname where\n"
904 "                           object was found */\n"
905 "    ElfW(Dyn) *l_ld;    /* Dynamic section of the\n"
906 "                           shared object */\n"
907 "    struct link_map *l_next, *l_prev;\n"
908 "                        /* Chain of loaded objects */\n"
909 msgstr ""
910
911 #. type: Plain text
912 #: build/C/man3/dladdr.3:116 build/C/man3/dlinfo.3:97
913 #, no-wrap
914 msgid ""
915 "    /* Plus additional fields private to the\n"
916 "       implementation */\n"
917 "};\n"
918 msgstr ""
919
920 #. type: TP
921 #: build/C/man3/dladdr.3:118
922 #, fuzzy, no-wrap
923 #| msgid "B<DT_SYMENT>"
924 msgid "B<RTLD_DL_SYMENT>"
925 msgstr "B<DT_SYMENT>"
926
927 #. type: Plain text
928 #: build/C/man3/dladdr.3:136
929 #, fuzzy
930 #| msgid ""
931 #| "(The I<ElfW>()  macro definition turns its argument into the name of an "
932 #| "ELF data type suitable for the hardware architecture.  For example, on a "
933 #| "32-bit platform, ElfW(Addr) yields the data type name Elf32_Addr.  "
934 #| "Further information on these types can be found in the I<E<lt>elf.hE<gt>> "
935 #| "and I<E<lt>link.hE<gt>> header files.)"
936 msgid ""
937 "Obtain a pointer to the ELF symbol table entry of the matching symbol.  The "
938 "I<extra_info> argument is a pointer to a symbol pointer: I<const ElfW(Sym) "
939 "**>.  The I<ElfW>()  macro definition turns its argument into the name of an "
940 "ELF data type suitable for the hardware architecture.  For example, on a 64-"
941 "bit platform, I<ElfW(Sym)> yields the data type name I<Elf64_Sym>, which is "
942 "defined in I<E<lt>elf.hE<gt>> as:"
943 msgstr ""
944 "(I<ElfW>()  マクロ定義は引き数をハードウェアアーキテクチャーに適した ELF デー"
945 "タ型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は"
946 "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ"
947 "ダーファイル I<E<lt>elf.hE<gt>> と I<E<lt>link.hE<gt>> にある。"
948
949 #. type: Plain text
950 #: build/C/man3/dladdr.3:147
951 #, fuzzy, no-wrap
952 #| msgid ""
953 #| "typedef struct {\n"
954 #| "    uint32_t      st_name;\n"
955 #| "    unsigned char st_info;\n"
956 #| "    unsigned char st_other;\n"
957 #| "    uint16_t      st_shndx;\n"
958 #| "    Elf64_Addr    st_value;\n"
959 #| "    uint64_t      st_size;\n"
960 #| "} Elf64_Sym;\n"
961 msgid ""
962 "typedef struct  {\n"
963 "    Elf64_Word    st_name;     /* Symbol name */\n"
964 "    unsigned char st_info;     /* Symbol type and binding */\n"
965 "    unsigned char st_other;    /* Symbol visibility */\n"
966 "    Elf64_Section st_shndx;    /* Section index */\n"
967 "    Elf64_Addr    st_value;    /* Symbol value */\n"
968 "    Elf64_Xword   st_size;     /* Symbol size */\n"
969 "} Elf64_Sym;\n"
970 msgstr ""
971 "typedef struct {\n"
972 "    uint32_t      st_name;\n"
973 "    unsigned char st_info;\n"
974 "    unsigned char st_other;\n"
975 "    uint16_t      st_shndx;\n"
976 "    Elf64_Addr    st_value;\n"
977 "    uint64_t      st_size;\n"
978 "} Elf64_Sym;\n"
979
980 #. type: Plain text
981 #: build/C/man3/dladdr.3:153
982 msgid "The I<st_name> field is an index into the string table."
983 msgstr ""
984
985 #. type: Plain text
986 #: build/C/man3/dladdr.3:162
987 msgid ""
988 "The I<st_info> field encodes the symbol's type and binding.  The type can be "
989 "extracted using the macro B<ELF64_ST_TYPE(st_info)> (or B<ELF32_ST_TYPE()> "
990 "on 32-bit platforms), which yields one of the following values:"
991 msgstr ""
992
993 #. type: tbl table
994 #: build/C/man3/dladdr.3:166 build/C/man3/dladdr.3:189
995 #: build/C/man3/dladdr.3:208
996 #, no-wrap
997 msgid "Description"
998 msgstr ""
999
1000 #. type: tbl table
1001 #: build/C/man3/dladdr.3:167
1002 #, fuzzy, no-wrap
1003 #| msgid "B<STT_NOTYPE>"
1004 msgid "STT_NOTYPE"
1005 msgstr "B<STT_NOTYPE>"
1006
1007 #. type: tbl table
1008 #: build/C/man3/dladdr.3:167
1009 #, fuzzy, no-wrap
1010 #| msgid "The symbol's type is not defined."
1011 msgid "Symbol type is unspecified"
1012 msgstr "シンボルのタイプが定義されていない。"
1013
1014 #. type: tbl table
1015 #: build/C/man3/dladdr.3:168
1016 #, fuzzy, no-wrap
1017 #| msgid "B<STT_OBJECT>"
1018 msgid "STT_OBJECT"
1019 msgstr "B<STT_OBJECT>"
1020
1021 #. type: tbl table
1022 #: build/C/man3/dladdr.3:168
1023 #, fuzzy, no-wrap
1024 #| msgid "The symbol is associated with a data object."
1025 msgid "Symbol is a data object"
1026 msgstr "シンボルはデータオブジェクトに関連づけられている。"
1027
1028 #. type: tbl table
1029 #: build/C/man3/dladdr.3:169
1030 #, fuzzy, no-wrap
1031 #| msgid "B<STT_FUNC>"
1032 msgid "STT_FUNC"
1033 msgstr "B<STT_FUNC>"
1034
1035 #. type: tbl table
1036 #: build/C/man3/dladdr.3:169
1037 #, no-wrap
1038 msgid "Symbol is a code object"
1039 msgstr ""
1040
1041 #. type: tbl table
1042 #: build/C/man3/dladdr.3:170
1043 #, fuzzy, no-wrap
1044 #| msgid "B<STT_SECTION>"
1045 msgid "STT_SECTION"
1046 msgstr "B<STT_SECTION>"
1047
1048 #. type: tbl table
1049 #: build/C/man3/dladdr.3:170
1050 #, fuzzy, no-wrap
1051 #| msgid "The symbol is associated with a data object."
1052 msgid "Symbol associated with a section"
1053 msgstr "シンボルはデータオブジェクトに関連づけられている。"
1054
1055 #. type: tbl table
1056 #: build/C/man3/dladdr.3:171
1057 #, fuzzy, no-wrap
1058 #| msgid "B<STT_FILE>"
1059 msgid "STT_FILE"
1060 msgstr "B<STT_FILE>"
1061
1062 #. type: tbl table
1063 #: build/C/man3/dladdr.3:171
1064 #, no-wrap
1065 msgid "Symbol's name is filename"
1066 msgstr ""
1067
1068 #. type: tbl table
1069 #: build/C/man3/dladdr.3:172
1070 #, fuzzy, no-wrap
1071 #| msgid "B<SHN_COMMON>"
1072 msgid "STT_COMMON"
1073 msgstr "B<SHN_COMMON>"
1074
1075 #. type: tbl table
1076 #: build/C/man3/dladdr.3:172
1077 #, fuzzy, no-wrap
1078 #| msgid "The symbol is associated with a data object."
1079 msgid "Symbol is a common data object"
1080 msgstr "シンボルはデータオブジェクトに関連づけられている。"
1081
1082 #. type: tbl table
1083 #: build/C/man3/dladdr.3:173
1084 #, no-wrap
1085 msgid "STT_TLS"
1086 msgstr ""
1087
1088 #. type: tbl table
1089 #: build/C/man3/dladdr.3:173
1090 #, fuzzy, no-wrap
1091 #| msgid "The symbol is associated with a data object."
1092 msgid "Symbol is thread-local data object"
1093 msgstr "シンボルはデータオブジェクトに関連づけられている。"
1094
1095 #. type: tbl table
1096 #: build/C/man3/dladdr.3:174
1097 #, fuzzy, no-wrap
1098 #| msgid "B<STT_FUNC>"
1099 msgid "STT_GNU_IFUNC"
1100 msgstr "B<STT_FUNC>"
1101
1102 #. type: tbl table
1103 #: build/C/man3/dladdr.3:174
1104 #, no-wrap
1105 msgid "Symbol is indirect code object"
1106 msgstr ""
1107
1108 #. type: Plain text
1109 #: build/C/man3/dladdr.3:185
1110 msgid ""
1111 "The symbol binding can be extracted from the I<st_info> field using the "
1112 "macro B<ELF64_ST_BIND(st_info)> (or B<ELF32_ST_BIND()> on 32-bit platforms), "
1113 "which yields one of the following values:"
1114 msgstr ""
1115
1116 #. type: tbl table
1117 #: build/C/man3/dladdr.3:190
1118 #, fuzzy, no-wrap
1119 #| msgid "B<STB_LOCAL>"
1120 msgid "STB_LOCAL"
1121 msgstr "B<STB_LOCAL>"
1122
1123 #. type: tbl table
1124 #: build/C/man3/dladdr.3:190
1125 #, no-wrap
1126 msgid "Local symbol"
1127 msgstr ""
1128
1129 #. type: tbl table
1130 #: build/C/man3/dladdr.3:191
1131 #, fuzzy, no-wrap
1132 #| msgid "B<STB_GLOBAL>"
1133 msgid "STB_GLOBAL"
1134 msgstr "B<STB_GLOBAL>"
1135
1136 #. type: tbl table
1137 #: build/C/man3/dladdr.3:191
1138 #, no-wrap
1139 msgid "Global symbol"
1140 msgstr ""
1141
1142 #. type: tbl table
1143 #: build/C/man3/dladdr.3:192
1144 #, fuzzy, no-wrap
1145 #| msgid "B<STB_WEAK>"
1146 msgid "STB_WEAK"
1147 msgstr "B<STB_WEAK>"
1148
1149 #. type: tbl table
1150 #: build/C/man3/dladdr.3:192
1151 #, no-wrap
1152 msgid "Weak symbol"
1153 msgstr ""
1154
1155 #. type: tbl table
1156 #: build/C/man3/dladdr.3:193
1157 #, no-wrap
1158 msgid "STB_GNU_UNIQUE"
1159 msgstr ""
1160
1161 #. type: tbl table
1162 #: build/C/man3/dladdr.3:193
1163 #, no-wrap
1164 msgid "Unique symbol"
1165 msgstr ""
1166
1167 #. type: Plain text
1168 #: build/C/man3/dladdr.3:204
1169 msgid ""
1170 "The I<st_other> field contains the symbol's visibility, which can be "
1171 "extracted using the macro B<ELF64_ST_VISIBILITY(st_info)> (or "
1172 "B<ELF32_ST_VISIBILITY()> on 32-bit platforms), which yields one of the "
1173 "following values:"
1174 msgstr ""
1175
1176 #. type: tbl table
1177 #: build/C/man3/dladdr.3:209
1178 #, fuzzy, no-wrap
1179 #| msgid "B<STV_DEFAULT>"
1180 msgid "STV_DEFAULT"
1181 msgstr "B<STV_DEFAULT>"
1182
1183 #. type: tbl table
1184 #: build/C/man3/dladdr.3:209
1185 #, fuzzy, no-wrap
1186 #| msgid "Default symbol visibility rules."
1187 msgid "Default symbol visibility rules"
1188 msgstr "デフォルトのシンボル visibility ルール。"
1189
1190 #. type: tbl table
1191 #: build/C/man3/dladdr.3:210
1192 #, fuzzy, no-wrap
1193 #| msgid "B<STV_INTERNAL>"
1194 msgid "STV_INTERNAL"
1195 msgstr "B<STV_INTERNAL>"
1196
1197 #. type: tbl table
1198 #: build/C/man3/dladdr.3:210
1199 #, fuzzy, no-wrap
1200 #| msgid "Processor-specific hidden class."
1201 msgid "Processor-specific hidden class"
1202 msgstr "プロセッサ固有の隠しクラス。"
1203
1204 #. type: tbl table
1205 #: build/C/man3/dladdr.3:211
1206 #, fuzzy, no-wrap
1207 #| msgid "B<STV_HIDDEN>"
1208 msgid "STV_HIDDEN"
1209 msgstr "B<STV_HIDDEN>"
1210
1211 #. type: tbl table
1212 #: build/C/man3/dladdr.3:211
1213 #, fuzzy, no-wrap
1214 #| msgid "Symbol is unavailable in other modules."
1215 msgid "Symbol unavailable in other modules"
1216 msgstr "シンボルは他のモジュールからは利用できない。"
1217
1218 #. type: tbl table
1219 #: build/C/man3/dladdr.3:212
1220 #, fuzzy, no-wrap
1221 #| msgid "B<STV_PROTECTED>"
1222 msgid "STV_PROTECTED"
1223 msgstr "B<STV_PROTECTED>"
1224
1225 #. type: tbl table
1226 #: build/C/man3/dladdr.3:212
1227 #, fuzzy, no-wrap
1228 #| msgid "Not preemptible, not exported."
1229 msgid "Not preemptible, not exported"
1230 msgstr "横取りできず (not preemptible)、公開されない。"
1231
1232 #. type: Plain text
1233 #: build/C/man3/dladdr.3:225
1234 msgid ""
1235 "On success, these functions return a nonzero value.  If the address "
1236 "specified in I<addr> could be matched to a shared object, but not to a "
1237 "symbol in the shared object, then the I<info-E<gt>dli_sname> and I<info-"
1238 "E<gt>dli_saddr> fields are set to NULL."
1239 msgstr ""
1240
1241 #.  According to the FreeBSD man page, dladdr1() does signal an
1242 #.  error via dlerror() for this case.
1243 #. type: Plain text
1244 #: build/C/man3/dladdr.3:235
1245 msgid ""
1246 "If the address specified in I<addr> could not be matched to a shared object, "
1247 "then these functions return 0.  In this case, an error message is I<not> "
1248 "available via B<dlerror>(3)."
1249 msgstr ""
1250
1251 #. type: Plain text
1252 #: build/C/man3/dladdr.3:240
1253 msgid ""
1254 "B<dladdr>()  is present in glibc 2.0 and later.  B<dladdr1>()  first "
1255 "appeared in glibc 2.3.3."
1256 msgstr ""
1257
1258 #. type: tbl table
1259 #: build/C/man3/dladdr.3:251
1260 #, no-wrap
1261 msgid ""
1262 "B<dladdr>(),\n"
1263 "B<dladdr1>()"
1264 msgstr ""
1265
1266 #. type: Plain text
1267 #: build/C/man3/dladdr.3:256
1268 msgid ""
1269 "These functions are nonstandard GNU extensions that are also present on "
1270 "Solaris."
1271 msgstr ""
1272
1273 #. type: SH
1274 #: build/C/man3/dladdr.3:256 build/C/man3/dlopen.3:534 build/C/man1/ldd.1:155
1275 #: build/C/man1/memusage.1:200 build/C/man1/memusagestat.1:81
1276 #: build/C/man1/mtrace.1:58 build/C/man1/pldd.1:99
1277 #: build/C/man7/rtld-audit.7:509
1278 #, no-wrap
1279 msgid "BUGS"
1280 msgstr "バグ"
1281
1282 #. type: Plain text
1283 #: build/C/man3/dladdr.3:268
1284 #, fuzzy
1285 #| msgid ""
1286 #| "Sometimes, the function pointers you pass to B<dladdr>()  may surprise "
1287 #| "you.  On some architectures (notably i386 and x86_64), I<dli_fname> and "
1288 #| "I<dli_fbase> may end up pointing back at the object from which you called "
1289 #| "B<dladdr>(), even if the function used as an argument should come from a "
1290 #| "dynamically linked library."
1291 msgid ""
1292 "Sometimes, the function pointers you pass to B<dladdr>()  may surprise you.  "
1293 "On some architectures (notably i386 and x86-64), I<dli_fname> and "
1294 "I<dli_fbase> may end up pointing back at the object from which you called "
1295 "B<dladdr>(), even if the function used as an argument should come from a "
1296 "dynamically linked library."
1297 msgstr ""
1298 "時として、 B<dladdr>()  に渡した関数ポインターは驚くような値になることがあ"
1299 "る。 いくつかのアーキテクチャー (特に i386 と x86_64) では、 引き数として使用"
1300 "した関数が動的リンクライブラリで定義されるもので あったとしても、 "
1301 "I<dli_fname> と I<dli_fbase> が B<dladdr>()  を呼び出したオブジェクトを参照し"
1302 "た状態で終わっていることがある。"
1303
1304 #. type: Plain text
1305 #: build/C/man3/dladdr.3:284
1306 #, fuzzy
1307 #| msgid ""
1308 #| "The problem is that the function pointer will still be resolved at "
1309 #| "compile time, but merely point to the I<plt> (Procedure Linkage Table)  "
1310 #| "section of the original object (which dispatches the call after asking "
1311 #| "the dynamic linker to resolve the symbol).  To work around this, you can "
1312 #| "try to compile the code to be position-independent: then, the compiler "
1313 #| "cannot prepare the pointer at compile time anymore and today's B<gcc>(1)  "
1314 #| "will generate code that just loads the final symbol address from the "
1315 #| "I<got> (Global Offset Table) at run time before passing it to B<dladdr>()."
1316 msgid ""
1317 "The problem is that the function pointer will still be resolved at compile "
1318 "time, but merely point to the I<plt> (Procedure Linkage Table)  section of "
1319 "the original object (which dispatches the call after asking the dynamic "
1320 "linker to resolve the symbol).  To work around this, you can try to compile "
1321 "the code to be position-independent: then, the compiler cannot prepare the "
1322 "pointer at compile time any more and B<gcc>(1)  will generate code that just "
1323 "loads the final symbol address from the I<got> (Global Offset Table) at run "
1324 "time before passing it to B<dladdr>()."
1325 msgstr ""
1326 "問題は、関数ポインターの解決は今なおコンパイル時に行われるが、 そのポインター"
1327 "は元のオブジェクトの I<plt> (Procedure Linkage Table) セクションを指している"
1328 "だけだという点にある (オブジェクト自体は、ダイナミックリンカーによってシンボ"
1329 "ルの解決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法として"
1330 "は、 コードを position-independent でコンパイルするという方法がある。 そうす"
1331 "ると、コンパイラはコンパイル時にポインターを用意することができず、 今日の "
1332 "B<gcc>(1)  では、実行時に B<dladdr>()  に関数ポインターを渡す前に、 I<got> "
1333 "(Global Offset Table) から最終的なシンボルのアドレスをロードするだけの コード"
1334 "が生成される。"
1335
1336 #. type: Plain text
1337 #: build/C/man3/dladdr.3:290
1338 #, fuzzy
1339 #| msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
1340 msgid ""
1341 "B<dl_iterate_phdr>(3), B<dlinfo>(3), B<dlopen>(3), B<dlsym>(3), B<ld.so>(8)"
1342 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
1343
1344 #. type: TH
1345 #: build/C/man3/dlerror.3:25
1346 #, no-wrap
1347 msgid "DLERROR"
1348 msgstr ""
1349
1350 #. type: TH
1351 #: build/C/man3/dlerror.3:25 build/C/man3/dlsym.3:25 build/C/man3/end.3:26
1352 #: build/C/man8/ldconfig.8:22 build/C/man1/memusagestat.1:23
1353 #, fuzzy, no-wrap
1354 #| msgid "2014-06-24"
1355 msgid "2020-06-09"
1356 msgstr "2014-06-24"
1357
1358 #. type: Plain text
1359 #: build/C/man3/dlerror.3:28
1360 msgid "dlerror - obtain error diagnostic for functions in the dlopen API"
1361 msgstr ""
1362
1363 #. type: Plain text
1364 #: build/C/man3/dlerror.3:30 build/C/man3/dlopen.3:41 build/C/man3/dlopen.3:49
1365 #: build/C/man3/dlsym.3:30 build/C/man3/dlsym.3:36
1366 msgid "B<#include E<lt>dlfcn.hE<gt>>"
1367 msgstr "B<#include E<lt>dlfcn.hE<gt>>"
1368
1369 #. type: Plain text
1370 #: build/C/man3/dlerror.3:32
1371 msgid "B<char *dlerror(void);>"
1372 msgstr "B<char *dlerror(void);>"
1373
1374 #. type: Plain text
1375 #: build/C/man3/dlerror.3:34 build/C/man3/dlopen.3:53 build/C/man3/dlsym.3:40
1376 msgid "Link with I<-ldl>."
1377 msgstr "I<-ldl> でリンクする。"
1378
1379 #. type: Plain text
1380 #: build/C/man3/dlerror.3:45
1381 #, fuzzy
1382 #| msgid ""
1383 #| "The function B<dlerror>()  returns a human-readable string describing the "
1384 #| "most recent error that occurred from B<dlopen>(), B<dlsym>()  or "
1385 #| "B<dlclose>()  since the last call to B<dlerror>().  It returns NULL if no "
1386 #| "errors have occurred since initialization or since it was last called."
1387 msgid ""
1388 "The B<dlerror>()  function returns a human-readable, null-terminated string "
1389 "describing the most recent error that occurred from a call to one of the "
1390 "functions in the dlopen API since the last call to B<dlerror>().  The "
1391 "returned string does I<not> include a trailing newline."
1392 msgstr ""
1393 "関数 B<dlerror>()  は、前回 B<dlerror>()  が呼び出された後に、 B<dlopen>(), "
1394 "B<dlsym>(), B<dlclose>()  のいずれかで最後に発生したエラーについての説明メッ"
1395 "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ"
1396 "ば NULL を返す。"
1397
1398 #. type: Plain text
1399 #: build/C/man3/dlerror.3:49
1400 msgid ""
1401 "B<dlerror>()  returns NULL if no errors have occurred since initialization "
1402 "or since it was last called."
1403 msgstr ""
1404
1405 #. type: Plain text
1406 #: build/C/man3/dlerror.3:52
1407 msgid "B<dlerror>()  is present in glibc 2.0 and later."
1408 msgstr ""
1409
1410 #. type: tbl table
1411 #: build/C/man3/dlerror.3:62
1412 #, fuzzy, no-wrap
1413 #| msgid "dlerror()"
1414 msgid "B<dlerror>()"
1415 msgstr "dlerror()"
1416
1417 #. type: Plain text
1418 #: build/C/man3/dlerror.3:66
1419 msgid "POSIX.1-2001."
1420 msgstr ""
1421
1422 #.  .LP
1423 #.  The string returned by
1424 #.  .BR dlerror ()
1425 #.  should not be modified.
1426 #.  Some systems give the prototype as
1427 #.  .sp
1428 #.  .in +5
1429 #.  .B "const char *dlerror(void);"
1430 #.  .in
1431 #. type: Plain text
1432 #: build/C/man3/dlerror.3:82
1433 msgid ""
1434 "The message returned by B<dlerror>()  may reside in a statically allocated "
1435 "buffer that is overwritten by subsequent B<dlerror>()  calls."
1436 msgstr ""
1437
1438 #. type: SS
1439 #: build/C/man3/dlerror.3:82 build/C/man3/dlopen.3:532 build/C/man3/dlsym.3:162
1440 #, no-wrap
1441 msgid "History"
1442 msgstr "歴史"
1443
1444 #. type: Plain text
1445 #: build/C/man3/dlerror.3:84
1446 msgid "This function is part of the dlopen API, derived from SunOS."
1447 msgstr ""
1448
1449 #. type: Plain text
1450 #: build/C/man3/dlerror.3:87 build/C/man3/dlsym.3:171
1451 #, fuzzy
1452 #| msgid "dlopen()"
1453 msgid "See B<dlopen>(3)."
1454 msgstr "dlopen()"
1455
1456 #. type: Plain text
1457 #: build/C/man3/dlerror.3:92
1458 #, fuzzy
1459 #| msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
1460 msgid "B<dladdr>(3), B<dlinfo>(3), B<dlopen>(3), B<dlsym>(3)"
1461 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
1462
1463 #. type: TH
1464 #: build/C/man3/dlinfo.3:25
1465 #, no-wrap
1466 msgid "DLINFO"
1467 msgstr ""
1468
1469 #. type: Plain text
1470 #: build/C/man3/dlinfo.3:28
1471 msgid "dlinfo - obtain information about a dynamically loaded object"
1472 msgstr ""
1473
1474 #. type: Plain text
1475 #: build/C/man3/dlinfo.3:33
1476 #, fuzzy, no-wrap
1477 #| msgid ""
1478 #| "#define _GNU_SOURCE\n"
1479 #| "#include E<lt>link.hE<gt>\n"
1480 #| "#include E<lt>stdlib.hE<gt>\n"
1481 #| "#include E<lt>stdio.hE<gt>\n"
1482 msgid ""
1483 "B<#define _GNU_SOURCE>\n"
1484 "B<#include E<lt>link.hE<gt>>\n"
1485 "B<#include E<lt>dlfcn.hE<gt>>\n"
1486 msgstr ""
1487 "#define _GNU_SOURCE\n"
1488 "#include E<lt>link.hE<gt>\n"
1489 "#include E<lt>stdlib.hE<gt>\n"
1490 "#include E<lt>stdio.hE<gt>\n"
1491
1492 #. type: Plain text
1493 #: build/C/man3/dlinfo.3:35
1494 #, fuzzy, no-wrap
1495 #| msgid "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1496 msgid "B<int dlinfo(void *>handleB<, int >requestB<, void *>infoB<);>\n"
1497 msgstr "B<int dladdr(void *>I<addr>B<, Dl_info *>I<info>B<);>\n"
1498
1499 #. type: Plain text
1500 #: build/C/man3/dlinfo.3:56
1501 msgid ""
1502 "The B<dlinfo>()  function obtains information about the dynamically loaded "
1503 "object referred to by I<handle> (typically obtained by an earlier call to "
1504 "B<dlopen>(3)  or B<dlmopen>(3)).  The I<request> argument specifies which "
1505 "information is to be returned.  The I<info> argument is a pointer to a "
1506 "buffer used to store information returned by the call; the type of this "
1507 "argument depends on I<request>."
1508 msgstr ""
1509
1510 #. type: Plain text
1511 #: build/C/man3/dlinfo.3:62
1512 msgid ""
1513 "The following values are supported for I<request> (with the corresponding "
1514 "type for I<info> shown in parentheses):"
1515 msgstr ""
1516
1517 #. type: TP
1518 #: build/C/man3/dlinfo.3:62
1519 #, no-wrap
1520 msgid "B<RTLD_DI_LMID> (I<Lmid_t *>)"
1521 msgstr ""
1522
1523 #. type: Plain text
1524 #: build/C/man3/dlinfo.3:67
1525 msgid ""
1526 "Obtain the ID of the link-map list (namespace) in which I<handle> is loaded."
1527 msgstr ""
1528
1529 #. type: TP
1530 #: build/C/man3/dlinfo.3:67
1531 #, no-wrap
1532 msgid "B<RTLD_DI_LINKMAP> (I<struct link_map **>)"
1533 msgstr ""
1534
1535 #. type: Plain text
1536 #: build/C/man3/dlinfo.3:80
1537 msgid ""
1538 "Obtain a pointer to the I<link_map> structure corresponding to I<handle>.  "
1539 "The I<info> argument points to a pointer to a I<link_map> structure, defined "
1540 "in I<E<lt>link.hE<gt>> as:"
1541 msgstr ""
1542
1543 #. type: TP
1544 #: build/C/man3/dlinfo.3:99
1545 #, no-wrap
1546 msgid "B<RTLD_DI_ORIGIN> (I<char *>)"
1547 msgstr ""
1548
1549 #. type: Plain text
1550 #: build/C/man3/dlinfo.3:105
1551 msgid ""
1552 "Copy the pathname of the origin of the shared object corresponding to "
1553 "I<handle> to the location pointed to by I<info>."
1554 msgstr ""
1555
1556 #. type: TP
1557 #: build/C/man3/dlinfo.3:105
1558 #, no-wrap
1559 msgid "B<RTLD_DI_SERINFO> (I<Dl_serinfo *>)"
1560 msgstr ""
1561
1562 #. type: Plain text
1563 #: build/C/man3/dlinfo.3:122
1564 msgid ""
1565 "Obtain the library search paths for the shared object referred to by "
1566 "I<handle>.  The I<info> argument is a pointer to a I<Dl_serinfo> that "
1567 "contains the search paths.  Because the number of search paths may vary, the "
1568 "size of the structure pointed to by I<info> can vary.  The "
1569 "B<RTLD_DI_SERINFOSIZE> request described below allows applications to size "
1570 "the buffer suitably.  The caller must perform the following steps:"
1571 msgstr ""
1572
1573 #. type: IP
1574 #: build/C/man3/dlinfo.3:123
1575 #, no-wrap
1576 msgid "1."
1577 msgstr ""
1578
1579 #. type: Plain text
1580 #: build/C/man3/dlinfo.3:133
1581 msgid ""
1582 "Use a B<RTLD_DI_SERINFOSIZE> request to populate a I<Dl_serinfo> structure "
1583 "with the size (I<dls_size>)  of the structure needed for the subsequent "
1584 "B<RTLD_DI_SERINFO> request."
1585 msgstr ""
1586
1587 #. type: IP
1588 #: build/C/man3/dlinfo.3:133
1589 #, no-wrap
1590 msgid "2."
1591 msgstr ""
1592
1593 #. type: Plain text
1594 #: build/C/man3/dlinfo.3:138
1595 msgid "Allocate a I<Dl_serinfo> buffer of the correct size (I<dls_size>)."
1596 msgstr ""
1597
1598 #. type: IP
1599 #: build/C/man3/dlinfo.3:138
1600 #, no-wrap
1601 msgid "3."
1602 msgstr ""
1603
1604 #. type: Plain text
1605 #: build/C/man3/dlinfo.3:146
1606 msgid ""
1607 "Use a further B<RTLD_DI_SERINFOSIZE> request to populate the I<dls_size> and "
1608 "I<dls_cnt> fields of the buffer allocated in the previous step."
1609 msgstr ""
1610
1611 #. type: IP
1612 #: build/C/man3/dlinfo.3:146
1613 #, no-wrap
1614 msgid "4."
1615 msgstr ""
1616
1617 #. type: Plain text
1618 #: build/C/man3/dlinfo.3:150
1619 msgid "Use a B<RTLD_DI_SERINFO> to obtain the library search paths."
1620 msgstr ""
1621
1622 #. type: Plain text
1623 #: build/C/man3/dlinfo.3:155
1624 msgid "The I<Dl_serinfo> structure is defined as follows:"
1625 msgstr ""
1626
1627 #. type: Plain text
1628 #: build/C/man3/dlinfo.3:166
1629 #, no-wrap
1630 msgid ""
1631 "typedef struct {\n"
1632 "    size_t dls_size;           /* Size in bytes of\n"
1633 "                                  the whole buffer */\n"
1634 "    unsigned int dls_cnt;      /* Number of elements\n"
1635 "                                  in \\(aqdls_serpath\\(aq */\n"
1636 "    Dl_serpath dls_serpath[1]; /* Actually longer,\n"
1637 "                                  \\(aqdls_cnt\\(aq elements */\n"
1638 "} Dl_serinfo;\n"
1639 msgstr ""
1640
1641 #. type: Plain text
1642 #: build/C/man3/dlinfo.3:172
1643 #, fuzzy
1644 #| msgid "These program headers are structures of the following form:"
1645 msgid ""
1646 "Each of the I<dls_serpath> elements in the above structure is a structure of "
1647 "the following form:"
1648 msgstr "これらのプログラムヘッダーは以下のような形式の構造体である:"
1649
1650 #. type: Plain text
1651 #: build/C/man3/dlinfo.3:181
1652 #, no-wrap
1653 msgid ""
1654 "typedef struct {\n"
1655 "    char *dls_name;            /* Name of library search\n"
1656 "                                  path directory */\n"
1657 "    unsigned int dls_flags;    /* Indicates where this\n"
1658 "                                  directory came from */\n"
1659 "} Dl_serpath;\n"
1660 msgstr ""
1661
1662 #. type: Plain text
1663 #: build/C/man3/dlinfo.3:187
1664 msgid "The I<dls_flags> field is currently unused, and always contains zero."
1665 msgstr ""
1666
1667 #. type: TP
1668 #: build/C/man3/dlinfo.3:187
1669 #, no-wrap
1670 msgid "B<RTLD_DI_SERINFOSIZE> (I<Dl_serinfo *>)"
1671 msgstr ""
1672
1673 #. type: Plain text
1674 #: build/C/man3/dlinfo.3:200
1675 msgid ""
1676 "Populate the I<dls_size> and I<dls_cnt> fields of the I<Dl_serinfo> "
1677 "structure pointed to by I<info> with values suitable for allocating a buffer "
1678 "for use in a subsequent B<RTLD_DI_SERINFO> request."
1679 msgstr ""
1680
1681 #. type: TP
1682 #: build/C/man3/dlinfo.3:200
1683 #, fuzzy, no-wrap
1684 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
1685 msgid "B<RTLD_DI_TLS_MODID> (I<size_t *>, since glibc 2.4)"
1686 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
1687
1688 #. type: Plain text
1689 #: build/C/man3/dlinfo.3:206
1690 msgid ""
1691 "Obtain the module ID of this shared object's TLS (thread-local storage)  "
1692 "segment, as used in TLS relocations.  If this object does not define a TLS "
1693 "segment, zero is placed in I<*info>."
1694 msgstr ""
1695
1696 #. type: TP
1697 #: build/C/man3/dlinfo.3:206
1698 #, fuzzy, no-wrap
1699 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
1700 msgid "B<RTLD_DI_TLS_DATA> (I<void **>, since glibc 2.4)"
1701 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
1702
1703 #. type: Plain text
1704 #: build/C/man3/dlinfo.3:214
1705 msgid ""
1706 "Obtain a pointer to the calling thread's TLS block corresponding to this "
1707 "shared object's TLS segment.  If this object does not define a PT_TLS "
1708 "segment, or if the calling thread has not allocated a block for it, NULL is "
1709 "placed in I<*info>."
1710 msgstr ""
1711
1712 #. type: Plain text
1713 #: build/C/man3/dlinfo.3:220
1714 msgid ""
1715 "On success, B<dlinfo>()  returns 0.  On failure, it returns -1; the cause of "
1716 "the error can be diagnosed using B<dlerror>(3)."
1717 msgstr ""
1718
1719 #. type: Plain text
1720 #: build/C/man3/dlinfo.3:223
1721 msgid "B<dlinfo>()  first appeared in glibc 2.3.3."
1722 msgstr ""
1723
1724 #. type: tbl table
1725 #: build/C/man3/dlinfo.3:233
1726 #, fuzzy, no-wrap
1727 #| msgid "I<r_info>"
1728 msgid "B<dlinfo>()"
1729 msgstr "I<r_info>"
1730
1731 #. type: Plain text
1732 #: build/C/man3/dlinfo.3:237
1733 msgid "This function is a nonstandard GNU extension."
1734 msgstr ""
1735
1736 #. type: Plain text
1737 #: build/C/man3/dlinfo.3:242
1738 msgid ""
1739 "This function derives from the Solaris function of the same name and also "
1740 "appears on some other systems.  The sets of requests supported by the "
1741 "various implementations overlaps only partially."
1742 msgstr ""
1743
1744 #. type: Plain text
1745 #: build/C/man3/dlinfo.3:251
1746 msgid ""
1747 "The program below opens a shared objects using B<dlopen>(3)  and then uses "
1748 "the B<RTLD_DI_SERINFOSIZE> and B<RTLD_DI_SERINFO> requests to obtain the "
1749 "library search path list for the library.  Here is an example of what we "
1750 "might see when running the program:"
1751 msgstr ""
1752
1753 #. type: Plain text
1754 #: build/C/man3/dlinfo.3:257
1755 #, no-wrap
1756 msgid ""
1757 "$ B<./a.out /lib64/libm.so.6>\n"
1758 "dls_serpath[0].dls_name = /lib64\n"
1759 "dls_serpath[1].dls_name = /usr/lib64\n"
1760 msgstr ""
1761
1762 #. type: Plain text
1763 #: build/C/man3/dlinfo.3:267
1764 #, fuzzy, no-wrap
1765 #| msgid ""
1766 #| "#define _GNU_SOURCE\n"
1767 #| "#include E<lt>link.hE<gt>\n"
1768 #| "#include E<lt>stdlib.hE<gt>\n"
1769 #| "#include E<lt>stdio.hE<gt>\n"
1770 msgid ""
1771 "#define _GNU_SOURCE\n"
1772 "#include E<lt>dlfcn.hE<gt>\n"
1773 "#include E<lt>link.hE<gt>\n"
1774 "#include E<lt>stdio.hE<gt>\n"
1775 "#include E<lt>stdlib.hE<gt>\n"
1776 msgstr ""
1777 "#define _GNU_SOURCE\n"
1778 "#include E<lt>link.hE<gt>\n"
1779 "#include E<lt>stdlib.hE<gt>\n"
1780 "#include E<lt>stdio.hE<gt>\n"
1781
1782 #. type: Plain text
1783 #: build/C/man3/dlinfo.3:274
1784 #, fuzzy, no-wrap
1785 #| msgid ""
1786 #| "int\n"
1787 #| "main(int argc, char **argv)\n"
1788 #| "{\n"
1789 #| "    void *handle;\n"
1790 #| "    double (*cosine)(double);\n"
1791 #| "    char *error;\n"
1792 msgid ""
1793 "int\n"
1794 "main(int argc, char *argv[])\n"
1795 "{\n"
1796 "    void *handle;\n"
1797 "    Dl_serinfo serinfo;\n"
1798 "    Dl_serinfo *sip;\n"
1799 msgstr ""
1800 "int\n"
1801 "main(int argc, char **argv)\n"
1802 "{\n"
1803 "    void *handle;\n"
1804 "    double (*cosine)(double);\n"
1805 "    char *error;\n"
1806
1807 #. type: Plain text
1808 #: build/C/man3/dlinfo.3:279
1809 #, fuzzy, no-wrap
1810 #| msgid ""
1811 #| "    error = dlerror();\n"
1812 #| "    if (error != NULL) {\n"
1813 #| "        fprintf(stderr, \"%s\\en\", error);\n"
1814 #| "        exit(EXIT_FAILURE);\n"
1815 #| "    }\n"
1816 msgid ""
1817 "    if (argc != 2) {\n"
1818 "        fprintf(stderr, \"Usage: %s E<lt>libpathE<gt>\\en\", argv[0]);\n"
1819 "        exit(EXIT_FAILURE);\n"
1820 "    }\n"
1821 msgstr ""
1822 "    error = dlerror();\n"
1823 "    if (error != NULL) {\n"
1824 "        fprintf(stderr, \"%s\\en\", error);\n"
1825 "        exit(EXIT_FAILURE);\n"
1826 "    }\n"
1827
1828 #. type: Plain text
1829 #: build/C/man3/dlinfo.3:281
1830 #, no-wrap
1831 msgid "    /* Obtain a handle for shared object specified on command line */\n"
1832 msgstr ""
1833
1834 #. type: Plain text
1835 #: build/C/man3/dlinfo.3:287
1836 #, fuzzy, no-wrap
1837 #| msgid ""
1838 #| "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1839 #| "    if (!handle) {\n"
1840 #| "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1841 #| "        exit(EXIT_FAILURE);\n"
1842 #| "    }\n"
1843 msgid ""
1844 "    handle = dlopen(argv[1], RTLD_NOW);\n"
1845 "    if (handle == NULL) {\n"
1846 "        fprintf(stderr, \"dlopen() failed: %s\\en\", dlerror());\n"
1847 "        exit(EXIT_FAILURE);\n"
1848 "    }\n"
1849 msgstr ""
1850 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1851 "    if (!handle) {\n"
1852 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1853 "        exit(EXIT_FAILURE);\n"
1854 "    }\n"
1855
1856 #. type: Plain text
1857 #: build/C/man3/dlinfo.3:290
1858 #, no-wrap
1859 msgid ""
1860 "    /* Discover the size of the buffer that we must pass to\n"
1861 "       RTLD_DI_SERINFO */\n"
1862 msgstr ""
1863
1864 #. type: Plain text
1865 #: build/C/man3/dlinfo.3:295
1866 #, fuzzy, no-wrap
1867 #| msgid ""
1868 #| "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1869 #| "    if (!handle) {\n"
1870 #| "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1871 #| "        exit(EXIT_FAILURE);\n"
1872 #| "    }\n"
1873 msgid ""
1874 "    if (dlinfo(handle, RTLD_DI_SERINFOSIZE, &serinfo) == -1) {\n"
1875 "        fprintf(stderr, \"RTLD_DI_SERINFOSIZE failed: %s\\en\", dlerror());\n"
1876 "        exit(EXIT_FAILURE);\n"
1877 "    }\n"
1878 msgstr ""
1879 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1880 "    if (!handle) {\n"
1881 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1882 "        exit(EXIT_FAILURE);\n"
1883 "    }\n"
1884
1885 #. type: Plain text
1886 #: build/C/man3/dlinfo.3:297
1887 #, no-wrap
1888 msgid "    /* Allocate the buffer for use with RTLD_DI_SERINFO */\n"
1889 msgstr ""
1890
1891 #. type: Plain text
1892 #: build/C/man3/dlinfo.3:303
1893 #, fuzzy, no-wrap
1894 #| msgid ""
1895 #| "    error = dlerror();\n"
1896 #| "    if (error != NULL) {\n"
1897 #| "        fprintf(stderr, \"%s\\en\", error);\n"
1898 #| "        exit(EXIT_FAILURE);\n"
1899 #| "    }\n"
1900 msgid ""
1901 "    sip = malloc(serinfo.dls_size);\n"
1902 "    if (sip == NULL) {\n"
1903 "        perror(\"malloc\");\n"
1904 "        exit(EXIT_FAILURE);\n"
1905 "    }\n"
1906 msgstr ""
1907 "    error = dlerror();\n"
1908 "    if (error != NULL) {\n"
1909 "        fprintf(stderr, \"%s\\en\", error);\n"
1910 "        exit(EXIT_FAILURE);\n"
1911 "    }\n"
1912
1913 #. type: Plain text
1914 #: build/C/man3/dlinfo.3:306
1915 #, no-wrap
1916 msgid ""
1917 "    /* Initialize the \\(aqdls_size\\(aq and \\(aqdls_cnt\\(aq fields in the newly\n"
1918 "       allocated buffer */\n"
1919 msgstr ""
1920
1921 #. type: Plain text
1922 #: build/C/man3/dlinfo.3:311
1923 #, fuzzy, no-wrap
1924 #| msgid ""
1925 #| "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1926 #| "    if (!handle) {\n"
1927 #| "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1928 #| "        exit(EXIT_FAILURE);\n"
1929 #| "    }\n"
1930 msgid ""
1931 "    if (dlinfo(handle, RTLD_DI_SERINFOSIZE, sip) == -1) {\n"
1932 "        fprintf(stderr, \"RTLD_DI_SERINFOSIZE failed: %s\\en\", dlerror());\n"
1933 "        exit(EXIT_FAILURE);\n"
1934 "    }\n"
1935 msgstr ""
1936 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1937 "    if (!handle) {\n"
1938 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1939 "        exit(EXIT_FAILURE);\n"
1940 "    }\n"
1941
1942 #. type: Plain text
1943 #: build/C/man3/dlinfo.3:313
1944 #, no-wrap
1945 msgid "    /* Fetch and print library search list */\n"
1946 msgstr ""
1947
1948 #. type: Plain text
1949 #: build/C/man3/dlinfo.3:318
1950 #, fuzzy, no-wrap
1951 #| msgid ""
1952 #| "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1953 #| "    if (!handle) {\n"
1954 #| "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1955 #| "        exit(EXIT_FAILURE);\n"
1956 #| "    }\n"
1957 msgid ""
1958 "    if (dlinfo(handle, RTLD_DI_SERINFO, sip) == -1) {\n"
1959 "        fprintf(stderr, \"RTLD_DI_SERINFO failed: %s\\en\", dlerror());\n"
1960 "        exit(EXIT_FAILURE);\n"
1961 "    }\n"
1962 msgstr ""
1963 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
1964 "    if (!handle) {\n"
1965 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
1966 "        exit(EXIT_FAILURE);\n"
1967 "    }\n"
1968
1969 #. type: Plain text
1970 #: build/C/man3/dlinfo.3:322
1971 #, fuzzy, no-wrap
1972 #| msgid ""
1973 #| "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
1974 #| "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
1975 #| "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
1976 #| "    return 0;\n"
1977 #| "}\n"
1978 msgid ""
1979 "    for (int j = 0; j E<lt> serinfo.dls_cnt; j++)\n"
1980 "        printf(\"dls_serpath[%d].dls_name = %s\\en\",\n"
1981 "                j, sip-E<gt>dls_serpath[j].dls_name);\n"
1982 msgstr ""
1983 "    for (j = 0; j E<lt> info-E<gt>dlpi_phnum; j++)\n"
1984 "         printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n"
1985 "             (void *) (info-E<gt>dlpi_addr + info-E<gt>dlpi_phdr[j].p_vaddr));\n"
1986 "    return 0;\n"
1987 "}\n"
1988
1989 #. type: Plain text
1990 #: build/C/man3/dlinfo.3:333
1991 #, fuzzy
1992 #| msgid ""
1993 #| "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld."
1994 #| "so>(8)"
1995 msgid ""
1996 "B<dl_iterate_phdr>(3), B<dladdr>(3), B<dlerror>(3), B<dlopen>(3), "
1997 "B<dlsym>(3), B<ld.so>(8)"
1998 msgstr ""
1999 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
2000
2001 #. type: TH
2002 #: build/C/man3/dlopen.3:35
2003 #, no-wrap
2004 msgid "DLOPEN"
2005 msgstr "DLOPEN"
2006
2007 #. type: Plain text
2008 #: build/C/man3/dlopen.3:39
2009 msgid "dlclose, dlopen, dlmopen - open and close a shared object"
2010 msgstr ""
2011
2012 #. type: Plain text
2013 #: build/C/man3/dlopen.3:43
2014 #, fuzzy
2015 #| msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
2016 msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flags>B<);>"
2017 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
2018
2019 #. type: Plain text
2020 #: build/C/man3/dlopen.3:45
2021 msgid "B<int dlclose(void *>I<handle>B<);>"
2022 msgstr "B<int dlclose(void *>I<handle>B<);>"
2023
2024 #. type: Plain text
2025 #: build/C/man3/dlopen.3:47 build/C/man3/dlsym.3:34
2026 msgid "B<#define _GNU_SOURCE>"
2027 msgstr ""
2028
2029 #. type: Plain text
2030 #: build/C/man3/dlopen.3:51
2031 #, fuzzy
2032 #| msgid "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
2033 msgid ""
2034 "B<void *dlmopen(Lmid_t >I<lmid>B<, const char *>I<filename>B<, int "
2035 ">I<flags>B<);>"
2036 msgstr "B<void *dlopen(const char *>I<filename>B<, int >I<flag>B<);>"
2037
2038 #. type: SS
2039 #: build/C/man3/dlopen.3:54
2040 #, no-wrap
2041 msgid "dlopen()"
2042 msgstr "dlopen()"
2043
2044 #. type: Plain text
2045 #: build/C/man3/dlopen.3:68
2046 msgid ""
2047 "The function B<dlopen>()  loads the dynamic shared object (shared library)  "
2048 "file named by the null-terminated string I<filename> and returns an opaque "
2049 "\"handle\" for the loaded object.  This handle is employed with other "
2050 "functions in the dlopen API, such as B<dlsym>(3), B<dladdr>(3), "
2051 "B<dlinfo>(3), and B<dlclose>()."
2052 msgstr ""
2053
2054 #.  FIXME On Solaris, when handle is NULL, we seem to get back
2055 #.  a handle for (something like) the root of the namespace.
2056 #.  The point here is that if we do a dlmopen(LM_ID_NEWLM), then
2057 #.  the filename==NULL case returns a different handle than
2058 #.  in the initial namespace. But, on glibc, the same handle is
2059 #.  returned. This is probably a bug in glibc.
2060 #. type: Plain text
2061 #: build/C/man3/dlopen.3:87
2062 #, fuzzy
2063 #| msgid ""
2064 #| "The function B<dlopen>()  loads the dynamic library file named by the "
2065 #| "null-terminated string I<filename> and returns an opaque \"handle\" for "
2066 #| "the dynamic library.  If I<filename> is NULL, then the returned handle is "
2067 #| "for the main program.  If I<filename> contains a slash (\"/\"), then it "
2068 #| "is interpreted as a (relative or absolute) pathname.  Otherwise, the "
2069 #| "dynamic linker searches for the library as follows (see B<ld.so>(8)  for "
2070 #| "further details):"
2071 msgid ""
2072 "If I<filename> is NULL, then the returned handle is for the main program.  "
2073 "If I<filename> contains a slash (\"/\"), then it is interpreted as a "
2074 "(relative or absolute) pathname.  Otherwise, the dynamic linker searches for "
2075 "the object as follows (see B<ld.so>(8)  for further details):"
2076 msgstr ""
2077 "関数 B<dlopen>()  は、ヌル終端された文字列 I<filename> で指定されたファイル名"
2078 "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部"
2079 "「ハンドル」を返す。 I<filename> が NULL の場合、メインプログラムへのハンドル"
2080 "が返される。 I<filename> がスラッシュ (\"/\") を含む場合、(相対か絶対かの)パ"
2081 "ス名として解釈される。 それ以外の場合、動的リンカーは以下の手順でライブラリを"
2082 "検索する (詳細は B<ld.so>(8)  を参照):"
2083
2084 #. type: IP
2085 #: build/C/man3/dlopen.3:87 build/C/man3/dlopen.3:94 build/C/man3/dlopen.3:101
2086 #: build/C/man3/dlopen.3:105 build/C/man3/dlopen.3:112 build/C/man8/ld.so.8:60
2087 #: build/C/man8/ld.so.8:65 build/C/man8/ld.so.8:70 build/C/man8/ld.so.8:80
2088 #: build/C/man8/ld.so.8:90 build/C/man8/ld.so.8:105 build/C/man8/ld.so.8:111
2089 #: build/C/man8/ld.so.8:120 build/C/man8/ld.so.8:129
2090 #, no-wrap
2091 msgid "o"
2092 msgstr "o"
2093
2094 #. type: Plain text
2095 #: build/C/man3/dlopen.3:94
2096 #, fuzzy
2097 #| msgid ""
2098 #| "(ELF only) If the executable file for the calling program contains a "
2099 #| "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories "
2100 #| "listed in the DT_RPATH tag are searched."
2101 msgid ""
2102 "(ELF only) If the calling object (i.e., the shared library or executable "
2103 "from which B<dlopen>()  is called)  contains a DT_RPATH tag, and does not "
2104 "contain a DT_RUNPATH tag, then the directories listed in the DT_RPATH tag "
2105 "are searched."
2106 msgstr ""
2107 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお"
2108 "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ"
2109 "クトリリストを検索する。"
2110
2111 #. type: Plain text
2112 #: build/C/man3/dlopen.3:101
2113 #, fuzzy
2114 #| msgid ""
2115 #| "If, at the time that the program was started, the environment variable "
2116 #| "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
2117 #| "directories, then these are searched.  (As a security measure this "
2118 #| "variable is ignored for set-user-ID and set-group-ID programs.)"
2119 msgid ""
2120 "If, at the time that the program was started, the environment variable "
2121 "B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
2122 "directories, then these are searched.  (As a security measure, this variable "
2123 "is ignored for set-user-ID and set-group-ID programs.)"
2124 msgstr ""
2125 "プログラムの開始時に環境変数 B<LD_LIBRARY_PATH> にコロン区切りのディレクトリ"
2126 "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され"
2127 "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの"
2128 "場合は無視される)。"
2129
2130 #. type: Plain text
2131 #: build/C/man3/dlopen.3:105
2132 #, fuzzy
2133 #| msgid ""
2134 #| "(ELF only) If the executable file for the calling program contains a "
2135 #| "DT_RUNPATH tag, then the directories listed in that tag are searched."
2136 msgid ""
2137 "(ELF only) If the calling object contains a DT_RUNPATH tag, then the "
2138 "directories listed in that tag are searched."
2139 msgstr ""
2140 "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い"
2141 "る場合、そのタグに書かれているディレクトリリストを検索する。"
2142
2143 #. type: Plain text
2144 #: build/C/man3/dlopen.3:112
2145 msgid ""
2146 "The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8))  is "
2147 "checked to see whether it contains an entry for I<filename>."
2148 msgstr ""
2149 "キャッシュファイル I</etc/ld.so.cache> の中に I<filename> のエントリーが入っ"
2150 "ているかをチェックする (B</etc/ld.so.cache> は B<ldconfig>(8)  によって管理さ"
2151 "れている)。"
2152
2153 #. type: Plain text
2154 #: build/C/man3/dlopen.3:118
2155 msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
2156 msgstr "ディレクトリ I</lib> と I</usr/lib> をこの順番で検索する。"
2157
2158 #. type: Plain text
2159 #: build/C/man3/dlopen.3:126
2160 #, fuzzy
2161 #| msgid ""
2162 #| "If the library has dependencies on other shared libraries, then these are "
2163 #| "also automatically loaded by the dynamic linker using the same rules.  "
2164 #| "(This process may occur recursively, if those libraries in turn have "
2165 #| "dependencies, and so on.)"
2166 msgid ""
2167 "If the object specified by I<filename> has dependencies on other shared "
2168 "objects, then these are also automatically loaded by the dynamic linker "
2169 "using the same rules.  (This process may occur recursively, if those objects "
2170 "in turn have dependencies, and so on.)"
2171 msgstr ""
2172 "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ"
2173 "リも動的リンカーが同じ検索ルールに基づいて 自動的にロードする (それらのライブ"
2174 "ラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。"
2175
2176 #. type: Plain text
2177 #: build/C/man3/dlopen.3:129
2178 #, fuzzy
2179 #| msgid "One of the following two values must be included in I<flag>:"
2180 msgid "One of the following two values must be included in I<flags>:"
2181 msgstr "I<flag> には以下の 2 つの値のいずれかを含めなければならない:"
2182
2183 #. type: TP
2184 #: build/C/man3/dlopen.3:129
2185 #, no-wrap
2186 msgid "B<RTLD_LAZY>"
2187 msgstr "B<RTLD_LAZY>"
2188
2189 #.  commit 12b5b6b7f78ea111e89bbf638294a5413c791072
2190 #. type: Plain text
2191 #: build/C/man3/dlopen.3:142
2192 #, fuzzy
2193 #| msgid ""
2194 #| "Perform lazy binding.  Only resolve symbols as the code that references "
2195 #| "them is executed.  If the symbol is never referenced, then it is never "
2196 #| "resolved.  (Lazy binding is performed only for function references; "
2197 #| "references to variables are always immediately bound when the library is "
2198 #| "loaded.)"
2199 msgid ""
2200 "Perform lazy binding.  Resolve symbols only as the code that references them "
2201 "is executed.  If the symbol is never referenced, then it is never resolved.  "
2202 "(Lazy binding is performed only for function references; references to "
2203 "variables are always immediately bound when the shared object is loaded.)  "
2204 "Since glibc 2.1.1, this flag is overridden by the effect of the "
2205 "B<LD_BIND_NOW> environment variable."
2206 msgstr ""
2207 "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ"
2208 "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな"
2209 "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数"
2210 "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で"
2211 "直ちに解決される。)"
2212
2213 #. type: TP
2214 #: build/C/man3/dlopen.3:142
2215 #, no-wrap
2216 msgid "B<RTLD_NOW>"
2217 msgstr "B<RTLD_NOW>"
2218
2219 #. type: Plain text
2220 #: build/C/man3/dlopen.3:151
2221 #, fuzzy
2222 #| msgid ""
2223 #| "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
2224 #| "set to a nonempty string, all undefined symbols in the library are "
2225 #| "resolved before B<dlopen>()  returns.  If this cannot be done, an error "
2226 #| "is returned."
2227 msgid ""
2228 "If this value is specified, or the environment variable B<LD_BIND_NOW> is "
2229 "set to a nonempty string, all undefined symbols in the shared object are "
2230 "resolved before B<dlopen>()  returns.  If this cannot be done, an error is "
2231 "returned."
2232 msgstr ""
2233 "この値が指定されるか、環境変数 B<LD_BIND_NOW> に空でない文字列が設定された場"
2234 "合、 ライブラリ中の未定義のシンボルを全て解決してから B<dlopen>()  は復帰す"
2235 "る。解決できなかったときにはエラーが返される。"
2236
2237 #. type: Plain text
2238 #: build/C/man3/dlopen.3:154
2239 #, fuzzy
2240 #| msgid "Zero or more of the following values may also be ORed in I<flag>:"
2241 msgid "Zero or more of the following values may also be ORed in I<flags>:"
2242 msgstr ""
2243 "以下の値のうち 0 個以上を論理和 (OR) の形で I<flag> に追加することもできる:"
2244
2245 #. type: TP
2246 #: build/C/man3/dlopen.3:154
2247 #, no-wrap
2248 msgid "B<RTLD_GLOBAL>"
2249 msgstr "B<RTLD_GLOBAL>"
2250
2251 #. type: Plain text
2252 #: build/C/man3/dlopen.3:158
2253 #, fuzzy
2254 #| msgid ""
2255 #| "The symbols defined by this library will be made available for symbol "
2256 #| "resolution of subsequently loaded libraries."
2257 msgid ""
2258 "The symbols defined by this shared object will be made available for symbol "
2259 "resolution of subsequently loaded shared objects."
2260 msgstr ""
2261 "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ"
2262 "のシンボル解決で利用できるようになる。"
2263
2264 #. type: TP
2265 #: build/C/man3/dlopen.3:158
2266 #, no-wrap
2267 msgid "B<RTLD_LOCAL>"
2268 msgstr "B<RTLD_LOCAL>"
2269
2270 #. type: Plain text
2271 #: build/C/man3/dlopen.3:165
2272 #, fuzzy
2273 #| msgid ""
2274 #| "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag "
2275 #| "is specified.  Symbols defined in this library are not made available to "
2276 #| "resolve references in subsequently loaded libraries."
2277 msgid ""
2278 "This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
2279 "specified.  Symbols defined in this shared object are not made available to "
2280 "resolve references in subsequently loaded shared objects."
2281 msgstr ""
2282 "このフラグは B<RTLD_GLOBAL> の反対の意味であり、どちらのフラグも指定されな"
2283 "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ"
2284 "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。"
2285
2286 #. type: TP
2287 #: build/C/man3/dlopen.3:165
2288 #, no-wrap
2289 msgid "B<RTLD_NODELETE> (since glibc 2.2)"
2290 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
2291
2292 #. type: Plain text
2293 #: build/C/man3/dlopen.3:173
2294 #, fuzzy
2295 #| msgid ""
2296 #| "Do not unload the library during B<dlclose>().  Consequently, the "
2297 #| "library's static variables are not reinitialized if the library is "
2298 #| "reloaded with B<dlopen>()  at a later time.  This flag is not specified "
2299 #| "in POSIX.1-2001."
2300 msgid ""
2301 "Do not unload the shared object during B<dlclose>().  Consequently, the "
2302 "object's static and global variables are not reinitialized if the object is "
2303 "reloaded with B<dlopen>()  at a later time."
2304 msgstr ""
2305 "B<dlclose>()  中にそのライブラリをアンロードしない。 そのため、同じライブラリ"
2306 "をこれ以降に B<dlopen>()  で再度ロードした場合に、ライブラリ内の静的変数は再"
2307 "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。"
2308
2309 #. type: TP
2310 #: build/C/man3/dlopen.3:173
2311 #, no-wrap
2312 msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
2313 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
2314
2315 #. type: Plain text
2316 #: build/C/man3/dlopen.3:186
2317 #, fuzzy
2318 #| msgid ""
2319 #| "Don't load the library.  This can be used to test if the library is "
2320 #| "already resident (B<dlopen>()  returns NULL if it is not, or the "
2321 #| "library's handle if it is resident).  This flag can also be used to "
2322 #| "promote the flags on a library that is already loaded.  For example, a "
2323 #| "library that was previously loaded with B<RTLD_LOCAL> can be reopened "
2324 #| "with B<RTLD_NOLOAD\\ |\\ RTLD_GLOBAL>.  This flag is not specified in "
2325 #| "POSIX.1-2001."
2326 msgid ""
2327 "Don't load the shared object.  This can be used to test if the object is "
2328 "already resident (B<dlopen>()  returns NULL if it is not, or the object's "
2329 "handle if it is resident).  This flag can also be used to promote the flags "
2330 "on a shared object that is already loaded.  For example, a shared object "
2331 "that was previously loaded with B<RTLD_LOCAL> can be reopened with "
2332 "B<RTLD_NOLOAD\\ |\\ RTLD_GLOBAL>."
2333 msgstr ""
2334 "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて"
2335 "いるかを検査するのに 利用できる (B<dlopen>()  は、ライブラリが組み込まれてい"
2336 "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返"
2337 "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で"
2338 "きる。例えば、過去に B<RTLD_LOCAL> でロードしたライブラリを B<RTLD_NOLOAD\\ |"
2339 "\\ RTLD_GLOBAL> で再オープンすることができる。 このフラグは POSIX.1-2001 では"
2340 "規定されていない。"
2341
2342 #. type: TP
2343 #: build/C/man3/dlopen.3:186
2344 #, no-wrap
2345 msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
2346 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
2347
2348 #.  Inimitably described by UD in
2349 #.  http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
2350 #. type: Plain text
2351 #: build/C/man3/dlopen.3:195
2352 #, fuzzy
2353 #| msgid ""
2354 #| "Place the lookup scope of the symbols in this library ahead of the global "
2355 #| "scope.  This means that a self-contained library will use its own symbols "
2356 #| "in preference to global symbols with the same name contained in libraries "
2357 #| "that have already been loaded.  This flag is not specified in "
2358 #| "POSIX.1-2001."
2359 msgid ""
2360 "Place the lookup scope of the symbols in this shared object ahead of the "
2361 "global scope.  This means that a self-contained object will use its own "
2362 "symbols in preference to global symbols with the same name contained in "
2363 "objects that have already been loaded."
2364 msgstr ""
2365 "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま"
2366 "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の"
2367 "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この"
2368 "フラグは POSIX.1-2001 では規定されていない。"
2369
2370 #. type: Plain text
2371 #: build/C/man3/dlopen.3:207
2372 #, fuzzy
2373 #| msgid ""
2374 #| "If I<filename> is NULL, then the returned handle is for the main "
2375 #| "program.  When given to B<dlsym>(), this handle causes a search for a "
2376 #| "symbol in the main program, followed by all shared libraries loaded at "
2377 #| "program startup, and then all shared libraries loaded by B<dlopen>()  "
2378 #| "with the flag B<RTLD_GLOBAL>."
2379 msgid ""
2380 "If I<filename> is NULL, then the returned handle is for the main program.  "
2381 "When given to B<dlsym>(3), this handle causes a search for a symbol in the "
2382 "main program, followed by all shared objects loaded at program startup, and "
2383 "then all shared objects loaded by B<dlopen>()  with the flag B<RTLD_GLOBAL>."
2384 msgstr ""
2385 "I<filename> が NULL である場合は、 返されるハンドルはメインプログラムのものに"
2386 "なる。 このハンドルが B<dlsym>()  に渡されると、シンボルの検索は、メインプロ"
2387 "グラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 "
2388 "B<dlopen>()  によって B<RTLD_GLOBAL> フラグ付きでロードされた全ての共有ライブ"
2389 "ラリ、の順序で行われる。"
2390
2391 #. type: Plain text
2392 #: build/C/man3/dlopen.3:219
2393 msgid ""
2394 "Symbol references in the shared object are resolved using (in order): "
2395 "symbols in the link map of objects loaded for the main program and its "
2396 "dependencies; symbols in shared objects (and their dependencies)  that were "
2397 "previously opened with B<dlopen>()  using the B<RTLD_GLOBAL> flag; and "
2398 "definitions in the shared object itself (and any dependencies that were "
2399 "loaded for that object)."
2400 msgstr ""
2401
2402 #. type: Plain text
2403 #: build/C/man3/dlopen.3:231
2404 msgid ""
2405 "Any global symbols in the executable that were placed into its dynamic "
2406 "symbol table by B<ld>(1)  can also be used to resolve references in a "
2407 "dynamically loaded shared object.  Symbols may be placed in the dynamic "
2408 "symbol table either because the executable was linked with the flag \"-"
2409 "rdynamic\" (or, synonymously, \"--export-dynamic\"), which causes all of the "
2410 "executable's global symbols to be placed in the dynamic symbol table, or "
2411 "because B<ld>(1)  noted a dependency on a symbol in another object during "
2412 "static linking."
2413 msgstr ""
2414
2415 #. type: Plain text
2416 #: build/C/man3/dlopen.3:244
2417 #, fuzzy
2418 #| msgid ""
2419 #| "If the same library is loaded again with B<dlopen>(), the same library "
2420 #| "handle is returned.  The dl library maintains reference counts for "
2421 #| "library handles, so a dynamic library is not deallocated until "
2422 #| "B<dlclose>()  has been called on it as many times as B<dlopen>()  has "
2423 #| "succeeded on it.  The B<_init>()  routine, if present, is called only "
2424 #| "once.  But a subsequent call with B<RTLD_NOW> may force symbol resolution "
2425 #| "for a library earlier loaded with B<RTLD_LAZY>."
2426 msgid ""
2427 "If the same shared object is opened again with B<dlopen>(), the same object "
2428 "handle is returned.  The dynamic linker maintains reference counts for "
2429 "object handles, so a dynamically loaded shared object is not deallocated "
2430 "until B<dlclose>()  has been called on it as many times as B<dlopen>()  has "
2431 "succeeded on it.  Constructors (see below) are called only when the object "
2432 "is actually loaded into memory (i.e., when the reference count increases to "
2433 "1)."
2434 msgstr ""
2435 "同じライブラリが B<dlopen>()  によって再度ロードされた場合には、同じライブラ"
2436 "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して"
2437 "いる。 したがって動的ライブラリは B<dlclose>()  が B<dlopen>()  と同じ回数だ"
2438 "け呼び出されない限りアンロードされない。 B<_init>()  ルーチンは一度だけ呼び出"
2439 "される (B<_init>()  が存在する場合のみ)。 B<RTLD_NOW> が指定されて "
2440 "B<dlopen>()  が呼び出された場合、 B<RTLD_LAZY> で以前にロードされたライブラリ"
2441 "のシンボル解決が実行されることがある。"
2442
2443 #. type: Plain text
2444 #: build/C/man3/dlopen.3:257
2445 msgid ""
2446 "A subsequent B<dlopen>()  call that loads the same shared object with "
2447 "B<RTLD_NOW> may force symbol resolution for a shared object earlier loaded "
2448 "with B<RTLD_LAZY>.  Similarly, an object that was previously opened with "
2449 "B<RTLD_LOCAL> can be promoted to B<RTLD_GLOBAL> in a subsequent B<dlopen>()."
2450 msgstr ""
2451
2452 #. type: Plain text
2453 #: build/C/man3/dlopen.3:262
2454 msgid "If B<dlopen>()  fails for any reason, it returns NULL."
2455 msgstr "B<dlopen>()  は、何らかの理由で失敗すると NULL を返す。"
2456
2457 #. type: SS
2458 #: build/C/man3/dlopen.3:262
2459 #, fuzzy, no-wrap
2460 #| msgid "dlopen()"
2461 msgid "dlmopen()"
2462 msgstr "dlopen()"
2463
2464 #. type: Plain text
2465 #: build/C/man3/dlopen.3:270
2466 msgid ""
2467 "This function performs the same task as B<dlopen>()\\(emthe I<filename> and "
2468 "I<flags> arguments, as well as the return value, are the same, except for "
2469 "the differences noted below."
2470 msgstr ""
2471
2472 #. type: Plain text
2473 #: build/C/man3/dlopen.3:289
2474 msgid ""
2475 "The B<dlmopen>()  function differs from B<dlopen>()  primarily in that it "
2476 "accepts an additional argument, I<lmid>, that specifies the link-map list "
2477 "(also referred to as a I<namespace>)  in which the shared object should be "
2478 "loaded.  (By comparison, B<dlopen>()  adds the dynamically loaded shared "
2479 "object to the same namespace as the shared object from which the "
2480 "B<dlopen>()  call is made.)  The I<Lmid_t> type is an opaque handle that "
2481 "refers to a namespace."
2482 msgstr ""
2483
2484 #.  FIXME: Is using dlinfo() RTLD_DI_LMID the right technique?
2485 #. type: Plain text
2486 #: build/C/man3/dlopen.3:298
2487 msgid ""
2488 "The I<lmid> argument is either the ID of an existing namespace (which can be "
2489 "obtained using the B<dlinfo>(3)  B<RTLD_DI_LMID> request) or one of the "
2490 "following special values:"
2491 msgstr ""
2492
2493 #. type: TP
2494 #: build/C/man3/dlopen.3:298 build/C/man7/rtld-audit.7:198
2495 #, no-wrap
2496 msgid "B<LM_ID_BASE>"
2497 msgstr "B<LM_ID_BASE>"
2498
2499 #. type: Plain text
2500 #: build/C/man3/dlopen.3:302
2501 msgid ""
2502 "Load the shared object in the initial namespace (i.e., the application's "
2503 "namespace)."
2504 msgstr ""
2505
2506 #. type: TP
2507 #: build/C/man3/dlopen.3:302 build/C/man7/rtld-audit.7:201
2508 #, no-wrap
2509 msgid "B<LM_ID_NEWLM>"
2510 msgstr "B<LM_ID_NEWLM>"
2511
2512 #. type: Plain text
2513 #: build/C/man3/dlopen.3:308
2514 msgid ""
2515 "Create a new namespace and load the shared object in that namespace.  The "
2516 "object must have been correctly linked to reference all of the other shared "
2517 "objects that it requires, since the new namespace is initially empty."
2518 msgstr ""
2519
2520 #. type: Plain text
2521 #: build/C/man3/dlopen.3:315
2522 msgid ""
2523 "If I<filename> is NULL, then the only permitted value for I<lmid> is "
2524 "B<LM_ID_BASE>."
2525 msgstr ""
2526
2527 #. type: SS
2528 #: build/C/man3/dlopen.3:315
2529 #, no-wrap
2530 msgid "dlclose()"
2531 msgstr "dlclose()"
2532
2533 #. type: Plain text
2534 #: build/C/man3/dlopen.3:321
2535 #, fuzzy
2536 #| msgid ""
2537 #| "The function B<dlclose>()  decrements the reference count on the dynamic "
2538 #| "library handle I<handle>.  If the reference count drops to zero and no "
2539 #| "other loaded libraries use symbols in it, then the dynamic library is "
2540 #| "unloaded."
2541 msgid ""
2542 "The function B<dlclose>()  decrements the reference count on the dynamically "
2543 "loaded shared object referred to by I<handle>."
2544 msgstr ""
2545 "関数 B<dlclose>()  は動的ライブラリのハンドル I<handle> の参照カウントを 1 減"
2546 "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ"
2547 "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。"
2548
2549 #. type: Plain text
2550 #: build/C/man3/dlopen.3:330
2551 msgid ""
2552 "If the object's reference count drops to zero and no symbols in this object "
2553 "are required by other objects, then the object is unloaded after first "
2554 "calling any destructors defined for the object.  (Symbols in this object "
2555 "might be required in another object because this object was opened with the "
2556 "B<RTLD_GLOBAL> flag and one of its symbols satisfied a relocation in another "
2557 "object.)"
2558 msgstr ""
2559
2560 #. type: Plain text
2561 #: build/C/man3/dlopen.3:336
2562 msgid ""
2563 "All shared objects that were automatically loaded when B<dlopen>()  was "
2564 "invoked on the object referred to by I<handle> are recursively closed in the "
2565 "same manner."
2566 msgstr ""
2567
2568 #. type: Plain text
2569 #: build/C/man3/dlopen.3:348
2570 msgid ""
2571 "A successful return from B<dlclose>()  does not guarantee that the symbols "
2572 "associated with I<handle> are removed from the caller's address space.  In "
2573 "addition to references resulting from explicit B<dlopen>()  calls, a shared "
2574 "object may have been implicitly loaded (and reference counted) because of "
2575 "dependencies in other shared objects.  Only when all references have been "
2576 "released can the shared object be removed from the address space."
2577 msgstr ""
2578
2579 #. type: Plain text
2580 #: build/C/man3/dlopen.3:358
2581 msgid ""
2582 "On success, B<dlopen>()  and B<dlmopen>()  return a non-NULL handle for the "
2583 "loaded object.  On error (file could not be found, was not readable, had the "
2584 "wrong format, or caused errors during loading), these functions return NULL."
2585 msgstr ""
2586
2587 #. type: Plain text
2588 #: build/C/man3/dlopen.3:362
2589 #, fuzzy
2590 #| msgid "B<dladdr>()  returns 0 on error, and nonzero on success."
2591 msgid ""
2592 "On success, B<dlclose>()  returns 0; on error, it returns a nonzero value."
2593 msgstr "B<dladdr>()  は、エラー時には 0 を返し、成功した場合は 0 以外を返す。"
2594
2595 #. type: Plain text
2596 #: build/C/man3/dlopen.3:365
2597 msgid "Errors from these functions can be diagnosed using B<dlerror>(3)."
2598 msgstr ""
2599
2600 #. type: Plain text
2601 #: build/C/man3/dlopen.3:372
2602 msgid ""
2603 "B<dlopen>()  and B<dlclose>()  are present in glibc 2.0 and later.  "
2604 "B<dlmopen>()  first appeared in glibc 2.3.4."
2605 msgstr ""
2606
2607 #. type: tbl table
2608 #: build/C/man3/dlopen.3:384
2609 #, fuzzy, no-wrap
2610 #| msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
2611 msgid ""
2612 "B<dlopen>(),\n"
2613 "B<dlmopen>(),\n"
2614 "B<dlclose>()"
2615 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
2616
2617 #. type: Plain text
2618 #: build/C/man3/dlopen.3:394
2619 #, fuzzy
2620 #| msgid ""
2621 #| "POSIX.1-2001 describes B<dlclose>(), B<dlerror>(), B<dlopen>(), and "
2622 #| "B<dlsym>()."
2623 msgid ""
2624 "POSIX.1-2001 describes B<dlclose>()  and B<dlopen>().  The B<dlmopen>()  "
2625 "function is a GNU extension."
2626 msgstr ""
2627 "POSIX.1-2003 には B<dlclose>(), B<dlerror>(), B<dlopen>(), B<dlsym>().  の記"
2628 "載がある。"
2629
2630 #. type: Plain text
2631 #: build/C/man3/dlopen.3:402
2632 msgid ""
2633 "The B<RTLD_NOLOAD>, B<RTLD_NODELETE>, and B<RTLD_DEEPBIND> flags are GNU "
2634 "extensions; the first two of these flags are also present on Solaris."
2635 msgstr ""
2636
2637 #. type: SS
2638 #: build/C/man3/dlopen.3:403
2639 #, no-wrap
2640 msgid "dlmopen() and namespaces"
2641 msgstr ""
2642
2643 #. type: Plain text
2644 #: build/C/man3/dlopen.3:411
2645 msgid ""
2646 "A link-map list defines an isolated namespace for the resolution of symbols "
2647 "by the dynamic linker.  Within a namespace, dependent shared objects are "
2648 "implicitly loaded according to the usual rules, and symbol references are "
2649 "likewise resolved according to the usual rules, but such resolution is "
2650 "confined to the definitions provided by the objects that have been "
2651 "(explicitly and implicitly) loaded into the namespace."
2652 msgstr ""
2653
2654 #. type: Plain text
2655 #: build/C/man3/dlopen.3:431
2656 msgid ""
2657 "The B<dlmopen>()  function permits object-load isolation\\(emthe ability to "
2658 "load a shared object in a new namespace without exposing the rest of the "
2659 "application to the symbols made available by the new object.  Note that the "
2660 "use of the B<RTLD_LOCAL> flag is not sufficient for this purpose, since it "
2661 "prevents a shared object's symbols from being available to I<any> other "
2662 "shared object.  In some cases, we may want to make the symbols provided by a "
2663 "dynamically loaded shared object available to (a subset of) other shared "
2664 "objects without exposing those symbols to the entire application.  This can "
2665 "be achieved by using a separate namespace and the B<RTLD_GLOBAL> flag."
2666 msgstr ""
2667
2668 #. type: Plain text
2669 #: build/C/man3/dlopen.3:447
2670 msgid ""
2671 "The B<dlmopen>()  function also can be used to provide better isolation than "
2672 "the B<RTLD_LOCAL> flag.  In particular, shared objects loaded with "
2673 "B<RTLD_LOCAL> may be promoted to B<RTLD_GLOBAL> if they are dependencies of "
2674 "another shared object loaded with B<RTLD_GLOBAL>.  Thus, B<RTLD_LOCAL> is "
2675 "insufficient to isolate a loaded shared object except in the (uncommon)  "
2676 "case where one has explicit control over all shared object dependencies."
2677 msgstr ""
2678
2679 #. type: Plain text
2680 #: build/C/man3/dlopen.3:462
2681 msgid ""
2682 "Possible uses of B<dlmopen>()  are plugins where the author of the plugin-"
2683 "loading framework can't trust the plugin authors and does not wish any "
2684 "undefined symbols from the plugin framework to be resolved to plugin "
2685 "symbols.  Another use is to load the same object more than once.  Without "
2686 "the use of B<dlmopen>(), this would require the creation of distinct copies "
2687 "of the shared object file.  Using B<dlmopen>(), this can be achieved by "
2688 "loading the same shared object file into different namespaces."
2689 msgstr ""
2690
2691 #.  DL_NNS
2692 #. type: Plain text
2693 #: build/C/man3/dlopen.3:467
2694 msgid "The glibc implementation supports a maximum of 16 namespaces."
2695 msgstr ""
2696
2697 #. type: SS
2698 #: build/C/man3/dlopen.3:467
2699 #, no-wrap
2700 msgid "Initialization and finalization functions"
2701 msgstr ""
2702
2703 #.  info gcc "C Extensions" "Function attributes"
2704 #. type: Plain text
2705 #: build/C/man3/dlopen.3:486
2706 msgid ""
2707 "Shared objects may export functions using the "
2708 "B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
2709 "attributes.  Constructor functions are executed before B<dlopen>()  returns, "
2710 "and destructor functions are executed before B<dlclose>()  returns.  A "
2711 "shared object may export multiple constructors and destructors, and "
2712 "priorities can be associated with each function to determine the order in "
2713 "which they are executed.  See the B<gcc> info pages (under \"Function "
2714 "attributes\")  for further information."
2715 msgstr ""
2716
2717 #. type: Plain text
2718 #: build/C/man3/dlopen.3:506
2719 #, fuzzy
2720 #| msgid ""
2721 #| "The linker recognizes special symbols B<_init> and B<_fini>.  If a "
2722 #| "dynamic library exports a routine named B<_init>(), then that code is "
2723 #| "executed after the loading, before B<dlopen>()  returns.  If the dynamic "
2724 #| "library exports a routine named B<_fini>(), then that routine is called "
2725 #| "just before the library is unloaded.  In case you need to avoid linking "
2726 #| "against the system startup files, this can be done by using the "
2727 #| "B<gcc>(1)  I<-nostartfiles> command-line option."
2728 msgid ""
2729 "An older method of (partially) achieving the same result is via the use of "
2730 "two special symbols recognized by the linker: B<_init> and B<_fini>.  If a "
2731 "dynamically loaded shared object exports a routine named B<_init>(), then "
2732 "that code is executed after loading a shared object, before B<dlopen>()  "
2733 "returns.  If the shared object exports a routine named B<_fini>(), then that "
2734 "routine is called just before the object is unloaded.  In this case, one "
2735 "must avoid linking against the system startup files, which contain default "
2736 "versions of these files; this can be done by using the B<gcc>(1)  I<-"
2737 "nostartfiles> command-line option."
2738 msgstr ""
2739 "リンカーは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラ"
2740 "リで B<_init>()  という名前のルーチンがエクスポートされていれば、 そのコード"
2741 "は、ライブラリのロード後、かつ B<dlopen>()  が復帰する前に実行される。 その動"
2742 "的ライブラリで B<_fini>()  という名前のルーチンがエクスポートされていれば、 "
2743 "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動"
2744 "ファイルに対するリンクを避ける必要がある場合、 B<gcc>(1)  のコマンドラインに "
2745 "I<-nostartfiles> オプションを指定すればよい。"
2746
2747 #
2748 #.  Using these routines, or the gcc
2749 #.  .B \-nostartfiles
2750 #.  or
2751 #.  .B \-nostdlib
2752 #.  options, is not recommended.
2753 #.  Their use may result in undesired behavior,
2754 #.  since the constructor/destructor routines will not be executed
2755 #.  (unless special measures are taken).
2756 #.  .\" void _init(void) __attribute__((constructor));
2757 #.  .\" void _fini(void) __attribute__((destructor));
2758 #. type: Plain text
2759 #: build/C/man3/dlopen.3:527
2760 msgid ""
2761 "Use of B<_init> and B<_fini> is now deprecated in favor of the "
2762 "aforementioned constructors and destructors, which among other advantages, "
2763 "permit multiple initialization and finalization functions to be defined."
2764 msgstr ""
2765
2766 #. type: Plain text
2767 #: build/C/man3/dlopen.3:532
2768 #, fuzzy
2769 #| msgid ""
2770 #| "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
2771 #| "that is automatically called when a library is unloaded."
2772 msgid ""
2773 "Since glibc 2.2.3, B<atexit>(3)  can be used to register an exit handler "
2774 "that is automatically called when a shared object is unloaded."
2775 msgstr ""
2776 "glibc 2.2.3 以降では、 B<atexit>(3)  を使って、ライブラリがアンロードされる際"
2777 "に自動的に呼び出される 終了ハンドラー (exit handler) を登録することができる。"
2778
2779 #. type: Plain text
2780 #: build/C/man3/dlopen.3:534
2781 msgid "These functions are part of the dlopen API, derived from SunOS."
2782 msgstr ""
2783
2784 #.  dlerror(): "invalid mode"
2785 #.  https://sourceware.org/bugzilla/show_bug.cgi?id=18684
2786 #. type: Plain text
2787 #: build/C/man3/dlopen.3:550
2788 msgid ""
2789 "As at glibc 2.24, specifying the B<RTLD_GLOBAL> flag when calling "
2790 "B<dlmopen>()  generates an error.  Furthermore, specifying B<RTLD_GLOBAL> "
2791 "when calling B<dlopen>()  results in a program crash (B<SIGSEGV>)  if the "
2792 "call is made from any object loaded in a namespace other than the initial "
2793 "namespace."
2794 msgstr ""
2795
2796 #. type: Plain text
2797 #: build/C/man3/dlopen.3:556
2798 msgid ""
2799 "The program below loads the (glibc) math library, looks up the address of "
2800 "the B<cos>(3)  function, and prints the cosine of 2.0.  The following is an "
2801 "example of building and running the program:"
2802 msgstr ""
2803
2804 #. type: Plain text
2805 #: build/C/man3/dlopen.3:562
2806 #, no-wrap
2807 msgid ""
2808 "$ B<cc dlopen_demo.c -ldl>\n"
2809 "$ B<./a.out>\n"
2810 "-0.416147\n"
2811 msgstr ""
2812
2813 #. type: Plain text
2814 #: build/C/man3/dlopen.3:578
2815 #, no-wrap
2816 msgid ""
2817 "#include E<lt>stdio.hE<gt>\n"
2818 "#include E<lt>stdlib.hE<gt>\n"
2819 "#include E<lt>dlfcn.hE<gt>\n"
2820 "#include E<lt>gnu/lib-names.hE<gt>  /* Defines LIBM_SO (which will be a\n"
2821 "                               string such as \"libm.so.6\") */\n"
2822 "int\n"
2823 "main(void)\n"
2824 "{\n"
2825 "    void *handle;\n"
2826 "    double (*cosine)(double);\n"
2827 "    char *error;\n"
2828 msgstr ""
2829
2830 #. type: Plain text
2831 #: build/C/man3/dlopen.3:584
2832 #, fuzzy, no-wrap
2833 #| msgid ""
2834 #| "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
2835 #| "    if (!handle) {\n"
2836 #| "        fprintf(stderr, \"%s\\en\", dlerror());\n"
2837 #| "        exit(EXIT_FAILURE);\n"
2838 #| "    }\n"
2839 msgid ""
2840 "    handle = dlopen(LIBM_SO, RTLD_LAZY);\n"
2841 "    if (!handle) {\n"
2842 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
2843 "        exit(EXIT_FAILURE);\n"
2844 "    }\n"
2845 msgstr ""
2846 "    handle = dlopen(\"libm.so\", RTLD_LAZY);\n"
2847 "    if (!handle) {\n"
2848 "        fprintf(stderr, \"%s\\en\", dlerror());\n"
2849 "        exit(EXIT_FAILURE);\n"
2850 "    }\n"
2851
2852 #. type: Plain text
2853 #: build/C/man3/dlopen.3:586
2854 #, no-wrap
2855 msgid "    dlerror();    /* Clear any existing error */\n"
2856 msgstr "    dlerror();    /* Clear any existing error */\n"
2857
2858 #. type: Plain text
2859 #: build/C/man3/dlopen.3:588
2860 #, no-wrap
2861 msgid "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
2862 msgstr "    cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
2863
2864 #. type: Plain text
2865 #: build/C/man3/dlopen.3:593
2866 #, fuzzy, no-wrap
2867 #| msgid ""
2868 #| "    /* According to the ISO C standard, casting between function\n"
2869 #| "       pointers and 'void *', as done above, produces undefined results.\n"
2870 #| "       POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n"
2871 #| "       proposed the following workaround:\n"
2872 msgid ""
2873 "    /* According to the ISO C standard, casting between function\n"
2874 "       pointers and \\(aqvoid *\\(aq, as done above, produces undefined results.\n"
2875 "       POSIX.1-2001 and POSIX.1-2008 accepted this state of affairs and\n"
2876 "       proposed the following workaround:\n"
2877 msgstr ""
2878 "    /* ISO の C 標準によれば、上のような、関数ポインターと 'void *' 間の\n"
2879 "       キャストを行った場合に得られる結果は不定である。\n"
2880 "       POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n"
2881 "       以下のようなワークアラウンドが提案されている。\n"
2882
2883 #. type: Plain text
2884 #: build/C/man3/dlopen.3:595
2885 #, no-wrap
2886 msgid "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
2887 msgstr "           *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
2888
2889 #. type: Plain text
2890 #: build/C/man3/dlopen.3:598
2891 #, no-wrap
2892 msgid ""
2893 "       This (clumsy) cast conforms with the ISO C standard and will\n"
2894 "       avoid any compiler warnings.\n"
2895 msgstr ""
2896 "       この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n"
2897 "       コンパイラの警告を避けることができる。\n"
2898
2899 #.  http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
2900 #.  http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
2901 #.  http://austingroupbugs.net/view.php?id=74
2902 #. type: Plain text
2903 #: build/C/man3/dlopen.3:607
2904 #, fuzzy, no-wrap
2905 #| msgid ""
2906 #| "       The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n"
2907 #| "       POSIX.1-2013) improved matters by requiring that conforming\n"
2908 #| "       implementations support casting 'void *' to a function pointer.\n"
2909 #| "       Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n"
2910 #| "       option) may complain about the cast used in this program. */\n"
2911 msgid ""
2912 "       The 2013 Technical Corrigendum 1 to POSIX.1-2008 improved matters\n"
2913 "       by requiring that conforming implementations support casting\n"
2914 "       \\(aqvoid *\\(aq to a function pointer.  Nevertheless, some compilers\n"
2915 "       (e.g., gcc with the \\(aq-pedantic\\(aq option) may complain about the\n"
2916 "       cast used in this program. */\n"
2917 msgstr ""
2918 "       POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n"
2919 "       では、 POSIX に準拠する実装では 'void *' から関数ポインターへの\n"
2920 "       キャストをサポートすることが要求されるようになり、状況が改善\n"
2921 "       された。にもかかわらず、('-pedantic' オプションを指定した gcc\n"
2922 "       などの) いくつかのコンパイラは、このプログラムで使用されている\n"
2923 "       キャストについて文句を言うのだ。\n"
2924
2925 #. type: Plain text
2926 #: build/C/man3/dlopen.3:613
2927 #, no-wrap
2928 msgid ""
2929 "    error = dlerror();\n"
2930 "    if (error != NULL) {\n"
2931 "        fprintf(stderr, \"%s\\en\", error);\n"
2932 "        exit(EXIT_FAILURE);\n"
2933 "    }\n"
2934 msgstr ""
2935 "    error = dlerror();\n"
2936 "    if (error != NULL) {\n"
2937 "        fprintf(stderr, \"%s\\en\", error);\n"
2938 "        exit(EXIT_FAILURE);\n"
2939 "    }\n"
2940
2941 #. type: Plain text
2942 #: build/C/man3/dlopen.3:618
2943 #, no-wrap
2944 msgid ""
2945 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
2946 "    dlclose(handle);\n"
2947 "    exit(EXIT_SUCCESS);\n"
2948 "}\n"
2949 msgstr ""
2950 "    printf(\"%f\\en\", (*cosine)(2.0));\n"
2951 "    dlclose(handle);\n"
2952 "    exit(EXIT_SUCCESS);\n"
2953 "}\n"
2954
2955 #. type: Plain text
2956 #: build/C/man3/dlopen.3:631
2957 #, fuzzy
2958 #| msgid ""
2959 #| "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
2960 #| "B<ld.so>(8), B<ldconfig>(8)"
2961 msgid ""
2962 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<dladdr>(3), "
2963 "B<dlerror>(3), B<dlinfo>(3), B<dlsym>(3), B<rtld-audit>(7), B<ld.so>(8), "
2964 "B<ldconfig>(8)"
2965 msgstr ""
2966 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<rtld-audit>(7), "
2967 "B<ld.so>(8), B<ldconfig>(8)"
2968
2969 #. type: Plain text
2970 #: build/C/man3/dlopen.3:633
2971 #, fuzzy
2972 #| msgid "ld.so info pages, gcc info pages, ld info pages"
2973 msgid "gcc info pages, ld info pages"
2974 msgstr "ld.so info pages, gcc info pages, ld info pages"
2975
2976 #. type: TH
2977 #: build/C/man3/dlsym.3:25
2978 #, no-wrap
2979 msgid "DLSYM"
2980 msgstr ""
2981
2982 #. type: Plain text
2983 #: build/C/man3/dlsym.3:28
2984 msgid ""
2985 "dlsym, dlvsym - obtain address of a symbol in a shared object or executable"
2986 msgstr ""
2987
2988 #. type: Plain text
2989 #: build/C/man3/dlsym.3:32
2990 msgid "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
2991 msgstr "B<void *dlsym(void *>I<handle>B<, const char *>I<symbol>B<);>"
2992
2993 #. type: Plain text
2994 #: build/C/man3/dlsym.3:38
2995 #, fuzzy
2996 #| msgid ""
2997 #| "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char "
2998 #| "*>I<version>B<);>\n"
2999 msgid ""
3000 "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);>"
3001 msgstr ""
3002 "B<void *dlvsym(void *>I<handle>B<, char *>I<symbol>B<, char *>I<version>B<);"
3003 ">\n"
3004
3005 #. type: Plain text
3006 #: build/C/man3/dlsym.3:57
3007 #, fuzzy
3008 #| msgid ""
3009 #| "The function B<dlsym>()  takes a \"handle\" of a dynamic library returned "
3010 #| "by B<dlopen>()  and the null-terminated symbol name, returning the "
3011 #| "address where that symbol is loaded into memory.  If the symbol is not "
3012 #| "found, in the specified library or any of the libraries that were "
3013 #| "automatically loaded by B<dlopen>()  when that library was loaded, "
3014 #| "B<dlsym>()  returns NULL.  (The search performed by B<dlsym>()  is "
3015 #| "breadth first through the dependency tree of these libraries.)  Since the "
3016 #| "value of the symbol could actually be NULL (so that a NULL return from "
3017 #| "B<dlsym>()  need not indicate an error), the correct way to test for an "
3018 #| "error is to call B<dlerror>()  to clear any old error conditions, then "
3019 #| "call B<dlsym>(), and then call B<dlerror>()  again, saving its return "
3020 #| "value into a variable, and check whether this saved value is not NULL."
3021 msgid ""
3022 "The function B<dlsym>()  takes a \"handle\" of a dynamic loaded shared "
3023 "object returned by B<dlopen>(3)  along with a null-terminated symbol name, "
3024 "and returns the address where that symbol is loaded into memory.  If the "
3025 "symbol is not found, in the specified object or any of the shared objects "
3026 "that were automatically loaded by B<dlopen>(3)  when that object was loaded, "
3027 "B<dlsym>()  returns NULL.  (The search performed by B<dlsym>()  is breadth "
3028 "first through the dependency tree of these shared objects.)"
3029 msgstr ""
3030 "関数 B<dlsym>()  は、 B<dlopen>()  が返した動的ライブラリの「ハンドル」と、 "
3031 "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた"
3032 "メモリーのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライ"
3033 "ブラリがロードされる際に B<dlopen>()  が自動的にロードしてライブラリのいずれ"
3034 "にも見つからない場合には、 B<dlsym>()  は NULL を返す (B<dlsym>()  による検索"
3035 "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には"
3036 "シンボルの値自体が NULL になることもある (そのため、 B<dlsym>()  の返り値が "
3037 "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す"
3038 "る正しい方法は以下の通りである: B<dlerror>()  を呼び出して以前のエラー状態を"
3039 "クリアしてから、 B<dlsym>()  を呼び出す。その後でもう一度 B<dlerror>()  を呼"
3040 "び出して、 B<dlerror>()  の返り値を変数に保存し、保存した値が NULL であるか判"
3041 "定する。"
3042
3043 #. type: Plain text
3044 #: build/C/man3/dlsym.3:71
3045 msgid ""
3046 "In unusual cases (see NOTES) the value of the symbol could actually be "
3047 "NULL.  Therefore, a NULL return from B<dlsym>()  need not indicate an "
3048 "error.  The correct way to distinguish an error from a symbol whose value is "
3049 "NULL is to call B<dlerror>(3)  to clear any old error conditions, then call "
3050 "B<dlsym>(), and then call B<dlerror>(3)  again, saving its return value into "
3051 "a variable, and check whether this saved value is not NULL."
3052 msgstr ""
3053
3054 #. type: Plain text
3055 #: build/C/man3/dlsym.3:74
3056 msgid ""
3057 "There are two special pseudo-handles that may be specified in I<handle>:"
3058 msgstr ""
3059
3060 #. type: TP
3061 #: build/C/man3/dlsym.3:74
3062 #, fuzzy, no-wrap
3063 #| msgid "B<STV_DEFAULT>"
3064 msgid "B<RTLD_DEFAULT>"
3065 msgstr "B<STV_DEFAULT>"
3066
3067 #. type: Plain text
3068 #: build/C/man3/dlsym.3:83
3069 msgid ""
3070 "Find the first occurrence of the desired symbol using the default shared "
3071 "object search order.  The search will include global symbols in the "
3072 "executable and its dependencies, as well as symbols in shared objects that "
3073 "were dynamically loaded with the B<RTLD_GLOBAL> flag."
3074 msgstr ""
3075
3076 #. type: TP
3077 #: build/C/man3/dlsym.3:83
3078 #, fuzzy, no-wrap
3079 #| msgid "B<RTLD_NOW>"
3080 msgid "B<RTLD_NEXT>"
3081 msgstr "B<RTLD_NOW>"
3082
3083 #. type: Plain text
3084 #: build/C/man3/dlsym.3:97
3085 msgid ""
3086 "Find the next occurrence of the desired symbol in the search order after the "
3087 "current object.  This allows one to provide a wrapper around a function in "
3088 "another shared object, so that, for example, the definition of a function in "
3089 "a preloaded shared object (see B<LD_PRELOAD> in B<ld.so>(8))  can find and "
3090 "invoke the \"real\" function provided in another shared object (or for that "
3091 "matter, the \"next\" definition of the function in cases where there are "
3092 "multiple layers of preloading)."
3093 msgstr ""
3094
3095 #. type: Plain text
3096 #: build/C/man3/dlsym.3:107
3097 msgid ""
3098 "The B<_GNU_SOURCE> feature test macro must be defined in order to obtain the "
3099 "definitions of B<RTLD_DEFAULT> and B<RTLD_NEXT> from I<E<lt>dlfcn.hE<gt>>."
3100 msgstr ""
3101
3102 #. type: Plain text
3103 #: build/C/man3/dlsym.3:113
3104 #, fuzzy
3105 #| msgid ""
3106 #| "The function B<dlvsym>(), provided by glibc since version 2.1, does the "
3107 #| "same as B<dlsym>()  but takes a version string as an additional argument."
3108 msgid ""
3109 "The function B<dlvsym>()  does the same as B<dlsym>()  but takes a version "
3110 "string as an additional argument."
3111 msgstr ""
3112 "関数 B<dlvsym>()  は B<dlsym>()  と同じ動作をするが、バージョンの文字列を渡す"
3113 "引き数が 追加されている点が異なる (B<dlvsym>()  はバージョン 2.1 以降の "
3114 "glibc で提供されている)。"
3115
3116 #. type: Plain text
3117 #: build/C/man3/dlsym.3:120
3118 msgid ""
3119 "On success, these functions return the address associated with I<symbol>.  "
3120 "On failure, they return NULL; the cause of the error can be diagnosed using "
3121 "B<dlerror>(3)."
3122 msgstr ""
3123
3124 #. type: Plain text
3125 #: build/C/man3/dlsym.3:125
3126 msgid ""
3127 "B<dlsym>()  is present in glibc 2.0 and later.  B<dlvsym>()  first appeared "
3128 "in glibc 2.1."
3129 msgstr ""
3130
3131 #. type: tbl table
3132 #: build/C/man3/dlsym.3:136
3133 #, no-wrap
3134 msgid ""
3135 "B<dlsym>(),\n"
3136 "B<dlvsym>()"
3137 msgstr ""
3138
3139 #. type: Plain text
3140 #: build/C/man3/dlsym.3:144
3141 msgid ""
3142 "POSIX.1-2001 describes B<dlsym>().  The B<dlvsym>()  function is a GNU "
3143 "extension."
3144 msgstr ""
3145
3146 #. type: Plain text
3147 #: build/C/man3/dlsym.3:162
3148 msgid ""
3149 "There are several scenarios when the address of a global symbol is NULL.  "
3150 "For example, a symbol can be placed at zero address by the linker, via a "
3151 "linker script or with I<--defsym> command-line option. Undefined weak "
3152 "symbols also have NULL value.  Finally, the symbol value may be the result "
3153 "of a GNU indirect function (IFUNC) resolver function that returns NULL as "
3154 "the resolved value. In the latter case, B<dlsym>()  also returns NULL "
3155 "without error. However, in the former two cases, the behavior of GNU dynamic "
3156 "linker is inconsistent: relocation processing succeeds and the symbol can be "
3157 "observed to have NULL value, but B<dlsym>()  fails and B<dlerror>()  "
3158 "indicates a lookup error."
3159 msgstr ""
3160
3161 #. type: Plain text
3162 #: build/C/man3/dlsym.3:168
3163 msgid ""
3164 "The B<dlsym>()  function is part of the dlopen API, derived from SunOS.  "
3165 "That system does not have B<dlvsym>()."
3166 msgstr ""
3167
3168 #. type: Plain text
3169 #: build/C/man3/dlsym.3:178
3170 #, fuzzy
3171 #| msgid ""
3172 #| "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld."
3173 #| "so>(8)"
3174 msgid ""
3175 "B<dl_iterate_phdr>(3), B<dladdr>(3), B<dlerror>(3), B<dlinfo>(3), "
3176 "B<dlopen>(3), B<ld.so>(8)"
3177 msgstr ""
3178 "B<ldd>(1), B<objdump>(1), B<readelf>(1), B<dlopen>(3), B<elf>(5), B<ld.so>(8)"
3179
3180 #. type: TH
3181 #: build/C/man5/elf.5:35
3182 #, no-wrap
3183 msgid "ELF"
3184 msgstr "ELF"
3185
3186 #. type: TH
3187 #: build/C/man5/elf.5:35
3188 #, fuzzy, no-wrap
3189 #| msgid "2014-12-31"
3190 msgid "2020-12-21"
3191 msgstr "2014-12-31"
3192
3193 #. type: Plain text
3194 #: build/C/man5/elf.5:38
3195 msgid "elf - format of Executable and Linking Format (ELF) files"
3196 msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット"
3197
3198 #.  .B #include <elf_abi.h>
3199 #. type: Plain text
3200 #: build/C/man5/elf.5:42
3201 #, no-wrap
3202 msgid "B<#include E<lt>elf.hE<gt>>\n"
3203 msgstr "B<#include E<lt>elf.hE<gt>>\n"
3204
3205 #. type: Plain text
3206 #: build/C/man5/elf.5:50
3207 #, fuzzy
3208 #| msgid ""
3209 #| "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
3210 #| "binary files.  Amongst these files are normal executable files, "
3211 #| "relocatable object files, core files and shared libraries."
3212 msgid ""
3213 "The header file I<E<lt>elf.hE<gt>> defines the format of ELF executable "
3214 "binary files.  Amongst these files are normal executable files, relocatable "
3215 "object files, core files, and shared objects."
3216 msgstr ""
3217 "ヘッダーファイル I<E<lt>elf.hE<gt>> は ELF 実行可能バイナリファイルのフォー"
3218 "マットを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置"
3219 "可能オブジェクトファイル・コアファイル・共有ライブラリがある。"
3220
3221 #. type: Plain text
3222 #: build/C/man5/elf.5:59
3223 msgid ""
3224 "An executable file using the ELF file format consists of an ELF header, "
3225 "followed by a program header table or a section header table, or both.  The "
3226 "ELF header is always at offset zero of the file.  The program header table "
3227 "and the section header table's offset in the file are defined in the ELF "
3228 "header.  The two tables describe the rest of the particularities of the file."
3229 msgstr ""
3230 "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダーの後にプログラ"
3231 "ムヘッダーテーブルまたは セクションヘッダーテーブル (またはその両方) が続く構"
3232 "成である。 ELF ヘッダーは常にファイルのオフセット 0 にある。 プログラムヘッ"
3233 "ダーテーブルとセクションヘッダーテーブルの ファイル内でのオフセットは、ELF "
3234 "ヘッダーに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を"
3235 "記述する。"
3236
3237 #.  Applications which wish to process ELF binary files for their native
3238 #.  architecture only should include
3239 #.  .I <elf_abi.h>
3240 #.  in their source code.
3241 #.  These applications should need to refer to
3242 #.  all the types and structures by their generic names
3243 #.  "Elf_xxx"
3244 #.  and to the macros by
3245 #.  ELF_xxx".
3246 #.  Applications written this way can be compiled on any architecture,
3247 #.  regardless of whether the host is 32-bit or 64-bit.
3248 #.  .PP
3249 #.  Should an application need to process ELF files of an unknown
3250 #.  architecture, then the application needs to explicitly use either
3251 #.  "Elf32_xxx"
3252 #.  or
3253 #.  "Elf64_xxx"
3254 #.  type and structure names.
3255 #.  Likewise, the macros need to be identified by
3256 #.  "ELF32_xxx"
3257 #.  or
3258 #.  "ELF64_xxx".
3259 #.  .PP
3260 #. type: Plain text
3261 #: build/C/man5/elf.5:87
3262 msgid ""
3263 "This header file describes the above mentioned headers as C structures and "
3264 "also includes structures for dynamic sections, relocation sections and "
3265 "symbol tables."
3266 msgstr ""
3267 "このヘッダーファイルは上記のヘッダーを C 言語の構造体で記述し、 また動的セク"
3268 "ション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。"
3269
3270 #. type: SS
3271 #: build/C/man5/elf.5:87
3272 #, no-wrap
3273 msgid "Basic types"
3274 msgstr ""
3275
3276 #. type: Plain text
3277 #: build/C/man5/elf.5:99
3278 msgid ""
3279 "The following types are used for N-bit architectures (N=32,64, I<ElfN> "
3280 "stands for I<Elf32> or I<Elf64>, I<uintN_t> stands for I<uint32_t> or "
3281 "I<uint64_t>):"
3282 msgstr ""
3283 "以下の型は N ビットアーキテクチャーで使われる (N=32,64 であり I<ElfN> は "
3284 "I<Elf32> または I<Elf64> を表し、 I<uintN_t> は I<uint32_t> または "
3285 "I<uint64_t> を表す):"
3286
3287 #.  Elf32_Size  Unsigned object size
3288 #. type: Plain text
3289 #: build/C/man5/elf.5:113
3290 #, no-wrap
3291 msgid ""
3292 "ElfN_Addr       Unsigned program address, uintN_t\n"
3293 "ElfN_Off        Unsigned file offset, uintN_t\n"
3294 "ElfN_Section    Unsigned section index, uint16_t\n"
3295 "ElfN_Versym     Unsigned version symbol information, uint16_t\n"
3296 "Elf_Byte        unsigned char\n"
3297 "ElfN_Half       uint16_t\n"
3298 "ElfN_Sword      int32_t\n"
3299 "ElfN_Word       uint32_t\n"
3300 "ElfN_Sxword     int64_t\n"
3301 "ElfN_Xword      uint64_t\n"
3302 msgstr ""
3303 "ElfN_Addr       符号なしのプログラムアドレス, uintN_t\n"
3304 "ElfN_Off        符号なしのファイルオフセット, uintN_t\n"
3305 "ElfN_Section    符号なしのセクションインデックス, uint16_t\n"
3306 "ElfN_Versym     符号なしのバージョンシンボル情報, uint16_t\n"
3307 "Elf_Byte        unsigned char\n"
3308 "ElfN_Half       uint16_t\n"
3309 "ElfN_Sword      int32_t\n"
3310 "ElfN_Word       uint32_t\n"
3311 "ElfN_Sxword     int64_t\n"
3312 "ElfN_Xword      uint64_t\n"
3313
3314 #. type: Plain text
3315 #: build/C/man5/elf.5:128
3316 #, fuzzy
3317 #| msgid ""
3318 #| "(Note: The *BSD terminology is a bit different.  There I<Elf64_Half> is "
3319 #| "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
3320 #| "I<uint16_t>.  In order to avoid confusion these types are replaced by "
3321 #| "explicit ones in the below.)"
3322 msgid ""
3323 "(Note: the *BSD terminology is a bit different.  There, I<Elf64_Half> is "
3324 "twice as large as I<Elf32_Half>, and I<Elf64Quarter> is used for "
3325 "I<uint16_t>.  In order to avoid confusion these types are replaced by "
3326 "explicit ones in the below.)"
3327 msgstr ""
3328 "(注意: *BSD での用語は少し異なる。 I<Elf64_Half> は I<Elf32_Half> の 2 倍であ"
3329 "り、 I<Elf64Quarter> が I<uint16_t> に用いられる。 混乱を避けるため、以下で"
3330 "は、これらの型はサイズが自明な型に置き換えてある。)"
3331
3332 #. type: Plain text
3333 #: build/C/man5/elf.5:136
3334 msgid ""
3335 "All data structures that the file format defines follow the \"natural\" size "
3336 "and alignment guidelines for the relevant class.  If necessary, data "
3337 "structures contain explicit padding to ensure 4-byte alignment for 4-byte "
3338 "objects, to force structure sizes to a multiple of 4, and so on."
3339 msgstr ""
3340 "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの "
3341 "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ"
3342 "ディング (padding, 詰め込み)  が行なわれる。これは 4 バイトオブジェクトに対す"
3343 "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ"
3344 "る。"
3345
3346 #. type: SS
3347 #: build/C/man5/elf.5:136
3348 #, no-wrap
3349 msgid "ELF header (Ehdr)"
3350 msgstr ""
3351
3352 #. type: Plain text
3353 #: build/C/man5/elf.5:141
3354 msgid "The ELF header is described by the type I<Elf32_Ehdr> or I<Elf64_Ehdr>:"
3355 msgstr "ELF ヘッダーは型 I<Elf32_Ehdr> または I<Elf64_Ehdr> で記述される:"
3356
3357 #. type: Plain text
3358 #: build/C/man5/elf.5:145
3359 #, no-wrap
3360 msgid "#define EI_NIDENT 16\n"
3361 msgstr "#define EI_NIDENT 16\n"
3362
3363 #. type: Plain text
3364 #: build/C/man5/elf.5:162
3365 #, no-wrap
3366 msgid ""
3367 "typedef struct {\n"
3368 "    unsigned char e_ident[EI_NIDENT];\n"
3369 "    uint16_t      e_type;\n"
3370 "    uint16_t      e_machine;\n"
3371 "    uint32_t      e_version;\n"
3372 "    ElfN_Addr     e_entry;\n"
3373 "    ElfN_Off      e_phoff;\n"
3374 "    ElfN_Off      e_shoff;\n"
3375 "    uint32_t      e_flags;\n"
3376 "    uint16_t      e_ehsize;\n"
3377 "    uint16_t      e_phentsize;\n"
3378 "    uint16_t      e_phnum;\n"
3379 "    uint16_t      e_shentsize;\n"
3380 "    uint16_t      e_shnum;\n"
3381 "    uint16_t      e_shstrndx;\n"
3382 "} ElfN_Ehdr;\n"
3383 msgstr ""
3384 "typedef struct {\n"
3385 "    unsigned char e_ident[EI_NIDENT];\n"
3386 "    uint16_t      e_type;\n"
3387 "    uint16_t      e_machine;\n"
3388 "    uint32_t      e_version;\n"
3389 "    ElfN_Addr     e_entry;\n"
3390 "    ElfN_Off      e_phoff;\n"
3391 "    ElfN_Off      e_shoff;\n"
3392 "    uint32_t      e_flags;\n"
3393 "    uint16_t      e_ehsize;\n"
3394 "    uint16_t      e_phentsize;\n"
3395 "    uint16_t      e_phnum;\n"
3396 "    uint16_t      e_shentsize;\n"
3397 "    uint16_t      e_shnum;\n"
3398 "    uint16_t      e_shstrndx;\n"
3399 "} ElfN_Ehdr;\n"
3400
3401 #. type: Plain text
3402 #: build/C/man5/elf.5:167
3403 msgid "The fields have the following meanings:"
3404 msgstr "フィールドは以下の意味を持つ:"
3405
3406 #. type: TP
3407 #: build/C/man5/elf.5:169
3408 #, no-wrap
3409 msgid "I<e_ident>"
3410 msgstr "I<e_ident>"
3411
3412 #. type: Plain text
3413 #: build/C/man5/elf.5:179
3414 #, fuzzy
3415 #| msgid ""
3416 #| "This array of bytes specifies to interpret the file, independent of the "
3417 #| "processor or the file's remaining contents.  Within this array everything "
3418 #| "is named by macros, which start with the prefix B<EI_> and may contain "
3419 #| "values which start with the prefix B<ELF>.  The following macros are "
3420 #| "defined:"
3421 msgid ""
3422 "This array of bytes specifies how to interpret the file, independent of the "
3423 "processor or the file's remaining contents.  Within this array everything is "
3424 "named by macros, which start with the prefix B<EI_> and may contain values "
3425 "which start with the prefix B<ELF>.  The following macros are defined:"
3426 msgstr ""
3427 "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解"
3428 "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 "
3429 "B<EI_> で始まるマクロの名前が付き、接頭辞 B<ELF> で始まる値を持つ。 以下のマ"
3430 "クロが定義されている:"
3431
3432 #. type: TP
3433 #: build/C/man5/elf.5:180
3434 #, no-wrap
3435 msgid "B<EI_MAG0>"
3436 msgstr "B<EI_MAG0>"
3437
3438 #. type: Plain text
3439 #: build/C/man5/elf.5:186
3440 msgid ""
3441 "The first byte of the magic number.  It must be filled with B<ELFMAG0>.  (0: "
3442 "0x7f)"
3443 msgstr ""
3444 "マジックナンバーの第 1 バイト。 B<ELFMAG0> で埋めなければならない。 (0: 0x7f)"
3445
3446 #. type: TP
3447 #: build/C/man5/elf.5:186
3448 #, no-wrap
3449 msgid "B<EI_MAG1>"
3450 msgstr "B<EI_MAG1>"
3451
3452 #. type: Plain text
3453 #: build/C/man5/elf.5:192
3454 msgid ""
3455 "The second byte of the magic number.  It must be filled with B<ELFMAG1>.  "
3456 "(1: \\(aqE\\(aq)"
3457 msgstr ""
3458 "マジックナンバーの第 2 バイト。 B<ELFMAG1> で埋めなければならない。 (1: "
3459 "\\(aqE\\(aq)"
3460
3461 #. type: TP
3462 #: build/C/man5/elf.5:192
3463 #, no-wrap
3464 msgid "B<EI_MAG2>"
3465 msgstr "B<EI_MAG2>"
3466
3467 #. type: Plain text
3468 #: build/C/man5/elf.5:198
3469 msgid ""
3470 "The third byte of the magic number.  It must be filled with B<ELFMAG2>.  (2: "
3471 "\\(aqL\\(aq)"
3472 msgstr ""
3473 "マジックナンバーの第 3 バイト。 B<ELFMAG2> で埋めなければならない。 (2: "
3474 "\\(aqL\\(aq)"
3475
3476 #. type: TP
3477 #: build/C/man5/elf.5:198
3478 #, no-wrap
3479 msgid "B<EI_MAG3>"
3480 msgstr "B<EI_MAG3>"
3481
3482 #. type: Plain text
3483 #: build/C/man5/elf.5:204
3484 msgid ""
3485 "The fourth byte of the magic number.  It must be filled with B<ELFMAG3>.  "
3486 "(3: \\(aqF\\(aq)"
3487 msgstr ""
3488 "マジックナンバーの第 4 バイト。 B<ELFMAG3> で埋めなければならない。 (3: "
3489 "\\(aqF\\(aq)"
3490
3491 #. type: TP
3492 #: build/C/man5/elf.5:204
3493 #, no-wrap
3494 msgid "B<EI_CLASS>"
3495 msgstr "B<EI_CLASS>"
3496
3497 #. type: Plain text
3498 #: build/C/man5/elf.5:207
3499 msgid "The fifth byte identifies the architecture for this binary:"
3500 msgstr "第 5 バイトは、このバイナリのアーキテクチャーを示す:"
3501
3502 #. type: TP
3503 #: build/C/man5/elf.5:208
3504 #, no-wrap
3505 msgid "B<ELFCLASSNONE>"
3506 msgstr "B<ELFCLASSNONE>"
3507
3508 #. type: Plain text
3509 #: build/C/man5/elf.5:212
3510 msgid "This class is invalid."
3511 msgstr "このクラスは不正である。"
3512
3513 #. type: TP
3514 #: build/C/man5/elf.5:212
3515 #, no-wrap
3516 msgid "B<ELFCLASS32>"
3517 msgstr "B<ELFCLASS32>"
3518
3519 #. type: Plain text
3520 #: build/C/man5/elf.5:217
3521 msgid ""
3522 "This defines the 32-bit architecture.  It supports machines with files and "
3523 "virtual address spaces up to 4 Gigabytes."
3524 msgstr ""
3525 "32 ビットアーキテクチャーを定義する。 ファイルと仮想アドレス空間が 4 ギガバイ"
3526 "トまでのマシンをサポートする。"
3527
3528 #. type: TP
3529 #: build/C/man5/elf.5:217
3530 #, no-wrap
3531 msgid "B<ELFCLASS64>"
3532 msgstr "B<ELFCLASS64>"
3533
3534 #. type: Plain text
3535 #: build/C/man5/elf.5:220
3536 msgid "This defines the 64-bit architecture."
3537 msgstr "64 ビットアーキテクチャーを定義する。"
3538
3539 #. type: TP
3540 #: build/C/man5/elf.5:222
3541 #, no-wrap
3542 msgid "B<EI_DATA>"
3543 msgstr "B<EI_DATA>"
3544
3545 #. type: Plain text
3546 #: build/C/man5/elf.5:227
3547 #, fuzzy
3548 #| msgid ""
3549 #| "The sixth byte specifies the data encoding of the processor-specific data "
3550 #| "in the file.  Currently these encodings are supported:"
3551 msgid ""
3552 "The sixth byte specifies the data encoding of the processor-specific data in "
3553 "the file.  Currently, these encodings are supported:"
3554 msgstr ""
3555 "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定"
3556 "する。 現在のところ以下のエンコーディングがサポートされている:"
3557
3558 #. type: TP
3559 #: build/C/man5/elf.5:228
3560 #, no-wrap
3561 msgid "B<ELFDATANONE>"
3562 msgstr "B<ELFDATANONE>"
3563
3564 #. type: Plain text
3565 #: build/C/man5/elf.5:232
3566 msgid "Unknown data format."
3567 msgstr "不明なデータフォーマット。"
3568
3569 #. type: TP
3570 #: build/C/man5/elf.5:232
3571 #, no-wrap
3572 msgid "B<ELFDATA2LSB>"
3573 msgstr "B<ELFDATA2LSB>"
3574
3575 #. type: Plain text
3576 #: build/C/man5/elf.5:235
3577 msgid "Two's complement, little-endian."
3578 msgstr "2 の補数、リトルエンディアン。"
3579
3580 #. type: TP
3581 #: build/C/man5/elf.5:235
3582 #, no-wrap
3583 msgid "B<ELFDATA2MSB>"
3584 msgstr "B<ELFDATA2MSB>"
3585
3586 #. type: Plain text
3587 #: build/C/man5/elf.5:238
3588 msgid "Two's complement, big-endian."
3589 msgstr "2 の補数、ビッグエンディアン。"
3590
3591 #. type: TP
3592 #: build/C/man5/elf.5:240
3593 #, no-wrap
3594 msgid "B<EI_VERSION>"
3595 msgstr "B<EI_VERSION>"
3596
3597 #. type: Plain text
3598 #: build/C/man5/elf.5:243
3599 msgid "The seventh byte is the version number of the ELF specification:"
3600 msgstr "第 7 バイトは ELF 仕様のバージョン番号である:"
3601
3602 #. type: TP
3603 #: build/C/man5/elf.5:246 build/C/man5/elf.5:492
3604 #, no-wrap
3605 msgid "B<EV_NONE>"
3606 msgstr "B<EV_NONE>"
3607
3608 #. type: Plain text
3609 #: build/C/man5/elf.5:249
3610 msgid "Invalid version."
3611 msgstr "不正なバージョン。"
3612
3613 #. type: TP
3614 #: build/C/man5/elf.5:249 build/C/man5/elf.5:496
3615 #, no-wrap
3616 msgid "B<EV_CURRENT>"
3617 msgstr "B<EV_CURRENT>"
3618
3619 #. type: Plain text
3620 #: build/C/man5/elf.5:252
3621 msgid "Current version."
3622 msgstr "現在のバージョン。"
3623
3624 #. type: TP
3625 #: build/C/man5/elf.5:255
3626 #, no-wrap
3627 msgid "B<EI_OSABI>"
3628 msgstr "B<EI_OSABI>"
3629
3630 #. type: Plain text
3631 #: build/C/man5/elf.5:263
3632 msgid ""
3633 "The eighth byte identifies the operating system and ABI to which the object "
3634 "is targeted.  Some fields in other ELF structures have flags and values that "
3635 "have platform-specific meanings; the interpretation of those fields is "
3636 "determined by the value of this byte.  For example:"
3637 msgstr ""
3638 "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を"
3639 "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ"
3640 "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定"
3641 "される。以下に例を挙げる。"
3642
3643 #. type: TP
3644 #: build/C/man5/elf.5:264
3645 #, no-wrap
3646 msgid "B<ELFOSABI_NONE>"
3647 msgstr "B<ELFOSABI_NONE>"
3648
3649 #.  0
3650 #. type: Plain text
3651 #: build/C/man5/elf.5:269
3652 msgid "Same as ELFOSABI_SYSV"
3653 msgstr "ELFOSABI_SYSV と同じ。"
3654
3655 #. type: TP
3656 #: build/C/man5/elf.5:269
3657 #, no-wrap
3658 msgid "B<ELFOSABI_SYSV>"
3659 msgstr "B<ELFOSABI_SYSV>"
3660
3661 #.  0
3662 #.  synonym: ELFOSABI_NONE
3663 #. type: Plain text
3664 #: build/C/man5/elf.5:274
3665 #, fuzzy
3666 #| msgid "UNIX System V ABI."
3667 msgid "UNIX System V ABI"
3668 msgstr "UNIX System V ABI."
3669
3670 #. type: TP
3671 #: build/C/man5/elf.5:274
3672 #, no-wrap
3673 msgid "B<ELFOSABI_HPUX>"
3674 msgstr "B<ELFOSABI_HPUX>"
3675
3676 #.  1
3677 #. type: Plain text
3678 #: build/C/man5/elf.5:278
3679 #, fuzzy
3680 #| msgid "HP-UX ABI."
3681 msgid "HP-UX ABI"
3682 msgstr "HP-UX ABI."
3683
3684 #. type: TP
3685 #: build/C/man5/elf.5:278
3686 #, no-wrap
3687 msgid "B<ELFOSABI_NETBSD>"
3688 msgstr "B<ELFOSABI_NETBSD>"
3689
3690 #.  2
3691 #. type: Plain text
3692 #: build/C/man5/elf.5:282
3693 #, fuzzy
3694 #| msgid "NetBSD ABI."
3695 msgid "NetBSD ABI"
3696 msgstr "NetBSD ABI."
3697
3698 #. type: TP
3699 #: build/C/man5/elf.5:282
3700 #, no-wrap
3701 msgid "B<ELFOSABI_LINUX>"
3702 msgstr "B<ELFOSABI_LINUX>"
3703
3704 #.  3
3705 #.  .TP
3706 #.  .BR ELFOSABI_HURD
3707 #.  Hurd ABI
3708 #.  4
3709 #.  .TP
3710 #.  .BR ELFOSABI_86OPEN
3711 #.  86Open Common IA32 ABI
3712 #.  5
3713 #. type: Plain text
3714 #: build/C/man5/elf.5:294
3715 #, fuzzy
3716 #| msgid "Linux ABI."
3717 msgid "Linux ABI"
3718 msgstr "Linux ABI."
3719
3720 #. type: TP
3721 #: build/C/man5/elf.5:294
3722 #, no-wrap
3723 msgid "B<ELFOSABI_SOLARIS>"
3724 msgstr "B<ELFOSABI_SOLARIS>"
3725
3726 #.  6
3727 #.  .TP
3728 #.  .BR ELFOSABI_MONTEREY
3729 #.  Monterey project ABI
3730 #.  Now replaced by
3731 #.  ELFOSABI_AIX
3732 #.  7
3733 #. type: Plain text
3734 #: build/C/man5/elf.5:304
3735 #, fuzzy
3736 #| msgid "Solaris ABI."
3737 msgid "Solaris ABI"
3738 msgstr "Solaris ABI."
3739
3740 #. type: TP
3741 #: build/C/man5/elf.5:304
3742 #, no-wrap
3743 msgid "B<ELFOSABI_IRIX>"
3744 msgstr "B<ELFOSABI_IRIX>"
3745
3746 #.  8
3747 #. type: Plain text
3748 #: build/C/man5/elf.5:308
3749 #, fuzzy
3750 #| msgid "IRIX ABI."
3751 msgid "IRIX ABI"
3752 msgstr "IRIX ABI."
3753
3754 #. type: TP
3755 #: build/C/man5/elf.5:308
3756 #, no-wrap
3757 msgid "B<ELFOSABI_FREEBSD>"
3758 msgstr "B<ELFOSABI_FREEBSD>"
3759
3760 #.  9
3761 #. type: Plain text
3762 #: build/C/man5/elf.5:312
3763 #, fuzzy
3764 #| msgid "FreeBSD ABI."
3765 msgid "FreeBSD ABI"
3766 msgstr "FreeBSD ABI."
3767
3768 #. type: TP
3769 #: build/C/man5/elf.5:312
3770 #, no-wrap
3771 msgid "B<ELFOSABI_TRU64>"
3772 msgstr "B<ELFOSABI_TRU64>"
3773
3774 #.  10
3775 #.  ELFOSABI_MODESTO
3776 #.  11
3777 #.  ELFOSABI_OPENBSD
3778 #.  12
3779 #. type: Plain text
3780 #: build/C/man5/elf.5:320
3781 #, fuzzy
3782 #| msgid "TRU64 UNIX ABI."
3783 msgid "TRU64 UNIX ABI"
3784 msgstr "TRU64 UNIX ABI."
3785
3786 #. type: TP
3787 #: build/C/man5/elf.5:320
3788 #, no-wrap
3789 msgid "B<ELFOSABI_ARM>"
3790 msgstr "B<ELFOSABI_ARM>"
3791
3792 #.  97
3793 #. type: Plain text
3794 #: build/C/man5/elf.5:324
3795 #, fuzzy
3796 #| msgid "ARM architecture ABI."
3797 msgid "ARM architecture ABI"
3798 msgstr "ARM アーキテクチャー ABI."
3799
3800 #. type: TP
3801 #: build/C/man5/elf.5:324
3802 #, no-wrap
3803 msgid "B<ELFOSABI_STANDALONE>"
3804 msgstr "B<ELFOSABI_STANDALONE>"
3805
3806 #.  255
3807 #. type: Plain text
3808 #: build/C/man5/elf.5:328
3809 #, fuzzy
3810 #| msgid "Stand-alone (embedded) ABI."
3811 msgid "Stand-alone (embedded) ABI"
3812 msgstr "スタンドアロン (組み込み) ABI."
3813
3814 #. type: TP
3815 #: build/C/man5/elf.5:330
3816 #, no-wrap
3817 msgid "B<EI_ABIVERSION>"
3818 msgstr "B<EI_ABIVERSION>"
3819
3820 #. type: Plain text
3821 #: build/C/man5/elf.5:340
3822 msgid ""
3823 "The ninth byte identifies the version of the ABI to which the object is "
3824 "targeted.  This field is used to distinguish among incompatible versions of "
3825 "an ABI.  The interpretation of this version number is dependent on the ABI "
3826 "identified by the B<EI_OSABI> field.  Applications conforming to this "
3827 "specification use the value 0."
3828 msgstr ""
3829 "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この"
3830 "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー"
3831 "ジョン番号の解釈は、 B<EI_OSABI> フィールドで識別される ABI に依存する。 この"
3832 "仕様に準拠するアプリケーションでは、値 0 を使う。"
3833
3834 #. type: TP
3835 #: build/C/man5/elf.5:340
3836 #, no-wrap
3837 msgid "B<EI_PAD>"
3838 msgstr "B<EI_PAD>"
3839
3840 #.  As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is
3841 #.  not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html)
3842 #.  It looks to be a BSDism
3843 #.  .TP
3844 #.  .BR EI_BRAND
3845 #.  Start of architecture identification.
3846 #. type: Plain text
3847 #: build/C/man5/elf.5:356
3848 msgid ""
3849 "Start of padding.  These bytes are reserved and set to zero.  Programs which "
3850 "read them should ignore them.  The value for B<EI_PAD> will change in the "
3851 "future if currently unused bytes are given meanings."
3852 msgstr ""
3853 "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ"
3854 "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな"
3855 "いバイトに意味が与えられる場合、 B<EI_PAD> の値は将来変更されるかもしれない。"
3856
3857 #. type: TP
3858 #: build/C/man5/elf.5:356
3859 #, no-wrap
3860 msgid "B<EI_NIDENT>"
3861 msgstr "B<EI_NIDENT>"
3862
3863 #. type: Plain text
3864 #: build/C/man5/elf.5:361
3865 msgid "The size of the I<e_ident> array."
3866 msgstr "I<e_ident> 配列のサイズ。"
3867
3868 #. type: TP
3869 #: build/C/man5/elf.5:362
3870 #, no-wrap
3871 msgid "I<e_type>"
3872 msgstr "I<e_type>"
3873
3874 #. type: Plain text
3875 #: build/C/man5/elf.5:365
3876 msgid "This member of the structure identifies the object file type:"
3877 msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:"
3878
3879 #. type: TP
3880 #: build/C/man5/elf.5:366
3881 #, no-wrap
3882 msgid "B<ET_NONE>"
3883 msgstr "B<ET_NONE>"
3884
3885 #. type: Plain text
3886 #: build/C/man5/elf.5:370
3887 msgid "An unknown type."
3888 msgstr "不明なタイプ。"
3889
3890 #. type: TP
3891 #: build/C/man5/elf.5:370
3892 #, no-wrap
3893 msgid "B<ET_REL>"
3894 msgstr "B<ET_REL>"
3895
3896 #. type: Plain text
3897 #: build/C/man5/elf.5:373
3898 msgid "A relocatable file."
3899 msgstr "再配置可能ファイル。"
3900
3901 #. type: TP
3902 #: build/C/man5/elf.5:373
3903 #, no-wrap
3904 msgid "B<ET_EXEC>"
3905 msgstr "B<ET_EXEC>"
3906
3907 #. type: Plain text
3908 #: build/C/man5/elf.5:376
3909 msgid "An executable file."
3910 msgstr "実行可能ファイル。"
3911
3912 #. type: TP
3913 #: build/C/man5/elf.5:376
3914 #, no-wrap
3915 msgid "B<ET_DYN>"
3916 msgstr "B<ET_DYN>"
3917
3918 #. type: Plain text
3919 #: build/C/man5/elf.5:379
3920 msgid "A shared object."
3921 msgstr "共有オブジェクト。"
3922
3923 #. type: TP
3924 #: build/C/man5/elf.5:379
3925 #, no-wrap
3926 msgid "B<ET_CORE>"
3927 msgstr "B<ET_CORE>"
3928
3929 #. type: Plain text
3930 #: build/C/man5/elf.5:382
3931 msgid "A core file."
3932 msgstr "コアファイル。"
3933
3934 #. type: TP
3935 #: build/C/man5/elf.5:384
3936 #, no-wrap
3937 msgid "I<e_machine>"
3938 msgstr "I<e_machine>"
3939
3940 #. type: Plain text
3941 #: build/C/man5/elf.5:388
3942 msgid ""
3943 "This member specifies the required architecture for an individual file.  For "
3944 "example:"
3945 msgstr ""
3946 "このメンバは個々のファイルに必要とされるアーキテクチャーを指定する。 例:"
3947
3948 #. type: TP
3949 #: build/C/man5/elf.5:389
3950 #, no-wrap
3951 msgid "B<EM_NONE>"
3952 msgstr "B<EM_NONE>"
3953
3954 #.  0
3955 #. type: Plain text
3956 #: build/C/man5/elf.5:394
3957 #, fuzzy
3958 #| msgid "An unknown machine."
3959 msgid "An unknown machine"
3960 msgstr "不明なマシン。"
3961
3962 #. type: TP
3963 #: build/C/man5/elf.5:394
3964 #, no-wrap
3965 msgid "B<EM_M32>"
3966 msgstr "B<EM_M32>"
3967
3968 #.  1
3969 #. type: Plain text
3970 #: build/C/man5/elf.5:398
3971 #, fuzzy
3972 #| msgid "AT&T WE 32100."
3973 msgid "AT&T WE 32100"
3974 msgstr "AT&T WE 32100."
3975
3976 #. type: TP
3977 #: build/C/man5/elf.5:398
3978 #, no-wrap
3979 msgid "B<EM_SPARC>"
3980 msgstr "B<EM_SPARC>"
3981
3982 #.  2
3983 #. type: Plain text
3984 #: build/C/man5/elf.5:402
3985 #, fuzzy
3986 #| msgid "Sun Microsystems SPARC."
3987 msgid "Sun Microsystems SPARC"
3988 msgstr "Sun Microsystems SPARC."
3989
3990 #. type: TP
3991 #: build/C/man5/elf.5:402
3992 #, no-wrap
3993 msgid "B<EM_386>"
3994 msgstr "B<EM_386>"
3995
3996 #.  3
3997 #. type: Plain text
3998 #: build/C/man5/elf.5:406
3999 #, fuzzy
4000 #| msgid "Intel 80386."
4001 msgid "Intel 80386"
4002 msgstr "Intel 80386."
4003
4004 #. type: TP
4005 #: build/C/man5/elf.5:406
4006 #, no-wrap
4007 msgid "B<EM_68K>"
4008 msgstr "B<EM_68K>"
4009
4010 #.  4
4011 #. type: Plain text
4012 #: build/C/man5/elf.5:410
4013 #, fuzzy
4014 #| msgid "Motorola 68000."
4015 msgid "Motorola 68000"
4016 msgstr "Motorola 68000."
4017
4018 #. type: TP
4019 #: build/C/man5/elf.5:410
4020 #, no-wrap
4021 msgid "B<EM_88K>"
4022 msgstr "B<EM_88K>"
4023
4024 #.  5
4025 #.  .TP
4026 #.  .BR EM_486
4027 #.  Intel 80486
4028 #.  6
4029 #. type: Plain text
4030 #: build/C/man5/elf.5:418
4031 #, fuzzy
4032 #| msgid "Motorola 88000."
4033 msgid "Motorola 88000"
4034 msgstr "Motorola 88000."
4035
4036 #. type: TP
4037 #: build/C/man5/elf.5:418
4038 #, no-wrap
4039 msgid "B<EM_860>"
4040 msgstr "B<EM_860>"
4041
4042 #.  7
4043 #. type: Plain text
4044 #: build/C/man5/elf.5:422
4045 #, fuzzy
4046 #| msgid "Intel 80860."
4047 msgid "Intel 80860"
4048 msgstr "Intel 80860."
4049
4050 #. type: TP
4051 #: build/C/man5/elf.5:422
4052 #, no-wrap
4053 msgid "B<EM_MIPS>"
4054 msgstr "B<EM_MIPS>"
4055
4056 #.  8
4057 #.  EM_S370
4058 #.  9
4059 #.  .TP
4060 #.  .BR EM_MIPS_RS4_BE
4061 #.  MIPS RS4000 (big-endian only). Deprecated
4062 #.  10
4063 #.  EM_MIPS_RS3_LE (MIPS R3000 little-endian)
4064 #.  10
4065 #. type: Plain text
4066 #: build/C/man5/elf.5:434
4067 #, fuzzy
4068 #| msgid "MIPS RS3000 (big-endian only)."
4069 msgid "MIPS RS3000 (big-endian only)"
4070 msgstr "MIPS RS3000 (ビッグエンディアンのみ)。"
4071
4072 #. type: TP
4073 #: build/C/man5/elf.5:434
4074 #, no-wrap
4075 msgid "B<EM_PARISC>"
4076 msgstr "B<EM_PARISC>"
4077
4078 #.  15
4079 #. type: Plain text
4080 #: build/C/man5/elf.5:438
4081 #, fuzzy
4082 #| msgid "HP/PA."
4083 msgid "HP/PA"
4084 msgstr "HP/PA."
4085
4086 #. type: TP
4087 #: build/C/man5/elf.5:438
4088 #, no-wrap
4089 msgid "B<EM_SPARC32PLUS>"
4090 msgstr "B<EM_SPARC32PLUS>"
4091
4092 #.  18
4093 #. type: Plain text
4094 #: build/C/man5/elf.5:442
4095 #, fuzzy
4096 #| msgid "SPARC with enhanced instruction set."
4097 msgid "SPARC with enhanced instruction set"
4098 msgstr "拡張命令セット付き SPARC。"
4099
4100 #. type: TP
4101 #: build/C/man5/elf.5:442
4102 #, no-wrap
4103 msgid "B<EM_PPC>"
4104 msgstr "B<EM_PPC>"
4105
4106 #.  20
4107 #. type: Plain text
4108 #: build/C/man5/elf.5:446
4109 #, fuzzy
4110 #| msgid "PowerPC."
4111 msgid "PowerPC"
4112 msgstr "PowerPC."
4113
4114 #. type: TP
4115 #: build/C/man5/elf.5:446
4116 #, no-wrap
4117 msgid "B<EM_PPC64>"
4118 msgstr "B<EM_PPC64>"
4119
4120 #.  21
4121 #. type: Plain text
4122 #: build/C/man5/elf.5:450
4123 #, fuzzy
4124 #| msgid "PowerPC 64-bit."
4125 msgid "PowerPC 64-bit"
4126 msgstr "PowerPC 64-bit."
4127
4128 #. type: TP
4129 #: build/C/man5/elf.5:450
4130 #, no-wrap
4131 msgid "B<EM_S390>"
4132 msgstr "B<EM_S390>"
4133
4134 #.  22
4135 #. type: Plain text
4136 #: build/C/man5/elf.5:454
4137 msgid "IBM S/390"
4138 msgstr "IBM S/390"
4139
4140 #. type: TP
4141 #: build/C/man5/elf.5:454
4142 #, no-wrap
4143 msgid "B<EM_ARM>"
4144 msgstr "B<EM_ARM>"
4145
4146 #.  40
4147 #. type: Plain text
4148 #: build/C/man5/elf.5:458
4149 msgid "Advanced RISC Machines"
4150 msgstr "Advanced RISC Machines"
4151
4152 #. type: TP
4153 #: build/C/man5/elf.5:458
4154 #, no-wrap
4155 msgid "B<EM_SH>"
4156 msgstr "B<EM_SH>"
4157
4158 #.  42
4159 #. type: Plain text
4160 #: build/C/man5/elf.5:462
4161 msgid "Renesas SuperH"
4162 msgstr "Renesas SuperH"
4163
4164 #. type: TP
4165 #: build/C/man5/elf.5:462
4166 #, no-wrap
4167 msgid "B<EM_SPARCV9>"
4168 msgstr "B<EM_SPARCV9>"
4169
4170 #.  43
4171 #. type: Plain text
4172 #: build/C/man5/elf.5:466
4173 #, fuzzy
4174 #| msgid "SPARC v9 64-bit."
4175 msgid "SPARC v9 64-bit"
4176 msgstr "SPARC v9 64-bit."
4177
4178 #. type: TP
4179 #: build/C/man5/elf.5:466
4180 #, no-wrap
4181 msgid "B<EM_IA_64>"
4182 msgstr "B<EM_IA_64>"
4183
4184 #.  50
4185 #. type: Plain text
4186 #: build/C/man5/elf.5:470
4187 msgid "Intel Itanium"
4188 msgstr "Intel Itanium"
4189
4190 #. type: TP
4191 #: build/C/man5/elf.5:470
4192 #, no-wrap
4193 msgid "B<EM_X86_64>"
4194 msgstr "B<EM_X86_64>"
4195
4196 #.  62
4197 #. type: Plain text
4198 #: build/C/man5/elf.5:474
4199 msgid "AMD x86-64"
4200 msgstr "AMD x86-64"
4201
4202 #. type: TP
4203 #: build/C/man5/elf.5:474
4204 #, no-wrap
4205 msgid "B<EM_VAX>"
4206 msgstr "B<EM_VAX>"
4207
4208 #.  75
4209 #.  EM_CRIS
4210 #.  76
4211 #.  .TP
4212 #.  .BR EM_ALPHA
4213 #.  Compaq [DEC] Alpha
4214 #.  .TP
4215 #.  .BR EM_ALPHA_EXP
4216 #.  Compaq [DEC] Alpha with enhanced instruction set
4217 #. type: Plain text
4218 #: build/C/man5/elf.5:486
4219 #, fuzzy
4220 #| msgid "DEC Vax."
4221 msgid "DEC Vax"
4222 msgstr "DEC Vax."
4223
4224 #. type: TP
4225 #: build/C/man5/elf.5:488
4226 #, no-wrap
4227 msgid "I<e_version>"
4228 msgstr "I<e_version>"
4229
4230 #. type: Plain text
4231 #: build/C/man5/elf.5:491
4232 msgid "This member identifies the file version:"
4233 msgstr "このメンバはファイルバージョンを示す:"
4234
4235 #. type: Plain text
4236 #: build/C/man5/elf.5:496
4237 #, fuzzy
4238 #| msgid "Invalid version."
4239 msgid "Invalid version"
4240 msgstr "不正なバージョン。"
4241
4242 #. type: Plain text
4243 #: build/C/man5/elf.5:499
4244 #, fuzzy
4245 #| msgid "Current version."
4246 msgid "Current version"
4247 msgstr "現在のバージョン。"
4248
4249 #. type: TP
4250 #: build/C/man5/elf.5:501
4251 #, no-wrap
4252 msgid "I<e_entry>"
4253 msgstr "I<e_entry>"
4254
4255 #. type: Plain text
4256 #: build/C/man5/elf.5:507
4257 msgid ""
4258 "This member gives the virtual address to which the system first transfers "
4259 "control, thus starting the process.  If the file has no associated entry "
4260 "point, this member holds zero."
4261 msgstr ""
4262 "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ"
4263 "スを指定する。 ファイルにエントリーポイントが関連付けられていない場合、 この"
4264 "メンバには 0 が入る。"
4265
4266 #. type: TP
4267 #: build/C/man5/elf.5:507
4268 #, no-wrap
4269 msgid "I<e_phoff>"
4270 msgstr "I<e_phoff>"
4271
4272 #. type: Plain text
4273 #: build/C/man5/elf.5:512
4274 msgid ""
4275 "This member holds the program header table's file offset in bytes.  If the "
4276 "file has no program header table, this member holds zero."
4277 msgstr ""
4278 "このメンバはプログラムヘッダーテーブルの ファイルオフセット (バイト単位) を保"
4279 "持する。 ファイルにプログラムヘッダーテーブルがない場合、 このメンバには 0 が"
4280 "入る。"
4281
4282 #. type: TP
4283 #: build/C/man5/elf.5:512
4284 #, no-wrap
4285 msgid "I<e_shoff>"
4286 msgstr "I<e_shoff>"
4287
4288 #. type: Plain text
4289 #: build/C/man5/elf.5:517
4290 msgid ""
4291 "This member holds the section header table's file offset in bytes.  If the "
4292 "file has no section header table, this member holds zero."
4293 msgstr ""
4294 "このメンバはセクションヘッダーテーブルの ファイルオフセット (バイト単位) を保"
4295 "持する。 ファイルにセクションヘッダーテーブルがない場合、 このメンバには 0 が"
4296 "入る。"
4297
4298 #. type: TP
4299 #: build/C/man5/elf.5:517
4300 #, no-wrap
4301 msgid "I<e_flags>"
4302 msgstr "I<e_flags>"
4303
4304 #. type: Plain text
4305 #: build/C/man5/elf.5:522
4306 #, fuzzy
4307 #| msgid ""
4308 #| "This member holds processor-specific flags associated with the file.  "
4309 #| "Flag names take the form EF_`machine_flag'.  Currently no flags have been "
4310 #| "defined."
4311 msgid ""
4312 "This member holds processor-specific flags associated with the file.  Flag "
4313 "names take the form EF_`machine_flag'.  Currently, no flags have been "
4314 "defined."
4315 msgstr ""
4316 "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ"
4317 "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて"
4318 "いない。"
4319
4320 #. type: TP
4321 #: build/C/man5/elf.5:522
4322 #, no-wrap
4323 msgid "I<e_ehsize>"
4324 msgstr "I<e_ehsize>"
4325
4326 #. type: Plain text
4327 #: build/C/man5/elf.5:525
4328 msgid "This member holds the ELF header's size in bytes."
4329 msgstr "このメンバは ELF ヘッダーサイズ (バイト単位) を保持する。"
4330
4331 #. type: TP
4332 #: build/C/man5/elf.5:525
4333 #, no-wrap
4334 msgid "I<e_phentsize>"
4335 msgstr "I<e_phentsize>"
4336
4337 #. type: Plain text
4338 #: build/C/man5/elf.5:529
4339 msgid ""
4340 "This member holds the size in bytes of one entry in the file's program "
4341 "header table; all entries are the same size."
4342 msgstr ""
4343 "このメンバはこのファイルのプログラムヘッダーテーブルの 1 エントリーあたりのサ"
4344 "イズ (バイト単位) を保持する; 全てのエントリーは同じサイズである。"
4345
4346 #. type: TP
4347 #: build/C/man5/elf.5:529
4348 #, no-wrap
4349 msgid "I<e_phnum>"
4350 msgstr "I<e_phnum>"
4351
4352 #. type: Plain text
4353 #: build/C/man5/elf.5:542
4354 msgid ""
4355 "This member holds the number of entries in the program header table.  Thus "
4356 "the product of I<e_phentsize> and I<e_phnum> gives the table's size in "
4357 "bytes.  If a file has no program header, I<e_phnum> holds the value zero."
4358 msgstr ""
4359 "このメンバはプログラムヘッダーテーブルにあるエントリーの数を保持する。 よっ"
4360 "て I<e_phentsize> と I<e_phnum> の積がテーブルサイズ (バイト単位) になる。 "
4361 "ファイルにプログラムヘッダーがない場合、 I<e_phnum> は値 0 を保持する。"
4362
4363 #.  This is a Linux extension, added in Linux 2.6.34.
4364 #. type: Plain text
4365 #: build/C/man5/elf.5:556
4366 msgid ""
4367 "If the number of entries in the program header table is larger than or equal "
4368 "to B<PN_XNUM> (0xffff), this member holds B<PN_XNUM> (0xffff) and the real "
4369 "number of entries in the program header table is held in the I<sh_info> "
4370 "member of the initial entry in section header table.  Otherwise, the "
4371 "I<sh_info> member of the initial entry contains the value zero."
4372 msgstr ""
4373 "プログラムヘッダーテーブルのエントリー数が B<PN_XNUM> (0xffff) 以上の場合、\n"
4374 "このメンバは B<PN_XNUM> (0xffff) になり、プログラムヘッダーテーブルの\n"
4375 "エントリーの実際の数は、セクションヘッダーテーブルの最初のエントリーの \n"
4376 "I<sh_info> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
4377 "最初のエントリーの I<sh_info> メンバには値 0 が格納される。"
4378
4379 #. type: TP
4380 #: build/C/man5/elf.5:557
4381 #, no-wrap
4382 msgid "B<PN_XNUM>"
4383 msgstr "B<PN_XNUM>"
4384
4385 #. type: Plain text
4386 #: build/C/man5/elf.5:562
4387 msgid ""
4388 "This is defined as 0xffff, the largest number I<e_phnum> can have, "
4389 "specifying where the actual number of program headers is assigned."
4390 msgstr ""
4391 "I<e_phnum> が保持できる最大値を表し、 0xffff に定義されている。 I<e_phnum> \n"
4392 "はプログラムヘッダーの実際の数がどこに割り当てられているかを示す。"
4393
4394 #. type: TP
4395 #: build/C/man5/elf.5:564
4396 #, no-wrap
4397 msgid "I<e_shentsize>"
4398 msgstr "I<e_shentsize>"
4399
4400 #. type: Plain text
4401 #: build/C/man5/elf.5:569
4402 msgid ""
4403 "This member holds a sections header's size in bytes.  A section header is "
4404 "one entry in the section header table; all entries are the same size."
4405 msgstr ""
4406 "このメンバはセクションヘッダーのサイズ (バイト単位) を保持する。 セクション"
4407 "ヘッダーはセクションヘッダーテーブルの 1 つのエントリーである; 全てのエント"
4408 "リーは同じサイズである。"
4409
4410 #. type: TP
4411 #: build/C/man5/elf.5:569
4412 #, no-wrap
4413 msgid "I<e_shnum>"
4414 msgstr "I<e_shnum>"
4415
4416 #. type: Plain text
4417 #: build/C/man5/elf.5:582
4418 msgid ""
4419 "This member holds the number of entries in the section header table.  Thus "
4420 "the product of I<e_shentsize> and I<e_shnum> gives the section header "
4421 "table's size in bytes.  If a file has no section header table, I<e_shnum> "
4422 "holds the value of zero."
4423 msgstr ""
4424 "このメンバはセクションヘッダーテーブルにあるエントリーの数を保持する。 よっ"
4425 "て I<e_shentsize> と I<e_shnum> の積はセクションヘッダーテーブルのサイズ (バ"
4426 "イト単位) になる。 ファイルにセクションヘッダーテーブルがない場合、 "
4427 "I<e_shnum> は値 0 を保持する。"
4428
4429 #. type: Plain text
4430 #: build/C/man5/elf.5:596
4431 msgid ""
4432 "If the number of entries in the section header table is larger than or equal "
4433 "to B<SHN_LORESERVE> (0xff00), I<e_shnum> holds the value zero and the real "
4434 "number of entries in the section header table is held in the I<sh_size> "
4435 "member of the initial entry in section header table.  Otherwise, the "
4436 "I<sh_size> member of the initial entry in the section header table holds the "
4437 "value zero."
4438 msgstr ""
4439 "セクションヘッダーテーブルのエントリー数が B<SHN_LORESERVE> (0xff00) 以上の場"
4440 "合、\n"
4441 "I<e_shnum> には値 0 が入り、セクションヘッダーテーブルのエントリーの実際の数"
4442 "は\n"
4443 "セクションヘッダーテーブルの最初のエントリーの I<sh_size> メンバに格納され"
4444 "る。\n"
4445 "それ以外の場合、セクションヘッダーテーブルの最初のエントリーの I<sh_info> メ"
4446 "ンバ\n"
4447 "には値 0 が格納される。"
4448
4449 #. type: TP
4450 #: build/C/man5/elf.5:596
4451 #, no-wrap
4452 msgid "I<e_shstrndx>"
4453 msgstr "I<e_shstrndx>"
4454
4455 #. type: Plain text
4456 #: build/C/man5/elf.5:603
4457 msgid ""
4458 "This member holds the section header table index of the entry associated "
4459 "with the section name string table.  If the file has no section name string "
4460 "table, this member holds the value B<SHN_UNDEF>."
4461 msgstr ""
4462 "このメンバはセクション名文字列テーブルに関連付けられたエントリーの セクション"
4463 "ヘッダーテーブルインデックスを保持する。 ファイルにセクション名文字列テーブル"
4464 "がない場合、 このメンバは値 B<SHN_UNDEF> を保持する。 B<SHN_UNDEF>."
4465
4466 #. type: Plain text
4467 #: build/C/man5/elf.5:617
4468 msgid ""
4469 "If the index of section name string table section is larger than or equal to "
4470 "B<SHN_LORESERVE> (0xff00), this member holds B<SHN_XINDEX> (0xffff) and the "
4471 "real index of the section name string table section is held in the "
4472 "I<sh_link> member of the initial entry in section header table.  Otherwise, "
4473 "the I<sh_link> member of the initial entry in section header table contains "
4474 "the value zero."
4475 msgstr ""
4476 "セクション名前文字列テーブルのインデックスが B<SHN_LORESERVE> (0xff00) 以上"
4477 "の\n"
4478 "場合、このメンバには B<SHN_XINDEX> (0xffff) が入り、セクション名前文字列\n"
4479 "テーブルの実際のインデックスはセクションヘッダーテーブルの最初のエントリー"
4480 "の\n"
4481 "I<sh_link> メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n"
4482 "最初のエントリーの I<sh_link> メンバには値 0 が格納される。"
4483
4484 #. type: SS
4485 #: build/C/man5/elf.5:617
4486 #, no-wrap
4487 msgid "Program header (Phdr)"
4488 msgstr ""
4489
4490 #. type: Plain text
4491 #: build/C/man5/elf.5:636
4492 msgid ""
4493 "An executable or shared object file's program header table is an array of "
4494 "structures, each describing a segment or other information the system needs "
4495 "to prepare the program for execution.  An object file I<segment> contains "
4496 "one or more I<sections>.  Program headers are meaningful only for executable "
4497 "and shared object files.  A file specifies its own program header size with "
4498 "the ELF header's I<e_phentsize> and I<e_phnum> members.  The ELF program "
4499 "header is described by the type I<Elf32_Phdr> or I<Elf64_Phdr> depending on "
4500 "the architecture:"
4501 msgstr ""
4502 "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダーテーブル"
4503 "は、 システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する"
4504 "構造体の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<"
4505 "セクション> が含まれる。 プログラムヘッダーは実行可能ファイルと共有オブジェク"
4506 "トファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダーサイズを ELF "
4507 "ヘッダーの I<e_phentsize> メンバと I<e_phnum> メンバで指定する。 ELF プログラ"
4508 "ムヘッダーは I<Elf32_Phdr> 型または I<Elf64_Phdr> 型で記述される (どちらにな"
4509 "るかはアーキテクチャー依存):"
4510
4511 #. type: Plain text
4512 #: build/C/man5/elf.5:649
4513 #, no-wrap
4514 msgid ""
4515 "typedef struct {\n"
4516 "    uint32_t   p_type;\n"
4517 "    Elf32_Off  p_offset;\n"
4518 "    Elf32_Addr p_vaddr;\n"
4519 "    Elf32_Addr p_paddr;\n"
4520 "    uint32_t   p_filesz;\n"
4521 "    uint32_t   p_memsz;\n"
4522 "    uint32_t   p_flags;\n"
4523 "    uint32_t   p_align;\n"
4524 "} Elf32_Phdr;\n"
4525 msgstr ""
4526 "typedef struct {\n"
4527 "    uint32_t   p_type;\n"
4528 "    Elf32_Off  p_offset;\n"
4529 "    Elf32_Addr p_vaddr;\n"
4530 "    Elf32_Addr p_paddr;\n"
4531 "    uint32_t   p_filesz;\n"
4532 "    uint32_t   p_memsz;\n"
4533 "    uint32_t   p_flags;\n"
4534 "    uint32_t   p_align;\n"
4535 "} Elf32_Phdr;\n"
4536
4537 #. type: Plain text
4538 #: build/C/man5/elf.5:664
4539 #, no-wrap
4540 msgid ""
4541 "typedef struct {\n"
4542 "    uint32_t   p_type;\n"
4543 "    uint32_t   p_flags;\n"
4544 "    Elf64_Off  p_offset;\n"
4545 "    Elf64_Addr p_vaddr;\n"
4546 "    Elf64_Addr p_paddr;\n"
4547 "    uint64_t   p_filesz;\n"
4548 "    uint64_t   p_memsz;\n"
4549 "    uint64_t   p_align;\n"
4550 "} Elf64_Phdr;\n"
4551 msgstr ""
4552 "typedef struct {\n"
4553 "    uint32_t   p_type;\n"
4554 "    uint32_t   p_flags;\n"
4555 "    Elf64_Off  p_offset;\n"
4556 "    Elf64_Addr p_vaddr;\n"
4557 "    Elf64_Addr p_paddr;\n"
4558 "    uint64_t   p_filesz;\n"
4559 "    uint64_t   p_memsz;\n"
4560 "    uint64_t   p_align;\n"
4561 "} Elf64_Phdr;\n"
4562
4563 #. type: Plain text
4564 #: build/C/man5/elf.5:671
4565 msgid ""
4566 "The main difference between the 32-bit and the 64-bit program header lies in "
4567 "the location of the I<p_flags> member in the total struct."
4568 msgstr ""
4569 "32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における "
4570 "I<p_flags> メンバの位置にある。"
4571
4572 #. type: TP
4573 #: build/C/man5/elf.5:671
4574 #, no-wrap
4575 msgid "I<p_type>"
4576 msgstr "I<p_type>"
4577
4578 #. type: Plain text
4579 #: build/C/man5/elf.5:675
4580 #, fuzzy
4581 #| msgid ""
4582 #| "This member of the Phdr struct tells what kind of segment this array "
4583 #| "element describes or how to interpret the array element's information."
4584 msgid ""
4585 "This member of the structure indicates what kind of segment this array "
4586 "element describes or how to interpret the array element's information."
4587 msgstr ""
4588 "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し"
4589 "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。"
4590
4591 #. type: TP
4592 #: build/C/man5/elf.5:676
4593 #, no-wrap
4594 msgid "B<PT_NULL>"
4595 msgstr "B<PT_NULL>"
4596
4597 #. type: Plain text
4598 #: build/C/man5/elf.5:680
4599 msgid ""
4600 "The array element is unused and the other members' values are undefined.  "
4601 "This lets the program header have ignored entries."
4602 msgstr ""
4603 "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ"
4604 "り、このプログラムヘッダーのエントリーは無視される。"
4605
4606 #. type: TP
4607 #: build/C/man5/elf.5:680
4608 #, no-wrap
4609 msgid "B<PT_LOAD>"
4610 msgstr "B<PT_LOAD>"
4611
4612 #. type: Plain text
4613 #: build/C/man5/elf.5:701
4614 msgid ""
4615 "The array element specifies a loadable segment, described by I<p_filesz> and "
4616 "I<p_memsz>.  The bytes from the file are mapped to the beginning of the "
4617 "memory segment.  If the segment's memory size I<p_memsz> is larger than the "
4618 "file size I<p_filesz>, the \"extra\" bytes are defined to hold the value 0 "
4619 "and to follow the segment's initialized area.  The file size may not be "
4620 "larger than the memory size.  Loadable segment entries in the program header "
4621 "table appear in ascending order, sorted on the I<p_vaddr> member."
4622 msgstr ""
4623 "この配列要素は I<p_filesz> と I<p_memsz> で記述されるロード可能セグメントを指"
4624 "定する。 このファイルからのバイトデータが、このメモリーセグメントの先頭から"
4625 "マップされる。 セグメントのメモリーサイズ I<Sy>p_memsz がファイルサイズ "
4626 "I<Sy>p_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント"
4627 "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリーサイズ"
4628 "より大きくてはいけない。 プログラムヘッダーテーブルのロード可能セグメントエン"
4629 "トリーは、 I<p_vaddr> メンバの昇順にソートされて出現する。"
4630
4631 #. type: TP
4632 #: build/C/man5/elf.5:701
4633 #, no-wrap
4634 msgid "B<PT_DYNAMIC>"
4635 msgstr "B<PT_DYNAMIC>"
4636
4637 #. type: Plain text
4638 #: build/C/man5/elf.5:704
4639 msgid "The array element specifies dynamic linking information."
4640 msgstr "この配列要素は動的リンク情報を指定する。"
4641
4642 #. type: TP
4643 #: build/C/man5/elf.5:704
4644 #, no-wrap
4645 msgid "B<PT_INTERP>"
4646 msgstr "B<PT_INTERP>"
4647
4648 #. type: Plain text
4649 #: build/C/man5/elf.5:712
4650 msgid ""
4651 "The array element specifies the location and size of a null-terminated "
4652 "pathname to invoke as an interpreter.  This segment type is meaningful only "
4653 "for executable files (though it may occur for shared objects).  However it "
4654 "may not occur more than once in a file.  If it is present, it must precede "
4655 "any loadable segment entry."
4656 msgstr ""
4657 "この配列要素は、インタープリターとして起動されるパス名 (ヌル文字終端)  の位置"
4658 "とサイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない"
4659 "が)  実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ"
4660 "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て"
4661 "のロード可能セグメントエントリーより前になければならない。"
4662
4663 #. type: TP
4664 #: build/C/man5/elf.5:712
4665 #, no-wrap
4666 msgid "B<PT_NOTE>"
4667 msgstr "B<PT_NOTE>"
4668
4669 #. type: Plain text
4670 #: build/C/man5/elf.5:715
4671 #, fuzzy
4672 #| msgid ""
4673 #| "The array element specifies the location and size for auxiliary "
4674 #| "information."
4675 msgid "The array element specifies the location of notes (ElfN_Nhdr)."
4676 msgstr ""
4677 "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。"
4678
4679 #. type: TP
4680 #: build/C/man5/elf.5:715
4681 #, no-wrap
4682 msgid "B<PT_SHLIB>"
4683 msgstr "B<PT_SHLIB>"
4684
4685 #. type: Plain text
4686 #: build/C/man5/elf.5:720
4687 msgid ""
4688 "This segment type is reserved but has unspecified semantics.  Programs that "
4689 "contain an array element of this type do not conform to the ABI."
4690 msgstr ""
4691 "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素"
4692 "を保持するプログラムは ABI に準拠しない。"
4693
4694 #. type: TP
4695 #: build/C/man5/elf.5:720
4696 #, no-wrap
4697 msgid "B<PT_PHDR>"
4698 msgstr "B<PT_PHDR>"
4699
4700 #. type: Plain text
4701 #: build/C/man5/elf.5:730
4702 msgid ""
4703 "The array element, if present, specifies the location and size of the "
4704 "program header table itself, both in the file and in the memory image of the "
4705 "program.  This segment type may not occur more than once in a file.  "
4706 "Moreover, it may occur only if the program header table is part of the "
4707 "memory image of the program.  If it is present, it must precede any loadable "
4708 "segment entry."
4709 msgstr ""
4710 "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリーイ"
4711 "メージ双方における プログラムヘッダーテーブル自身の位置とサイズを指定する。 "
4712 "このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、この"
4713 "セグメント型が存在してもよいのは、プログラムヘッダーテーブルが プログラムのメ"
4714 "モリーイメージの一部である場合のみである。 もし存在する場合、これは全てのロー"
4715 "ド可能セグメントエントリーより 前になければならない。"
4716
4717 #. type: TP
4718 #: build/C/man5/elf.5:730
4719 #, fuzzy, no-wrap
4720 #| msgid "B<PT_LOPROC>"
4721 msgid "B<PT_LOPROC>, B<PT_HIPROC>"
4722 msgstr "B<PT_LOPROC>"
4723
4724 #. type: Plain text
4725 #: build/C/man5/elf.5:735
4726 #, fuzzy
4727 #| msgid ""
4728 #| "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
4729 #| "specific semantics."
4730 msgid ""
4731 "Values in the inclusive range [B<PT_LOPROC>, B<PT_HIPROC>] are reserved for "
4732 "processor-specific semantics."
4733 msgstr ""
4734 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
4735
4736 #. type: TP
4737 #: build/C/man5/elf.5:735
4738 #, no-wrap
4739 msgid "B<PT_GNU_STACK>"
4740 msgstr "B<PT_GNU_STACK>"
4741
4742 #. type: Plain text
4743 #: build/C/man5/elf.5:741
4744 msgid ""
4745 "GNU extension which is used by the Linux kernel to control the state of the "
4746 "stack via the flags set in the I<p_flags> member."
4747 msgstr ""
4748 "GNU 拡張であり、Linux カーネルが I<p_flags> のメンバーにセットされたフラグ経"
4749 "由でスタックの状態を制御するために使用する。"
4750
4751 #. type: TP
4752 #: build/C/man5/elf.5:742
4753 #, no-wrap
4754 msgid "I<p_offset>"
4755 msgstr "I<p_offset>"
4756
4757 #. type: Plain text
4758 #: build/C/man5/elf.5:746
4759 msgid ""
4760 "This member holds the offset from the beginning of the file at which the "
4761 "first byte of the segment resides."
4762 msgstr ""
4763 "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを"
4764 "保持する。"
4765
4766 #. type: TP
4767 #: build/C/man5/elf.5:746
4768 #, no-wrap
4769 msgid "I<p_vaddr>"
4770 msgstr "I<p_vaddr>"
4771
4772 #. type: Plain text
4773 #: build/C/man5/elf.5:750
4774 msgid ""
4775 "This member holds the virtual address at which the first byte of the segment "
4776 "resides in memory."
4777 msgstr ""
4778 "このメンバは、セグメントの先頭バイトがある メモリーの仮想アドレスを保持する。"
4779
4780 #. type: TP
4781 #: build/C/man5/elf.5:750
4782 #, no-wrap
4783 msgid "I<p_paddr>"
4784 msgstr "I<p_paddr>"
4785
4786 #. type: Plain text
4787 #: build/C/man5/elf.5:758
4788 msgid ""
4789 "On systems for which physical addressing is relevant, this member is "
4790 "reserved for the segment's physical address.  Under BSD this member is not "
4791 "used and must be zero."
4792 msgstr ""
4793 "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと"
4794 "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。"
4795
4796 #. type: TP
4797 #: build/C/man5/elf.5:758
4798 #, no-wrap
4799 msgid "I<p_filesz>"
4800 msgstr "I<p_filesz>"
4801
4802 #. type: Plain text
4803 #: build/C/man5/elf.5:762
4804 msgid ""
4805 "This member holds the number of bytes in the file image of the segment.  It "
4806 "may be zero."
4807 msgstr ""
4808 "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも"
4809 "よい。"
4810
4811 #. type: TP
4812 #: build/C/man5/elf.5:762
4813 #, no-wrap
4814 msgid "I<p_memsz>"
4815 msgstr "I<p_memsz>"
4816
4817 #. type: Plain text
4818 #: build/C/man5/elf.5:766
4819 msgid ""
4820 "This member holds the number of bytes in the memory image of the segment.  "
4821 "It may be zero."
4822 msgstr ""
4823 "このメンバはセグメントのメモリーイメージのバイト数を保持する。 これは 0 でも"
4824 "よい。"
4825
4826 #. type: TP
4827 #: build/C/man5/elf.5:766
4828 #, no-wrap
4829 msgid "I<p_flags>"
4830 msgstr "I<p_flags>"
4831
4832 #. type: Plain text
4833 #: build/C/man5/elf.5:769
4834 msgid "This member holds a bit mask of flags relevant to the segment:"
4835 msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:"
4836
4837 #. type: TP
4838 #: build/C/man5/elf.5:770
4839 #, no-wrap
4840 msgid "B<PF_X>"
4841 msgstr "B<PF_X>"
4842
4843 #. type: Plain text
4844 #: build/C/man5/elf.5:774
4845 msgid "An executable segment."
4846 msgstr "実行可能セグメント。"
4847
4848 #. type: TP
4849 #: build/C/man5/elf.5:774
4850 #, no-wrap
4851 msgid "B<PF_W>"
4852 msgstr "B<PF_W>"
4853
4854 #. type: Plain text
4855 #: build/C/man5/elf.5:777
4856 msgid "A writable segment."
4857 msgstr "書き込み可能セグメント."
4858
4859 #. type: TP
4860 #: build/C/man5/elf.5:777
4861 #, no-wrap
4862 msgid "B<PF_R>"
4863 msgstr "B<PF_R>"
4864
4865 #. type: Plain text
4866 #: build/C/man5/elf.5:780
4867 msgid "A readable segment."
4868 msgstr "読み込み可能セグメント。"
4869
4870 #. type: Plain text
4871 #: build/C/man5/elf.5:791
4872 #, fuzzy
4873 #| msgid ""
4874 #| "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data "
4875 #| "segment commonly has B<PF_X>, B<PF_W> and B<PF_R>."
4876 msgid ""
4877 "A text segment commonly has the flags B<PF_X> and B<PF_R>.  A data segment "
4878 "commonly has B<PF_W> and B<PF_R>."
4879 msgstr ""
4880 "テキストセグメントは一般にフラグ B<PF_X> と B<PF_R> を持つ。 データセグメント"
4881 "は一般に B<PF_X>, B<PF_W>, B<PF_R> を持つ。"
4882
4883 #. type: TP
4884 #: build/C/man5/elf.5:791
4885 #, no-wrap
4886 msgid "I<p_align>"
4887 msgstr "I<p_align>"
4888
4889 #. type: Plain text
4890 #: build/C/man5/elf.5:810
4891 msgid ""
4892 "This member holds the value to which the segments are aligned in memory and "
4893 "in the file.  Loadable process segments must have congruent values for "
4894 "I<p_vaddr> and I<p_offset>, modulo the page size.  Values of zero and one "
4895 "mean no alignment is required.  Otherwise, I<p_align> should be a positive, "
4896 "integral power of two, and I<p_vaddr> should equal I<p_offset>, modulo "
4897 "I<p_align>."
4898 msgstr ""
4899 "このメンバは、セグメントがメモリーおよびファイルにおいて配置 (align)  される"
4900 "値を保持する。 ロード可能プロセスセグメントは、ページサイズを法として "
4901 "I<p_vaddr> と I<p_offset> と合同でなければならない (訳注:「p_vaddr mod ページ"
4902 "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値"
4903 "は配置が必要ないことを意味する。 それ以外の場合、 I<p_align> は正で 2 の整数"
4904 "乗でなければならず、 I<p_vaddr> は I<p_align> を法として I<p_offset> と合同で"
4905 "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ"
4906 "ばならない)。"
4907
4908 #. type: SS
4909 #: build/C/man5/elf.5:810
4910 #, no-wrap
4911 msgid "Section header (Shdr)"
4912 msgstr ""
4913
4914 #. type: Plain text
4915 #: build/C/man5/elf.5:827
4916 msgid ""
4917 "A file's section header table lets one locate all the file's sections.  The "
4918 "section header table is an array of I<Elf32_Shdr> or I<Elf64_Shdr> "
4919 "structures.  The ELF header's I<e_shoff> member gives the byte offset from "
4920 "the beginning of the file to the section header table.  I<e_shnum> holds the "
4921 "number of entries the section header table contains.  I<e_shentsize> holds "
4922 "the size in bytes of each entry."
4923 msgstr ""
4924 "ファイルのセクションヘッダーテーブルには、 全てのファイルセクションの場所が記"
4925 "述されている。 セクションヘッダーテーブルは I<Elf32_Shdr> 構造体または "
4926 "I<Elf64_Shdr> 構造体の配列である。 ELF ヘッダーの I<e_shoff> メンバはファイル"
4927 "の先頭から セクションヘッダーテーブルへのバイトオフセットである。 I<e_shnum> "
4928 "はセクションヘッダーテーブルに含まれるエントリーの数を保持する。 "
4929 "I<e_shentsize> は各エントリーのサイズ (バイト単位) を保持する。"
4930
4931 #. type: Plain text
4932 #: build/C/man5/elf.5:843
4933 #, fuzzy
4934 #| msgid ""
4935 #| "A section header table index is a subscript into this array.  Some "
4936 #| "section header table indices are reserved: the initial entry and the "
4937 #| "indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry "
4938 #| "is used in ELF extensions for I<e_phnum>, I<e_shnum> and I<e_strndx>; in "
4939 #| "other cases, each field in the initial entry is set to zero.  An object "
4940 #| "file does not have sections for these special indices:"
4941 msgid ""
4942 "A section header table index is a subscript into this array.  Some section "
4943 "header table indices are reserved: the initial entry and the indices between "
4944 "B<SHN_LORESERVE> and B<SHN_HIRESERVE>.  The initial entry is used in ELF "
4945 "extensions for I<e_phnum>, I<e_shnum>, and I<e_shstrndx>; in other cases, "
4946 "each field in the initial entry is set to zero.  An object file does not "
4947 "have sections for these special indices:"
4948 msgstr ""
4949 "セクションヘッダーテーブルインデックスは、この配列の添字である。\n"
4950 "いくつかのセクションヘッダーテーブルインデックスは予約されている。予約され"
4951 "て\n"
4952 "いるのは、最初のエントリーと、B<SHN_LORESERVE> と B<SHN_HIRESERVE> の間の\n"
4953 "インデックスである。\n"
4954 "最初のエントリーは、ELF 拡張で I<e_phnum>, I<e_shnum>, I<e_strndx> に使用\n"
4955 "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n"
4956 "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな"
4957 "い。"
4958
4959 #. type: TP
4960 #: build/C/man5/elf.5:843
4961 #, no-wrap
4962 msgid "B<SHN_UNDEF>"
4963 msgstr "B<SHN_UNDEF>"
4964
4965 #. type: Plain text
4966 #: build/C/man5/elf.5:847
4967 msgid ""
4968 "This value marks an undefined, missing, irrelevant, or otherwise meaningless "
4969 "section reference."
4970 msgstr ""
4971 "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意"
4972 "味なセクション参照を示す。"
4973
4974 #. type: TP
4975 #: build/C/man5/elf.5:847
4976 #, no-wrap
4977 msgid "B<SHN_LORESERVE>"
4978 msgstr "B<SHN_LORESERVE>"
4979
4980 #. type: Plain text
4981 #: build/C/man5/elf.5:850
4982 msgid "This value specifies the lower bound of the range of reserved indices."
4983 msgstr "この値は予約済みのインデックス領域の下限を指定する。"
4984
4985 #. type: TP
4986 #: build/C/man5/elf.5:850
4987 #, fuzzy, no-wrap
4988 #| msgid "B<SHN_LOPROC>"
4989 msgid "B<SHN_LOPROC>, B<SHN_HIPROC>"
4990 msgstr "B<SHN_LOPROC>"
4991
4992 #. type: Plain text
4993 #: build/C/man5/elf.5:855
4994 #, fuzzy
4995 #| msgid ""
4996 #| "Values greater than or equal to B<SHN_HIPROC> are reserved for processor-"
4997 #| "specific semantics."
4998 msgid ""
4999 "Values greater in the inclusive range [B<SHN_LOPROC>, B<SHN_HIPROC>] are "
5000 "reserved for processor-specific semantics."
5001 msgstr ""
5002 "この値以上で B<SHN_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
5003
5004 #. type: TP
5005 #: build/C/man5/elf.5:855
5006 #, no-wrap
5007 msgid "B<SHN_ABS>"
5008 msgstr "B<SHN_ABS>"
5009
5010 #. type: Plain text
5011 #: build/C/man5/elf.5:862
5012 msgid ""
5013 "This value specifies the absolute value for the corresponding reference.  "
5014 "For example, a symbol defined relative to section number B<SHN_ABS> has an "
5015 "absolute value and is not affected by relocation."
5016 msgstr ""
5017 "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B<SHN_ABS> に"
5018 "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され"
5019 "ない。"
5020
5021 #. type: TP
5022 #: build/C/man5/elf.5:862
5023 #, no-wrap
5024 msgid "B<SHN_COMMON>"
5025 msgstr "B<SHN_COMMON>"
5026
5027 #. type: Plain text
5028 #: build/C/man5/elf.5:866
5029 msgid ""
5030 "Symbols defined relative to this section are common symbols, such as FORTRAN "
5031 "COMMON or unallocated C external variables."
5032 msgstr ""
5033 "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の"
5034 "未割り当て外部変数のような共通シンボルである。"
5035
5036 #. type: TP
5037 #: build/C/man5/elf.5:866
5038 #, no-wrap
5039 msgid "B<SHN_HIRESERVE>"
5040 msgstr "B<SHN_HIRESERVE>"
5041
5042 #. type: Plain text
5043 #: build/C/man5/elf.5:877
5044 msgid ""
5045 "This value specifies the upper bound of the range of reserved indices.  The "
5046 "system reserves indices between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, "
5047 "inclusive.  The section header table does not contain entries for the "
5048 "reserved indices."
5049 msgstr ""
5050 "この値は予約済みのインデックス領域の上限を指定する。 システムは "
5051 "B<SHN_LORESERVE> と B<SHN_HIRESERVE> を含む範囲を予約する。 セクションヘッ"
5052 "ダーテーブルは予約されたインデックスに対応するエントリーを持たない。"
5053
5054 #. type: Plain text
5055 #: build/C/man5/elf.5:879
5056 msgid "The section header has the following structure:"
5057 msgstr "セクションヘッダーは以下の構造体を持つ:"
5058
5059 #. type: Plain text
5060 #: build/C/man5/elf.5:894
5061 #, no-wrap
5062 msgid ""
5063 "typedef struct {\n"
5064 "    uint32_t   sh_name;\n"
5065 "    uint32_t   sh_type;\n"
5066 "    uint32_t   sh_flags;\n"
5067 "    Elf32_Addr sh_addr;\n"
5068 "    Elf32_Off  sh_offset;\n"
5069 "    uint32_t   sh_size;\n"
5070 "    uint32_t   sh_link;\n"
5071 "    uint32_t   sh_info;\n"
5072 "    uint32_t   sh_addralign;\n"
5073 "    uint32_t   sh_entsize;\n"
5074 "} Elf32_Shdr;\n"
5075 msgstr ""
5076 "typedef struct {\n"
5077 "    uint32_t   sh_name;\n"
5078 "    uint32_t   sh_type;\n"
5079 "    uint32_t   sh_flags;\n"
5080 "    Elf32_Addr sh_addr;\n"
5081 "    Elf32_Off  sh_offset;\n"
5082 "    uint32_t   sh_size;\n"
5083 "    uint32_t   sh_link;\n"
5084 "    uint32_t   sh_info;\n"
5085 "    uint32_t   sh_addralign;\n"
5086 "    uint32_t   sh_entsize;\n"
5087 "} Elf32_Shdr;\n"
5088
5089 #. type: Plain text
5090 #: build/C/man5/elf.5:911
5091 #, no-wrap
5092 msgid ""
5093 "typedef struct {\n"
5094 "    uint32_t   sh_name;\n"
5095 "    uint32_t   sh_type;\n"
5096 "    uint64_t   sh_flags;\n"
5097 "    Elf64_Addr sh_addr;\n"
5098 "    Elf64_Off  sh_offset;\n"
5099 "    uint64_t   sh_size;\n"
5100 "    uint32_t   sh_link;\n"
5101 "    uint32_t   sh_info;\n"
5102 "    uint64_t   sh_addralign;\n"
5103 "    uint64_t   sh_entsize;\n"
5104 "} Elf64_Shdr;\n"
5105 msgstr ""
5106 "typedef struct {\n"
5107 "    uint32_t   sh_name;\n"
5108 "    uint32_t   sh_type;\n"
5109 "    uint64_t   sh_flags;\n"
5110 "    Elf64_Addr sh_addr;\n"
5111 "    Elf64_Off  sh_offset;\n"
5112 "    uint64_t   sh_size;\n"
5113 "    uint32_t   sh_link;\n"
5114 "    uint32_t   sh_info;\n"
5115 "    uint64_t   sh_addralign;\n"
5116 "    uint64_t   sh_entsize;\n"
5117 "} Elf64_Shdr;\n"
5118
5119 #. type: Plain text
5120 #: build/C/man5/elf.5:915
5121 msgid ""
5122 "No real differences exist between the 32-bit and 64-bit section headers."
5123 msgstr "32 ビットと 64 ビットのセクションヘッダーには実際の違いはない。"
5124
5125 #. type: TP
5126 #: build/C/man5/elf.5:915
5127 #, no-wrap
5128 msgid "I<sh_name>"
5129 msgstr "I<sh_name>"
5130
5131 #. type: Plain text
5132 #: build/C/man5/elf.5:921
5133 msgid ""
5134 "This member specifies the name of the section.  Its value is an index into "
5135 "the section header string table section, giving the location of a null-"
5136 "terminated string."
5137 msgstr ""
5138 "このメンバはセクション名を定める。 この値はセクションヘッダー文字列テーブルセ"
5139 "クションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。"
5140
5141 #. type: TP
5142 #: build/C/man5/elf.5:921
5143 #, no-wrap
5144 msgid "I<sh_type>"
5145 msgstr "I<sh_type>"
5146
5147 #. type: Plain text
5148 #: build/C/man5/elf.5:924
5149 msgid "This member categorizes the section's contents and semantics."
5150 msgstr "このメンバはセクションの内容と意味が含まれるカテゴリーを示す。"
5151
5152 #. type: TP
5153 #: build/C/man5/elf.5:925
5154 #, no-wrap
5155 msgid "B<SHT_NULL>"
5156 msgstr "B<SHT_NULL>"
5157
5158 #. type: Plain text
5159 #: build/C/man5/elf.5:932
5160 msgid ""
5161 "This value marks the section header as inactive.  It does not have an "
5162 "associated section.  Other members of the section header have undefined "
5163 "values."
5164 msgstr ""
5165 "この値はセクションヘッダーが不活性であることを示す。 これは関連するセクション"
5166 "を持たない。 このセクションヘッダーの他のメンバは、未定義の値を持つ。"
5167
5168 #. type: TP
5169 #: build/C/man5/elf.5:932
5170 #, no-wrap
5171 msgid "B<SHT_PROGBITS>"
5172 msgstr "B<SHT_PROGBITS>"
5173
5174 #. type: Plain text
5175 #: build/C/man5/elf.5:936
5176 msgid ""
5177 "This section holds information defined by the program, whose format and "
5178 "meaning are determined solely by the program."
5179 msgstr ""
5180 "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意"
5181 "味は、ひとえにプログラムによって決定される。"
5182
5183 #. type: TP
5184 #: build/C/man5/elf.5:936
5185 #, no-wrap
5186 msgid "B<SHT_SYMTAB>"
5187 msgstr "B<SHT_SYMTAB>"
5188
5189 #. type: Plain text
5190 #: build/C/man5/elf.5:949
5191 msgid ""
5192 "This section holds a symbol table.  Typically, B<SHT_SYMTAB> provides "
5193 "symbols for link editing, though it may also be used for dynamic linking.  "
5194 "As a complete symbol table, it may contain many symbols unnecessary for "
5195 "dynamic linking.  An object file can also contain a B<SHT_DYNSYM> section."
5196 msgstr ""
5197 "このセクションはシンボルテーブルを保持する。 一般には B<SHT_SYMTAB> はリンク"
5198 "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル"
5199 "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク"
5200 "トファイルも B<SHT_DYNSYM> セクションを持つことができる。"
5201
5202 #. type: TP
5203 #: build/C/man5/elf.5:949
5204 #, no-wrap
5205 msgid "B<SHT_STRTAB>"
5206 msgstr "B<SHT_STRTAB>"
5207
5208 #. type: Plain text
5209 #: build/C/man5/elf.5:954
5210 msgid ""
5211 "This section holds a string table.  An object file may have multiple string "
5212 "table sections."
5213 msgstr ""
5214 "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列"
5215 "テーブルセクションを持つことができる。"
5216
5217 #. type: TP
5218 #: build/C/man5/elf.5:954
5219 #, no-wrap
5220 msgid "B<SHT_RELA>"
5221 msgstr "B<SHT_RELA>"
5222
5223 #. type: Plain text
5224 #: build/C/man5/elf.5:962
5225 msgid ""
5226 "This section holds relocation entries with explicit addends, such as type "
5227 "I<Elf32_Rela> for the 32-bit class of object files.  An object may have "
5228 "multiple relocation sections."
5229 msgstr ""
5230 "このセクションは明示的な加数 (addend) を持つ再配置エントリーを保持する。 再配"
5231 "置エントリーの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rela> "
5232 "である。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
5233
5234 #. type: TP
5235 #: build/C/man5/elf.5:962
5236 #, no-wrap
5237 msgid "B<SHT_HASH>"
5238 msgstr "B<SHT_HASH>"
5239
5240 #. type: Plain text
5241 #: build/C/man5/elf.5:969
5242 msgid ""
5243 "This section holds a symbol hash table.  An object participating in dynamic "
5244 "linking must contain a symbol hash table.  An object file may have only one "
5245 "hash table."
5246 msgstr ""
5247 "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ"
5248 "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト"
5249 "ファイルは 1 つのハッシュテーブルのみを持つことができる。"
5250
5251 #. type: TP
5252 #: build/C/man5/elf.5:969
5253 #, no-wrap
5254 msgid "B<SHT_DYNAMIC>"
5255 msgstr "B<SHT_DYNAMIC>"
5256
5257 #. type: Plain text
5258 #: build/C/man5/elf.5:974
5259 msgid ""
5260 "This section holds information for dynamic linking.  An object file may have "
5261 "only one dynamic section."
5262 msgstr ""
5263 "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動"
5264 "的セクションのみを持つことができる。"
5265
5266 #. type: TP
5267 #: build/C/man5/elf.5:974
5268 #, no-wrap
5269 msgid "B<SHT_NOTE>"
5270 msgstr "B<SHT_NOTE>"
5271
5272 #. type: Plain text
5273 #: build/C/man5/elf.5:977
5274 msgid "This section holds notes (ElfN_Nhdr)."
5275 msgstr ""
5276
5277 #. type: TP
5278 #: build/C/man5/elf.5:977
5279 #, no-wrap
5280 msgid "B<SHT_NOBITS>"
5281 msgstr "B<SHT_NOBITS>"
5282
5283 #. type: Plain text
5284 #: build/C/man5/elf.5:985
5285 msgid ""
5286 "A section of this type occupies no space in the file but otherwise resembles "
5287 "B<SHT_PROGBITS>.  Although this section contains no bytes, the I<sh_offset> "
5288 "member contains the conceptual file offset."
5289 msgstr ""
5290 "このタイプのセクションはファイルの領域を使わないという以外は、 "
5291 "B<SHT_PROGBITS> と似ている。 このセクションは 1 バイトも含まないが、 "
5292 "I<sh_offset> メンバは概念的なファイルオフセットを持つ。"
5293
5294 #. type: TP
5295 #: build/C/man5/elf.5:985
5296 #, no-wrap
5297 msgid "B<SHT_REL>"
5298 msgstr "B<SHT_REL>"
5299
5300 #. type: Plain text
5301 #: build/C/man5/elf.5:993
5302 msgid ""
5303 "This section holds relocation offsets without explicit addends, such as type "
5304 "I<Elf32_Rel> for the 32-bit class of object files.  An object file may have "
5305 "multiple relocation sections."
5306 msgstr ""
5307 "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ"
5308 "セットの型は、オブジェクトファイルの 32 ビットクラスでは I<Elf32_Rel> であ"
5309 "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。"
5310
5311 #. type: TP
5312 #: build/C/man5/elf.5:993
5313 #, no-wrap
5314 msgid "B<SHT_SHLIB>"
5315 msgstr "B<SHT_SHLIB>"
5316
5317 #. type: Plain text
5318 #: build/C/man5/elf.5:996
5319 msgid "This section is reserved but has unspecified semantics."
5320 msgstr "このセクションは予約されているが、意味は指定されていない。"
5321
5322 #. type: TP
5323 #: build/C/man5/elf.5:996
5324 #, no-wrap
5325 msgid "B<SHT_DYNSYM>"
5326 msgstr "B<SHT_DYNSYM>"
5327
5328 #. type: Plain text
5329 #: build/C/man5/elf.5:1003
5330 msgid ""
5331 "This section holds a minimal set of dynamic linking symbols.  An object file "
5332 "can also contain a B<SHT_SYMTAB> section."
5333 msgstr ""
5334 "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ"
5335 "ルは B<SHT_SYMTAB> セクションも含むことができる。"
5336
5337 #. type: TP
5338 #: build/C/man5/elf.5:1003
5339 #, fuzzy, no-wrap
5340 #| msgid "B<SHT_LOPROC>"
5341 msgid "B<SHT_LOPROC>, B<SHT_HIPROC>"
5342 msgstr "B<SHT_LOPROC>"
5343
5344 #. type: Plain text
5345 #: build/C/man5/elf.5:1008
5346 #, fuzzy
5347 #| msgid ""
5348 #| "Values less than or equal to B<SHN_LOPROC> are reserved for processor-"
5349 #| "specific semantics."
5350 msgid ""
5351 "Values in the inclusive range [B<SHT_LOPROC>, B<SHT_HIPROC>] are reserved "
5352 "for processor-specific semantics."
5353 msgstr ""
5354 "この値以下で B<SHN_HIPROC> 以上の値はプロセッサ固有の意味に予約されている。"
5355
5356 #. type: TP
5357 #: build/C/man5/elf.5:1008
5358 #, no-wrap
5359 msgid "B<SHT_LOUSER>"
5360 msgstr "B<SHT_LOUSER>"
5361
5362 #. type: Plain text
5363 #: build/C/man5/elf.5:1012
5364 msgid ""
5365 "This value specifies the lower bound of the range of indices reserved for "
5366 "application programs."
5367 msgstr ""
5368 "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を"
5369 "指定する。"
5370
5371 #. type: TP
5372 #: build/C/man5/elf.5:1012
5373 #, no-wrap
5374 msgid "B<SHT_HIUSER>"
5375 msgstr "B<SHT_HIUSER>"
5376
5377 #. type: Plain text
5378 #: build/C/man5/elf.5:1022
5379 msgid ""
5380 "This value specifies the upper bound of the range of indices reserved for "
5381 "application programs.  Section types between B<SHT_LOUSER> and B<SHT_HIUSER> "
5382 "may be used by the application, without conflicting with current or future "
5383 "system-defined section types."
5384 msgstr ""
5385 "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を"
5386 "指定する。 B<SHT_LOUSER> から B<SHT_HIUSER> の間のセクションタイプは、 現在ま"
5387 "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで"
5388 "使用することができる。"
5389
5390 #. type: TP
5391 #: build/C/man5/elf.5:1023
5392 #, no-wrap
5393 msgid "I<sh_flags>"
5394 msgstr "I<sh_flags>"
5395
5396 #. type: Plain text
5397 #: build/C/man5/elf.5:1035
5398 msgid ""
5399 "Sections support one-bit flags that describe miscellaneous attributes.  If a "
5400 "flag bit is set in I<sh_flags>, the attribute is \"on\" for the section.  "
5401 "Otherwise, the attribute is \"off\" or does not apply.  Undefined attributes "
5402 "are set to zero."
5403 msgstr ""
5404 "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ"
5405 "ビットが I<sh_flags> に設定された場合、そのセクションについての属性は \"オン"
5406 "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定"
5407 "義の属性は 0 に設定される。"
5408
5409 #. type: TP
5410 #: build/C/man5/elf.5:1036
5411 #, no-wrap
5412 msgid "B<SHF_WRITE>"
5413 msgstr "B<SHF_WRITE>"
5414
5415 #. type: Plain text
5416 #: build/C/man5/elf.5:1040
5417 msgid ""
5418 "This section contains data that should be writable during process execution."
5419 msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。"
5420
5421 #. type: TP
5422 #: build/C/man5/elf.5:1040
5423 #, no-wrap
5424 msgid "B<SHF_ALLOC>"
5425 msgstr "B<SHF_ALLOC>"
5426
5427 #. type: Plain text
5428 #: build/C/man5/elf.5:1047
5429 msgid ""
5430 "This section occupies memory during process execution.  Some control "
5431 "sections do not reside in the memory image of an object file.  This "
5432 "attribute is off for those sections."
5433 msgstr ""
5434 "このセクションはプロセス実行中にメモリーを使用する。 制御セクションの中には、"
5435 "オブジェクトファイルのメモリーイメージには 存在しないものもある。 そうしたセ"
5436 "クションの場合、この属性はオフである。"
5437
5438 #. type: TP
5439 #: build/C/man5/elf.5:1047
5440 #, no-wrap
5441 msgid "B<SHF_EXECINSTR>"
5442 msgstr "B<SHF_EXECINSTR>"
5443
5444 #. type: Plain text
5445 #: build/C/man5/elf.5:1050
5446 msgid "This section contains executable machine instructions."
5447 msgstr "このセクションは実行可能なマシン命令を含む。"
5448
5449 #. type: TP
5450 #: build/C/man5/elf.5:1050
5451 #, no-wrap
5452 msgid "B<SHF_MASKPROC>"
5453 msgstr "B<SHF_MASKPROC>"
5454
5455 #. type: Plain text
5456 #: build/C/man5/elf.5:1054
5457 msgid ""
5458 "All bits included in this mask are reserved for processor-specific semantics."
5459 msgstr ""
5460 "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。"
5461
5462 #. type: TP
5463 #: build/C/man5/elf.5:1055
5464 #, no-wrap
5465 msgid "I<sh_addr>"
5466 msgstr "I<sh_addr>"
5467
5468 #. type: Plain text
5469 #: build/C/man5/elf.5:1060
5470 msgid ""
5471 "If this section appears in the memory image of a process, this member holds "
5472 "the address at which the section's first byte should reside.  Otherwise, the "
5473 "member contains zero."
5474 msgstr ""
5475 "このセクションがプロセスのメモリーイメージにある場合、 このメンバはセクション"
5476 "の最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 "
5477 "である。"
5478
5479 #. type: TP
5480 #: build/C/man5/elf.5:1060
5481 #, no-wrap
5482 msgid "I<sh_offset>"
5483 msgstr "I<sh_offset>"
5484
5485 #. type: Plain text
5486 #: build/C/man5/elf.5:1069
5487 msgid ""
5488 "This member's value holds the byte offset from the beginning of the file to "
5489 "the first byte in the section.  One section type, B<SHT_NOBITS>, occupies no "
5490 "space in the file, and its I<sh_offset> member locates the conceptual "
5491 "placement in the file."
5492 msgstr ""
5493 "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ"
5494 "セットを保持する。 セクションタイプ B<SHT_NOBITS> はファイルの領域を全く使用"
5495 "せず、このタイプの I<sh_offset> メンバはファイルの概念的な位置を示す。"
5496
5497 #. type: TP
5498 #: build/C/man5/elf.5:1069
5499 #, no-wrap
5500 msgid "I<sh_size>"
5501 msgstr "I<sh_size>"
5502
5503 #. type: Plain text
5504 #: build/C/man5/elf.5:1081
5505 msgid ""
5506 "This member holds the section's size in bytes.  Unless the section type is "
5507 "B<SHT_NOBITS>, the section occupies I<sh_size> bytes in the file.  A section "
5508 "of type B<SHT_NOBITS> may have a nonzero size, but it occupies no space in "
5509 "the file."
5510 msgstr ""
5511 "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが "
5512 "B<SHT_NOBITS> でない限り、そのセクションはファイル中の I<sh_size> バイトを使"
5513 "用する。 タイプが B<SHT_NOBITS> のセクションはサイズが 0 でないが、ファイルの"
5514 "領域を使用しない。"
5515
5516 #. type: TP
5517 #: build/C/man5/elf.5:1081
5518 #, no-wrap
5519 msgid "I<sh_link>"
5520 msgstr "I<sh_link>"
5521
5522 #. type: Plain text
5523 #: build/C/man5/elf.5:1085
5524 msgid ""
5525 "This member holds a section header table index link, whose interpretation "
5526 "depends on the section type."
5527 msgstr ""
5528 "このメンバは、セクションヘッダーテーブルインデックスリンクを保持する。 この解"
5529 "釈はセクションタイプに依存する。"
5530
5531 #. type: TP
5532 #: build/C/man5/elf.5:1085
5533 #, no-wrap
5534 msgid "I<sh_info>"
5535 msgstr "I<sh_info>"
5536
5537 #. type: Plain text
5538 #: build/C/man5/elf.5:1089
5539 msgid ""
5540 "This member holds extra information, whose interpretation depends on the "
5541 "section type."
5542 msgstr ""
5543 "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。"
5544
5545 #. type: TP
5546 #: build/C/man5/elf.5:1089
5547 #, no-wrap
5548 msgid "I<sh_addralign>"
5549 msgstr "I<sh_addralign>"
5550
5551 #. type: Plain text
5552 #: build/C/man5/elf.5:1101
5553 #, fuzzy
5554 #| msgid ""
5555 #| "Some sections have address alignment constraints.  If a section holds a "
5556 #| "doubleword, the system must ensure doubleword alignment for the entire "
5557 #| "section.  That is, the value of I<sh_addr> must be congruent to zero, "
5558 #| "modulo the value of I<sh_addralign>.  Only zero and positive integral "
5559 #| "powers of two are allowed.  Values of zero or one mean the section has no "
5560 #| "alignment constraints."
5561 msgid ""
5562 "Some sections have address alignment constraints.  If a section holds a "
5563 "doubleword, the system must ensure doubleword alignment for the entire "
5564 "section.  That is, the value of I<sh_addr> must be congruent to zero, modulo "
5565 "the value of I<sh_addralign>.  Only zero and positive integral powers of two "
5566 "are allowed.  The value 0 or 1 means that the section has no alignment "
5567 "constraints."
5568 msgstr ""
5569 "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を"
5570 "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ"
5571 "ならない。 つまり、 I<sh_addr> の値は I<sh_addralign> の値を法として 0 と合同"
5572 "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな"
5573 "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に"
5574 "制約がないことを意味する。"
5575
5576 #. type: TP
5577 #: build/C/man5/elf.5:1101
5578 #, no-wrap
5579 msgid "I<sh_entsize>"
5580 msgstr "I<sh_entsize>"
5581
5582 #. type: Plain text
5583 #: build/C/man5/elf.5:1107
5584 msgid ""
5585 "Some sections hold a table of fixed-sized entries, such as a symbol table.  "
5586 "For such a section, this member gives the size in bytes for each entry.  "
5587 "This member contains zero if the section does not hold a table of fixed-size "
5588 "entries."
5589 msgstr ""
5590 "シンボルテーブルのような固定サイズエントリーのテーブルを保持する セクションも"
5591 "ある。 このようなセクションでは、 このメンバは各エントリーのサイズ (バイト単"
5592 "位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリーの"
5593 "テーブルを保持しない。"
5594
5595 #. type: Plain text
5596 #: build/C/man5/elf.5:1109
5597 msgid "Various sections hold program and control information:"
5598 msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:"
5599
5600 #. type: TP
5601 #: build/C/man5/elf.5:1109
5602 #, no-wrap
5603 msgid "I<.bss>"
5604 msgstr "I<.bss>"
5605
5606 #. type: Plain text
5607 #: build/C/man5/elf.5:1121
5608 msgid ""
5609 "This section holds uninitialized data that contributes to the program's "
5610 "memory image.  By definition, the system initializes the data with zeros "
5611 "when the program begins to run.  This section is of type B<SHT_NOBITS>.  The "
5612 "attribute types are B<SHF_ALLOC> and B<SHF_WRITE>."
5613 msgstr ""
5614 "このセクションはプログラムのメモリーイメージに配置される 非初期化データを保持"
5615 "する。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 "
5616 "このセクションのタイプは B<SHT_NOBITS> である。 属性タイプは B<SHF_ALLOC> と "
5617 "B<SHF_WRITE> である。"
5618
5619 #. type: TP
5620 #: build/C/man5/elf.5:1121
5621 #, no-wrap
5622 msgid "I<.comment>"
5623 msgstr "I<.comment>"
5624
5625 #. type: Plain text
5626 #: build/C/man5/elf.5:1127
5627 msgid ""
5628 "This section holds version control information.  This section is of type "
5629 "B<SHT_PROGBITS>.  No attribute types are used."
5630 msgstr ""
5631 "このセクションはバージョン制御情報を保持する。 このセクションのタイプは "
5632 "B<SHT_PROGBITS> である。 属性タイプは使用されない。"
5633
5634 #. type: TP
5635 #: build/C/man5/elf.5:1127
5636 #, no-wrap
5637 msgid "I<.ctors>"
5638 msgstr "I<.ctors>"
5639
5640 #. type: Plain text
5641 #: build/C/man5/elf.5:1136
5642 msgid ""
5643 "This section holds initialized pointers to the C++ constructor functions.  "
5644 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
5645 "B<SHF_ALLOC> and B<SHF_WRITE>."
5646 msgstr ""
5647 "このセクションは C++ コンストラクター関数への初期化されたポインターを保持す"
5648 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
5649 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
5650
5651 #. type: TP
5652 #: build/C/man5/elf.5:1136
5653 #, no-wrap
5654 msgid "I<.data>"
5655 msgstr "I<.data>"
5656
5657 #. type: Plain text
5658 #: build/C/man5/elf.5:1146 build/C/man5/elf.5:1156
5659 msgid ""
5660 "This section holds initialized data that contribute to the program's memory "
5661 "image.  This section is of type B<SHT_PROGBITS>.  The attribute types are "
5662 "B<SHF_ALLOC> and B<SHF_WRITE>."
5663 msgstr ""
5664 "このセクションはプログラムのメモリーイメージに配置される 初期化済みデータを保"
5665 "持する。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは "
5666 "B<SHF_ALLOC> と B<SHF_WRITE> である。"
5667
5668 #. type: TP
5669 #: build/C/man5/elf.5:1146
5670 #, no-wrap
5671 msgid "I<.data1>"
5672 msgstr "I<.data1>"
5673
5674 #. type: TP
5675 #: build/C/man5/elf.5:1156
5676 #, no-wrap
5677 msgid "I<.debug>"
5678 msgstr "I<.debug>"
5679
5680 #. type: Plain text
5681 #: build/C/man5/elf.5:1164
5682 msgid ""
5683 "This section holds information for symbolic debugging.  The contents are "
5684 "unspecified.  This section is of type B<SHT_PROGBITS>.  No attribute types "
5685 "are used."
5686 msgstr ""
5687 "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて"
5688 "いない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用さ"
5689 "れない。"
5690
5691 #. type: TP
5692 #: build/C/man5/elf.5:1164
5693 #, no-wrap
5694 msgid "I<.dtors>"
5695 msgstr "I<.dtors>"
5696
5697 #. type: Plain text
5698 #: build/C/man5/elf.5:1173
5699 msgid ""
5700 "This section holds initialized pointers to the C++ destructor functions.  "
5701 "This section is of type B<SHT_PROGBITS>.  The attribute types are "
5702 "B<SHF_ALLOC> and B<SHF_WRITE>."
5703 msgstr ""
5704 "このセクションは C++ デストラクタ関数への初期化されたポインターを保持する。 "
5705 "このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは B<SHF_ALLOC> "
5706 "と B<SHF_WRITE> である。"
5707
5708 #. type: TP
5709 #: build/C/man5/elf.5:1173
5710 #, no-wrap
5711 msgid "I<.dynamic>"
5712 msgstr "I<.dynamic>"
5713
5714 #. type: Plain text
5715 #: build/C/man5/elf.5:1186
5716 msgid ""
5717 "This section holds dynamic linking information.  The section's attributes "
5718 "will include the B<SHF_ALLOC> bit.  Whether the B<SHF_WRITE> bit is set is "
5719 "processor-specific.  This section is of type B<SHT_DYNAMIC>.  See the "
5720 "attributes above."
5721 msgstr ""
5722 "このセクションは動的リンク情報を保持する。 このセクションの属性は "
5723 "B<SHF_ALLOC> ビットを含む。 B<SHF_WRITE> ビットが設定されるか否かはプロセッサ"
5724 "による。 このセクションのタイプは B<SHT_DYNAMIC> である。 上記の属性を参照す"
5725 "ること。"
5726
5727 #. type: TP
5728 #: build/C/man5/elf.5:1186
5729 #, no-wrap
5730 msgid "I<.dynstr>"
5731 msgstr "I<.dynstr>"
5732
5733 #. type: Plain text
5734 #: build/C/man5/elf.5:1194
5735 msgid ""
5736 "This section holds strings needed for dynamic linking, most commonly the "
5737 "strings that represent the names associated with symbol table entries.  This "
5738 "section is of type B<SHT_STRTAB>.  The attribute type used is B<SHF_ALLOC>."
5739 msgstr ""
5740 "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字"
5741 "列はシンボルテーブルエントリーと 関連づけられた名前を表す。 このセクションの"
5742 "タイプは B<SHT_STRTAB> である。 使用される属性タイプは B<SHF_ALLOC> である。"
5743
5744 #. type: TP
5745 #: build/C/man5/elf.5:1194
5746 #, no-wrap
5747 msgid "I<.dynsym>"
5748 msgstr "I<.dynsym>"
5749
5750 #. type: Plain text
5751 #: build/C/man5/elf.5:1201
5752 msgid ""
5753 "This section holds the dynamic linking symbol table.  This section is of "
5754 "type B<SHT_DYNSYM>.  The attribute used is B<SHF_ALLOC>."
5755 msgstr ""
5756 "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ"
5757 "は B<SHT_DYNSYM> である。 使用される属性タイプは B<SHF_ALLOC> である。"
5758
5759 #. type: TP
5760 #: build/C/man5/elf.5:1201
5761 #, no-wrap
5762 msgid "I<.fini>"
5763 msgstr "I<.fini>"
5764
5765 #. type: Plain text
5766 #: build/C/man5/elf.5:1213
5767 msgid ""
5768 "This section holds executable instructions that contribute to the process "
5769 "termination code.  When a program exits normally the system arranges to "
5770 "execute the code in this section.  This section is of type B<SHT_PROGBITS>.  "
5771 "The attributes used are B<SHF_ALLOC> and B<SHF_EXECINSTR>."
5772 msgstr ""
5773 "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス"
5774 "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す"
5775 "る。 このセクションのタイプは B<SHT_PROGBITS> である。 使用される属性タイプ"
5776 "は B<SHF_ALLOC> と B<SHF_EXECINSTR> である。"
5777
5778 #. type: TP
5779 #: build/C/man5/elf.5:1213
5780 #, no-wrap
5781 msgid "I<.gnu.version>"
5782 msgstr "I<.gnu.version>"
5783
5784 #. type: Plain text
5785 #: build/C/man5/elf.5:1222
5786 msgid ""
5787 "This section holds the version symbol table, an array of I<ElfN_Half> "
5788 "elements.  This section is of type B<SHT_GNU_versym>.  The attribute type "
5789 "used is B<SHF_ALLOC>."
5790 msgstr ""
5791 "このセクションはバージョンシンボルテーブルを保持する。 その内容は "
5792 "I<ElfN_Half> 要素の配列である。 このセクションのタイプは B<SHT_GNU_versym> で"
5793 "ある。 使用される属性タイプは B<SHF_ALLOC> である。"
5794
5795 #. type: TP
5796 #: build/C/man5/elf.5:1222
5797 #, no-wrap
5798 msgid "I<.gnu.version_d>"
5799 msgstr "I<.gnu.version_d>"
5800
5801 #. type: Plain text
5802 #: build/C/man5/elf.5:1231
5803 msgid ""
5804 "This section holds the version symbol definitions, a table of I<ElfN_Verdef> "
5805 "structures.  This section is of type B<SHT_GNU_verdef>.  The attribute type "
5806 "used is B<SHF_ALLOC>."
5807 msgstr ""
5808 "このセクションはバージョンシンボルの定義を保持する。 その内容は "
5809 "I<ElfN_Verdef> 構造体のテーブルである。 このセクションのタイプは "
5810 "B<SHT_GNU_verdef> である。 使用される属性タイプは B<SHF_ALLOC> である。"
5811
5812 #. type: TP
5813 #: build/C/man5/elf.5:1231
5814 #, no-wrap
5815 msgid "I<.gnu.version_r>"
5816 msgstr "I<.gnu.version_r>"
5817
5818 #. type: Plain text
5819 #: build/C/man5/elf.5:1241
5820 msgid ""
5821 "This section holds the version symbol needed elements, a table of "
5822 "I<ElfN_Verneed> structures.  This section is of type B<SHT_GNU_versym>.  The "
5823 "attribute type used is B<SHF_ALLOC>."
5824 msgstr ""
5825 "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は "
5826 "I<ElfN_Verneed> 構造体のテーブルである。 このセクションのタイプは "
5827 "B<SHT_GNU_versym> である。 使用される属性タイプは B<shf_alloc> である。"
5828
5829 #. type: TP
5830 #: build/C/man5/elf.5:1241
5831 #, no-wrap
5832 msgid "I<.got>"
5833 msgstr "I<.got>"
5834
5835 #. type: Plain text
5836 #: build/C/man5/elf.5:1247
5837 msgid ""
5838 "This section holds the global offset table.  This section is of type "
5839 "B<SHT_PROGBITS>.  The attributes are processor-specific."
5840 msgstr ""
5841 "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ"
5842 "プは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
5843
5844 #. type: TP
5845 #: build/C/man5/elf.5:1247
5846 #, no-wrap
5847 msgid "I<.hash>"
5848 msgstr "I<.hash>"
5849
5850 #. type: Plain text
5851 #: build/C/man5/elf.5:1254
5852 msgid ""
5853 "This section holds a symbol hash table.  This section is of type "
5854 "B<SHT_HASH>.  The attribute used is B<SHF_ALLOC>."
5855 msgstr ""
5856 "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは "
5857 "B<SHT_HASH> である。 使用される属性は B<SHF_ALLOC> である。"
5858
5859 #. type: TP
5860 #: build/C/man5/elf.5:1254
5861 #, no-wrap
5862 msgid "I<.init>"
5863 msgstr "I<.init>"
5864
5865 #. type: Plain text
5866 #: build/C/man5/elf.5:1266
5867 msgid ""
5868 "This section holds executable instructions that contribute to the process "
5869 "initialization code.  When a program starts to run the system arranges to "
5870 "execute the code in this section before calling the main program entry "
5871 "point.  This section is of type B<SHT_PROGBITS>.  The attributes used are "
5872 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
5873 msgstr ""
5874 "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ"
5875 "グラムが実行を開始すると、 システムはメインプログラムエントリーポイントを呼び"
5876 "出す前に、 このセクションにあるコードを配置して実行する。 このセクションはの"
5877 "タイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
5878 "B<SHF_EXECINSTR> である。"
5879
5880 #. type: TP
5881 #: build/C/man5/elf.5:1266
5882 #, no-wrap
5883 msgid "I<.interp>"
5884 msgstr "I<.interp>"
5885
5886 #. type: Plain text
5887 #: build/C/man5/elf.5:1277
5888 msgid ""
5889 "This section holds the pathname of a program interpreter.  If the file has a "
5890 "loadable segment that includes the section, the section's attributes will "
5891 "include the B<SHF_ALLOC> bit.  Otherwise, that bit will be off.  This "
5892 "section is of type B<SHT_PROGBITS>."
5893 msgstr ""
5894 "このセクションはプログラムインタープリターのパス名を保持する。 ファイルにこの"
5895 "セクションを含むロード可能セグメントがある場合、 そのセクションの属性には "
5896 "B<SHF_ALLOC> ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ"
5897 "クションのタイプは B<SHT_PROGBITS> である。"
5898
5899 #. type: TP
5900 #: build/C/man5/elf.5:1277
5901 #, no-wrap
5902 msgid "I<.line>"
5903 msgstr "I<.line>"
5904
5905 #. type: Plain text
5906 #: build/C/man5/elf.5:1286
5907 msgid ""
5908 "This section holds line number information for symbolic debugging, which "
5909 "describes the correspondence between the program source and the machine "
5910 "code.  The contents are unspecified.  This section is of type "
5911 "B<SHT_PROGBITS>.  No attribute types are used."
5912 msgstr ""
5913 "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ"
5914 "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい"
5915 "ない。 このセクションのタイプは B<SHT_PROGBITS> である。 属性タイプは使用され"
5916 "ない。"
5917
5918 #. type: TP
5919 #: build/C/man5/elf.5:1286
5920 #, no-wrap
5921 msgid "I<.note>"
5922 msgstr "I<.note>"
5923
5924 #. type: Plain text
5925 #: build/C/man5/elf.5:1292
5926 #, fuzzy
5927 #| msgid ""
5928 #| "This section holds section names.  This section is of type "
5929 #| "B<SHT_STRTAB>.  No attribute types are used."
5930 msgid ""
5931 "This section holds various notes.  This section is of type B<SHT_NOTE>.  No "
5932 "attribute types are used."
5933 msgstr ""
5934 "このセクションはセクション名を保持する。 このセクションのタイプは "
5935 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
5936
5937 #. type: TP
5938 #: build/C/man5/elf.5:1292
5939 #, fuzzy, no-wrap
5940 #| msgid "I<.note.GNU-stack>"
5941 msgid "I<.note.ABI-tag>"
5942 msgstr "I<.note.GNU-stack>"
5943
5944 #. type: Plain text
5945 #: build/C/man5/elf.5:1300
5946 #, fuzzy
5947 #| msgid ""
5948 #| "This section holds read-only data that typically contributes to a "
5949 #| "nonwritable segment in the process image.  This section is of type "
5950 #| "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
5951 msgid ""
5952 "This section is used to declare the expected run-time ABI of the ELF image.  "
5953 "It may include the operating system name and its run-time versions.  This "
5954 "section is of type B<SHT_NOTE>.  The only attribute used is B<SHF_ALLOC>."
5955 msgstr ""
5956 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
5957 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
5958 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
5959
5960 #. type: TP
5961 #: build/C/man5/elf.5:1300
5962 #, no-wrap
5963 msgid "I<.note.gnu.build-id>"
5964 msgstr ""
5965
5966 #. type: Plain text
5967 #: build/C/man5/elf.5:1313
5968 msgid ""
5969 "This section is used to hold an ID that uniquely identifies the contents of "
5970 "the ELF image.  Different files with the same build ID should contain the "
5971 "same executable content.  See the B<--build-id> option to the GNU linker "
5972 "(B<ld> (1)) for more details.  This section is of type B<SHT_NOTE>.  The "
5973 "only attribute used is B<SHF_ALLOC>."
5974 msgstr ""
5975
5976 #. type: TP
5977 #: build/C/man5/elf.5:1313
5978 #, no-wrap
5979 msgid "I<.note.GNU-stack>"
5980 msgstr "I<.note.GNU-stack>"
5981
5982 #. type: Plain text
5983 #: build/C/man5/elf.5:1322
5984 msgid ""
5985 "This section is used in Linux object files for declaring stack attributes.  "
5986 "This section is of type B<SHT_PROGBITS>.  The only attribute used is "
5987 "B<SHF_EXECINSTR>.  This indicates to the GNU linker that the object file "
5988 "requires an executable stack."
5989 msgstr ""
5990 "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使"
5991 "用される。 セクションのタイプは B<SHT_PROGBITS> である。使用される属性は "
5992 "B<SHF_EXECINSTR> だけである。この属性は GNU リンカーに対して オブジェクトファ"
5993 "イルが実行可能なスタック (executable stack) を必要とする 示すものである。"
5994
5995 #. type: TP
5996 #: build/C/man5/elf.5:1322
5997 #, no-wrap
5998 msgid "I<.note.openbsd.ident>"
5999 msgstr ""
6000
6001 #. type: Plain text
6002 #: build/C/man5/elf.5:1327
6003 #, fuzzy
6004 #| msgid ""
6005 #| "This section holds information in the \"Note Section\" format.  This "
6006 #| "section is of type B<SHT_NOTE>.  No attribute types are used.  OpenBSD "
6007 #| "native executables usually contain a I<.note.openbsd.ident> section to "
6008 #| "identify themselves, for the kernel to bypass any compatibility ELF "
6009 #| "binary emulation tests when loading the file."
6010 msgid ""
6011 "OpenBSD native executables usually contain this section to identify "
6012 "themselves so the kernel can bypass any compatibility ELF binary emulation "
6013 "tests when loading the file."
6014 msgstr ""
6015 "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ"
6016 "プ\n"
6017 "は B<SHT_NOTE> である。属性タイプは使用されない。通常 OpenBSD ネイティブ実"
6018 "行\n"
6019 "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持"
6020 "つ。\n"
6021 "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー"
6022 "ショ\n"
6023 "ンテストを回避できる。"
6024
6025 #. type: TP
6026 #: build/C/man5/elf.5:1327
6027 #, no-wrap
6028 msgid "I<.plt>"
6029 msgstr "I<.plt>"
6030
6031 #. type: Plain text
6032 #: build/C/man5/elf.5:1333
6033 msgid ""
6034 "This section holds the procedure linkage table.  This section is of type "
6035 "B<SHT_PROGBITS>.  The attributes are processor-specific."
6036 msgstr ""
6037 "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション"
6038 "のタイプは B<SHT_PROGBITS> である。 属性はプロセッサ毎に異なる。"
6039
6040 #. type: TP
6041 #: build/C/man5/elf.5:1333
6042 #, no-wrap
6043 msgid "I<.relNAME>"
6044 msgstr "I<.relNAME>"
6045
6046 #. type: Plain text
6047 #: build/C/man5/elf.5:1352
6048 msgid ""
6049 "This section holds relocation information as described below.  If the file "
6050 "has a loadable segment that includes relocation, the section's attributes "
6051 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
6052 "convention, \"NAME\" is supplied by the section to which the relocations "
6053 "apply.  Thus a relocation section for B<.text> normally would have the name "
6054 "B<.rel.text>.  This section is of type B<SHT_REL>."
6055 msgstr ""
6056 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
6057 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
6058 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
6059 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
6060 "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ"
6061 "プは B<SHT_REL> である。"
6062
6063 #. type: TP
6064 #: build/C/man5/elf.5:1352
6065 #, no-wrap
6066 msgid "I<.relaNAME>"
6067 msgstr "I<.relaNAME>"
6068
6069 #. type: Plain text
6070 #: build/C/man5/elf.5:1371
6071 msgid ""
6072 "This section holds relocation information as described below.  If the file "
6073 "has a loadable segment that includes relocation, the section's attributes "
6074 "will include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  By "
6075 "convention, \"NAME\" is supplied by the section to which the relocations "
6076 "apply.  Thus a relocation section for B<.text> normally would have the name "
6077 "B<.rela.text>.  This section is of type B<SHT_RELA>."
6078 msgstr ""
6079 "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む"
6080 "ロード可能セグメントを持っている場合、 このセクションの属性は B<SHF_ALLOC> "
6081 "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME"
6082 "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再"
6083 "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ"
6084 "イプは B<SHT_RELA> である。"
6085
6086 #. type: TP
6087 #: build/C/man5/elf.5:1371
6088 #, no-wrap
6089 msgid "I<.rodata>"
6090 msgstr "I<.rodata>"
6091
6092 #. type: Plain text
6093 #: build/C/man5/elf.5:1379 build/C/man5/elf.5:1387
6094 msgid ""
6095 "This section holds read-only data that typically contributes to a "
6096 "nonwritable segment in the process image.  This section is of type "
6097 "B<SHT_PROGBITS>.  The attribute used is B<SHF_ALLOC>."
6098 msgstr ""
6099 "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー"
6100 "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは "
6101 "B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> である。"
6102
6103 #. type: TP
6104 #: build/C/man5/elf.5:1379
6105 #, no-wrap
6106 msgid "I<.rodata1>"
6107 msgstr "I<.rodata1>"
6108
6109 #. type: TP
6110 #: build/C/man5/elf.5:1387
6111 #, no-wrap
6112 msgid "I<.shstrtab>"
6113 msgstr "I<.shstrtab>"
6114
6115 #. type: Plain text
6116 #: build/C/man5/elf.5:1393
6117 msgid ""
6118 "This section holds section names.  This section is of type B<SHT_STRTAB>.  "
6119 "No attribute types are used."
6120 msgstr ""
6121 "このセクションはセクション名を保持する。 このセクションのタイプは "
6122 "B<SHT_STRTAB> である。 属性タイプは使用されない。"
6123
6124 #. type: TP
6125 #: build/C/man5/elf.5:1393
6126 #, no-wrap
6127 msgid "I<.strtab>"
6128 msgstr "I<.strtab>"
6129
6130 #. type: Plain text
6131 #: build/C/man5/elf.5:1405
6132 msgid ""
6133 "This section holds strings, most commonly the strings that represent the "
6134 "names associated with symbol table entries.  If the file has a loadable "
6135 "segment that includes the symbol string table, the section's attributes will "
6136 "include the B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section "
6137 "is of type B<SHT_STRTAB>."
6138 msgstr ""
6139 "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエント"
6140 "リーに関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブ"
6141 "ルを含むロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビッ"
6142 "トを含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは "
6143 "B<SHT_STRTAB> である。"
6144
6145 #. type: TP
6146 #: build/C/man5/elf.5:1405
6147 #, no-wrap
6148 msgid "I<.symtab>"
6149 msgstr "I<.symtab>"
6150
6151 #. type: Plain text
6152 #: build/C/man5/elf.5:1416
6153 msgid ""
6154 "This section holds a symbol table.  If the file has a loadable segment that "
6155 "includes the symbol table, the section's attributes will include the "
6156 "B<SHF_ALLOC> bit.  Otherwise, the bit will be off.  This section is of type "
6157 "B<SHT_SYMTAB>."
6158 msgstr ""
6159 "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む"
6160 "ロード可能セグメントを持つ場合、 セクションの属性は B<SHF_ALLOC> ビットを含"
6161 "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは "
6162 "B<SHT_SYMTAB> である。"
6163
6164 #. type: TP
6165 #: build/C/man5/elf.5:1416
6166 #, no-wrap
6167 msgid "I<.text>"
6168 msgstr "I<.text>"
6169
6170 #. type: Plain text
6171 #: build/C/man5/elf.5:1428
6172 msgid ""
6173 "This section holds the \"text\", or executable instructions, of a program.  "
6174 "This section is of type B<SHT_PROGBITS>.  The attributes used are "
6175 "B<SHF_ALLOC> and B<SHF_EXECINSTR>."
6176 msgstr ""
6177 "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク"
6178 "ションのタイプは B<SHT_PROGBITS> である。 使用される属性は B<SHF_ALLOC> と "
6179 "B<SHF_EXECINSTR> である。"
6180
6181 #. type: SS
6182 #: build/C/man5/elf.5:1428
6183 #, fuzzy, no-wrap
6184 #| msgid "Address of symbol table"
6185 msgid "String and symbol tables"
6186 msgstr "シンボルテーブルのアドレス"
6187
6188 #. type: Plain text
6189 #: build/C/man5/elf.5:1439
6190 msgid ""
6191 "String table sections hold null-terminated character sequences, commonly "
6192 "called strings.  The object file uses these strings to represent symbol and "
6193 "section names.  One references a string as an index into the string table "
6194 "section.  The first byte, which is index zero, is defined to hold a null "
6195 "byte (\\(aq\\e0\\(aq).  Similarly, a string table's last byte is defined to "
6196 "hold a null byte, ensuring null termination for all strings."
6197 msgstr ""
6198 "文字列テーブルセクションはヌル文字で終端されたキャラクター配列 (通常文字列と"
6199 "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名"
6200 "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン"
6201 "デックスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq"
6202 "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも"
6203 "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され"
6204 "ていることを保証するためである。"
6205
6206 #. type: Plain text
6207 #: build/C/man5/elf.5:1444
6208 msgid ""
6209 "An object file's symbol table holds information needed to locate and "
6210 "relocate a program's symbolic definitions and references.  A symbol table "
6211 "index is a subscript into this array."
6212 msgstr ""
6213 "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配"
6214 "置または再配置するのに 必要な情報を保持する。"
6215
6216 #. type: Plain text
6217 #: build/C/man5/elf.5:1455
6218 #, no-wrap
6219 msgid ""
6220 "typedef struct {\n"
6221 "    uint32_t      st_name;\n"
6222 "    Elf32_Addr    st_value;\n"
6223 "    uint32_t      st_size;\n"
6224 "    unsigned char st_info;\n"
6225 "    unsigned char st_other;\n"
6226 "    uint16_t      st_shndx;\n"
6227 "} Elf32_Sym;\n"
6228 msgstr ""
6229 "typedef struct {\n"
6230 "    uint32_t      st_name;\n"
6231 "    Elf32_Addr    st_value;\n"
6232 "    uint32_t      st_size;\n"
6233 "    unsigned char st_info;\n"
6234 "    unsigned char st_other;\n"
6235 "    uint16_t      st_shndx;\n"
6236 "} Elf32_Sym;\n"
6237
6238 #. type: Plain text
6239 #: build/C/man5/elf.5:1468
6240 #, no-wrap
6241 msgid ""
6242 "typedef struct {\n"
6243 "    uint32_t      st_name;\n"
6244 "    unsigned char st_info;\n"
6245 "    unsigned char st_other;\n"
6246 "    uint16_t      st_shndx;\n"
6247 "    Elf64_Addr    st_value;\n"
6248 "    uint64_t      st_size;\n"
6249 "} Elf64_Sym;\n"
6250 msgstr ""
6251 "typedef struct {\n"
6252 "    uint32_t      st_name;\n"
6253 "    unsigned char st_info;\n"
6254 "    unsigned char st_other;\n"
6255 "    uint16_t      st_shndx;\n"
6256 "    Elf64_Addr    st_value;\n"
6257 "    uint64_t      st_size;\n"
6258 "} Elf64_Sym;\n"
6259
6260 #. type: Plain text
6261 #: build/C/man5/elf.5:1473
6262 msgid ""
6263 "The 32-bit and 64-bit versions have the same members, just in a different "
6264 "order."
6265 msgstr ""
6266 "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。"
6267
6268 #. type: TP
6269 #: build/C/man5/elf.5:1473
6270 #, no-wrap
6271 msgid "I<st_name>"
6272 msgstr "I<st_name>"
6273
6274 #. type: Plain text
6275 #: build/C/man5/elf.5:1481
6276 #, fuzzy
6277 #| msgid ""
6278 #| "This member holds an index into the object file's symbol string table, "
6279 #| "which holds character representations of the symbol names.  If the value "
6280 #| "is nonzero, it represents a string table index that gives the symbol "
6281 #| "name.  Otherwise, the symbol table has no name."
6282 msgid ""
6283 "This member holds an index into the object file's symbol string table, which "
6284 "holds character representations of the symbol names.  If the value is "
6285 "nonzero, it represents a string table index that gives the symbol name.  "
6286 "Otherwise, the symbol has no name."
6287 msgstr ""
6288 "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持"
6289 "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で"
6290 "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場"
6291 "合、シンボルテーブルは名前を持たない。"
6292
6293 #. type: TP
6294 #: build/C/man5/elf.5:1481
6295 #, no-wrap
6296 msgid "I<st_value>"
6297 msgstr "I<st_value>"
6298
6299 #. type: Plain text
6300 #: build/C/man5/elf.5:1484
6301 msgid "This member gives the value of the associated symbol."
6302 msgstr "このメンバは関連づけられたシンボルの値を表す。"
6303
6304 #. type: TP
6305 #: build/C/man5/elf.5:1484
6306 #, no-wrap
6307 msgid "I<st_size>"
6308 msgstr "I<st_size>"
6309
6310 #. type: Plain text
6311 #: build/C/man5/elf.5:1489
6312 msgid ""
6313 "Many symbols have associated sizes.  This member holds zero if the symbol "
6314 "has no size or an unknown size."
6315 msgstr ""
6316 "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな"
6317 "い場合、またはサイズが不明な場合、 このメンバは 0 である。"
6318
6319 #. type: TP
6320 #: build/C/man5/elf.5:1489
6321 #, no-wrap
6322 msgid "I<st_info>"
6323 msgstr "I<st_info>"
6324
6325 #. type: Plain text
6326 #: build/C/man5/elf.5:1492
6327 msgid "This member specifies the symbol's type and binding attributes:"
6328 msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:"
6329
6330 #. type: TP
6331 #: build/C/man5/elf.5:1493
6332 #, no-wrap
6333 msgid "B<STT_NOTYPE>"
6334 msgstr "B<STT_NOTYPE>"
6335
6336 #. type: Plain text
6337 #: build/C/man5/elf.5:1496
6338 msgid "The symbol's type is not defined."
6339 msgstr "シンボルのタイプが定義されていない。"
6340
6341 #. type: TP
6342 #: build/C/man5/elf.5:1496
6343 #, no-wrap
6344 msgid "B<STT_OBJECT>"
6345 msgstr "B<STT_OBJECT>"
6346
6347 #. type: Plain text
6348 #: build/C/man5/elf.5:1499
6349 msgid "The symbol is associated with a data object."
6350 msgstr "シンボルはデータオブジェクトに関連づけられている。"
6351
6352 #. type: TP
6353 #: build/C/man5/elf.5:1499
6354 #, no-wrap
6355 msgid "B<STT_FUNC>"
6356 msgstr "B<STT_FUNC>"
6357
6358 #. type: Plain text
6359 #: build/C/man5/elf.5:1502
6360 msgid "The symbol is associated with a function or other executable code."
6361 msgstr "シンボルは関数またはその他の実行コードに関連づけられている。"
6362
6363 #. type: TP
6364 #: build/C/man5/elf.5:1502
6365 #, no-wrap
6366 msgid "B<STT_SECTION>"
6367 msgstr "B<STT_SECTION>"
6368
6369 #. type: Plain text
6370 #: build/C/man5/elf.5:1509
6371 msgid ""
6372 "The symbol is associated with a section.  Symbol table entries of this type "
6373 "exist primarily for relocation and normally have B<STB_LOCAL> bindings."
6374 msgstr ""
6375 "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント"
6376 "リーは、 主として再配置のために存在し、通常は B<STB_LOCAL> バインディングを持"
6377 "つ。"
6378
6379 #. type: TP
6380 #: build/C/man5/elf.5:1509
6381 #, no-wrap
6382 msgid "B<STT_FILE>"
6383 msgstr "B<STT_FILE>"
6384
6385 #. type: Plain text
6386 #: build/C/man5/elf.5:1520
6387 msgid ""
6388 "By convention, the symbol's name gives the name of the source file "
6389 "associated with the object file.  A file symbol has B<STB_LOCAL> bindings, "
6390 "its section index is B<SHN_ABS>, and it precedes the other B<STB_LOCAL> "
6391 "symbols of the file, if it is present."
6392 msgstr ""
6393 "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ"
6394 "ルの名前を指定する。 ファイルシンボルは B<STB_LOCAL> バインディングを持ち、そ"
6395 "のセクションインデックスは B<SHN_ABS> である。 ファイルシンボルは、ファイルに"
6396 "他の B<STB_LOCAL> シンボルがある場合は、それよりも先に来る。"
6397
6398 #. type: TP
6399 #: build/C/man5/elf.5:1520
6400 #, fuzzy, no-wrap
6401 #| msgid "B<STT_LOPROC>"
6402 msgid "B<STT_LOPROC>, B<STT_HIPROC>"
6403 msgstr "B<STT_LOPROC>"
6404
6405 #. type: Plain text
6406 #: build/C/man5/elf.5:1525
6407 #, fuzzy
6408 #| msgid ""
6409 #| "This value down to and including B<STT_LOPROC> is reserved for processor-"
6410 #| "specific semantics."
6411 msgid ""
6412 "Values in the inclusive range [B<STT_LOPROC>, B<STT_HIPROC>] are reserved "
6413 "for processor-specific semantics."
6414 msgstr ""
6415 "この値以下で B<STT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
6416
6417 #. type: TP
6418 #: build/C/man5/elf.5:1525
6419 #, no-wrap
6420 msgid "B<STB_LOCAL>"
6421 msgstr "B<STB_LOCAL>"
6422
6423 #. type: Plain text
6424 #: build/C/man5/elf.5:1531
6425 msgid ""
6426 "Local symbols are not visible outside the object file containing their "
6427 "definition.  Local symbols of the same name may exist in multiple files "
6428 "without interfering with each other."
6429 msgstr ""
6430 "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名"
6431 "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき"
6432 "る。"
6433
6434 #. type: TP
6435 #: build/C/man5/elf.5:1531
6436 #, no-wrap
6437 msgid "B<STB_GLOBAL>"
6438 msgstr "B<STB_GLOBAL>"
6439
6440 #. type: Plain text
6441 #: build/C/man5/elf.5:1537
6442 msgid ""
6443 "Global symbols are visible to all object files being combined.  One file's "
6444 "definition of a global symbol will satisfy another file's undefined "
6445 "reference to the same symbol."
6446 msgstr ""
6447 "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ"
6448 "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ"
6449 "の参照は未定義でなければならない。"
6450
6451 #. type: TP
6452 #: build/C/man5/elf.5:1537
6453 #, no-wrap
6454 msgid "B<STB_WEAK>"
6455 msgstr "B<STB_WEAK>"
6456
6457 #. type: Plain text
6458 #: build/C/man5/elf.5:1541
6459 msgid ""
6460 "Weak symbols resemble global symbols, but their definitions have lower "
6461 "precedence."
6462 msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。"
6463
6464 #. type: TP
6465 #: build/C/man5/elf.5:1541
6466 #, fuzzy, no-wrap
6467 #| msgid "B<STB_LOPROC>"
6468 msgid "B<STB_LOPROC>, B<STB_HIPROC>"
6469 msgstr "B<STB_LOPROC>"
6470
6471 #. type: Plain text
6472 #: build/C/man5/elf.5:1546
6473 #, fuzzy
6474 #| msgid ""
6475 #| "This value down to and including B<STB_LOPROC> is reserved for processor-"
6476 #| "specific semantics."
6477 msgid ""
6478 "Values in the inclusive range [B<STB_LOPROC>, B<STB_HIPROC>] are reserved "
6479 "for processor-specific semantics."
6480 msgstr ""
6481 "この値以下で B<STB_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されている。"
6482
6483 #. type: Plain text
6484 #: build/C/man5/elf.5:1549
6485 msgid "There are macros for packing and unpacking the binding and type fields:"
6486 msgstr ""
6487 "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ"
6488 "る:"
6489
6490 #. type: TP
6491 #: build/C/man5/elf.5:1550
6492 #, fuzzy, no-wrap
6493 #| msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
6494 msgid "B<ELF32_ST_BIND(>I<info>B<)>, B<ELF64_ST_BIND(>I<info>B<)>"
6495 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
6496
6497 #. type: Plain text
6498 #: build/C/man5/elf.5:1555
6499 #, fuzzy
6500 #| msgid "extract a type from an I<st_info> value."
6501 msgid "Extract a binding from an I<st_info> value."
6502 msgstr "I<st_info> の値からタイプを取り出す。"
6503
6504 #. type: TP
6505 #: build/C/man5/elf.5:1555
6506 #, fuzzy, no-wrap
6507 #| msgid "B<ELF32_ST_TYPE>(info)  or B<ELF64_ST_TYPE>(info)"
6508 msgid "B<ELF32_ST_TYPE(>I<info>B<)>, B<ELF64_ST_TYPE(>I<info>B<)>"
6509 msgstr "B<ELF32_ST_TYPE>(info)  または B<ELF64_ST_TYPE>(info)"
6510
6511 #. type: Plain text
6512 #: build/C/man5/elf.5:1560
6513 #, fuzzy
6514 #| msgid "extract a type from an I<st_info> value."
6515 msgid "Extract a type from an I<st_info> value."
6516 msgstr "I<st_info> の値からタイプを取り出す。"
6517
6518 #. type: TP
6519 #: build/C/man5/elf.5:1560
6520 #, fuzzy, no-wrap
6521 #| msgid "B<ELF32_ST_INFO>(bind, type)  or B<ELF64_ST_INFO>(bind, type)"
6522 msgid "B<ELF32_ST_INFO(>I<bind>B<, >I<type>B<)>, B<ELF64_ST_INFO(>I<bind>B<, >I<type>B<)>"
6523 msgstr "B<ELF32_ST_INFO>(bind, type)  または B<ELF64_ST_INFO>(bind, type)"
6524
6525 #. type: Plain text
6526 #: build/C/man5/elf.5:1566
6527 #, fuzzy
6528 #| msgid "convert a binding and a type into an I<st_info> value."
6529 msgid "Convert a binding and a type into an I<st_info> value."
6530 msgstr "バインディングとタイプを I<st_info> の値に変換する。"
6531
6532 #. type: TP
6533 #: build/C/man5/elf.5:1567
6534 #, no-wrap
6535 msgid "I<st_other>"
6536 msgstr "I<st_other>"
6537
6538 #. type: Plain text
6539 #: build/C/man5/elf.5:1570
6540 msgid "This member defines the symbol visibility."
6541 msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。"
6542
6543 #. type: TP
6544 #: build/C/man5/elf.5:1571
6545 #, no-wrap
6546 msgid "B<STV_DEFAULT>"
6547 msgstr "B<STV_DEFAULT>"
6548
6549 #. type: Plain text
6550 #: build/C/man5/elf.5:1578
6551 msgid ""
6552 "Default symbol visibility rules.  Global and weak symbols are available to "
6553 "other modules; references in the local module can be interposed by "
6554 "definitions in other modules."
6555 msgstr ""
6556
6557 #. type: TP
6558 #: build/C/man5/elf.5:1578
6559 #, no-wrap
6560 msgid "B<STV_INTERNAL>"
6561 msgstr "B<STV_INTERNAL>"
6562
6563 #. type: Plain text
6564 #: build/C/man5/elf.5:1581
6565 msgid "Processor-specific hidden class."
6566 msgstr "プロセッサ固有の隠しクラス。"
6567
6568 #. type: TP
6569 #: build/C/man5/elf.5:1581
6570 #, no-wrap
6571 msgid "B<STV_HIDDEN>"
6572 msgstr "B<STV_HIDDEN>"
6573
6574 #. type: Plain text
6575 #: build/C/man5/elf.5:1586
6576 msgid ""
6577 "Symbol is unavailable to other modules; references in the local module "
6578 "always resolve to the local symbol (i.e., the symbol can't be interposed by "
6579 "definitions in other modules)."
6580 msgstr ""
6581
6582 #. type: TP
6583 #: build/C/man5/elf.5:1586
6584 #, no-wrap
6585 msgid "B<STV_PROTECTED>"
6586 msgstr "B<STV_PROTECTED>"
6587
6588 #. type: Plain text
6589 #: build/C/man5/elf.5:1590
6590 msgid ""
6591 "Symbol is available to other modules, but references in the local module "
6592 "always resolve to the local symbol."
6593 msgstr ""
6594
6595 #. type: Plain text
6596 #: build/C/man5/elf.5:1593
6597 msgid "There are macros for extracting the visibility type:"
6598 msgstr "visibility 種別を抽出するためのマクロがある。"
6599
6600 #. type: Plain text
6601 #: build/C/man5/elf.5:1597
6602 msgid "B<ELF32_ST_VISIBILITY>(other)  or B<ELF64_ST_VISIBILITY>(other)"
6603 msgstr "B<ELF32_ST_VISIBILITY>(other)  または B<ELF64_ST_VISIBILITY>(other)"
6604
6605 #. type: TP
6606 #: build/C/man5/elf.5:1598
6607 #, no-wrap
6608 msgid "I<st_shndx>"
6609 msgstr "I<st_shndx>"
6610
6611 #. type: Plain text
6612 #: build/C/man5/elf.5:1606
6613 msgid ""
6614 "Every symbol table entry is \"defined\" in relation to some section.  This "
6615 "member holds the relevant section header table index."
6616 msgstr ""
6617 "各シンボルテーブルエントリーは、いくつかのセクションに関連して \"定義されてい"
6618 "る\"。 このメンバは関連するセクションヘッダーテーブルインデックスを保持する。"
6619
6620 #. type: SS
6621 #: build/C/man5/elf.5:1606
6622 #, no-wrap
6623 msgid "Relocation entries (Rel & Rela)"
6624 msgstr ""
6625
6626 #. type: Plain text
6627 #: build/C/man5/elf.5:1614
6628 msgid ""
6629 "Relocation is the process of connecting symbolic references with symbolic "
6630 "definitions.  Relocatable files must have information that describes how to "
6631 "modify their section contents, thus allowing executable and shared object "
6632 "files to hold the right information for a process's program image.  "
6633 "Relocation entries are these data."
6634 msgstr ""
6635 "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ"
6636 "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな"
6637 "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ"
6638 "グラムイメージについての正しい情報を持つことができる。 再配置エントリーは以下"
6639 "のようなデータである。"
6640
6641 #. type: Plain text
6642 #: build/C/man5/elf.5:1616
6643 msgid "Relocation structures that do not need an addend:"
6644 msgstr "加数を必要としない再配置構造体。"
6645
6646 #. type: Plain text
6647 #: build/C/man5/elf.5:1623
6648 #, no-wrap
6649 msgid ""
6650 "typedef struct {\n"
6651 "    Elf32_Addr r_offset;\n"
6652 "    uint32_t   r_info;\n"
6653 "} Elf32_Rel;\n"
6654 msgstr ""
6655 "typedef struct {\n"
6656 "    Elf32_Addr r_offset;\n"
6657 "    uint32_t   r_info;\n"
6658 "} Elf32_Rel;\n"
6659
6660 #. type: Plain text
6661 #: build/C/man5/elf.5:1632
6662 #, no-wrap
6663 msgid ""
6664 "typedef struct {\n"
6665 "    Elf64_Addr r_offset;\n"
6666 "    uint64_t   r_info;\n"
6667 "} Elf64_Rel;\n"
6668 msgstr ""
6669 "typedef struct {\n"
6670 "    Elf64_Addr r_offset;\n"
6671 "    uint64_t   r_info;\n"
6672 "} Elf64_Rel;\n"
6673
6674 #. type: Plain text
6675 #: build/C/man5/elf.5:1636
6676 msgid "Relocation structures that need an addend:"
6677 msgstr "加数を必要とする再配置構造体。"
6678
6679 #. type: Plain text
6680 #: build/C/man5/elf.5:1644
6681 #, no-wrap
6682 msgid ""
6683 "typedef struct {\n"
6684 "    Elf32_Addr r_offset;\n"
6685 "    uint32_t   r_info;\n"
6686 "    int32_t    r_addend;\n"
6687 "} Elf32_Rela;\n"
6688 msgstr ""
6689 "typedef struct {\n"
6690 "    Elf32_Addr r_offset;\n"
6691 "    uint32_t   r_info;\n"
6692 "    int32_t    r_addend;\n"
6693 "} Elf32_Rela;\n"
6694
6695 #. type: Plain text
6696 #: build/C/man5/elf.5:1654
6697 #, no-wrap
6698 msgid ""
6699 "typedef struct {\n"
6700 "    Elf64_Addr r_offset;\n"
6701 "    uint64_t   r_info;\n"
6702 "    int64_t    r_addend;\n"
6703 "} Elf64_Rela;\n"
6704 msgstr ""
6705 "typedef struct {\n"
6706 "    Elf64_Addr r_offset;\n"
6707 "    uint64_t   r_info;\n"
6708 "    int64_t    r_addend;\n"
6709 "} Elf64_Rela;\n"
6710
6711 #. type: TP
6712 #: build/C/man5/elf.5:1656
6713 #, no-wrap
6714 msgid "I<r_offset>"
6715 msgstr "I<r_offset>"
6716
6717 #. type: Plain text
6718 #: build/C/man5/elf.5:1664
6719 msgid ""
6720 "This member gives the location at which to apply the relocation action.  For "
6721 "a relocatable file, the value is the byte offset from the beginning of the "
6722 "section to the storage unit affected by the relocation.  For an executable "
6723 "file or shared object, the value is the virtual address of the storage unit "
6724 "affected by the relocation."
6725 msgstr ""
6726 "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ"
6727 "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの"
6728 "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この"
6729 "値は再配置で影響を受ける格納単位の仮想アドレスである。"
6730
6731 #. type: TP
6732 #: build/C/man5/elf.5:1664
6733 #, no-wrap
6734 msgid "I<r_info>"
6735 msgstr "I<r_info>"
6736
6737 #. type: Plain text
6738 #: build/C/man5/elf.5:1679
6739 msgid ""
6740 "This member gives both the symbol table index with respect to which the "
6741 "relocation must be made and the type of relocation to apply.  Relocation "
6742 "types are processor-specific.  When the text refers to a relocation entry's "
6743 "relocation type or symbol table index, it means the result of applying "
6744 "B<ELF[32|64]_R_TYPE> or B<ELF[32|64]_R_SYM>, respectively, to the entry's "
6745 "I<r_info> member."
6746 msgstr ""
6747 "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 "
6748 "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な"
6749 "る。 テキストが再配置エントリーの再配置タイプ またはシンボルテーブルインデッ"
6750 "クスを参照している場合、 それぞれエントリーの I<r_info> メンバに対して、それ"
6751 "ぞれ B<ELF[32|64]_R_TYPE> と B<ELF[32|64]_R_SYM> を適用した結果を意味する。"
6752
6753 #. type: TP
6754 #: build/C/man5/elf.5:1679
6755 #, no-wrap
6756 msgid "I<r_addend>"
6757 msgstr "I<r_addend>"
6758
6759 #. type: Plain text
6760 #: build/C/man5/elf.5:1684
6761 msgid ""
6762 "This member specifies a constant addend used to compute the value to be "
6763 "stored into the relocatable field."
6764 msgstr ""
6765 "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される"
6766 "値を計算するために使われる。"
6767
6768 #. type: SS
6769 #: build/C/man5/elf.5:1684
6770 #, no-wrap
6771 msgid "Dynamic tags (Dyn)"
6772 msgstr ""
6773
6774 #. type: Plain text
6775 #: build/C/man5/elf.5:1694
6776 #, fuzzy
6777 #| msgid ""
6778 #| "The .dynamic section contains a series of structures that hold relevant "
6779 #| "dynamic linking information.  The d_tag member controls the "
6780 #| "interpretation of d_un."
6781 msgid ""
6782 "The I<.dynamic> section contains a series of structures that hold relevant "
6783 "dynamic linking information.  The I<d_tag> member controls the "
6784 "interpretation of I<d_un>."
6785 msgstr ""
6786 "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を"
6787 "保持する。 d_tag メンバは d_un の解釈を制御する。"
6788
6789 #. type: Plain text
6790 #: build/C/man5/elf.5:1705
6791 #, no-wrap
6792 msgid ""
6793 "typedef struct {\n"
6794 "    Elf32_Sword    d_tag;\n"
6795 "    union {\n"
6796 "        Elf32_Word d_val;\n"
6797 "        Elf32_Addr d_ptr;\n"
6798 "    } d_un;\n"
6799 "} Elf32_Dyn;\n"
6800 "extern Elf32_Dyn _DYNAMIC[];\n"
6801 msgstr ""
6802 "typedef struct {\n"
6803 "    Elf32_Sword    d_tag;\n"
6804 "    union {\n"
6805 "        Elf32_Word d_val;\n"
6806 "        Elf32_Addr d_ptr;\n"
6807 "    } d_un;\n"
6808 "} Elf32_Dyn;\n"
6809 "extern Elf32_Dyn _DYNAMIC[];\n"
6810
6811 #. type: Plain text
6812 #: build/C/man5/elf.5:1718
6813 #, no-wrap
6814 msgid ""
6815 "typedef struct {\n"
6816 "    Elf64_Sxword    d_tag;\n"
6817 "    union {\n"
6818 "        Elf64_Xword d_val;\n"
6819 "        Elf64_Addr  d_ptr;\n"
6820 "    } d_un;\n"
6821 "} Elf64_Dyn;\n"
6822 "extern Elf64_Dyn _DYNAMIC[];\n"
6823 msgstr ""
6824 "typedef struct {\n"
6825 "    Elf64_Sxword    d_tag;\n"
6826 "    union {\n"
6827 "        Elf64_Xword d_val;\n"
6828 "        Elf64_Addr  d_ptr;\n"
6829 "    } d_un;\n"
6830 "} Elf64_Dyn;\n"
6831 "extern Elf64_Dyn _DYNAMIC[];\n"
6832
6833 #. type: TP
6834 #: build/C/man5/elf.5:1720
6835 #, no-wrap
6836 msgid "I<d_tag>"
6837 msgstr "I<d_tag>"
6838
6839 #. type: Plain text
6840 #: build/C/man5/elf.5:1723
6841 msgid "This member may have any of the following values:"
6842 msgstr "このメンバは以下の値を持つことができる:"
6843
6844 #. type: TP
6845 #: build/C/man5/elf.5:1724
6846 #, no-wrap
6847 msgid "B<DT_NULL>"
6848 msgstr "B<DT_NULL>"
6849
6850 #. type: Plain text
6851 #: build/C/man5/elf.5:1727
6852 msgid "Marks end of dynamic section"
6853 msgstr "動的セクションの終りのマーク"
6854
6855 #. type: TP
6856 #: build/C/man5/elf.5:1727
6857 #, no-wrap
6858 msgid "B<DT_NEEDED>"
6859 msgstr "B<DT_NEEDED>"
6860
6861 #. type: Plain text
6862 #: build/C/man5/elf.5:1730
6863 msgid "String table offset to name of a needed library"
6864 msgstr "必要なライブラリの名前への文字列テーブルオフセット"
6865
6866 #. type: TP
6867 #: build/C/man5/elf.5:1730
6868 #, no-wrap
6869 msgid "B<DT_PLTRELSZ>"
6870 msgstr "B<DT_PLTRELSZ>"
6871
6872 #. type: Plain text
6873 #: build/C/man5/elf.5:1733
6874 #, fuzzy
6875 #| msgid "Size in bytes of PLT relocs"
6876 msgid "Size in bytes of PLT relocation entries"
6877 msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)"
6878
6879 #. type: TP
6880 #: build/C/man5/elf.5:1733
6881 #, no-wrap
6882 msgid "B<DT_PLTGOT>"
6883 msgstr "B<DT_PLTGOT>"
6884
6885 #. type: Plain text
6886 #: build/C/man5/elf.5:1736
6887 msgid "Address of PLT and/or GOT"
6888 msgstr "PLT と GOT (または何れか一方) のアドレス"
6889
6890 #. type: TP
6891 #: build/C/man5/elf.5:1736
6892 #, no-wrap
6893 msgid "B<DT_HASH>"
6894 msgstr "B<DT_HASH>"
6895
6896 #. type: Plain text
6897 #: build/C/man5/elf.5:1739
6898 msgid "Address of symbol hash table"
6899 msgstr "シンボルハッシュテーブルのアドレス"
6900
6901 #. type: TP
6902 #: build/C/man5/elf.5:1739
6903 #, no-wrap
6904 msgid "B<DT_STRTAB>"
6905 msgstr "B<DT_STRTAB>"
6906
6907 #. type: Plain text
6908 #: build/C/man5/elf.5:1742
6909 msgid "Address of string table"
6910 msgstr "文字列テーブルのアドレス"
6911
6912 #. type: TP
6913 #: build/C/man5/elf.5:1742
6914 #, no-wrap
6915 msgid "B<DT_SYMTAB>"
6916 msgstr "B<DT_SYMTAB>"
6917
6918 #. type: Plain text
6919 #: build/C/man5/elf.5:1745
6920 msgid "Address of symbol table"
6921 msgstr "シンボルテーブルのアドレス"
6922
6923 #. type: TP
6924 #: build/C/man5/elf.5:1745
6925 #, no-wrap
6926 msgid "B<DT_RELA>"
6927 msgstr "B<DT_RELA>"
6928
6929 #. type: Plain text
6930 #: build/C/man5/elf.5:1748
6931 #, fuzzy
6932 #| msgid "Address of Rela relocs table"
6933 msgid "Address of Rela relocation table"
6934 msgstr "Rela 再配置テーブルのアドレス"
6935
6936 #. type: TP
6937 #: build/C/man5/elf.5:1748
6938 #, no-wrap
6939 msgid "B<DT_RELASZ>"
6940 msgstr "B<DT_RELASZ>"
6941
6942 #. type: Plain text
6943 #: build/C/man5/elf.5:1751
6944 #, fuzzy
6945 #| msgid "Size in bytes of Rela table"
6946 msgid "Size in bytes of the Rela relocation table"
6947 msgstr "Rela テーブルのサイズ (バイト単位)"
6948
6949 #. type: TP
6950 #: build/C/man5/elf.5:1751
6951 #, no-wrap
6952 msgid "B<DT_RELAENT>"
6953 msgstr "B<DT_RELAENT>"
6954
6955 #. type: Plain text
6956 #: build/C/man5/elf.5:1754
6957 #, fuzzy
6958 #| msgid "Size in bytes of a Rela table entry"
6959 msgid "Size in bytes of a Rela relocation table entry"
6960 msgstr "Rela テーブルエントリーのサイズ (バイト単位)"
6961
6962 #. type: TP
6963 #: build/C/man5/elf.5:1754
6964 #, no-wrap
6965 msgid "B<DT_STRSZ>"
6966 msgstr "B<DT_STRSZ>"
6967
6968 #. type: Plain text
6969 #: build/C/man5/elf.5:1757
6970 msgid "Size in bytes of string table"
6971 msgstr "文字列テーブルのサイズ (バイト単位)"
6972
6973 #. type: TP
6974 #: build/C/man5/elf.5:1757
6975 #, no-wrap
6976 msgid "B<DT_SYMENT>"
6977 msgstr "B<DT_SYMENT>"
6978
6979 #. type: Plain text
6980 #: build/C/man5/elf.5:1760
6981 msgid "Size in bytes of a symbol table entry"
6982 msgstr "シンボルテーブルエントリーのサイズ (バイト単位)"
6983
6984 #. type: TP
6985 #: build/C/man5/elf.5:1760
6986 #, no-wrap
6987 msgid "B<DT_INIT>"
6988 msgstr "B<DT_INIT>"
6989
6990 #. type: Plain text
6991 #: build/C/man5/elf.5:1763
6992 msgid "Address of the initialization function"
6993 msgstr "初期化関数のアドレス"
6994
6995 #. type: TP
6996 #: build/C/man5/elf.5:1763
6997 #, no-wrap
6998 msgid "B<DT_FINI>"
6999 msgstr "B<DT_FINI>"
7000
7001 #. type: Plain text
7002 #: build/C/man5/elf.5:1766
7003 msgid "Address of the termination function"
7004 msgstr "終了関数のアドレス"
7005
7006 #. type: TP
7007 #: build/C/man5/elf.5:1766
7008 #, no-wrap
7009 msgid "B<DT_SONAME>"
7010 msgstr "B<DT_SONAME>"
7011
7012 #. type: Plain text
7013 #: build/C/man5/elf.5:1769
7014 msgid "String table offset to name of shared object"
7015 msgstr "共有オブジェクトの名前への文字列テーブルオフセット"
7016
7017 #. type: TP
7018 #: build/C/man5/elf.5:1769
7019 #, no-wrap
7020 msgid "B<DT_RPATH>"
7021 msgstr "B<DT_RPATH>"
7022
7023 #. type: Plain text
7024 #: build/C/man5/elf.5:1772
7025 msgid "String table offset to library search path (deprecated)"
7026 msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)"
7027
7028 #. type: TP
7029 #: build/C/man5/elf.5:1772
7030 #, no-wrap
7031 msgid "B<DT_SYMBOLIC>"
7032 msgstr "B<DT_SYMBOLIC>"
7033
7034 #. type: Plain text
7035 #: build/C/man5/elf.5:1775
7036 msgid ""
7037 "Alert linker to search this shared object before the executable for symbols"
7038 msgstr ""
7039 "リンカーがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場"
7040 "合は、警告を出す。"
7041
7042 #. type: TP
7043 #: build/C/man5/elf.5:1775
7044 #, no-wrap
7045 msgid "B<DT_REL>"
7046 msgstr "B<DT_REL>"
7047
7048 #. type: Plain text
7049 #: build/C/man5/elf.5:1778
7050 #, fuzzy
7051 #| msgid "Address of Rel relocs table"
7052 msgid "Address of Rel relocation table"
7053 msgstr "Rel 再配置テーブルのアドレス"
7054
7055 #. type: TP
7056 #: build/C/man5/elf.5:1778
7057 #, no-wrap
7058 msgid "B<DT_RELSZ>"
7059 msgstr "B<DT_RELSZ>"
7060
7061 #. type: Plain text
7062 #: build/C/man5/elf.5:1781
7063 #, fuzzy
7064 #| msgid "Size in bytes of Rela table"
7065 msgid "Size in bytes of Rel relocation table"
7066 msgstr "Rela テーブルのサイズ (バイト単位)"
7067
7068 #. type: TP
7069 #: build/C/man5/elf.5:1781
7070 #, no-wrap
7071 msgid "B<DT_RELENT>"
7072 msgstr "B<DT_RELENT>"
7073
7074 #. type: Plain text
7075 #: build/C/man5/elf.5:1784
7076 msgid "Size in bytes of a Rel table entry"
7077 msgstr "Rel テーブルエントリーのサイズ (バイト単位)"
7078
7079 #. type: TP
7080 #: build/C/man5/elf.5:1784
7081 #, no-wrap
7082 msgid "B<DT_PLTREL>"
7083 msgstr "B<DT_PLTREL>"
7084
7085 #. type: Plain text
7086 #: build/C/man5/elf.5:1787
7087 #, fuzzy
7088 #| msgid "Type of reloc the PLT refers (Rela or Rel)"
7089 msgid "Type of relocation entry to which the PLT refers (Rela or Rel)"
7090 msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)"
7091
7092 #. type: TP
7093 #: build/C/man5/elf.5:1787
7094 #, no-wrap
7095 msgid "B<DT_DEBUG>"
7096 msgstr "B<DT_DEBUG>"
7097
7098 #. type: Plain text
7099 #: build/C/man5/elf.5:1790
7100 msgid "Undefined use for debugging"
7101 msgstr "デバッグのために使用されている。内容は定義されていない。"
7102
7103 #. type: TP
7104 #: build/C/man5/elf.5:1790
7105 #, no-wrap
7106 msgid "B<DT_TEXTREL>"
7107 msgstr "B<DT_TEXTREL>"
7108
7109 #. type: Plain text
7110 #: build/C/man5/elf.5:1794
7111 #, fuzzy
7112 #| msgid ""
7113 #| "Absence of this indicates no relocs should apply to a nonwritable segment"
7114 msgid ""
7115 "Absence of this entry indicates that no relocation entries should apply to a "
7116 "nonwritable segment"
7117 msgstr ""
7118 "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな"
7119 "い。"
7120
7121 #. type: TP
7122 #: build/C/man5/elf.5:1794
7123 #, no-wrap
7124 msgid "B<DT_JMPREL>"
7125 msgstr "B<DT_JMPREL>"
7126
7127 #. type: Plain text
7128 #: build/C/man5/elf.5:1797
7129 #, fuzzy
7130 #| msgid "Address of reloc entries solely for the PLT"
7131 msgid "Address of relocation entries associated solely with the PLT"
7132 msgstr "PLT 専用の再配置エントリーのアドレス"
7133
7134 #. type: TP
7135 #: build/C/man5/elf.5:1797
7136 #, no-wrap
7137 msgid "B<DT_BIND_NOW>"
7138 msgstr "B<DT_BIND_NOW>"
7139
7140 #. type: Plain text
7141 #: build/C/man5/elf.5:1801
7142 #, fuzzy
7143 #| msgid ""
7144 #| "Instruct dynamic linker to process all relocs before transferring control "
7145 #| "to the executable"
7146 msgid ""
7147 "Instruct dynamic linker to process all relocations before transferring "
7148 "control to the executable"
7149 msgstr ""
7150 "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカーに"
7151 "指示する。"
7152
7153 #. type: TP
7154 #: build/C/man5/elf.5:1801
7155 #, no-wrap
7156 msgid "B<DT_RUNPATH>"
7157 msgstr "B<DT_RUNPATH>"
7158
7159 #. type: Plain text
7160 #: build/C/man5/elf.5:1804
7161 msgid "String table offset to library search path"
7162 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
7163
7164 #. type: TP
7165 #: build/C/man5/elf.5:1804
7166 #, fuzzy, no-wrap
7167 #| msgid "B<DT_LOPROC>"
7168 msgid "B<DT_LOPROC>, B<DT_HIPROC>"
7169 msgstr "B<DT_LOPROC>"
7170
7171 #. type: Plain text
7172 #: build/C/man5/elf.5:1809
7173 #, fuzzy
7174 #| msgid ""
7175 #| "Values less than or equal to B<PT_LOPROC> are reserved for processor-"
7176 #| "specific semantics."
7177 msgid ""
7178 "Values in the inclusive range [B<DT_LOPROC>, B<DT_HIPROC>] are reserved for "
7179 "processor-specific semantics"
7180 msgstr ""
7181 "この値以下で B<PT_LOPROC> 以上の値はプロセッサ固有の意味に予約されている。"
7182
7183 #. type: TP
7184 #: build/C/man5/elf.5:1810
7185 #, no-wrap
7186 msgid "I<d_val>"
7187 msgstr "I<d_val>"
7188
7189 #. type: Plain text
7190 #: build/C/man5/elf.5:1813
7191 msgid "This member represents integer values with various interpretations."
7192 msgstr "このメンバは様々な意味に解釈される整数値である。"
7193
7194 #. type: TP
7195 #: build/C/man5/elf.5:1813
7196 #, no-wrap
7197 msgid "I<d_ptr>"
7198 msgstr "I<d_ptr>"
7199
7200 #. type: Plain text
7201 #: build/C/man5/elf.5:1821
7202 msgid ""
7203 "This member represents program virtual addresses.  When interpreting these "
7204 "addresses, the actual address should be computed based on the original file "
7205 "value and memory base address.  Files do not contain relocation entries to "
7206 "fixup these addresses."
7207 msgstr ""
7208 "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際"
7209 "に、 実際のアドレスは元々のファイルの値と メモリーの基底アドレスから計算され"
7210 "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリーを含めては"
7211 "ならない。"
7212
7213 #. type: TP
7214 #: build/C/man5/elf.5:1821
7215 #, no-wrap
7216 msgid "I<_DYNAMIC>"
7217 msgstr "I<_DYNAMIC>"
7218
7219 #.  GABI ELF Reference for Note Sections:
7220 #.  http://www.sco.com/developers/gabi/latest/ch5.pheader.html#note_section
7221 #.  Note that it implies the sizes and alignments of notes depend on the ELF
7222 #.  size (e.g. 32-bit ELFs have three 4-byte words and use 4-byte alignment
7223 #.  while 64-bit ELFs use 8-byte words & alignment), but that is not the case
7224 #.  in the real world.  Notes always have three 4-byte words as can be seen
7225 #.  in the source links below (remember that Elf64_Word is a 32-bit quantity).
7226 #.  glibc:    https://sourceware.org/git/?p=glibc.git;a=blob;f=elf/elf.h;h=9e59b3275917549af0cebe1f2de9ded3b7b10bf2#l1173
7227 #.  binutils: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=binutils/readelf.c;h=274ddd17266aef6e4ad1f67af8a13a21500ff2af#l15943
7228 #.  Linux:    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/elf.h?h=v4.8#n422
7229 #.  Solaris:  https://docs.oracle.com/cd/E23824_01/html/819-0690/chapter6-18048.html
7230 #.  FreeBSD:  https://svnweb.freebsd.org/base/head/sys/sys/elf_common.h?revision=303677&view=markup#l33
7231 #.  NetBSD:   https://www.netbsd.org/docs/kernel/elf-notes.html
7232 #.  OpenBSD:  https://github.com/openbsd/src/blob/master/sys/sys/exec_elf.h#L533
7233 #. type: Plain text
7234 #: build/C/man5/elf.5:1843
7235 #, fuzzy
7236 #| msgid ""
7237 #| "Array containing all the dynamic structures in the .dynamic section.  "
7238 #| "This is automatically populated by the linker."
7239 msgid ""
7240 "Array containing all the dynamic structures in the I<.dynamic> section.  "
7241 "This is automatically populated by the linker."
7242 msgstr ""
7243 "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリン"
7244 "カーに渡される。"
7245
7246 #. type: SS
7247 #: build/C/man5/elf.5:1843
7248 #, no-wrap
7249 msgid "Notes (Nhdr)"
7250 msgstr ""
7251
7252 #. type: Plain text
7253 #: build/C/man5/elf.5:1853
7254 msgid ""
7255 "ELF notes allow for appending arbitrary information for the system to use.  "
7256 "They are largely used by core files (I<e_type> of B<ET_CORE>), but many "
7257 "projects define their own set of extensions.  For example, the GNU tool "
7258 "chain uses ELF notes to pass information from the linker to the C library."
7259 msgstr ""
7260
7261 #. type: Plain text
7262 #: build/C/man5/elf.5:1861
7263 msgid ""
7264 "Note sections contain a series of notes (see the I<struct> definitions "
7265 "below).  Each note is followed by the name field (whose length is defined in "
7266 "I<n_namesz>) and then by the descriptor field (whose length is defined in "
7267 "I<n_descsz>) and whose starting address has a 4 byte alignment.  Neither "
7268 "field is defined in the note struct due to their arbitrary lengths."
7269 msgstr ""
7270
7271 #. type: Plain text
7272 #: build/C/man5/elf.5:1864
7273 msgid ""
7274 "An example for parsing out two consecutive notes should clarify their layout "
7275 "in memory:"
7276 msgstr ""
7277
7278 #. type: Plain text
7279 #: build/C/man5/elf.5:1869
7280 #, no-wrap
7281 msgid ""
7282 "void *memory, *name, *desc;\n"
7283 "Elf64_Nhdr *note, *next_note;\n"
7284 msgstr ""
7285
7286 #. type: Plain text
7287 #: build/C/man5/elf.5:1872
7288 #, no-wrap
7289 msgid ""
7290 "/* The buffer is pointing to the start of the section/segment */\n"
7291 "note = memory;\n"
7292 msgstr ""
7293
7294 #. type: Plain text
7295 #: build/C/man5/elf.5:1875
7296 #, no-wrap
7297 msgid ""
7298 "/* If the name is defined, it follows the note */\n"
7299 "name = note-E<gt>n_namesz == 0 ? NULL : memory + sizeof(*note);\n"
7300 msgstr ""
7301
7302 #. type: Plain text
7303 #: build/C/man5/elf.5:1878
7304 #, no-wrap
7305 msgid ""
7306 "/* If the descriptor is defined, it follows the name\n"
7307 "   (with alignment) */\n"
7308 msgstr ""
7309
7310 #. type: Plain text
7311 #: build/C/man5/elf.5:1881
7312 #, no-wrap
7313 msgid ""
7314 "desc = note-E<gt>n_descsz == 0 ? NULL :\n"
7315 "       memory + sizeof(*note) + ALIGN_UP(note-E<gt>n_namesz, 4);\n"
7316 msgstr ""
7317
7318 #. type: Plain text
7319 #: build/C/man5/elf.5:1886
7320 #, no-wrap
7321 msgid ""
7322 "/* The next note follows both (with alignment) */\n"
7323 "next_note = memory + sizeof(*note) +\n"
7324 "                     ALIGN_UP(note-E<gt>n_namesz, 4) +\n"
7325 "                     ALIGN_UP(note-E<gt>n_descsz, 4);\n"
7326 msgstr ""
7327
7328 #. type: Plain text
7329 #: build/C/man5/elf.5:1900
7330 msgid ""
7331 "Keep in mind that the interpretation of I<n_type> depends on the namespace "
7332 "defined by the I<n_namesz> field.  If the I<n_namesz> field is not set (e."
7333 "g., is 0), then there are two sets of notes: one for core files and one for "
7334 "all other ELF types.  If the namespace is unknown, then tools will usually "
7335 "fallback to these sets of notes as well."
7336 msgstr ""
7337
7338 #. type: Plain text
7339 #: build/C/man5/elf.5:1908
7340 #, fuzzy, no-wrap
7341 #| msgid ""
7342 #| "typedef struct {\n"
7343 #| "    Elf32_Addr r_offset;\n"
7344 #| "    uint32_t   r_info;\n"
7345 #| "    int32_t    r_addend;\n"
7346 #| "} Elf32_Rela;\n"
7347 msgid ""
7348 "typedef struct {\n"
7349 "    Elf32_Word n_namesz;\n"
7350 "    Elf32_Word n_descsz;\n"
7351 "    Elf32_Word n_type;\n"
7352 "} Elf32_Nhdr;\n"
7353 msgstr ""
7354 "typedef struct {\n"
7355 "    Elf32_Addr r_offset;\n"
7356 "    uint32_t   r_info;\n"
7357 "    int32_t    r_addend;\n"
7358 "} Elf32_Rela;\n"
7359
7360 #. type: Plain text
7361 #: build/C/man5/elf.5:1918
7362 #, fuzzy, no-wrap
7363 #| msgid ""
7364 #| "typedef struct {\n"
7365 #| "    Elf64_Addr r_offset;\n"
7366 #| "    uint64_t   r_info;\n"
7367 #| "    int64_t    r_addend;\n"
7368 #| "} Elf64_Rela;\n"
7369 msgid ""
7370 "typedef struct {\n"
7371 "    Elf64_Word n_namesz;\n"
7372 "    Elf64_Word n_descsz;\n"
7373 "    Elf64_Word n_type;\n"
7374 "} Elf64_Nhdr;\n"
7375 msgstr ""
7376 "typedef struct {\n"
7377 "    Elf64_Addr r_offset;\n"
7378 "    uint64_t   r_info;\n"
7379 "    int64_t    r_addend;\n"
7380 "} Elf64_Rela;\n"
7381
7382 #. type: TP
7383 #: build/C/man5/elf.5:1920
7384 #, fuzzy, no-wrap
7385 #| msgid "I<sh_name>"
7386 msgid "I<n_namesz>"
7387 msgstr "I<sh_name>"
7388
7389 #. type: Plain text
7390 #: build/C/man5/elf.5:1928
7391 msgid ""
7392 "The length of the name field in bytes.  The contents will immediately follow "
7393 "this note in memory.  The name is null terminated.  For example, if the name "
7394 "is \"GNU\", then I<n_namesz> will be set to 4."
7395 msgstr ""
7396
7397 #. type: TP
7398 #: build/C/man5/elf.5:1928
7399 #, no-wrap
7400 msgid "I<n_descsz>"
7401 msgstr ""
7402
7403 #. type: Plain text
7404 #: build/C/man5/elf.5:1932
7405 msgid ""
7406 "The length of the descriptor field in bytes.  The contents will immediately "
7407 "follow the name field in memory."
7408 msgstr ""
7409
7410 #. type: TP
7411 #: build/C/man5/elf.5:1932
7412 #, fuzzy, no-wrap
7413 #| msgid "I<e_type>"
7414 msgid "I<n_type>"
7415 msgstr "I<e_type>"
7416
7417 #. type: Plain text
7418 #: build/C/man5/elf.5:1936
7419 #, fuzzy
7420 #| msgid "This member may have any of the following values:"
7421 msgid ""
7422 "Depending on the value of the name field, this member may have any of the "
7423 "following values:"
7424 msgstr "このメンバは以下の値を持つことができる:"
7425
7426 #. type: TP
7427 #: build/C/man5/elf.5:1937
7428 #, no-wrap
7429 msgid "B<Core files (e_type = ET_CORE)>"
7430 msgstr ""
7431
7432 #. type: Plain text
7433 #: build/C/man5/elf.5:1945
7434 msgid ""
7435 "Notes used by all core files.  These are highly operating system or "
7436 "architecture specific and often require close coordination with kernels, C "
7437 "libraries, and debuggers.  These are used when the namespace is the default "
7438 "(i.e., I<n_namesz> will be set to 0), or a fallback when the namespace is "
7439 "unknown."
7440 msgstr ""
7441
7442 #. type: TP
7443 #: build/C/man5/elf.5:1946
7444 #, fuzzy, no-wrap
7445 #| msgid "B<SHT_PROGBITS>"
7446 msgid "B<NT_PRSTATUS>"
7447 msgstr "B<SHT_PROGBITS>"
7448
7449 #. type: Plain text
7450 #: build/C/man5/elf.5:1950
7451 msgid "prstatus struct"
7452 msgstr ""
7453
7454 #. type: TP
7455 #: build/C/man5/elf.5:1950
7456 #, no-wrap
7457 msgid "B<NT_FPREGSET>"
7458 msgstr ""
7459
7460 #. type: Plain text
7461 #: build/C/man5/elf.5:1953
7462 msgid "fpregset struct"
7463 msgstr ""
7464
7465 #. type: TP
7466 #: build/C/man5/elf.5:1953
7467 #, no-wrap
7468 msgid "B<NT_PRPSINFO>"
7469 msgstr ""
7470
7471 #. type: Plain text
7472 #: build/C/man5/elf.5:1956
7473 msgid "prpsinfo struct"
7474 msgstr ""
7475
7476 #. type: TP
7477 #: build/C/man5/elf.5:1956
7478 #, no-wrap
7479 msgid "B<NT_PRXREG>"
7480 msgstr ""
7481
7482 #. type: Plain text
7483 #: build/C/man5/elf.5:1959
7484 msgid "prxregset struct"
7485 msgstr ""
7486
7487 #. type: TP
7488 #: build/C/man5/elf.5:1959
7489 #, no-wrap
7490 msgid "B<NT_TASKSTRUCT>"
7491 msgstr ""
7492
7493 #. type: Plain text
7494 #: build/C/man5/elf.5:1962
7495 msgid "task structure"
7496 msgstr ""
7497
7498 #. type: TP
7499 #: build/C/man5/elf.5:1962
7500 #, fuzzy, no-wrap
7501 #| msgid "B<DT_PLTGOT>"
7502 msgid "B<NT_PLATFORM>"
7503 msgstr "B<DT_PLTGOT>"
7504
7505 #. type: Plain text
7506 #: build/C/man5/elf.5:1965
7507 msgid "String from sysinfo(SI_PLATFORM)"
7508 msgstr ""
7509
7510 #. type: TP
7511 #: build/C/man5/elf.5:1965
7512 #, fuzzy, no-wrap
7513 #| msgid "B<LD_SHOW_AUXV>"
7514 msgid "B<NT_AUXV>"
7515 msgstr "B<LD_SHOW_AUXV>"
7516
7517 #. type: Plain text
7518 #: build/C/man5/elf.5:1968
7519 msgid "auxv array"
7520 msgstr ""
7521
7522 #. type: TP
7523 #: build/C/man5/elf.5:1968
7524 #, no-wrap
7525 msgid "B<NT_GWINDOWS>"
7526 msgstr ""
7527
7528 #. type: Plain text
7529 #: build/C/man5/elf.5:1971
7530 msgid "gwindows struct"
7531 msgstr ""
7532
7533 #. type: TP
7534 #: build/C/man5/elf.5:1971
7535 #, no-wrap
7536 msgid "B<NT_ASRS>"
7537 msgstr ""
7538
7539 #. type: Plain text
7540 #: build/C/man5/elf.5:1974
7541 msgid "asrset struct"
7542 msgstr ""
7543
7544 #. type: TP
7545 #: build/C/man5/elf.5:1974
7546 #, no-wrap
7547 msgid "B<NT_PSTATUS>"
7548 msgstr ""
7549
7550 #. type: Plain text
7551 #: build/C/man5/elf.5:1977
7552 msgid "pstatus struct"
7553 msgstr ""
7554
7555 #. type: TP
7556 #: build/C/man5/elf.5:1977
7557 #, no-wrap
7558 msgid "B<NT_PSINFO>"
7559 msgstr ""
7560
7561 #. type: Plain text
7562 #: build/C/man5/elf.5:1980
7563 msgid "psinfo struct"
7564 msgstr ""
7565
7566 #. type: TP
7567 #: build/C/man5/elf.5:1980
7568 #, fuzzy, no-wrap
7569 #| msgid "B<LD_AOUT_PRELOAD>"
7570 msgid "B<NT_PRCRED>"
7571 msgstr "B<LD_AOUT_PRELOAD>"
7572
7573 #. type: Plain text
7574 #: build/C/man5/elf.5:1983
7575 msgid "prcred struct"
7576 msgstr ""
7577
7578 #. type: TP
7579 #: build/C/man5/elf.5:1983
7580 #, fuzzy, no-wrap
7581 #| msgid "B<DT_SONAME>"
7582 msgid "B<NT_UTSNAME>"
7583 msgstr "B<DT_SONAME>"
7584
7585 #. type: Plain text
7586 #: build/C/man5/elf.5:1986
7587 msgid "utsname struct"
7588 msgstr ""
7589
7590 #. type: TP
7591 #: build/C/man5/elf.5:1986
7592 #, no-wrap
7593 msgid "B<NT_LWPSTATUS>"
7594 msgstr ""
7595
7596 #. type: Plain text
7597 #: build/C/man5/elf.5:1989
7598 msgid "lwpstatus struct"
7599 msgstr ""
7600
7601 #. type: TP
7602 #: build/C/man5/elf.5:1989
7603 #, no-wrap
7604 msgid "B<NT_LWPSINFO>"
7605 msgstr ""
7606
7607 #. type: Plain text
7608 #: build/C/man5/elf.5:1992
7609 msgid "lwpinfo struct"
7610 msgstr ""
7611
7612 #. type: TP
7613 #: build/C/man5/elf.5:1992
7614 #, no-wrap
7615 msgid "B<NT_PRFPXREG>"
7616 msgstr ""
7617
7618 #. type: Plain text
7619 #: build/C/man5/elf.5:1995
7620 msgid "fprxregset struct"
7621 msgstr ""
7622
7623 #. type: TP
7624 #: build/C/man5/elf.5:1995
7625 #, no-wrap
7626 msgid "B<NT_SIGINFO>"
7627 msgstr ""
7628
7629 #. type: Plain text
7630 #: build/C/man5/elf.5:1998
7631 msgid "siginfo_t (size might increase over time)"
7632 msgstr ""
7633
7634 #. type: TP
7635 #: build/C/man5/elf.5:1998
7636 #, fuzzy, no-wrap
7637 #| msgid "B<STT_FILE>"
7638 msgid "B<NT_FILE>"
7639 msgstr "B<STT_FILE>"
7640
7641 #. type: Plain text
7642 #: build/C/man5/elf.5:2001
7643 msgid "Contains information about mapped files"
7644 msgstr ""
7645
7646 #. type: TP
7647 #: build/C/man5/elf.5:2001
7648 #, no-wrap
7649 msgid "B<NT_PRXFPREG>"
7650 msgstr ""
7651
7652 #. type: Plain text
7653 #: build/C/man5/elf.5:2004
7654 msgid "user_fxsr_struct"
7655 msgstr ""
7656
7657 #. type: TP
7658 #: build/C/man5/elf.5:2004
7659 #, fuzzy, no-wrap
7660 #| msgid "B<EM_PPC>"
7661 msgid "B<NT_PPC_VMX>"
7662 msgstr "B<EM_PPC>"
7663
7664 #. type: Plain text
7665 #: build/C/man5/elf.5:2007
7666 msgid "PowerPC Altivec/VMX registers"
7667 msgstr ""
7668
7669 #. type: TP
7670 #: build/C/man5/elf.5:2007
7671 #, fuzzy, no-wrap
7672 #| msgid "B<EM_PPC>"
7673 msgid "B<NT_PPC_SPE>"
7674 msgstr "B<EM_PPC>"
7675
7676 #. type: Plain text
7677 #: build/C/man5/elf.5:2010
7678 msgid "PowerPC SPE/EVR registers"
7679 msgstr ""
7680
7681 #. type: TP
7682 #: build/C/man5/elf.5:2010
7683 #, fuzzy, no-wrap
7684 #| msgid "B<EM_PPC>"
7685 msgid "B<NT_PPC_VSX>"
7686 msgstr "B<EM_PPC>"
7687
7688 #. type: Plain text
7689 #: build/C/man5/elf.5:2013
7690 msgid "PowerPC VSX registers"
7691 msgstr ""
7692
7693 #. type: TP
7694 #: build/C/man5/elf.5:2013
7695 #, fuzzy, no-wrap
7696 #| msgid "B<EM_386>"
7697 msgid "B<NT_386_TLS>"
7698 msgstr "B<EM_386>"
7699
7700 #. type: Plain text
7701 #: build/C/man5/elf.5:2016
7702 msgid "i386 TLS slots (struct user_desc)"
7703 msgstr ""
7704
7705 #. type: TP
7706 #: build/C/man5/elf.5:2016
7707 #, no-wrap
7708 msgid "B<NT_386_IOPERM>"
7709 msgstr ""
7710
7711 #. type: Plain text
7712 #: build/C/man5/elf.5:2019
7713 msgid "x86 io permission bitmap (1=deny)"
7714 msgstr ""
7715
7716 #. type: TP
7717 #: build/C/man5/elf.5:2019
7718 #, no-wrap
7719 msgid "B<NT_X86_XSTATE>"
7720 msgstr ""
7721
7722 #. type: Plain text
7723 #: build/C/man5/elf.5:2022
7724 msgid "x86 extended state using xsave"
7725 msgstr ""
7726
7727 #. type: TP
7728 #: build/C/man5/elf.5:2022
7729 #, no-wrap
7730 msgid "B<NT_S390_HIGH_GPRS>"
7731 msgstr ""
7732
7733 #. type: Plain text
7734 #: build/C/man5/elf.5:2025
7735 msgid "s390 upper register halves"
7736 msgstr ""
7737
7738 #. type: TP
7739 #: build/C/man5/elf.5:2025
7740 #, fuzzy, no-wrap
7741 #| msgid "B<EM_S390>"
7742 msgid "B<NT_S390_TIMER>"
7743 msgstr "B<EM_S390>"
7744
7745 #. type: Plain text
7746 #: build/C/man5/elf.5:2028
7747 msgid "s390 timer register"
7748 msgstr ""
7749
7750 #. type: TP
7751 #: build/C/man5/elf.5:2028
7752 #, no-wrap
7753 msgid "B<NT_S390_TODCMP>"
7754 msgstr ""
7755
7756 #. type: Plain text
7757 #: build/C/man5/elf.5:2031
7758 msgid "s390 time-of-day (TOD) clock comparator register"
7759 msgstr ""
7760
7761 #. type: TP
7762 #: build/C/man5/elf.5:2031
7763 #, no-wrap
7764 msgid "B<NT_S390_TODPREG>"
7765 msgstr ""
7766
7767 #. type: Plain text
7768 #: build/C/man5/elf.5:2034
7769 msgid "s390 time-of-day (TOD) programmable register"
7770 msgstr ""
7771
7772 #. type: TP
7773 #: build/C/man5/elf.5:2034
7774 #, fuzzy, no-wrap
7775 #| msgid "B<EM_S390>"
7776 msgid "B<NT_S390_CTRS>"
7777 msgstr "B<EM_S390>"
7778
7779 #. type: Plain text
7780 #: build/C/man5/elf.5:2037
7781 msgid "s390 control registers"
7782 msgstr ""
7783
7784 #. type: TP
7785 #: build/C/man5/elf.5:2037
7786 #, no-wrap
7787 msgid "B<NT_S390_PREFIX>"
7788 msgstr ""
7789
7790 #. type: Plain text
7791 #: build/C/man5/elf.5:2040
7792 msgid "s390 prefix register"
7793 msgstr ""
7794
7795 #. type: TP
7796 #: build/C/man5/elf.5:2040
7797 #, no-wrap
7798 msgid "B<NT_S390_LAST_BREAK>"
7799 msgstr ""
7800
7801 #. type: Plain text
7802 #: build/C/man5/elf.5:2043
7803 msgid "s390 breaking event address"
7804 msgstr ""
7805
7806 #. type: TP
7807 #: build/C/man5/elf.5:2043
7808 #, no-wrap
7809 msgid "B<NT_S390_SYSTEM_CALL>"
7810 msgstr ""
7811
7812 #. type: Plain text
7813 #: build/C/man5/elf.5:2046
7814 msgid "s390 system call restart data"
7815 msgstr ""
7816
7817 #. type: TP
7818 #: build/C/man5/elf.5:2046
7819 #, fuzzy, no-wrap
7820 #| msgid "B<EM_S390>"
7821 msgid "B<NT_S390_TDB>"
7822 msgstr "B<EM_S390>"
7823
7824 #. type: Plain text
7825 #: build/C/man5/elf.5:2049
7826 msgid "s390 transaction diagnostic block"
7827 msgstr ""
7828
7829 #. type: TP
7830 #: build/C/man5/elf.5:2049
7831 #, fuzzy, no-wrap
7832 #| msgid "B<EM_ARM>"
7833 msgid "B<NT_ARM_VFP>"
7834 msgstr "B<EM_ARM>"
7835
7836 #. type: Plain text
7837 #: build/C/man5/elf.5:2052
7838 msgid "ARM VFP/NEON registers"
7839 msgstr ""
7840
7841 #. type: TP
7842 #: build/C/man5/elf.5:2052
7843 #, fuzzy, no-wrap
7844 #| msgid "B<EM_ARM>"
7845 msgid "B<NT_ARM_TLS>"
7846 msgstr "B<EM_ARM>"
7847
7848 #. type: Plain text
7849 #: build/C/man5/elf.5:2055
7850 msgid "ARM TLS register"
7851 msgstr ""
7852
7853 #. type: TP
7854 #: build/C/man5/elf.5:2055
7855 #, fuzzy, no-wrap
7856 #| msgid "B<STB_WEAK>"
7857 msgid "B<NT_ARM_HW_BREAK>"
7858 msgstr "B<STB_WEAK>"
7859
7860 #. type: Plain text
7861 #: build/C/man5/elf.5:2058
7862 msgid "ARM hardware breakpoint registers"
7863 msgstr ""
7864
7865 #. type: TP
7866 #: build/C/man5/elf.5:2058
7867 #, no-wrap
7868 msgid "B<NT_ARM_HW_WATCH>"
7869 msgstr ""
7870
7871 #. type: Plain text
7872 #: build/C/man5/elf.5:2061
7873 msgid "ARM hardware watchpoint registers"
7874 msgstr ""
7875
7876 #. type: TP
7877 #: build/C/man5/elf.5:2061
7878 #, no-wrap
7879 msgid "B<NT_ARM_SYSTEM_CALL>"
7880 msgstr ""
7881
7882 #. type: Plain text
7883 #: build/C/man5/elf.5:2064
7884 msgid "ARM system call number"
7885 msgstr ""
7886
7887 #. type: TP
7888 #: build/C/man5/elf.5:2066
7889 #, no-wrap
7890 msgid "B<n_name = GNU>"
7891 msgstr ""
7892
7893 #. type: Plain text
7894 #: build/C/man5/elf.5:2069
7895 msgid "Extensions used by the GNU tool chain."
7896 msgstr ""
7897
7898 #. type: TP
7899 #: build/C/man5/elf.5:2070
7900 #, fuzzy, no-wrap
7901 #| msgid "B<PT_GNU_STACK>"
7902 msgid "B<NT_GNU_ABI_TAG>"
7903 msgstr "B<PT_GNU_STACK>"
7904
7905 #. type: Plain text
7906 #: build/C/man5/elf.5:2074
7907 msgid "Operating system (OS) ABI information.  The desc field will be 4 words:"
7908 msgstr ""
7909
7910 #. type: IP
7911 #: build/C/man5/elf.5:2077 build/C/man5/elf.5:2080 build/C/man5/elf.5:2082
7912 #: build/C/man5/elf.5:2084 build/C/man5/elf.5:2095 build/C/man5/elf.5:2097
7913 #, no-wrap
7914 msgid "\\(bu"
7915 msgstr ""
7916
7917 #. type: Plain text
7918 #: build/C/man5/elf.5:2080
7919 msgid ""
7920 "word 0: OS descriptor (B<ELF_NOTE_OS_LINUX>, B<ELF_NOTE_OS_GNU>, and so on)`"
7921 msgstr ""
7922
7923 #. type: Plain text
7924 #: build/C/man5/elf.5:2082
7925 msgid "word 1: major version of the ABI"
7926 msgstr ""
7927
7928 #. type: Plain text
7929 #: build/C/man5/elf.5:2084
7930 msgid "word 2: minor version of the ABI"
7931 msgstr ""
7932
7933 #. type: Plain text
7934 #: build/C/man5/elf.5:2086
7935 msgid "word 3: subminor version of the ABI"
7936 msgstr ""
7937
7938 #. type: TP
7939 #: build/C/man5/elf.5:2088
7940 #, fuzzy, no-wrap
7941 #| msgid "B<PT_GNU_STACK>"
7942 msgid "B<NT_GNU_HWCAP>"
7943 msgstr "B<PT_GNU_STACK>"
7944
7945 #. type: Plain text
7946 #: build/C/man5/elf.5:2092
7947 msgid "Synthetic hwcap information.  The desc field begins with two words:"
7948 msgstr ""
7949
7950 #. type: Plain text
7951 #: build/C/man5/elf.5:2097
7952 msgid "word 0: number of entries"
7953 msgstr ""
7954
7955 #. type: Plain text
7956 #: build/C/man5/elf.5:2099
7957 msgid "word 1: bit mask of enabled entries"
7958 msgstr ""
7959
7960 #. type: Plain text
7961 #: build/C/man5/elf.5:2105
7962 msgid ""
7963 "Then follow variable-length entries, one byte followed by a null-terminated "
7964 "hwcap name string.  The byte gives the bit number to test if enabled, (1U "
7965 "E<lt>E<lt> bit) & bit mask."
7966 msgstr ""
7967
7968 #. type: TP
7969 #: build/C/man5/elf.5:2105
7970 #, no-wrap
7971 msgid "B<NT_GNU_BUILD_ID>"
7972 msgstr ""
7973
7974 #. type: Plain text
7975 #: build/C/man5/elf.5:2112
7976 msgid ""
7977 "Unique build ID as generated by the GNU B<ld>(1)  B<--build-id> option.  The "
7978 "desc consists of any nonzero number of bytes."
7979 msgstr ""
7980
7981 #. type: TP
7982 #: build/C/man5/elf.5:2112
7983 #, fuzzy, no-wrap
7984 #| msgid "B<EI_VERSION>"
7985 msgid "B<NT_GNU_GOLD_VERSION>"
7986 msgstr "B<EI_VERSION>"
7987
7988 #. type: Plain text
7989 #: build/C/man5/elf.5:2115
7990 msgid "The desc contains the GNU Gold linker version used."
7991 msgstr ""
7992
7993 #. type: TP
7994 #: build/C/man5/elf.5:2116
7995 #, no-wrap
7996 msgid "B<Default/unknown namespace (e_type != ET_CORE)>"
7997 msgstr ""
7998
7999 #. type: Plain text
8000 #: build/C/man5/elf.5:2121
8001 msgid ""
8002 "These are used when the namespace is the default (i.e., I<n_namesz> will be "
8003 "set to 0), or a fallback when the namespace is unknown."
8004 msgstr ""
8005
8006 #. type: TP
8007 #: build/C/man5/elf.5:2122
8008 #, fuzzy, no-wrap
8009 #| msgid "B<EI_VERSION>"
8010 msgid "B<NT_VERSION>"
8011 msgstr "B<EI_VERSION>"
8012
8013 #. type: Plain text
8014 #: build/C/man5/elf.5:2126
8015 msgid "A version string of some sort."
8016 msgstr ""
8017
8018 #. type: TP
8019 #: build/C/man5/elf.5:2126
8020 #, no-wrap
8021 msgid "B<NT_ARCH>"
8022 msgstr ""
8023
8024 #. type: Plain text
8025 #: build/C/man5/elf.5:2129
8026 #, fuzzy
8027 #| msgid "Usage information."
8028 msgid "Architecture information."
8029 msgstr "使用法を表示する。"
8030
8031 #.  OpenBSD
8032 #.  ELF support first appeared in
8033 #.  OpenBSD 1.2,
8034 #.  although not all supported platforms use it as the native
8035 #.  binary file format.
8036 #. type: Plain text
8037 #: build/C/man5/elf.5:2141
8038 msgid "ELF first appeared in System V.  The ELF format is an adopted standard."
8039 msgstr ""
8040 "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 "
8041 "ELF フォーマットは採択された標準である。"
8042
8043 #.  .SH AUTHORS
8044 #.  The original version of this manual page was written by
8045 #.  .An Jeroen Ruigrok van der Werven
8046 #.  .Aq asmodai@FreeBSD.org
8047 #.  with inspiration from BSDi's
8048 #.  .Bsx
8049 #.  .Nm elf
8050 #.  man page.
8051 #. type: Plain text
8052 #: build/C/man5/elf.5:2159
8053 #, fuzzy
8054 #| msgid ""
8055 #| "The extensions for I<e_phnum>, I<e_shnum> and I<e_strndx> respectively "
8056 #| "are Linux extensions.  Sun, BSD and AMD64 also support them; for further "
8057 #| "information, look under SEE ALSO."
8058 msgid ""
8059 "The extensions for I<e_phnum>, I<e_shnum>, and I<e_shstrndx> respectively "
8060 "are Linux extensions.  Sun, BSD and AMD64 also support them; for further "
8061 "information, look under SEE ALSO."
8062 msgstr ""
8063 "I<e_phnum>, I<e_shnum>, I<e_strndx> に対する拡張は、いずれも Linux での拡張"
8064 "で\n"
8065 "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。"
8066
8067 #. type: Plain text
8068 #: build/C/man5/elf.5:2176
8069 msgid ""
8070 "B<as>(1), B<elfedit>(1), B<gdb>(1), B<ld>(1), B<nm>(1), B<objcopy>(1), "
8071 "B<objdump>(1), B<patchelf>(1), B<readelf>(1), B<size>(1), B<strings>(1), "
8072 "B<strip>(1), B<execve>(2), B<dl_iterate_phdr>(3), B<core>(5), B<ld.so>(8)"
8073 msgstr ""
8074
8075 #. type: Plain text
8076 #: build/C/man5/elf.5:2179
8077 msgid "Hewlett-Packard, I<Elf-64 Object File Format>."
8078 msgstr "Hewlett-Packard, I<Elf-64 Object File Format>."
8079
8080 #. type: Plain text
8081 #: build/C/man5/elf.5:2182
8082 msgid "Santa Cruz Operation, I<System V Application Binary Interface>."
8083 msgstr "Santa Cruz Operation, I<System V Application Binary Interface>."
8084
8085 #. type: Plain text
8086 #: build/C/man5/elf.5:2186
8087 msgid ""
8088 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
8089 "(ELF)>."
8090 msgstr ""
8091 "UNIX System Laboratories, \"Object Files\", I<Executable and Linking Format "
8092 "(ELF)>."
8093
8094 #. type: Plain text
8095 #: build/C/man5/elf.5:2189
8096 msgid "Sun Microsystems, I<Linker and Libraries Guide>."
8097 msgstr "Sun Microsystems, I<Linker and Libraries Guide>."
8098
8099 #. type: Plain text
8100 #: build/C/man5/elf.5:2192
8101 msgid ""
8102 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture "
8103 "Processor Supplement>."
8104 msgstr ""
8105 "AMD64 ABI Draft, I<System V Application Binary Interface AMD64 Architecture\n"
8106 "Processor Supplement>."
8107
8108 #. type: TH
8109 #: build/C/man3/end.3:26
8110 #, no-wrap
8111 msgid "END"
8112 msgstr "END"
8113
8114 #. type: Plain text
8115 #: build/C/man3/end.3:29
8116 msgid "etext, edata, end - end of program segments"
8117 msgstr "etext, edata, end - プログラムセグメントの終わり"
8118
8119 #. type: Plain text
8120 #: build/C/man3/end.3:34
8121 #, no-wrap
8122 msgid ""
8123 "B<extern>I< etext>B<;>\n"
8124 "B<extern>I< edata>B<;>\n"
8125 "B<extern>I< end>B<;>\n"
8126 msgstr ""
8127 "B<extern>I< etext>B<;>\n"
8128 "B<extern>I< edata>B<;>\n"
8129 "B<extern>I< end>B<;>\n"
8130
8131 #. type: Plain text
8132 #: build/C/man3/end.3:38
8133 msgid ""
8134 "The addresses of these symbols indicate the end of various program segments:"
8135 msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。"
8136
8137 #. type: TP
8138 #: build/C/man3/end.3:38
8139 #, no-wrap
8140 msgid "I<etext>"
8141 msgstr "I<etext>"
8142
8143 #. type: Plain text
8144 #: build/C/man3/end.3:42
8145 msgid ""
8146 "This is the first address past the end of the text segment (the program "
8147 "code)."
8148 msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。"
8149
8150 #. type: TP
8151 #: build/C/man3/end.3:42
8152 #, no-wrap
8153 msgid "I<edata>"
8154 msgstr "I<edata>"
8155
8156 #. type: Plain text
8157 #: build/C/man3/end.3:46
8158 msgid "This is the first address past the end of the initialized data segment."
8159 msgstr "初期化されたデータのセグメントの末尾の次のアドレス。"
8160
8161 #. type: TP
8162 #: build/C/man3/end.3:46
8163 #, no-wrap
8164 msgid "I<end>"
8165 msgstr "I<end>"
8166
8167 #. type: Plain text
8168 #: build/C/man3/end.3:50
8169 msgid ""
8170 "This is the first address past the end of the uninitialized data segment "
8171 "(also known as the BSS segment)."
8172 msgstr ""
8173 "初期化されていないデータのセグメント (BSS セグメントとも言われる)  の末尾の次"
8174 "のアドレス。"
8175
8176 #. type: Plain text
8177 #: build/C/man3/end.3:53
8178 msgid ""
8179 "Although these symbols have long been provided on most UNIX systems, they "
8180 "are not standardized; use with caution."
8181 msgstr ""
8182 "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され"
8183 "てはいない。注意して使うこと。"
8184
8185 #. type: Plain text
8186 #: build/C/man3/end.3:56
8187 msgid ""
8188 "The program must explicitly declare these symbols; they are not defined in "
8189 "any header file."
8190 msgstr ""
8191 "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの"
8192 "ヘッダーファイルでも定義されていない。"
8193
8194 #. type: Plain text
8195 #: build/C/man3/end.3:64
8196 msgid ""
8197 "On some systems the names of these symbols are preceded by underscores, "
8198 "thus: I<_etext>, I<_edata>, and I<_end>.  These symbols are also defined for "
8199 "programs compiled on Linux."
8200 msgstr ""
8201 "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい"
8202 "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ"
8203 "ログラムでは、 これらのシンボルでも定義される。"
8204
8205 #. type: Plain text
8206 #: build/C/man3/end.3:76
8207 msgid ""
8208 "At the start of program execution, the program break will be somewhere near "
8209 "I<&end> (perhaps at the start of the following page).  However, the break "
8210 "will change as memory is allocated via B<brk>(2)  or B<malloc>(3).  Use "
8211 "B<sbrk>(2)  with an argument of zero to find the current value of the "
8212 "program break."
8213 msgstr ""
8214 "プログラムの実行開始時に、プログラムブレークは I<&end> の近くのどこか (おそら"
8215 "く次のページの先頭) になる。 しかしながら、 B<brk>(2)  や B<malloc>(3)  でメ"
8216 "モリーが割り当てられるに連れて、プログラムブレークは変化していく。 引き数に "
8217 "0 を指定して B<sbrk>(2)  を呼び出すことで、プログラムブレークの現在値を知るこ"
8218 "とができる。"
8219
8220 #. type: Plain text
8221 #: build/C/man3/end.3:78
8222 msgid "When run, the program below produces output such as the following:"
8223 msgstr "下記のプログラムを実行すると、次のような出力が得られる。"
8224
8225 #. type: Plain text
8226 #: build/C/man3/end.3:86
8227 #, no-wrap
8228 msgid ""
8229 "$B< ./a.out>\n"
8230 "First address past:\n"
8231 "    program text (etext)       0x8048568\n"
8232 "    initialized data (edata)   0x804a01c\n"
8233 "    uninitialized data (end)   0x804a024\n"
8234 msgstr ""
8235 "$B< ./a.out>\n"
8236 "First address past:\n"
8237 "    program text (etext)       0x8048568\n"
8238 "    initialized data (edata)   0x804a01c\n"
8239 "    uninitialized data (end)   0x804a024\n"
8240
8241 #. type: Plain text
8242 #: build/C/man3/end.3:93 build/C/man1/memusage.1:241
8243 #, no-wrap
8244 msgid ""
8245 "#include E<lt>stdio.hE<gt>\n"
8246 "#include E<lt>stdlib.hE<gt>\n"
8247 msgstr ""
8248 "#include E<lt>stdio.hE<gt>\n"
8249 "#include E<lt>stdlib.hE<gt>\n"
8250
8251 #. type: Plain text
8252 #: build/C/man3/end.3:96
8253 #, no-wrap
8254 msgid ""
8255 "extern char etext, edata, end; /* The symbols must have some type,\n"
8256 "                                   or \"gcc -Wall\" complains */\n"
8257 msgstr ""
8258 "extern char etext, edata, end; /* The symbols must have some type,\n"
8259 "                                   or \"gcc -Wall\" complains */\n"
8260
8261 #. type: Plain text
8262 #: build/C/man3/end.3:104
8263 #, no-wrap
8264 msgid ""
8265 "int\n"
8266 "main(int argc, char *argv[])\n"
8267 "{\n"
8268 "    printf(\"First address past:\\en\");\n"
8269 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
8270 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
8271 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
8272 msgstr ""
8273 "int\n"
8274 "main(int argc, char *argv[])\n"
8275 "{\n"
8276 "    printf(\"First address past:\\en\");\n"
8277 "    printf(\"    program text (etext)      %10p\\en\", &etext);\n"
8278 "    printf(\"    initialized data (edata)  %10p\\en\", &edata);\n"
8279 "    printf(\"    uninitialized data (end)  %10p\\en\", &end);\n"
8280
8281 #. type: Plain text
8282 #: build/C/man3/end.3:113
8283 msgid "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
8284 msgstr "B<objdump>(1), B<readelf>(1), B<sbrk>(2), B<elf>(5)"
8285
8286 #. type: TH
8287 #: build/C/man8/ld.so.8:7
8288 #, no-wrap
8289 msgid "LD.SO"
8290 msgstr "LD.SO"
8291
8292 #. type: Plain text
8293 #: build/C/man8/ld.so.8:10
8294 #, fuzzy
8295 #| msgid "ld.so, ld-linux.so* - dynamic linker/loader"
8296 msgid "ld.so, ld-linux.so - dynamic linker/loader"
8297 msgstr "ld.so, ld-linux.so* - 動的なリンカー/ローダー"
8298
8299 #. type: Plain text
8300 #: build/C/man8/ld.so.8:18
8301 #, fuzzy
8302 #| msgid ""
8303 #| "The dynamic linker can be run either indirectly by running some "
8304 #| "dynamically linked program or library (in which case no command-line "
8305 #| "options to the dynamic linker can be passed and, in the ELF case, the "
8306 #| "dynamic linker which is stored in the B<.interp> section of the program "
8307 #| "is executed) or directly by running:"
8308 msgid ""
8309 "The dynamic linker can be run either indirectly by running some dynamically "
8310 "linked program or shared object (in which case no command-line options to "
8311 "the dynamic linker can be passed and, in the ELF case, the dynamic linker "
8312 "which is stored in the B<.interp> section of the program is executed) or "
8313 "directly by running:"
8314 msgstr ""
8315 "動的リンカーは、動的にリンクされたプログラムやライブラリの実行によって 間接的"
8316 "に実行することができる (ELF の場合、動的リンカーにコマンドラインオプションを"
8317 "渡すことはできず、 プログラムの B<.interp> セクションに入っている動的リンカー"
8318 "が実行される)。 また以下のように直接実行することもできる"
8319
8320 #. type: Plain text
8321 #: build/C/man8/ld.so.8:21
8322 msgid "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
8323 msgstr "I</lib/ld-linux.so.*> [OPTIONS] [PROGRAM [ARGUMENTS]]"
8324
8325 #. type: Plain text
8326 #: build/C/man8/ld.so.8:28
8327 #, fuzzy
8328 #| msgid ""
8329 #| "The programs B<ld.so> and B<ld-linux.so*> find and load the shared "
8330 #| "libraries needed by a program, prepare the program to run, and then run "
8331 #| "it."
8332 msgid ""
8333 "The programs B<ld.so> and B<ld-linux.so*> find and load the shared objects "
8334 "(shared libraries) needed by a program, prepare the program to run, and then "
8335 "run it."
8336 msgstr ""
8337 "プログラム B<ld.so> と B<ld-linux.so*> はプログラムに必要な共有ライブラリを見"
8338 "つけてロードし、 プログラムの実行を準備してから起動させる。"
8339
8340 #. type: Plain text
8341 #: build/C/man8/ld.so.8:35
8342 msgid ""
8343 "Linux binaries require dynamic linking (linking at run time)  unless the B<-"
8344 "static> option was given to B<ld>(1)  during compilation."
8345 msgstr ""
8346 "Linux のバイナリは、コンパイルの時に B<ld>(1)  に対して B<-static> オプション"
8347 "が指定されていない限り、動的リンク (実行時リンク) が必要となる。"
8348
8349 #. type: Plain text
8350 #: build/C/man8/ld.so.8:49
8351 #, fuzzy
8352 #| msgid ""
8353 #| "The program B<ld.so> handles a.out binaries, a format used long ago; B<ld-"
8354 #| "linux.so*> handles ELF (I</lib/ld-linux.so.1> for libc5, I</lib/ld-linux."
8355 #| "so.2> for glibc2), which everybody has been using for years now.  "
8356 #| "Otherwise, both have the same behavior, and use the same support files "
8357 #| "and programs B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>."
8358 msgid ""
8359 "The program B<ld.so> handles a.out binaries, a binary format used long ago.  "
8360 "The program B<ld-linux.so*> (I</lib/ld-linux.so.1> for libc5, I</lib/ld-"
8361 "linux.so.2> for glibc2)  handles binaries that are in the more modern ELF "
8362 "format.  Both programs have the same behavior, and use the same support "
8363 "files and programs (B<ldd>(1), B<ldconfig>(8), and I</etc/ld.so.conf>)."
8364 msgstr ""
8365 "プログラム B<ld.so> は a.out バイナリを扱う。 これはずっと昔に使われていた"
8366 "フォーマットである。 B<ld-linux.so*> (libc5 では I</lib/ld-linux.so.1>, "
8367 "glibc2 では I</lib/ld-linux.so.2>)  は ELF バイナリを扱う。 このフォーマット"
8368 "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作"
8369 "し、 同じサポートファイルとプログラム B<ldd>(1), B<ldconfig>(8), I</etc/ld."
8370 "so.conf> を使用する。"
8371
8372 #. type: Plain text
8373 #: build/C/man8/ld.so.8:57
8374 #, fuzzy
8375 #| msgid ""
8376 #| "When resolving library dependencies, the dynamic linker first inspects "
8377 #| "each dependency string to see if it contains a slash (this can occur if a "
8378 #| "library pathname containing slashes was specified at link time).  If a "
8379 #| "slash is found, then the dependency string is interpreted as a (relative "
8380 #| "or absolute) pathname, and the library is loaded using that pathname."
8381 msgid ""
8382 "When resolving shared object dependencies, the dynamic linker first inspects "
8383 "each dependency string to see if it contains a slash (this can occur if a "
8384 "shared object pathname containing slashes was specified at link time).  If a "
8385 "slash is found, then the dependency string is interpreted as a (relative or "
8386 "absolute) pathname, and the shared object is loaded using that pathname."
8387 msgstr ""
8388 "ライブラリの依存関係を解決する際、動的リンカーは、最初に、依存関係の各文字列"
8389 "がスラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にス"
8390 "ラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかっ"
8391 "た場合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として"
8392 "解釈され、そのパス名を使ってそのライブラリはロードされる。"
8393
8394 #. type: Plain text
8395 #: build/C/man8/ld.so.8:60
8396 #, fuzzy
8397 #| msgid ""
8398 #| "If a library dependency does not contain a slash, then it is searched for "
8399 #| "in the following order:"
8400 msgid ""
8401 "If a shared object dependency does not contain a slash, then it is searched "
8402 "for in the following order:"
8403 msgstr ""
8404 "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。"
8405
8406 #. type: Plain text
8407 #: build/C/man8/ld.so.8:65
8408 #, fuzzy
8409 #| msgid ""
8410 #| "(ELF only) Using the directories specified in the DT_RPATH dynamic "
8411 #| "section attribute of the binary if present and DT_RUNPATH attribute does "
8412 #| "not exist.  Use of DT_RPATH is deprecated."
8413 msgid ""
8414 "Using the directories specified in the DT_RPATH dynamic section attribute of "
8415 "the binary if present and DT_RUNPATH attribute does not exist.  Use of "
8416 "DT_RPATH is deprecated."
8417 msgstr ""
8418 "(ELF のみ)  バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性"
8419 "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH "
8420 "の使用は推奨されない。"
8421
8422 #. type: Plain text
8423 #: build/C/man8/ld.so.8:70
8424 #, fuzzy
8425 #| msgid ""
8426 #| "Using the environment variable B<LD_LIBRARY_PATH>.  Except if the "
8427 #| "executable is a set-user-ID/set-group-ID binary, in which case it is "
8428 #| "ignored."
8429 msgid ""
8430 "Using the environment variable B<LD_LIBRARY_PATH>, unless the executable is "
8431 "being run in secure-execution mode (see below), in which case this variable "
8432 "is ignored."
8433 msgstr ""
8434 "環境変数 B<LD_LIBRARY_PATH> を用いる。 ただし実行ファイルが set-user-ID/set-"
8435 "group-ID バイナリの場合、 これは無視される。"
8436
8437 #. type: Plain text
8438 #: build/C/man8/ld.so.8:80
8439 msgid ""
8440 "Using the directories specified in the DT_RUNPATH dynamic section attribute "
8441 "of the binary if present.  Such directories are searched only to find those "
8442 "objects required by DT_NEEDED (direct dependencies) entries and do not apply "
8443 "to those objects' children, which must themselves have their own DT_RUNPATH "
8444 "entries.  This is unlike DT_RPATH, which is applied to searches for all "
8445 "children in the dependency tree."
8446 msgstr ""
8447
8448 #. type: Plain text
8449 #: build/C/man8/ld.so.8:90
8450 #, fuzzy
8451 #| msgid ""
8452 #| "From the cache file I</etc/ld.so.cache>, which contains a compiled list "
8453 #| "of candidate libraries previously found in the augmented library path.  "
8454 #| "If, however, the binary was linked with the B<-z nodeflib> linker option, "
8455 #| "libraries in the default library paths are skipped.  Libraries installed "
8456 #| "in hardware capability directories (see below)  are preferred to other "
8457 #| "libraries."
8458 msgid ""
8459 "From the cache file I</etc/ld.so.cache>, which contains a compiled list of "
8460 "candidate shared objects previously found in the augmented library path.  "
8461 "If, however, the binary was linked with the B<-z nodeflib> linker option, "
8462 "shared objects in the default paths are skipped.  Shared objects installed "
8463 "in hardware capability directories (see below)  are preferred to other "
8464 "shared objects."
8465 msgstr ""
8466 "キャッシュファイル I</etc/ld.so.cache> を探す。このファイルは、 (ld.so.conf "
8467 "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ"
8468 "イルの情報を集めたものである。ただし、バイナリがリンカーオプション B<-z "
8469 "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ"
8470 "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ"
8471 "れたライブラリは、他のライブラリよりも優先される。"
8472
8473 #. type: Plain text
8474 #: build/C/man8/ld.so.8:102
8475 #, fuzzy
8476 #| msgid ""
8477 #| "In the default path I</lib>, and then I</usr/lib>.  If the binary was "
8478 #| "linked with the B<-z nodeflib> linker option, this step is skipped."
8479 msgid ""
8480 "In the default path I</lib>, and then I</usr/lib>.  (On some 64-bit "
8481 "architectures, the default paths for 64-bit shared objects are I</lib64>, "
8482 "and then I</usr/lib64>.)  If the binary was linked with the B<-z nodeflib> "
8483 "linker option, this step is skipped."
8484 msgstr ""
8485 "デフォルトパスである I</lib>、 次いで I</usr/lib> を用いる。 バイナリがリン"
8486 "カーオプション B<-z nodeflib> でリンクされている場合、このステップはスキップ"
8487 "される。"
8488
8489 #. type: SS
8490 #: build/C/man8/ld.so.8:102
8491 #, no-wrap
8492 msgid "Dynamic string tokens"
8493 msgstr ""
8494
8495 #. type: Plain text
8496 #: build/C/man8/ld.so.8:105
8497 msgid "In several places, the dynamic linker expands dynamic string tokens:"
8498 msgstr ""
8499
8500 #. type: Plain text
8501 #: build/C/man8/ld.so.8:111
8502 msgid ""
8503 "In the environment variables B<LD_LIBRARY_PATH>, B<LD_PRELOAD>, and "
8504 "B<LD_AUDIT>,"
8505 msgstr ""
8506
8507 #. type: Plain text
8508 #: build/C/man8/ld.so.8:120
8509 msgid ""
8510 "inside the values of the dynamic section tags B<DT_NEEDED>, B<DT_RPATH>, "
8511 "B<DT_RUNPATH>, B<DT_AUDIT>, and B<DT_DEPAUDIT> of ELF binaries,"
8512 msgstr ""
8513
8514 #. type: Plain text
8515 #: build/C/man8/ld.so.8:129
8516 msgid ""
8517 "in the arguments to the B<ld.so> command line options B<--audit>, B<--"
8518 "library-path>, and B<--preload> (see below), and"
8519 msgstr ""
8520
8521 #. type: Plain text
8522 #: build/C/man8/ld.so.8:135
8523 msgid ""
8524 "in the filename arguments to the B<dlopen>(3)  and B<dlmopen>(3)  functions."
8525 msgstr ""
8526
8527 #. type: Plain text
8528 #: build/C/man8/ld.so.8:137
8529 msgid "The substituted tokens are as follows:"
8530 msgstr ""
8531
8532 #. type: TP
8533 #: build/C/man8/ld.so.8:137
8534 #, no-wrap
8535 msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)"
8536 msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)"
8537
8538 #. type: Plain text
8539 #: build/C/man8/ld.so.8:144
8540 #, fuzzy
8541 #| msgid ""
8542 #| "This expands to the directory containing the program or shared library.  "
8543 #| "Thus, an application located in I<somedir/app> could be compiled with"
8544 msgid ""
8545 "This expands to the directory containing the program or shared object.  "
8546 "Thus, an application located in I<somedir/app> could be compiled with"
8547 msgstr ""
8548 "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ"
8549 "て、 I<somedir/app> に置かれたアプリケーションを"
8550
8551 #. type: Plain text
8552 #: build/C/man8/ld.so.8:148
8553 #, fuzzy, no-wrap
8554 #| msgid "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
8555 msgid "gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
8556 msgstr "    gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n"
8557
8558 #. type: Plain text
8559 #: build/C/man8/ld.so.8:160
8560 #, fuzzy
8561 #| msgid ""
8562 #| "so that it finds an associated shared library in I<somedir/lib> no matter "
8563 #| "where I<somedir> is located in the directory hierarchy.  This facilitates "
8564 #| "the creation of \"turn-key\" applications that do not need to be "
8565 #| "installed into special directories, but can instead be unpacked into any "
8566 #| "directory and still find their own shared libraries."
8567 msgid ""
8568 "so that it finds an associated shared object in I<somedir/lib> no matter "
8569 "where I<somedir> is located in the directory hierarchy.  This facilitates "
8570 "the creation of \"turn-key\" applications that do not need to be installed "
8571 "into special directories, but can instead be unpacked into any directory and "
8572 "still find their own shared objects."
8573 msgstr ""
8574 "でコンパイルすることで、 I<somedir> がディレクトリ階層のどこにあっても、 "
8575 "B<ld.so> は I<somedir/lib> にある対応する共有ライブラリを見つけることができ"
8576 "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス"
8577 "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー"
8578 "ションを作成することができる。"
8579
8580 #. type: TP
8581 #: build/C/man8/ld.so.8:160
8582 #, no-wrap
8583 msgid "I<$LIB> (or equivalently I<${LIB}>)"
8584 msgstr "I<$LIB> (I<${LIB}> も同じ)"
8585
8586 #. type: Plain text
8587 #: build/C/man8/ld.so.8:172
8588 msgid ""
8589 "This expands to I<lib> or I<lib64> depending on the architecture (e.g., on "
8590 "x86-64, it expands to I<lib64> and on x86-32, it expands to I<lib>)."
8591 msgstr ""
8592 "アーキテクチャーに応じて I<lib> か I<lib64> に展開される (例えば、 x86-64 で"
8593 "は I<lib64> に、 x86-32 では I<lib> に展開される)。"
8594
8595 #. type: TP
8596 #: build/C/man8/ld.so.8:172
8597 #, no-wrap
8598 msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)"
8599 msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)"
8600
8601 #
8602 #
8603 #.  To get an idea of the places that $PLATFORM would match,
8604 #.  look at the output of the following:
8605 #.      mkdir /tmp/d
8606 #.      LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d
8607 #.  ld.so lets names be abbreviated, so $O will work for $ORIGIN;
8608 #.  Don't do this!!
8609 #. type: Plain text
8610 #: build/C/man8/ld.so.8:190
8611 msgid ""
8612 "This expands to a string corresponding to the processor type of the host "
8613 "system (e.g., \"x86_64\").  On some architectures, the Linux kernel doesn't "
8614 "provide a platform string to the dynamic linker.  The value of this string "
8615 "is taken from the B<AT_PLATFORM> value in the auxiliary vector (see "
8616 "B<getauxval>(3))."
8617 msgstr ""
8618 "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば "
8619 "\"x86_64\")。\n"
8620 "いくつかのアーキテクチャーでは、 Linux カーネルから動的リンカーにプラット"
8621 "フォームを表す文字列が提供されない。 この文字列の値は補助ベクトルの "
8622 "B<AT_PLATFORM> 値から取得される (B<getauxval>(3) 参照)。"
8623
8624 #. type: Plain text
8625 #: build/C/man8/ld.so.8:194
8626 msgid ""
8627 "Note that the dynamic string tokens have to be quoted properly when set from "
8628 "a shell, to prevent their expansion as shell or environment variables."
8629 msgstr ""
8630
8631 #. type: SH
8632 #: build/C/man8/ld.so.8:194 build/C/man8/ldconfig.8:120 build/C/man1/ldd.1:115
8633 #: build/C/man1/memusage.1:134 build/C/man1/memusagestat.1:47
8634 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46
8635 #, no-wrap
8636 msgid "OPTIONS"
8637 msgstr "オプション"
8638
8639 #. type: TP
8640 #: build/C/man8/ld.so.8:195
8641 #, fuzzy, no-wrap
8642 #| msgid "B<--audit LIST>"
8643 msgid "B<--audit>I< list>"
8644 msgstr "B<--audit LIST>"
8645
8646 #. type: Plain text
8647 #: build/C/man8/ld.so.8:203
8648 msgid ""
8649 "Use objects named in I<list> as auditors.  The objects in I<list> are "
8650 "delimited by colons."
8651 msgstr ""
8652
8653 #. type: TP
8654 #: build/C/man8/ld.so.8:203
8655 #, no-wrap
8656 msgid "B<--inhibit-cache>"
8657 msgstr "B<--inhibit-cache>"
8658
8659 #. type: Plain text
8660 #: build/C/man8/ld.so.8:207
8661 #, fuzzy
8662 #| msgid "Do not use /etc/ld.so.cache."
8663 msgid "Do not use I</etc/ld.so.cache>."
8664 msgstr "/etc/ld.so.cache を使用しない。"
8665
8666 #. type: TP
8667 #: build/C/man8/ld.so.8:207
8668 #, fuzzy, no-wrap
8669 #| msgid "B<--library-path PATH>"
8670 msgid "B<--library-path>I< path>"
8671 msgstr "B<--library-path PATH>"
8672
8673 #. type: Plain text
8674 #: build/C/man8/ld.so.8:222
8675 msgid ""
8676 "Use I<path> instead of B<LD_LIBRARY_PATH> environment variable setting (see "
8677 "below).  The names I<ORIGIN>, I<LIB>, and I<PLATFORM> are interpreted as for "
8678 "the B<LD_LIBRARY_PATH> environment variable."
8679 msgstr ""
8680
8681 #. type: TP
8682 #: build/C/man8/ld.so.8:222
8683 #, fuzzy, no-wrap
8684 #| msgid "B<--inhibit-rpath LIST>"
8685 msgid "B<--inhibit-rpath>I< list>"
8686 msgstr "B<--inhibit-rpath LIST>"
8687
8688 #. type: Plain text
8689 #: build/C/man8/ld.so.8:230
8690 #, fuzzy
8691 #| msgid ""
8692 #| "Ignore RPATH and RUNPATH information in object names in LIST.  This "
8693 #| "option is ignored if B<ld.so> is set-user-ID or set-group-ID."
8694 msgid ""
8695 "Ignore RPATH and RUNPATH information in object names in I<list>.  This "
8696 "option is ignored when running in secure-execution mode (see below).  The "
8697 "objects in I<list> are delimited by colons or spaces."
8698 msgstr ""
8699 "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B<ld.so> が "
8700 "set-user-ID か set-group-ID されている場合、 このオプションは無視される。"
8701
8702 #. type: TP
8703 #: build/C/man8/ld.so.8:230
8704 #, no-wrap
8705 msgid "B<--list>"
8706 msgstr "B<--list>"
8707
8708 #. type: Plain text
8709 #: build/C/man8/ld.so.8:233
8710 msgid "List all dependencies and how they are resolved."
8711 msgstr "全ての依存関係とその解決法をリストする。"
8712
8713 #. type: TP
8714 #: build/C/man8/ld.so.8:233
8715 #, fuzzy, no-wrap
8716 #| msgid "B<pldd> is available since glibc 2.15."
8717 msgid "B<--preload> I<list> (since glibc 2.30)"
8718 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
8719
8720 #. type: Plain text
8721 #: build/C/man8/ld.so.8:243
8722 msgid ""
8723 "Preload the objects specified in I<list>.  The objects in I<list> are "
8724 "delimited by colons or spaces.  The objects are preloaded as explained in "
8725 "the description of the B<LD_PRELOAD> environment variable below."
8726 msgstr ""
8727
8728 #. type: Plain text
8729 #: build/C/man8/ld.so.8:251
8730 msgid ""
8731 "By contrast with B<LD_PRELOAD>, the B<--preload> option provides a way to "
8732 "perform preloading for a single executable without affecting preloading "
8733 "performed in any child process that executes a new program."
8734 msgstr ""
8735
8736 #. type: TP
8737 #: build/C/man8/ld.so.8:251
8738 #, no-wrap
8739 msgid "B<--verify>"
8740 msgstr "B<--verify>"
8741
8742 #. type: Plain text
8743 #: build/C/man8/ld.so.8:255
8744 msgid ""
8745 "Verify that program is dynamically linked and this dynamic linker can handle "
8746 "it."
8747 msgstr ""
8748 "プログラムが動的にリンクされているかと、 動的リンカーがそのプログラムを扱える"
8749 "かを検証する。"
8750
8751 #. type: SH
8752 #: build/C/man8/ld.so.8:255
8753 #, no-wrap
8754 msgid "ENVIRONMENT"
8755 msgstr "環境変数"
8756
8757 #. type: Plain text
8758 #: build/C/man8/ld.so.8:258
8759 msgid ""
8760 "Various environment variables influence the operation of the dynamic linker."
8761 msgstr ""
8762
8763 #. type: SS
8764 #: build/C/man8/ld.so.8:258
8765 #, no-wrap
8766 msgid "Secure-execution mode"
8767 msgstr ""
8768
8769 #. type: Plain text
8770 #: build/C/man8/ld.so.8:281
8771 msgid ""
8772 "For security reasons, if the dynamic linker determines that a binary should "
8773 "be run in secure-execution mode, the effects of some environment variables "
8774 "are voided or modified, and furthermore those environment variables are "
8775 "stripped from the environment, so that the program does not even see the "
8776 "definitions.  Some of these environment variables affect the operation of "
8777 "the dynamic linker itself, and are described below.  Other environment "
8778 "variables treated in this way include: B<GCONV_PATH>, B<GETCONF_DIR>, "
8779 "B<HOSTALIASES>, B<LOCALDOMAIN>, B<LOCPATH>, B<MALLOC_TRACE>, B<NIS_PATH>, "
8780 "B<NLSPATH>, B<RESOLV_HOST_CONF>, B<RES_OPTIONS>, B<TMPDIR>, and B<TZDIR>."
8781 msgstr ""
8782
8783 #. type: Plain text
8784 #: build/C/man8/ld.so.8:288
8785 msgid ""
8786 "A binary is executed in secure-execution mode if the B<AT_SECURE> entry in "
8787 "the auxiliary vector (see B<getauxval>(3))  has a nonzero value.  This entry "
8788 "may have a nonzero value for various reasons, including:"
8789 msgstr ""
8790
8791 #. type: IP
8792 #: build/C/man8/ld.so.8:288 build/C/man8/ld.so.8:293 build/C/man8/ld.so.8:296
8793 #: build/C/man7/rtld-audit.7:487 build/C/man7/rtld-audit.7:491
8794 #: build/C/man7/rtld-audit.7:499
8795 #, no-wrap
8796 msgid "*"
8797 msgstr "*"
8798
8799 #. type: Plain text
8800 #: build/C/man8/ld.so.8:293
8801 msgid ""
8802 "The process's real and effective user IDs differ, or the real and effective "
8803 "group IDs differ.  This typically occurs as a result of executing a set-user-"
8804 "ID or set-group-ID program."
8805 msgstr ""
8806
8807 #. type: Plain text
8808 #: build/C/man8/ld.so.8:296
8809 msgid ""
8810 "A process with a non-root user ID executed a binary that conferred "
8811 "capabilities to the process."
8812 msgstr ""
8813
8814 #. type: Plain text
8815 #: build/C/man8/ld.so.8:299
8816 msgid "A nonzero value may have been set by a Linux Security Module."
8817 msgstr ""
8818
8819 #. type: SS
8820 #: build/C/man8/ld.so.8:299
8821 #, no-wrap
8822 msgid "Environment variables"
8823 msgstr ""
8824
8825 #. type: Plain text
8826 #: build/C/man8/ld.so.8:301
8827 msgid "Among the more important environment variables are the following:"
8828 msgstr "重要な環境変数には以下のものがある。"
8829
8830 #. type: TP
8831 #: build/C/man8/ld.so.8:301
8832 #, fuzzy, no-wrap
8833 #| msgid "B<RTLD_NODELETE> (since glibc 2.2)"
8834 msgid "B<LD_ASSUME_KERNEL> (since glibc 2.2.3)"
8835 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
8836
8837 #. type: Plain text
8838 #: build/C/man8/ld.so.8:313
8839 #, fuzzy
8840 #| msgid ""
8841 #| "(glibc since 2.2.3)  Each shared library can inform the dynamic linker of "
8842 #| "the minimum kernel ABI version that it requires.  (This requirement is "
8843 #| "encoded in an ELF note section that is viewable via I<readelf\\ -n> as a "
8844 #| "section labeled B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker "
8845 #| "determines the ABI version of the running kernel and will reject loading "
8846 #| "shared libraries that specify minimum ABI versions that exceed that ABI "
8847 #| "version."
8848 msgid ""
8849 "Each shared object can inform the dynamic linker of the minimum kernel ABI "
8850 "version that it requires.  (This requirement is encoded in an ELF note "
8851 "section that is viewable via I<readelf\\ -n> as a section labeled "
8852 "B<NT_GNU_ABI_TAG>.)  At run time, the dynamic linker determines the ABI "
8853 "version of the running kernel and will reject loading shared objects that "
8854 "specify minimum ABI versions that exceed that ABI version."
8855 msgstr ""
8856 "(glibc 2.2.3 以降)  各共有ライブラリは動的リンカーに必要なカーネル ABI の最小"
8857 "バージョンを通知することができる (必要なバージョンは ELF の note section に格"
8858 "納され、 I<readelf\\ -n> で B<NT_GNU_ABI_TAG> のラベルが付いたセクションとし"
8859 "て見ることができる)。 実行時に、 動的リンカーは実行中のカーネルの ABI バー"
8860 "ジョンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが"
8861 "指定された共有ライブラリのロードを行わない。"
8862
8863 #. type: Plain text
8864 #: build/C/man8/ld.so.8:322
8865 #, fuzzy
8866 #| msgid ""
8867 #| "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume "
8868 #| "that it is running on a system with a different kernel ABI version.  For "
8869 #| "example, the following command line causes the dynamic linker to assume "
8870 #| "it is running on Linux 2.2.5 when loading the shared libraries required "
8871 #| "by I<myprog>:"
8872 msgid ""
8873 "B<LD_ASSUME_KERNEL> can be used to cause the dynamic linker to assume that "
8874 "it is running on a system with a different kernel ABI version.  For example, "
8875 "the following command line causes the dynamic linker to assume it is running "
8876 "on Linux 2.2.5 when loading the shared objects required by I<myprog>:"
8877 msgstr ""
8878 "B<LD_ASSUME_KERNEL> を使うことで、 動的リンカーに、 異なるカーネル ABI バー"
8879 "ジョンのシステムで実行されているかのように見せることができる。 例えば、 以下"
8880 "のコマンドラインを実行すると、 動的リンカーは I<myprog> が必要とする共有ライ"
8881 "ブラリをロードする際に Linux 2.2.5 上で動作していると仮定する。"
8882
8883 #. type: Plain text
8884 #: build/C/man8/ld.so.8:326
8885 #, no-wrap
8886 msgid "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
8887 msgstr "$ B<LD_ASSUME_KERNEL=2.2.5 ./myprog>\n"
8888
8889 #. type: Plain text
8890 #: build/C/man8/ld.so.8:335
8891 #, fuzzy
8892 #| msgid ""
8893 #| "On systems that provide multiple versions of a shared library (in "
8894 #| "different directories in the search path) that have different minimum "
8895 #| "kernel ABI version requirements, B<LD_ASSUME_KERNEL> can be used to "
8896 #| "select the version of the library that is used (dependent on the "
8897 #| "directory search order).  Historically, the most common use of the "
8898 #| "B<LD_ASSUME_KERNEL> feature was to manually select the older LinuxThreads "
8899 #| "POSIX threads implementation on systems that provided both LinuxThreads "
8900 #| "and NPTL (which latter was typically the default on such systems); see "
8901 #| "B<pthreads>(7)."
8902 msgid ""
8903 "On systems that provide multiple versions of a shared object (in different "
8904 "directories in the search path) that have different minimum kernel ABI "
8905 "version requirements, B<LD_ASSUME_KERNEL> can be used to select the version "
8906 "of the object that is used (dependent on the directory search order)."
8907 msgstr ""
8908 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
8909 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
8910 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
8911 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
8912 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
8913 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
8914 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
8915
8916 #. type: Plain text
8917 #: build/C/man8/ld.so.8:344
8918 #, fuzzy
8919 #| msgid ""
8920 #| "On systems that provide multiple versions of a shared library (in "
8921 #| "different directories in the search path) that have different minimum "
8922 #| "kernel ABI version requirements, B<LD_ASSUME_KERNEL> can be used to "
8923 #| "select the version of the library that is used (dependent on the "
8924 #| "directory search order).  Historically, the most common use of the "
8925 #| "B<LD_ASSUME_KERNEL> feature was to manually select the older LinuxThreads "
8926 #| "POSIX threads implementation on systems that provided both LinuxThreads "
8927 #| "and NPTL (which latter was typically the default on such systems); see "
8928 #| "B<pthreads>(7)."
8929 msgid ""
8930 "Historically, the most common use of the B<LD_ASSUME_KERNEL> feature was to "
8931 "manually select the older LinuxThreads POSIX threads implementation on "
8932 "systems that provided both LinuxThreads and NPTL (which latter was typically "
8933 "the default on such systems); see B<pthreads>(7)."
8934 msgstr ""
8935 "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中"
8936 "の異なるディレクトリに) あるシステムでは、 B<LD_ASSUME_KERNEL> を使って (ディ"
8937 "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ"
8938 "る。 歴史的に見ると、 B<LD_ASSUME_KERNEL> の最も一般的な使い道は、 "
8939 "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の "
8940 "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常"
8941 "は NPTL がデフォルトであった)。 B<pthreads>(7) を参照。"
8942
8943 #. type: TP
8944 #: build/C/man8/ld.so.8:344
8945 #, fuzzy, no-wrap
8946 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
8947 msgid "B<LD_BIND_NOW> (since glibc 2.1.1)"
8948 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
8949
8950 #. type: Plain text
8951 #: build/C/man8/ld.so.8:351
8952 #, fuzzy
8953 #| msgid ""
8954 #| "(libc5; glibc since 2.1.1)  If set to a nonempty string, causes the "
8955 #| "dynamic linker to resolve all symbols at program startup instead of "
8956 #| "deferring function call resolution to the point when they are first "
8957 #| "referenced.  This is useful when using a debugger."
8958 msgid ""
8959 "If set to a nonempty string, causes the dynamic linker to resolve all "
8960 "symbols at program startup instead of deferring function call resolution to "
8961 "the point when they are first referenced.  This is useful when using a "
8962 "debugger."
8963 msgstr ""
8964 "(libc5; glibc 2.1.1 以降)  空文字列でない場合、 動的リンカーはプログラムの開"
8965 "始時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼"
8966 "び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。"
8967
8968 #. type: TP
8969 #: build/C/man8/ld.so.8:351
8970 #, no-wrap
8971 msgid "B<LD_LIBRARY_PATH>"
8972 msgstr "B<LD_LIBRARY_PATH>"
8973
8974 #. type: Plain text
8975 #: build/C/man8/ld.so.8:358
8976 msgid ""
8977 "A list of directories in which to search for ELF libraries at execution "
8978 "time.  The items in the list are separated by either colons or semicolons, "
8979 "and there is no support for escaping either separator.  A zero-length "
8980 "directory name indicates the current working directory."
8981 msgstr ""
8982
8983 #. type: Plain text
8984 #: build/C/man8/ld.so.8:360
8985 msgid "This variable is ignored in secure-execution mode."
8986 msgstr ""
8987
8988 #. type: Plain text
8989 #: build/C/man8/ld.so.8:377
8990 msgid ""
8991 "Within the pathnames specified in B<LD_LIBRARY_PATH>, the dynamic linker "
8992 "expands the tokens I<$ORIGIN>, I<$LIB>, and I<$PLATFORM> (or the versions "
8993 "using curly braces around the names)  as described above in I<Dynamic string "
8994 "tokens>.  Thus, for example, the following would cause a library to be "
8995 "searched for in either the I<lib> or I<lib64> subdirectory below the "
8996 "directory containing the program to be executed:"
8997 msgstr ""
8998
8999 #. type: Plain text
9000 #: build/C/man8/ld.so.8:381
9001 #, no-wrap
9002 msgid "$ B<LD_LIBRARY_PATH=\\(aq$ORIGIN/$LIB\\(aq prog>\n"
9003 msgstr ""
9004
9005 #. type: Plain text
9006 #: build/C/man8/ld.so.8:389
9007 msgid ""
9008 "(Note the use of single quotes, which prevent expansion of I<$ORIGIN> and I<"
9009 "$LIB> as shell variables!)"
9010 msgstr ""
9011
9012 #. type: TP
9013 #: build/C/man8/ld.so.8:389
9014 #, no-wrap
9015 msgid "B<LD_PRELOAD>"
9016 msgstr "B<LD_PRELOAD>"
9017
9018 #. type: Plain text
9019 #: build/C/man8/ld.so.8:395
9020 msgid ""
9021 "A list of additional, user-specified, ELF shared objects to be loaded before "
9022 "all others.  This feature can be used to selectively override functions in "
9023 "other shared objects."
9024 msgstr ""
9025
9026 #. type: Plain text
9027 #: build/C/man8/ld.so.8:401
9028 msgid ""
9029 "The items of the list can be separated by spaces or colons, and there is no "
9030 "support for escaping either separator.  The objects are searched for using "
9031 "the rules given under DESCRIPTION.  Objects are searched for and added to "
9032 "the link map in the left-to-right order specified in the list."
9033 msgstr ""
9034
9035 #. type: Plain text
9036 #: build/C/man8/ld.so.8:407
9037 msgid ""
9038 "In secure-execution mode, preload pathnames containing slashes are ignored.  "
9039 "Furthermore, shared objects are preloaded only from the standard search "
9040 "directories and only if they have set-user-ID mode bit enabled (which is not "
9041 "typical)."
9042 msgstr ""
9043
9044 #
9045 #
9046 #.  Tested with the following:
9047 #.      LD_PRELOAD='$LIB/libmod.so' LD_LIBRARY_PATH=. ./prog
9048 #.  which will preload the libmod.so in 'lib' or 'lib64', using it
9049 #.  in preference to the version in '.'.
9050 #. type: Plain text
9051 #: build/C/man8/ld.so.8:426
9052 msgid ""
9053 "Within the names specified in the B<LD_PRELOAD> list, the dynamic linker "
9054 "understands the tokens I<$ORIGIN>, I<$LIB>, and I<$PLATFORM> (or the "
9055 "versions using curly braces around the names)  as described above in "
9056 "I<Dynamic string tokens>.  (See also the discussion of quoting under the "
9057 "description of B<LD_LIBRARY_PATH>.)"
9058 msgstr ""
9059
9060 #. type: Plain text
9061 #: build/C/man8/ld.so.8:429
9062 msgid ""
9063 "There are various methods of specifying libraries to be preloaded, and these "
9064 "are handled in the following order:"
9065 msgstr ""
9066
9067 #. type: IP
9068 #: build/C/man8/ld.so.8:430
9069 #, no-wrap
9070 msgid "(1)"
9071 msgstr ""
9072
9073 #. type: Plain text
9074 #: build/C/man8/ld.so.8:434
9075 msgid "The B<LD_PRELOAD> environment variable."
9076 msgstr ""
9077
9078 #. type: IP
9079 #: build/C/man8/ld.so.8:434
9080 #, no-wrap
9081 msgid "(2)"
9082 msgstr ""
9083
9084 #. type: Plain text
9085 #: build/C/man8/ld.so.8:438
9086 msgid ""
9087 "The B<--preload> command-line option when invoking the dynamic linker "
9088 "directly."
9089 msgstr ""
9090
9091 #. type: IP
9092 #: build/C/man8/ld.so.8:438
9093 #, no-wrap
9094 msgid "(3)"
9095 msgstr ""
9096
9097 #. type: Plain text
9098 #: build/C/man8/ld.so.8:442
9099 #, fuzzy
9100 #| msgid "I</etc/ld.so.preload>"
9101 msgid "The I</etc/ld.so.preload> file (described below)."
9102 msgstr "I</etc/ld.so.preload>"
9103
9104 #. type: TP
9105 #: build/C/man8/ld.so.8:443
9106 #, no-wrap
9107 msgid "B<LD_TRACE_LOADED_OBJECTS>"
9108 msgstr "B<LD_TRACE_LOADED_OBJECTS>"
9109
9110 #. type: Plain text
9111 #: build/C/man8/ld.so.8:449
9112 #, fuzzy
9113 #| msgid ""
9114 #| "(ELF only)  If set to a nonempty string, causes the program to list its "
9115 #| "dynamic library dependencies, as if run by B<ldd>(1), instead of running "
9116 #| "normally."
9117 msgid ""
9118 "If set (to any value), causes the program to list its dynamic dependencies, "
9119 "as if run by B<ldd>(1), instead of running normally."
9120 msgstr ""
9121 "(ELF のみ)  空文字列でない場合、 プログラムを普通に実行するのではなく、 "
9122 "B<ldd>(1)  を実行したときのように動的ライブラリの依存関係をリスト表示させる。"
9123
9124 #. type: Plain text
9125 #: build/C/man8/ld.so.8:452
9126 msgid ""
9127 "Then there are lots of more or less obscure variables, many obsolete or only "
9128 "for internal use."
9129 msgstr ""
9130 "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部"
9131 "でのみ使用される環境変数である。"
9132
9133 #. type: TP
9134 #: build/C/man8/ld.so.8:452
9135 #, fuzzy, no-wrap
9136 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9137 msgid "B<LD_AUDIT> (since glibc 2.4)"
9138 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9139
9140 #. type: Plain text
9141 #: build/C/man8/ld.so.8:461
9142 #, fuzzy
9143 #| msgid ""
9144 #| "(glibc since 2.4)  A colon-separated list of user-specified, ELF shared "
9145 #| "objects to be loaded before all others in a separate linker namespace (i."
9146 #| "e., one that does not intrude upon the normal symbol bindings that would "
9147 #| "occur in the process).  These libraries can be used to audit the "
9148 #| "operation of the dynamic linker.  B<LD_AUDIT> is ignored for set-user-ID/"
9149 #| "set-group-ID binaries."
9150 msgid ""
9151 "A list of user-specified, ELF shared objects to be loaded before all others "
9152 "in a separate linker namespace (i.e., one that does not intrude upon the "
9153 "normal symbol bindings that would occur in the process)  These objects can "
9154 "be used to audit the operation of the dynamic linker.  The items in the list "
9155 "are colon-separated, and there is no support for escaping the separator."
9156 msgstr ""
9157 "(glibc 2.4 以降)  他のオブジェクトよりも前に、別のリンカー名前空間 (そのプロ"
9158 "セスで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) "
9159 "で ロードされる、ユーザー指定の ELF 共有オブジェクトのコロン区切りのリスト。 "
9160 "これらのライブラリを使って、動的リンカーの動作を監査することができる。 set-"
9161 "user-ID/set-group-ID されたバイナリでは、 B<LD_AUDIT> は無視される。"
9162
9163 #. type: Plain text
9164 #: build/C/man8/ld.so.8:464
9165 msgid "B<LD_AUDIT> is ignored in secure-execution mode."
9166 msgstr ""
9167
9168 #. type: Plain text
9169 #: build/C/man8/ld.so.8:477
9170 #, fuzzy
9171 #| msgid ""
9172 #| "The dynamic linker will notify the audit libraries at so-called auditing "
9173 #| "checkpoints\\(emfor example, loading a new library, resolving a symbol, "
9174 #| "or calling a symbol from another shared object\\(emby calling an "
9175 #| "appropriate function within the audit library.  For details, see B<rtld-"
9176 #| "audit>(7).  The auditing interface is largely compatible with that "
9177 #| "provided on Solaris, as described in its I<Linker and Libraries Guide>, "
9178 #| "in the chapter I<Runtime Linker Auditing Interface>."
9179 msgid ""
9180 "The dynamic linker will notify the audit shared objects at so-called "
9181 "auditing checkpoints\\(emfor example, loading a new shared object, resolving "
9182 "a symbol, or calling a symbol from another shared object\\(emby calling an "
9183 "appropriate function within the audit shared object.  For details, see "
9184 "B<rtld-audit>(7).  The auditing interface is largely compatible with that "
9185 "provided on Solaris, as described in its I<Linker and Libraries Guide>, in "
9186 "the chapter I<Runtime Linker Auditing Interface>."
9187 msgstr ""
9188 "動的リンカーは、いわゆる監査チェックポイント (auditing checkpoints)  におい"
9189 "て、監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの"
9190 "通知を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シン"
9191 "ボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細"
9192 "は B<rtld-audit>(7)  を参照してほしい。 audit インターフェースは、Solaris で"
9193 "提供されているものと 大部分は互換性がある。Solaris の audit インターフェース"
9194 "については、 I<Linker and Libraries Guide> の I<Runtime Linker Auditing "
9195 "Interface> の章に説明がある。"
9196
9197 #. type: Plain text
9198 #: build/C/man8/ld.so.8:490
9199 msgid ""
9200 "Within the names specified in the B<LD_AUDIT> list, the dynamic linker "
9201 "understands the tokens I<$ORIGIN>, I<$LIB>, and I<$PLATFORM> (or the "
9202 "versions using curly braces around the names)  as described above in "
9203 "I<Dynamic string tokens>.  (See also the discussion of quoting under the "
9204 "description of B<LD_LIBRARY_PATH>.)"
9205 msgstr ""
9206
9207 #.  commit 8e9f92e9d5d7737afdacf79b76d98c4c42980508
9208 #. type: Plain text
9209 #: build/C/man8/ld.so.8:497
9210 msgid ""
9211 "Since glibc 2.13, in secure-execution mode, names in the audit list that "
9212 "contain slashes are ignored, and only shared objects in the standard search "
9213 "directories that have the set-user-ID mode bit enabled are loaded."
9214 msgstr ""
9215
9216 #. type: TP
9217 #: build/C/man8/ld.so.8:497
9218 #, fuzzy, no-wrap
9219 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
9220 msgid "B<LD_BIND_NOT> (since glibc 2.1.95)"
9221 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
9222
9223 #. type: Plain text
9224 #: build/C/man8/ld.so.8:509
9225 msgid ""
9226 "If this environment variable is set to a nonempty string, do not update the "
9227 "GOT (global offset table) and PLT (procedure linkage table)  after resolving "
9228 "a function symbol.  By combining the use of this variable with B<LD_DEBUG> "
9229 "(with the categories I<bindings> and I<symbols>), one can observe all run-"
9230 "time function bindings."
9231 msgstr ""
9232
9233 #. type: TP
9234 #: build/C/man8/ld.so.8:509
9235 #, fuzzy, no-wrap
9236 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
9237 msgid "B<LD_DEBUG> (since glibc 2.1)"
9238 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
9239
9240 #. type: Plain text
9241 #: build/C/man8/ld.so.8:514
9242 msgid ""
9243 "Output verbose debugging information about operation of the dynamic linker.  "
9244 "The content of this variable is one of more of the following categories, "
9245 "separated by colons, commas, or (if the value is quoted) spaces:"
9246 msgstr ""
9247
9248 #. type: TP
9249 #: build/C/man8/ld.so.8:515
9250 #, fuzzy, no-wrap
9251 #| msgid "B<--help>"
9252 msgid "I<help>"
9253 msgstr "B<--help>"
9254
9255 #. type: Plain text
9256 #: build/C/man8/ld.so.8:522
9257 msgid ""
9258 "Specifying I<help> in the value of this variable does not run the specified "
9259 "program, and displays a help message about which categories can be specified "
9260 "in this environment variable."
9261 msgstr ""
9262
9263 #. type: TP
9264 #: build/C/man8/ld.so.8:522
9265 #, no-wrap
9266 msgid "I<all>"
9267 msgstr ""
9268
9269 #. type: Plain text
9270 #: build/C/man8/ld.so.8:529
9271 msgid ""
9272 "Print all debugging information (except I<statistics> and I<unused>; see "
9273 "below)."
9274 msgstr ""
9275
9276 #. type: TP
9277 #: build/C/man8/ld.so.8:529
9278 #, no-wrap
9279 msgid "I<bindings>"
9280 msgstr ""
9281
9282 #. type: Plain text
9283 #: build/C/man8/ld.so.8:532
9284 msgid "Display information about which definition each symbol is bound to."
9285 msgstr ""
9286
9287 #. type: TP
9288 #: build/C/man8/ld.so.8:532
9289 #, fuzzy, no-wrap
9290 #| msgid "I<p_filesz>"
9291 msgid "I<files>"
9292 msgstr "I<p_filesz>"
9293
9294 #. type: Plain text
9295 #: build/C/man8/ld.so.8:535
9296 #, fuzzy
9297 #| msgid "Display the program version and exit."
9298 msgid "Display progress for input file."
9299 msgstr "プログラムのバージョンを表示し終了する。"
9300
9301 #. type: TP
9302 #: build/C/man8/ld.so.8:535
9303 #, fuzzy, no-wrap
9304 #| msgid "B<lib*.so*>"
9305 msgid "I<libs>"
9306 msgstr "B<lib*.so*>"
9307
9308 #. type: Plain text
9309 #: build/C/man8/ld.so.8:538
9310 #, fuzzy
9311 #| msgid "String table offset to library search path"
9312 msgid "Display library search paths."
9313 msgstr "ライブラリ検索パスへの文字列テーブルオフセット"
9314
9315 #. type: TP
9316 #: build/C/man8/ld.so.8:538
9317 #, no-wrap
9318 msgid "I<reloc>"
9319 msgstr ""
9320
9321 #. type: Plain text
9322 #: build/C/man8/ld.so.8:541
9323 #, fuzzy
9324 #| msgid "Display the program version."
9325 msgid "Display relocation processing."
9326 msgstr "プログラムのバージョンを表示する。"
9327
9328 #. type: TP
9329 #: build/C/man8/ld.so.8:541
9330 #, no-wrap
9331 msgid "I<scopes>"
9332 msgstr ""
9333
9334 #. type: Plain text
9335 #: build/C/man8/ld.so.8:544
9336 #, fuzzy
9337 #| msgid "Usage information."
9338 msgid "Display scope information."
9339 msgstr "使用法を表示する。"
9340
9341 #. type: TP
9342 #: build/C/man8/ld.so.8:544
9343 #, fuzzy, no-wrap
9344 #| msgid "I<st_size>"
9345 msgid "I<statistics>"
9346 msgstr "I<st_size>"
9347
9348 #. type: Plain text
9349 #: build/C/man8/ld.so.8:547
9350 msgid "Display relocation statistics."
9351 msgstr ""
9352
9353 #. type: TP
9354 #: build/C/man8/ld.so.8:547
9355 #, no-wrap
9356 msgid "I<symbols>"
9357 msgstr ""
9358
9359 #. type: Plain text
9360 #: build/C/man8/ld.so.8:550
9361 msgid "Display search paths for each symbol look-up."
9362 msgstr ""
9363
9364 #. type: TP
9365 #: build/C/man8/ld.so.8:550
9366 #, fuzzy, no-wrap
9367 #| msgid "B<-u\\ --unused>"
9368 msgid "I<unused>"
9369 msgstr "B<-u\\ --unused>"
9370
9371 #. type: Plain text
9372 #: build/C/man8/ld.so.8:553
9373 msgid "Determine unused DSOs."
9374 msgstr ""
9375
9376 #. type: TP
9377 #: build/C/man8/ld.so.8:553
9378 #, fuzzy, no-wrap
9379 #| msgid "I<e_version>"
9380 msgid "I<versions>"
9381 msgstr "I<e_version>"
9382
9383 #. type: Plain text
9384 #: build/C/man8/ld.so.8:556
9385 #, fuzzy
9386 #| msgid "Display the program version and exit."
9387 msgid "Display version dependencies."
9388 msgstr "プログラムのバージョンを表示し終了する。"
9389
9390 #. type: Plain text
9391 #: build/C/man8/ld.so.8:563
9392 msgid ""
9393 "Since glibc 2.3.4, B<LD_DEBUG> is ignored in secure-execution mode, unless "
9394 "the file I</etc/suid-debug> exists (the content of the file is irrelevant)."
9395 msgstr ""
9396
9397 #. type: TP
9398 #: build/C/man8/ld.so.8:563
9399 #, fuzzy, no-wrap
9400 #| msgid "B<RTLD_NODELETE> (since glibc 2.2)"
9401 msgid "B<LD_DEBUG_OUTPUT> (since glibc 2.1)"
9402 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
9403
9404 #. type: Plain text
9405 #: build/C/man8/ld.so.8:572
9406 msgid ""
9407 "By default, B<LD_DEBUG> output is written to standard error.  If "
9408 "B<LD_DEBUG_OUTPUT> is defined, then output is written to the pathname "
9409 "specified by its value, with the suffix \".\" (dot) followed by the process "
9410 "ID appended to the pathname."
9411 msgstr ""
9412
9413 #. type: Plain text
9414 #: build/C/man8/ld.so.8:575
9415 msgid "B<LD_DEBUG_OUTPUT> is ignored in secure-execution mode."
9416 msgstr ""
9417
9418 #. type: TP
9419 #: build/C/man8/ld.so.8:575
9420 #, fuzzy, no-wrap
9421 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9422 msgid "B<LD_DYNAMIC_WEAK> (since glibc 2.1.91)"
9423 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9424
9425 #. type: Plain text
9426 #: build/C/man8/ld.so.8:579
9427 msgid ""
9428 "By default, when searching shared libraries to resolve a symbol reference, "
9429 "the dynamic linker will resolve to the first definition it finds."
9430 msgstr ""
9431
9432 #. type: Plain text
9433 #: build/C/man8/ld.so.8:588
9434 msgid ""
9435 "Old glibc versions (before 2.2), provided a different behavior: if the "
9436 "linker found a symbol that was weak, it would remember that symbol and keep "
9437 "searching in the remaining shared libraries.  If it subsequently found a "
9438 "strong definition of the same symbol, then it would instead use that "
9439 "definition.  (If no further symbol was found, then the dynamic linker would "
9440 "use the weak symbol that it initially found.)"
9441 msgstr ""
9442
9443 #.  More precisely 2.1.92
9444 #.  See weak handling
9445 #.      https://www.sourceware.org/ml/libc-hacker/2000-06/msg00029.html
9446 #.      To: GNU libc hacker <libc-hacker at sourceware dot cygnus dot com>
9447 #.      Subject: weak handling
9448 #.      From: Ulrich Drepper <drepper at redhat dot com>
9449 #.      Date: 07 Jun 2000 20:08:12 -0700
9450 #.      Reply-To: drepper at cygnus dot com (Ulrich Drepper)
9451 #. type: Plain text
9452 #: build/C/man8/ld.so.8:604
9453 msgid ""
9454 "The old glibc behavior was nonstandard.  (Standard practice is that the "
9455 "distinction between weak and strong symbols should have effect only at "
9456 "static link time.)  In glibc 2.2, the dynamic linker was modified to provide "
9457 "the current behavior (which was the behavior that was provided by most other "
9458 "implementations at that time)."
9459 msgstr ""
9460
9461 #. type: Plain text
9462 #: build/C/man8/ld.so.8:614
9463 msgid ""
9464 "Defining the B<LD_DYNAMIC_WEAK> environment variable (with any value) "
9465 "provides the old (nonstandard) glibc behavior, whereby a weak symbol in one "
9466 "shared library may be overridden by a strong symbol subsequently discovered "
9467 "in another shared library.  (Note that even when this variable is set, a "
9468 "strong symbol in a shared library will not override a weak definition of the "
9469 "same symbol in the main program.)"
9470 msgstr ""
9471
9472 #. type: Plain text
9473 #: build/C/man8/ld.so.8:618
9474 msgid ""
9475 "Since glibc 2.3.4, B<LD_DYNAMIC_WEAK> is ignored in secure-execution mode."
9476 msgstr ""
9477
9478 #. type: TP
9479 #: build/C/man8/ld.so.8:618
9480 #, fuzzy, no-wrap
9481 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9482 msgid "B<LD_HWCAP_MASK> (since glibc 2.1)"
9483 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9484
9485 #. type: Plain text
9486 #: build/C/man8/ld.so.8:621
9487 #, fuzzy
9488 #| msgid "(glibc since 2.1)  Mask for hardware capabilities."
9489 msgid "Mask for hardware capabilities."
9490 msgstr "(glibc 2.1 以降)  ハードウェア機能のマスク。"
9491
9492 #. type: TP
9493 #: build/C/man8/ld.so.8:621
9494 #, fuzzy, no-wrap
9495 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9496 msgid "B<LD_ORIGIN_PATH> (since glibc 2.1)"
9497 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9498
9499 #.  Used only if $ORIGIN can't be determined by normal means
9500 #.  (from the origin path saved at load time, or from /proc/self/exe)?
9501 #. type: Plain text
9502 #: build/C/man8/ld.so.8:626
9503 msgid "Path where the binary is found."
9504 msgstr ""
9505
9506 #. type: Plain text
9507 #: build/C/man8/ld.so.8:630
9508 msgid "Since glibc 2.4, B<LD_ORIGIN_PATH> is ignored in secure-execution mode."
9509 msgstr ""
9510
9511 #. type: TP
9512 #: build/C/man8/ld.so.8:630
9513 #, fuzzy, no-wrap
9514 #| msgid "B<LD_POINTER_GUARD>"
9515 msgid "B<LD_POINTER_GUARD> (glibc from 2.4 to 2.22)"
9516 msgstr "B<LD_POINTER_GUARD>"
9517
9518 #.  commit a014cecd82b71b70a6a843e250e06b541ad524f7
9519 #. type: Plain text
9520 #: build/C/man8/ld.so.8:646
9521 #, fuzzy
9522 #| msgid ""
9523 #| "(glibc since 2.4)  Set to 0 to disable pointer guarding.  Any other value "
9524 #| "enables pointer guarding, which is also the default.  Pointer guarding is "
9525 #| "a security mechanism whereby some pointers to code stored in writable "
9526 #| "program memory (return addresses saved by B<setjmp>(3)  or function "
9527 #| "pointers used by various glibc internals) are mangled semi-randomly to "
9528 #| "make it more difficult for an attacker to hijack the pointers for use in "
9529 #| "the event of a buffer overrun or stack-smashing attack."
9530 msgid ""
9531 "Set to 0 to disable pointer guarding.  Any other value enables pointer "
9532 "guarding, which is also the default.  Pointer guarding is a security "
9533 "mechanism whereby some pointers to code stored in writable program memory "
9534 "(return addresses saved by B<setjmp>(3)  or function pointers used by "
9535 "various glibc internals) are mangled semi-randomly to make it more difficult "
9536 "for an attacker to hijack the pointers for use in the event of a buffer "
9537 "overrun or stack-smashing attack.  Since glibc 2.23, B<LD_POINTER_GUARD> can "
9538 "no longer be used to disable pointer guarding, which is now always enabled."
9539 msgstr ""
9540 "(glibc 2.4 以降)  0 に設定すると、ポインター保護 (pointer guarding) が無効に"
9541 "なる。 それ以外の値の場合はポインター保護が有効になる。 デフォルトはポイン"
9542 "ター保護有効である。 ポインター保護はセキュリティ機構の一つで、書き込み可能な"
9543 "プログラムメモリー に格納されたコードへのポインターをほぼランダム化すること"
9544 "で、 攻撃者がバッファーオーバーランやスタック破壊 (stack-smashing) 攻撃の際"
9545 "に ポインターを乗っ取ることを困難にするものである。"
9546
9547 #. type: TP
9548 #: build/C/man8/ld.so.8:646
9549 #, fuzzy, no-wrap
9550 #| msgid "B<RTLD_NODELETE> (since glibc 2.2)"
9551 msgid "B<LD_PROFILE> (since glibc 2.1)"
9552 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
9553
9554 #. type: Plain text
9555 #: build/C/man8/ld.so.8:652
9556 #, fuzzy
9557 #| msgid ""
9558 #| "(glibc since 2.1)  The name of a (single) shared object to be profiled, "
9559 #| "specified either as a pathname or a soname.  Profiling output is appended "
9560 #| "to the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile"
9561 #| "\"."
9562 msgid ""
9563 "The name of a (single) shared object to be profiled, specified either as a "
9564 "pathname or a soname.  Profiling output is appended to the file whose name "
9565 "is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"."
9566 msgstr ""
9567 "(glibc 2.1 以降)  プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ"
9568 "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<"
9569 "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され"
9570 "る。"
9571
9572 #. type: Plain text
9573 #: build/C/man8/ld.so.8:656
9574 msgid "Since glibc 2.2.5, B<LD_PROFILE> is ignored in secure-execution mode."
9575 msgstr ""
9576
9577 #. type: TP
9578 #: build/C/man8/ld.so.8:656
9579 #, fuzzy, no-wrap
9580 #| msgid "B<RTLD_NODELETE> (since glibc 2.2)"
9581 msgid "B<LD_PROFILE_OUTPUT> (since glibc 2.1)"
9582 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
9583
9584 #. type: Plain text
9585 #: build/C/man8/ld.so.8:664
9586 #, fuzzy
9587 #| msgid ""
9588 #| "(glibc since 2.1)  Directory where B<LD_PROFILE> output should be "
9589 #| "written.  If this variable is not defined, or is defined as an empty "
9590 #| "string, then the default is I</var/tmp>.  B<LD_PROFILE_OUTPUT> is ignored "
9591 #| "for set-user-ID and set-group-ID programs, which always use I</var/"
9592 #| "profile>."
9593 msgid ""
9594 "Directory where B<LD_PROFILE> output should be written.  If this variable is "
9595 "not defined, or is defined as an empty string, then the default is I</var/"
9596 "tmp>."
9597 msgstr ""
9598 "(glibc 2.1 以降)  B<LD_PROFILE> の出力が書き込まれるディレクトリ。 この変数が"
9599 "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I</var/"
9600 "tmp> となる。 set-user-ID/set-group-ID されたプログラムでは、 "
9601 "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I</var/profile> が使用さ"
9602 "れる。"
9603
9604 #. type: Plain text
9605 #: build/C/man8/ld.so.8:673
9606 msgid ""
9607 "B<LD_PROFILE_OUTPUT> is ignored in secure-execution mode; instead I</var/"
9608 "profile> is always used.  (This detail is relevant only before glibc 2.2.5, "
9609 "since in later glibc versions, B<LD_PROFILE> is also ignored in secure-"
9610 "execution mode.)"
9611 msgstr ""
9612
9613 #. type: TP
9614 #: build/C/man8/ld.so.8:673
9615 #, fuzzy, no-wrap
9616 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9617 msgid "B<LD_SHOW_AUXV> (since glibc 2.1)"
9618 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9619
9620 #. type: Plain text
9621 #: build/C/man8/ld.so.8:678
9622 msgid ""
9623 "If this environment variable is defined (with any value), show the auxiliary "
9624 "array passed up from the kernel (see also B<getauxval>(3))."
9625 msgstr ""
9626
9627 #. type: Plain text
9628 #: build/C/man8/ld.so.8:682
9629 msgid "Since glibc 2.3.4, B<LD_SHOW_AUXV> is ignored in secure-execution mode."
9630 msgstr ""
9631
9632 #. type: TP
9633 #: build/C/man8/ld.so.8:682
9634 #, fuzzy, no-wrap
9635 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
9636 msgid "B<LD_TRACE_PRELINKING> (since glibc 2.4)"
9637 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
9638
9639 #.  (This is what seems to happen, from experimenting)
9640 #. type: Plain text
9641 #: build/C/man8/ld.so.8:693
9642 msgid ""
9643 "If this environment variable is defined, trace prelinking of the object "
9644 "whose name is assigned to this environment variable.  (Use B<ldd>(1)  to get "
9645 "a list of the objects that might be traced.)  If the object name is not "
9646 "recognized, then all prelinking activity is traced."
9647 msgstr ""
9648
9649 #. type: TP
9650 #: build/C/man8/ld.so.8:693
9651 #, fuzzy, no-wrap
9652 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9653 msgid "B<LD_USE_LOAD_BIAS> (since glibc 2.3.3)"
9654 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9655
9656 #.  http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html
9657 #.  Subject: [PATCH] Support LD_USE_LOAD_BIAS
9658 #.  Jakub Jelinek
9659 #. type: Plain text
9660 #: build/C/man8/ld.so.8:711
9661 #, fuzzy
9662 #| msgid ""
9663 #| "By default (i.e., if this variable is not defined)  executables and "
9664 #| "prelinked shared objects will honor base addresses of their dependent "
9665 #| "libraries and (nonprelinked) position-independent executables (PIEs)  and "
9666 #| "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is "
9667 #| "defined with the value 1, both executables and PIEs will honor the base "
9668 #| "addresses.  If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither "
9669 #| "executables nor PIEs will honor the base addresses.  This variable is "
9670 #| "ignored by set-user-ID and set-group-ID programs."
9671 msgid ""
9672 "By default (i.e., if this variable is not defined), executables and "
9673 "prelinked shared objects will honor base addresses of their dependent shared "
9674 "objects and (nonprelinked) position-independent executables (PIEs)  and "
9675 "other shared objects will not honor them.  If B<LD_USE_LOAD_BIAS> is defined "
9676 "with the value 1, both executables and PIEs will honor the base addresses.  "
9677 "If B<LD_USE_LOAD_BIAS> is defined with the value 0, neither executables nor "
9678 "PIEs will honor the base addresses."
9679 msgstr ""
9680 "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと "
9681 "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ"
9682 "スが尊重される一方、 (prelink されていない) position-independent executables "
9683 "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ"
9684 "れない。 B<LD_USE_LOAD_BIAS> が値 1 で定義された場合、実行ファイルと PIE のど"
9685 "ちらでも ベースアドレスが尊重される。 B<LD_USE_LOAD_BIAS> が値 0 で定義された"
9686 "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-"
9687 "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。"
9688
9689 #. type: Plain text
9690 #: build/C/man8/ld.so.8:713
9691 msgid "Since glibc 2.3.3, this variable is ignored in secure-execution mode."
9692 msgstr ""
9693
9694 #. type: TP
9695 #: build/C/man8/ld.so.8:713
9696 #, fuzzy, no-wrap
9697 #| msgid "B<RTLD_NODELETE> (since glibc 2.2)"
9698 msgid "B<LD_VERBOSE> (since glibc 2.1)"
9699 msgstr "B<RTLD_NODELETE> (glibc 2.2 以降)"
9700
9701 #. type: Plain text
9702 #: build/C/man8/ld.so.8:720
9703 #, fuzzy
9704 #| msgid ""
9705 #| "(glibc since 2.1)  If set to a nonempty string, output symbol versioning "
9706 #| "information about the program if the B<LD_TRACE_LOADED_OBJECTS> "
9707 #| "environment variable has been set."
9708 msgid ""
9709 "If set to a nonempty string, output symbol versioning information about the "
9710 "program if the B<LD_TRACE_LOADED_OBJECTS> environment variable has been set."
9711 msgstr ""
9712 "(glibc 2.1 以降) 空文字列でない場合に、B<LD_TRACE_LOADED_OBJECTS> 環境変数が"
9713 "設定されていれば、プログラムのシンボルバージョン情報を出力する。"
9714
9715 #. type: TP
9716 #: build/C/man8/ld.so.8:720
9717 #, fuzzy, no-wrap
9718 #| msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
9719 msgid "B<LD_WARN> (since glibc 2.1.3)"
9720 msgstr "B<RTLD_NOLOAD> (glibc 2.2 以降)"
9721
9722 #. type: Plain text
9723 #: build/C/man8/ld.so.8:723
9724 #, fuzzy
9725 #| msgid ""
9726 #| "(ELF only)(glibc since 2.1.3)  If set to a nonempty string, warn about "
9727 #| "unresolved symbols."
9728 msgid "If set to a nonempty string, warn about unresolved symbols."
9729 msgstr ""
9730 "(ELF のみ)(glibc 2.1.3 以降)  空文字列でない場合、解決されていないシンボルが"
9731 "あれば警告を出す。"
9732
9733 #. type: TP
9734 #: build/C/man8/ld.so.8:723
9735 #, fuzzy, no-wrap
9736 #| msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
9737 msgid "B<LD_PREFER_MAP_32BIT_EXEC> (x86-64 only; since glibc 2.23)"
9738 msgstr "B<RTLD_DEEPBIND> (glibc 2.3.4 以降)"
9739
9740 #. type: Plain text
9741 #: build/C/man8/ld.so.8:735
9742 msgid ""
9743 "According to the Intel Silvermont software optimization guide, for 64-bit "
9744 "applications, branch prediction performance can be negatively impacted when "
9745 "the target of a branch is more than 4\\ GB away from the branch.  If this "
9746 "environment variable is set (to any value), the dynamic linker will first "
9747 "try to map executable pages using the B<mmap>(2)  B<MAP_32BIT> flag, and "
9748 "fall back to mapping without that flag if that attempt fails.  NB: MAP_32BIT "
9749 "will map to the low 2\\ GB (not 4\\ GB) of the address space."
9750 msgstr ""
9751
9752 #. type: Plain text
9753 #: build/C/man8/ld.so.8:742
9754 msgid ""
9755 "Because B<MAP_32BIT> reduces the address range available for address space "
9756 "layout randomization (ASLR), B<LD_PREFER_MAP_32BIT_EXEC> is always disabled "
9757 "in secure-execution mode."
9758 msgstr ""
9759
9760 #. type: SH
9761 #: build/C/man8/ld.so.8:742 build/C/man8/ldconfig.8:196
9762 #, no-wrap
9763 msgid "FILES"
9764 msgstr "ファイル"
9765
9766 #. type: TP
9767 #: build/C/man8/ld.so.8:743 build/C/man8/ldconfig.8:201
9768 #, no-wrap
9769 msgid "I</lib/ld.so>"
9770 msgstr "I</lib/ld.so>"
9771
9772 #. type: Plain text
9773 #: build/C/man8/ld.so.8:746
9774 msgid "a.out dynamic linker/loader"
9775 msgstr "a.out の動的リンカー/ローダー"
9776
9777 #. type: TP
9778 #: build/C/man8/ld.so.8:746
9779 #, no-wrap
9780 msgid "I</lib/ld-linux.so.>{I<1>,I<2>}"
9781 msgstr "I</lib/ld-linux.so.>{I<1>,I<2>}"
9782
9783 #. type: Plain text
9784 #: build/C/man8/ld.so.8:749
9785 msgid "ELF dynamic linker/loader"
9786 msgstr "ELF の動的リンカー/ローダー"
9787
9788 #. type: TP
9789 #: build/C/man8/ld.so.8:749 build/C/man8/ldconfig.8:208
9790 #, no-wrap
9791 msgid "I</etc/ld.so.cache>"
9792 msgstr "I</etc/ld.so.cache>"
9793
9794 #. type: Plain text
9795 #: build/C/man8/ld.so.8:755
9796 #, fuzzy
9797 #| msgid ""
9798 #| "File containing a compiled list of directories in which to search for "
9799 #| "libraries and an ordered list of candidate libraries."
9800 msgid ""
9801 "File containing a compiled list of directories in which to search for shared "
9802 "objects and an ordered list of candidate shared objects.  See B<ldconfig>(8)."
9803 msgstr ""
9804 "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列"
9805 "リストを含むファイル。"
9806
9807 #. type: TP
9808 #: build/C/man8/ld.so.8:755
9809 #, no-wrap
9810 msgid "I</etc/ld.so.preload>"
9811 msgstr "I</etc/ld.so.preload>"
9812
9813 #. type: Plain text
9814 #: build/C/man8/ld.so.8:776
9815 msgid ""
9816 "File containing a whitespace-separated list of ELF shared objects to be "
9817 "loaded before the program.  See the discussion of B<LD_PRELOAD> above.  If "
9818 "both B<LD_PRELOAD> and I</etc/ld.so.preload> are employed, the libraries "
9819 "specified by B<LD_PRELOAD> are preloaded first.  I</etc/ld.so.preload> has a "
9820 "system-wide effect, causing the specified libraries to be preloaded for all "
9821 "programs that are executed on the system.  (This is usually undesirable, and "
9822 "is typically employed only as an emergency remedy, for example, as a "
9823 "temporary workaround to a library misconfiguration issue.)"
9824 msgstr ""
9825
9826 #. type: TP
9827 #: build/C/man8/ld.so.8:776
9828 #, fuzzy, no-wrap
9829 #| msgid "B<lib*.so*>"
9830 msgid "I<lib*.so*>"
9831 msgstr "B<lib*.so*>"
9832
9833 #. type: Plain text
9834 #: build/C/man8/ld.so.8:779
9835 #, fuzzy
9836 #| msgid "A shared object."
9837 msgid "shared objects"
9838 msgstr "共有オブジェクト。"
9839
9840 #. type: SS
9841 #: build/C/man8/ld.so.8:780
9842 #, no-wrap
9843 msgid "Hardware capabilities"
9844 msgstr ""
9845
9846 #.  Presumably, this info comes from sysdeps/i386/dl-procinfo.c and
9847 #.  similar files
9848 #. type: Plain text
9849 #: build/C/man8/ld.so.8:793
9850 #, fuzzy
9851 #| msgid ""
9852 #| "Some libraries are compiled using hardware-specific instructions which do "
9853 #| "not exist on every CPU.  Such libraries should be installed in "
9854 #| "directories whose names define the required hardware capabilities, such "
9855 #| "as I</usr/lib/sse2/>.  The dynamic linker checks these directories "
9856 #| "against the hardware of the machine and selects the most suitable version "
9857 #| "of a given library.  Hardware capability directories can be cascaded to "
9858 #| "combine CPU features.  The list of supported hardware capability names "
9859 #| "depends on the CPU.  The following names are currently recognized:"
9860 msgid ""
9861 "Some shared objects are compiled using hardware-specific instructions which "
9862 "do not exist on every CPU.  Such objects should be installed in directories "
9863 "whose names define the required hardware capabilities, such as I</usr/lib/"
9864 "sse2/>.  The dynamic linker checks these directories against the hardware of "
9865 "the machine and selects the most suitable version of a given shared object.  "
9866 "Hardware capability directories can be cascaded to combine CPU features.  "
9867 "The list of supported hardware capability names depends on the CPU.  The "
9868 "following names are currently recognized:"
9869 msgstr ""
9870 "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固"
9871 "有\n"
9872 "の命令を使ってコンパイルされている。そのようなライブラリは、\n"
9873 "I</usr/lib/sse2/> のような、必要なハードウェア機能 (hardware capability) を"
9874 "規\n"
9875 "定する名前のディレクトリにインストールすべきである。\n"
9876 "動的リンカーは、マシンのハードウェアに基づいてこれらのディレクトリを確認"
9877 "し、\n"
9878 "指定されたライブラリに最も適したバージョンを選択する。\n"
9879 "ハードウェア機能ディレクトリはつなげることができ、\n"
9880 "複数の CPU 機能を組み合わることができる。\n"
9881 "対応しているハードウェア機能名のリストは CPU に依存する。\n"
9882 "現在のところ、以下の名前が認識される。"
9883
9884 #. type: TP
9885 #: build/C/man8/ld.so.8:793
9886 #, no-wrap
9887 msgid "B<Alpha>"
9888 msgstr "B<Alpha>"
9889
9890 #. type: Plain text
9891 #: build/C/man8/ld.so.8:796
9892 msgid "ev4, ev5, ev56, ev6, ev67"
9893 msgstr "ev4, ev5, ev56, ev6, ev67"
9894
9895 #. type: TP
9896 #: build/C/man8/ld.so.8:796
9897 #, no-wrap
9898 msgid "B<MIPS>"
9899 msgstr "B<MIPS>"
9900
9901 #. type: Plain text
9902 #: build/C/man8/ld.so.8:799
9903 msgid "loongson2e, loongson2f, octeon, octeon2"
9904 msgstr "loongson2e, loongson2f, octeon, octeon2"
9905
9906 #. type: TP
9907 #: build/C/man8/ld.so.8:799
9908 #, no-wrap
9909 msgid "B<PowerPC>"
9910 msgstr "B<PowerPC>"
9911
9912 #. type: Plain text
9913 #: build/C/man8/ld.so.8:804
9914 msgid ""
9915 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
9916 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
9917 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
9918 msgstr ""
9919 "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, "
9920 "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, "
9921 "ppc32, ppc601, ppc64, smt, spe, ucache, vsx"
9922
9923 #. type: TP
9924 #: build/C/man8/ld.so.8:804
9925 #, no-wrap
9926 msgid "B<SPARC>"
9927 msgstr "B<SPARC>"
9928
9929 #. type: Plain text
9930 #: build/C/man8/ld.so.8:807
9931 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
9932 msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2"
9933
9934 #. type: TP
9935 #: build/C/man8/ld.so.8:807
9936 #, no-wrap
9937 msgid "B<s390>"
9938 msgstr "B<s390>"
9939
9940 #. type: Plain text
9941 #: build/C/man8/ld.so.8:811
9942 msgid ""
9943 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
9944 "z990, z9-109, z10, zarch"
9945 msgstr ""
9946 "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, "
9947 "z990, z9-109, z10, zarch"
9948
9949 #. type: TP
9950 #: build/C/man8/ld.so.8:811
9951 #, no-wrap
9952 msgid "B<x86 (32-bit only)>"
9953 msgstr "B<x86 (32-bit のみ)>"
9954
9955 #. type: Plain text
9956 #: build/C/man8/ld.so.8:815
9957 msgid ""
9958 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
9959 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
9960 msgstr ""
9961 "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, "
9962 "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm"
9963
9964 #.  .SH AUTHORS
9965 #.  ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
9966 #.   Torvalds, Lars Wirzenius and Mitch D'Souza
9967 #.  ld\-linux.so: Roland McGrath, Ulrich Drepper and others.
9968 #.  In the above, (libc5) stands for David Engel's ld.so/ld\-linux.so.
9969 #. type: Plain text
9970 #: build/C/man8/ld.so.8:833
9971 #, fuzzy
9972 #| msgid ""
9973 #| "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), "
9974 #| "B<getauxval>(3), B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
9975 msgid ""
9976 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
9977 "B<elf>(5), B<capabilities>(7), B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
9978 msgstr ""
9979 "B<ld>(1), B<ldd>(1), B<pldd>(1), B<sprof>(1), B<dlopen>(3), B<getauxval>(3), "
9980 "B<rtld-audit>(7), B<ldconfig>(8), B<sln>(8)"
9981
9982 #. type: TH
9983 #: build/C/man8/ldconfig.8:22
9984 #, no-wrap
9985 msgid "LDCONFIG"
9986 msgstr "LDCONFIG"
9987
9988 #. type: Plain text
9989 #: build/C/man8/ldconfig.8:25
9990 msgid "ldconfig - configure dynamic linker run-time bindings"
9991 msgstr "ldconfig - 動的リンカーによる実行時の結合関係を設定する"
9992
9993 #. type: Plain text
9994 #: build/C/man8/ldconfig.8:28
9995 #, fuzzy
9996 #| msgid ""
9997 #| "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r"
9998 #| "\\ root> ] I<directory>\\ ..."
9999 msgid ""
10000 "B</sbin/ldconfig> [B<-nNvXV>] [B<-f> I<conf>] [B<-C> I<cache>] [B<-r> "
10001 "I<root>] I<directory>..."
10002 msgstr ""
10003 "B</sbin/ldconfig> [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ "
10004 "root> ] I<directory>\\ ..."
10005
10006 #. type: Plain text
10007 #: build/C/man8/ldconfig.8:35
10008 #, fuzzy
10009 #| msgid "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
10010 msgid "B</sbin/ldconfig> B<-l> [B<-v>] I<library>..."
10011 msgstr "B</sbin/ldconfig> B<-l> [ B<-v> ] I<library>\\ ..."
10012
10013 #. type: Plain text
10014 #: build/C/man8/ldconfig.8:40
10015 msgid "B</sbin/ldconfig> B<-p>"
10016 msgstr "B</sbin/ldconfig> B<-p>"
10017
10018 #. type: Plain text
10019 #: build/C/man8/ldconfig.8:59
10020 #, fuzzy
10021 #| msgid ""
10022 #| "B<ldconfig> creates the necessary links and cache to the most recent "
10023 #| "shared libraries found in the directories specified on the command line, "
10024 #| "in the file I</etc/ld.so.conf>, and in the trusted directories (I</lib> "
10025 #| "and I</usr/lib>).  The cache is used by the run-time linker, I<ld.so> or "
10026 #| "I<ld-linux.so>.  B<ldconfig> checks the header and filenames of the "
10027 #| "libraries it encounters when determining which versions should have their "
10028 #| "links updated."
10029 msgid ""
10030 "B<ldconfig> creates the necessary links and cache to the most recent shared "
10031 "libraries found in the directories specified on the command line, in the "
10032 "file I</etc/ld.so.conf>, and in the trusted directories, I</lib> and I</usr/"
10033 "lib> (on some 64-bit architectures such as x86-64, I</lib> and I</usr/lib> "
10034 "are the trusted directories for 32-bit libraries, while I</lib64> and I</usr/"
10035 "lib64> are used for 64-bit libraries)."
10036 msgstr ""
10037 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
10038 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
10039 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
10040 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカー "
10041 "I<ld.so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライ"
10042 "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを"
10043 "更新すべきかを判断する。"
10044
10045 #. type: Plain text
10046 #: build/C/man8/ldconfig.8:67
10047 #, fuzzy
10048 #| msgid ""
10049 #| "B<ldconfig> creates the necessary links and cache to the most recent "
10050 #| "shared libraries found in the directories specified on the command line, "
10051 #| "in the file I</etc/ld.so.conf>, and in the trusted directories (I</lib> "
10052 #| "and I</usr/lib>).  The cache is used by the run-time linker, I<ld.so> or "
10053 #| "I<ld-linux.so>.  B<ldconfig> checks the header and filenames of the "
10054 #| "libraries it encounters when determining which versions should have their "
10055 #| "links updated."
10056 msgid ""
10057 "The cache is used by the run-time linker, I<ld.so> or I<ld-linux.so>.  "
10058 "B<ldconfig> checks the header and filenames of the libraries it encounters "
10059 "when determining which versions should have their links updated."
10060 msgstr ""
10061 "B<ldcofig> は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ"
10062 "リをキャッシュしたりする。 ライブラリは、コマンドラインや I</etc/ld.so.conf> "
10063 "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト"
10064 "リ (I</lib> と I</usr/lib>)  から検索される。 キャッシュは実行時リンカー "
10065 "I<ld.so> または I<ld-linux.so> によって使われる。 B<ldconfig> は処理するライ"
10066 "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを"
10067 "更新すべきかを判断する。"
10068
10069 #.  The following sentence looks suspect
10070 #.  (perhaps historical cruft) -- MTK, Jul 2005
10071 #.  Therefore, when making dynamic libraries,
10072 #.  it is wise to explicitly link against libc (use \-lc).
10073 #. type: Plain text
10074 #: build/C/man8/ldconfig.8:75
10075 #, fuzzy
10076 #| msgid ""
10077 #| "B<ldconfig> will attempt to deduce the type of ELF libs (i.e., libc5 or "
10078 #| "libc6/glibc)  based on what C libs, if any, the library was linked "
10079 #| "against."
10080 msgid ""
10081 "B<ldconfig> will attempt to deduce the type of ELF libraries (i.e., libc5 or "
10082 "libc6/glibc)  based on what C libraries, if any, the library was linked "
10083 "against."
10084 msgstr ""
10085 "B<ldconfig> は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると"
10086 "き、 そのライブラリがリンクしている C ライブラリを参考にする。"
10087
10088 #. type: Plain text
10089 #: build/C/man8/ldconfig.8:96
10090 #, fuzzy
10091 #| msgid ""
10092 #| "Some existing libs do not contain enough information to allow the "
10093 #| "deduction of their type.  Therefore, the I</etc/ld.so.conf> file format "
10094 #| "allows the specification of an expected type.  This is used I<only> for "
10095 #| "those ELF libs which we can not work out.  The format is \"dirname=TYPE"
10096 #| "\", where TYPE can be libc4, libc5, or libc6.  (This syntax also works on "
10097 #| "the command line.)  Spaces are I<not> allowed.  Also see the B<-p> "
10098 #| "option.  B<ldconfig> should normally be run by the superuser as it may "
10099 #| "require write permission on some root owned directories and files."
10100 msgid ""
10101 "Some existing libraries do not contain enough information to allow the "
10102 "deduction of their type.  Therefore, the I</etc/ld.so.conf> file format "
10103 "allows the specification of an expected type.  This is used I<only> for "
10104 "those ELF libraries which we can not work out.  The format is \"dirname=TYPE"
10105 "\", where TYPE can be libc4, libc5, or libc6.  (This syntax also works on "
10106 "the command line.)  Spaces are I<not> allowed.  Also see the B<-p> option.  "
10107 "B<ldconfig> should normally be run by the superuser as it may require write "
10108 "permission on some root owned directories and files."
10109 msgstr ""
10110 "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ"
10111 "ていないものもある。 このため I</etc/ld.so.conf> ファイルでライブラリの形式を"
10112 "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ"
10113 "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで "
10114 "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使"
10115 "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 "
10116 "B<ldconfig> は通常スーパーユーザー権限で実行しなければならない。 root が所有"
10117 "しているディレクトリやファイルへの書き込み権限が 必要になるからである。"
10118
10119 #. type: Plain text
10120 #: build/C/man8/ldconfig.8:111
10121 msgid ""
10122 "Note that B<ldconfig> will only look at files that are named I<lib*.so*> "
10123 "(for regular shared objects) or I<ld-*.so*> (for the dynamic loader "
10124 "itself).  Other files will be ignored.  Also, B<ldconfig> expects a certain "
10125 "pattern to how the symlinks are set up, like this example, where the middle "
10126 "file (B<libfoo.so.1> here) is the SONAME for the library:"
10127 msgstr ""
10128
10129 #. type: Plain text
10130 #: build/C/man8/ldconfig.8:115
10131 #, no-wrap
10132 msgid "libfoo.so -E<gt> libfoo.so.1 -E<gt> libfoo.so.1.12\n"
10133 msgstr ""
10134
10135 #. type: Plain text
10136 #: build/C/man8/ldconfig.8:120
10137 msgid ""
10138 "Failure to follow this pattern may result in compatibility issues after an "
10139 "upgrade."
10140 msgstr ""
10141
10142 #. type: TP
10143 #: build/C/man8/ldconfig.8:121
10144 #, fuzzy, no-wrap
10145 #| msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
10146 msgid "B<-c> I<fmt>, B<--format=>I<fmt>"
10147 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
10148
10149 #.  commit cad64f778aced84efdaa04ae64f8737b86f063ab
10150 #. type: Plain text
10151 #: build/C/man8/ldconfig.8:134
10152 msgid ""
10153 "(Since glibc 2.2)  Cache format to use: I<old>, I<new>, or I<compat>.  Since "
10154 "glibc 2.32, the default is I<new>.  Before that, it was I<compat>."
10155 msgstr ""
10156
10157 #. type: TP
10158 #: build/C/man8/ldconfig.8:134
10159 #, fuzzy, no-wrap
10160 #| msgid "B<-C cache>"
10161 msgid "B<-C >I<cache>"
10162 msgstr "B<-C cache>"
10163
10164 #. type: Plain text
10165 #: build/C/man8/ldconfig.8:140
10166 #, fuzzy
10167 #| msgid "Use B<cache> instead of I</etc/ld.so.cache>."
10168 msgid "Use I<cache> instead of I</etc/ld.so.cache>."
10169 msgstr "B<cache> を I</etc/ld.so.cache> の代わりに用いる。"
10170
10171 #. type: TP
10172 #: build/C/man8/ldconfig.8:140
10173 #, fuzzy, no-wrap
10174 #| msgid "B<-f conf>"
10175 msgid "B<-f >I<conf>"
10176 msgstr "B<-f conf>"
10177
10178 #.  FIXME glibc 2.7 added -i
10179 #. type: Plain text
10180 #: build/C/man8/ldconfig.8:147
10181 #, fuzzy
10182 #| msgid "Use B<conf> instead of I</etc/ld.so.conf>."
10183 msgid "Use I<conf> instead of I</etc/ld.so.conf>."
10184 msgstr "B<conf> を I</etc/ld.so.conf> の代わりに用いる。"
10185
10186 #. type: TP
10187 #: build/C/man8/ldconfig.8:147
10188 #, fuzzy, no-wrap
10189 #| msgid "B<-q>, B<--graph>"
10190 msgid "B<-i>, B<--ignore-aux-cache>"
10191 msgstr "B<-q>, B<--graph>"
10192
10193 #.              commit 27d9ffda17df4d2388687afd12897774fde39bcc
10194 #. type: Plain text
10195 #: build/C/man8/ldconfig.8:152
10196 msgid "(Since glibc 2.7)  Ignore auxiliary cache file."
10197 msgstr ""
10198
10199 #. type: TP
10200 #: build/C/man8/ldconfig.8:152
10201 #, no-wrap
10202 msgid "B<-l>"
10203 msgstr "B<-l>"
10204
10205 #. type: Plain text
10206 #: build/C/man8/ldconfig.8:158
10207 #, fuzzy
10208 #| msgid ""
10209 #| "Library mode.  Manually link individual libraries.  Intended for use by "
10210 #| "experts only."
10211 msgid ""
10212 "(Since glibc 2.2)  Library mode.  Manually link individual libraries.  "
10213 "Intended for use by experts only."
10214 msgstr ""
10215 "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる"
10216 "べきである。"
10217
10218 #. type: TP
10219 #: build/C/man8/ldconfig.8:158
10220 #, no-wrap
10221 msgid "B<-n>"
10222 msgstr "B<-n>"
10223
10224 #. type: Plain text
10225 #: build/C/man8/ldconfig.8:166
10226 #, fuzzy
10227 #| msgid ""
10228 #| "Only process directories specified on the command line.  Don't process "
10229 #| "the trusted directories (I</lib> and I</usr/lib>)  nor those specified in "
10230 #| "I</etc/ld.so.conf>.  Implies B<-N>."
10231 msgid ""
10232 "Process only the directories specified on the command line.  Don't process "
10233 "the trusted directories, nor those specified in I</etc/ld.so.conf>.  Implies "
10234 "B<-N>."
10235 msgstr ""
10236 "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置"
10237 "かれるディレクトリ (I</lib> と I</usr/lib>)  や I</etc/ld.so.conf> で指定され"
10238 "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。"
10239
10240 #. type: TP
10241 #: build/C/man8/ldconfig.8:166
10242 #, no-wrap
10243 msgid "B<-N>"
10244 msgstr "B<-N>"
10245
10246 #. type: Plain text
10247 #: build/C/man8/ldconfig.8:172
10248 msgid ""
10249 "Don't rebuild the cache.  Unless B<-X> is also specified, links are still "
10250 "updated."
10251 msgstr ""
10252 "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ"
10253 "うは更新される。"
10254
10255 #. type: TP
10256 #: build/C/man8/ldconfig.8:172
10257 #, fuzzy, no-wrap
10258 #| msgid "B<-q>, B<--graph>"
10259 msgid "B<-p>, B<--print-cache>"
10260 msgstr "B<-q>, B<--graph>"
10261
10262 #. type: Plain text
10263 #: build/C/man8/ldconfig.8:176
10264 msgid ""
10265 "Print the lists of directories and candidate libraries stored in the current "
10266 "cache."
10267 msgstr ""
10268 "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表"
10269 "示する。"
10270
10271 #. type: TP
10272 #: build/C/man8/ldconfig.8:176
10273 #, fuzzy, no-wrap
10274 #| msgid "B<-r root>"
10275 msgid "B<-r >I<root>"
10276 msgstr "B<-r root>"
10277
10278 #. type: Plain text
10279 #: build/C/man8/ldconfig.8:181
10280 msgid "Change to and use I<root> as the root directory."
10281 msgstr ""
10282 "I<root> にカレントディレクトリを変更し、ここをルートディレクトリとして用い"
10283 "る。"
10284
10285 #. type: TP
10286 #: build/C/man8/ldconfig.8:181 build/C/man1/ldd.1:120
10287 #, fuzzy, no-wrap
10288 #| msgid "B<-v\\ --verbose>"
10289 msgid "B<-v>, B<--verbose>"
10290 msgstr "B<-v\\ --verbose>"
10291
10292 #. type: Plain text
10293 #: build/C/man8/ldconfig.8:187
10294 msgid ""
10295 "Verbose mode.  Print current version number, the name of each directory as "
10296 "it is scanned, and any links that are created.  Overrides quiet mode."
10297 msgstr ""
10298 "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ"
10299 "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ"
10300 "抑制モードを上書きする。"
10301
10302 #. type: TP
10303 #: build/C/man8/ldconfig.8:187 build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
10304 #, no-wrap
10305 msgid "B<-V>, B<--version>"
10306 msgstr "B<-V>, B<--version>"
10307
10308 #. type: Plain text
10309 #: build/C/man8/ldconfig.8:190
10310 #, fuzzy
10311 #| msgid "Display the program version."
10312 msgid "Print program version."
10313 msgstr "プログラムのバージョンを表示する。"
10314
10315 #. type: TP
10316 #: build/C/man8/ldconfig.8:190
10317 #, no-wrap
10318 msgid "B<-X>"
10319 msgstr "B<-X>"
10320
10321 #. type: Plain text
10322 #: build/C/man8/ldconfig.8:196
10323 msgid ""
10324 "Don't update links.  Unless B<-N> is also specified, the cache is still "
10325 "rebuilt."
10326 msgstr ""
10327 "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成"
10328 "される。"
10329
10330 #. type: Plain text
10331 #: build/C/man8/ldconfig.8:204
10332 #, fuzzy
10333 #| msgid "run-time linker/loader"
10334 msgid "Run-time linker/loader."
10335 msgstr "実行時リンカー/ローダー。"
10336
10337 #. type: TP
10338 #: build/C/man8/ldconfig.8:204
10339 #, no-wrap
10340 msgid "I</etc/ld.so.conf>"
10341 msgstr "I</etc/ld.so.conf>"
10342
10343 #. type: Plain text
10344 #: build/C/man8/ldconfig.8:208
10345 #, fuzzy
10346 #| msgid ""
10347 #| "File containing a list of colon, space, tab, newline, or comma-separated "
10348 #| "directories in which to search for libraries."
10349 msgid ""
10350 "File containing a list of directories, one per line, in which to search for "
10351 "libraries."
10352 msgstr ""
10353 "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ"
10354 "れのディレクトリでライブラリが検索される。"
10355
10356 #. type: Plain text
10357 #: build/C/man8/ldconfig.8:214
10358 #, fuzzy
10359 #| msgid ""
10360 #| "File containing an ordered list of libraries found in the directories "
10361 #| "specified in I</etc/ld.so.conf>, as well as those found in I</lib> and I</"
10362 #| "usr/lib>."
10363 msgid ""
10364 "File containing an ordered list of libraries found in the directories "
10365 "specified in I</etc/ld.so.conf>, as well as those found in the trusted "
10366 "directories."
10367 msgstr ""
10368 "I</etc/ld.so.conf> で指定されたディレクトリにあるライブラリ、および I</lib> "
10369 "と I</usr/lib> にあるライブラリの順序付きリスト。"
10370
10371 #. type: Plain text
10372 #: build/C/man8/ldconfig.8:218
10373 msgid "B<ldd>(1), B<ld.so>(8)"
10374 msgstr "B<ldd>(1), B<ld.so>(8)"
10375
10376 #. type: TH
10377 #: build/C/man1/ldd.1:14
10378 #, no-wrap
10379 msgid "LDD"
10380 msgstr "LDD"
10381
10382 #. type: TH
10383 #: build/C/man1/ldd.1:14
10384 #, no-wrap
10385 msgid "2019-03-06"
10386 msgstr ""
10387
10388 #. type: Plain text
10389 #: build/C/man1/ldd.1:17
10390 #, fuzzy
10391 #| msgid "ldd - print shared library dependencies"
10392 msgid "ldd - print shared object dependencies"
10393 msgstr "ldd - 共有ライブラリへの依存関係を表示する"
10394
10395 #. type: Plain text
10396 #: build/C/man1/ldd.1:19
10397 msgid "B<ldd> [I<option>]... I<file>..."
10398 msgstr "B<ldd> [I<option>]... I<file>..."
10399
10400 #. type: Plain text
10401 #: build/C/man1/ldd.1:28
10402 msgid ""
10403 "B<ldd> prints the shared objects (shared libraries) required by each program "
10404 "or shared object specified on the command line.  An example of its use and "
10405 "output (using B<sed>(1)  to trim leading white space for readability in this "
10406 "page)  is the following:"
10407 msgstr ""
10408
10409 #. type: Plain text
10410 #: build/C/man1/ldd.1:41
10411 #, no-wrap
10412 msgid ""
10413 "$ B<ldd /bin/ls | sed \\(aqs/^ */    /\\(aq>\n"
10414 "    linux-vdso.so.1 (0x00007ffcc3563000)\n"
10415 "    libselinux.so.1 =E<gt> /lib64/libselinux.so.1 (0x00007f87e5459000)\n"
10416 "    libcap.so.2 =E<gt> /lib64/libcap.so.2 (0x00007f87e5254000)\n"
10417 "    libc.so.6 =E<gt> /lib64/libc.so.6 (0x00007f87e4e92000)\n"
10418 "    libpcre.so.1 =E<gt> /lib64/libpcre.so.1 (0x00007f87e4c22000)\n"
10419 "    libdl.so.2 =E<gt> /lib64/libdl.so.2 (0x00007f87e4a1e000)\n"
10420 "    /lib64/ld-linux-x86-64.so.2 (0x00005574bf12e000)\n"
10421 "    libattr.so.1 =E<gt> /lib64/libattr.so.1 (0x00007f87e4817000)\n"
10422 "    libpthread.so.0 =E<gt> /lib64/libpthread.so.0 (0x00007f87e45fa000)\n"
10423 msgstr ""
10424
10425 #. type: Plain text
10426 #: build/C/man1/ldd.1:68
10427 #, fuzzy
10428 #| msgid ""
10429 #| "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
10430 #| "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to "
10431 #| "1, which causes the linker to display the library dependencies.  Be "
10432 #| "aware, however, that in some circumstances, some versions of B<ldd> may "
10433 #| "attempt to obtain the dependency information by directly executing the "
10434 #| "program.  Thus, you should I<never> employ B<ldd> on an untrusted "
10435 #| "executable, since this may result in the execution of arbitrary code.  A "
10436 #| "safer alternative when dealing with untrusted executables is:"
10437 msgid ""
10438 "In the usual case, B<ldd> invokes the standard dynamic linker (see B<ld."
10439 "so>(8))  with the B<LD_TRACE_LOADED_OBJECTS> environment variable set to 1.  "
10440 "This causes the dynamic linker to inspect the program's dynamic "
10441 "dependencies, and find (according to the rules described in B<ld.so>(8))  "
10442 "and load the objects that satisfy those dependencies.  For each dependency, "
10443 "B<ldd> displays the location of the matching object and the (hexadecimal) "
10444 "address at which it is loaded.  (The I<linux-vdso> and I<ld-linux> shared "
10445 "dependencies are special; see B<vdso>(7)  and B<ld.so>(8).)"
10446 msgstr ""
10447 "通常の場合、 B<ldd> は標準の動的リンカー (B<ld.so>(8) 参照) を "
10448 "B<LD_TRACE_LOADED_OBJECTS> 環境変数に 1 をセットして起動する。 "
10449 "B<LD_TRACE_LOADED_OBJECTS> に 1 をセットすると、リンカーはライブラリの依存関"
10450 "係を表示する。但し、状況次第では、依存関係の情報を得るのにプログラムを直接実"
10451 "行するバージョンの B<ldd> が存在する。したがって、信頼できない実行ファイルに"
10452 "対しては「決して」 B<ldd> を使っては「ならない」。任意のコードを実行すること"
10453 "につながるからである。信頼できない実行ファイルを扱う、より安全な別の方法とし"
10454 "ては次のようにするとよい。"
10455
10456 #. type: SS
10457 #: build/C/man1/ldd.1:68
10458 #, no-wrap
10459 msgid "Security"
10460 msgstr "セキュリティ"
10461
10462 #.  The circumstances are where the program has an interpreter
10463 #.  other than ld-linux.so. In this case, ldd tries to execute the
10464 #.  program directly with LD_TRACE_LOADED_OBJECTS=1, with the
10465 #.  result that the program interpreter gets control, and can do
10466 #.  what it likes, or pass control to the program itself.
10467 #.  Much more detail at
10468 #.  http://www.catonmat.net/blog/ldd-arbitrary-code-execution/
10469 #.  Mainline glibc's ldd allows this possibility (the line
10470 #.       try_trace "$file"
10471 #.  in glibc 2.15, for example), but many distro versions of
10472 #.  ldd seem to remove that code path from the script.
10473 #.  glibc commit eedca9772e99c72ab4c3c34e43cc764250aa3e3c
10474 #. type: Plain text
10475 #: build/C/man1/ldd.1:96
10476 msgid ""
10477 "Be aware that in some circumstances (e.g., where the program specifies an "
10478 "ELF interpreter other than I<ld-linux.so>), some versions of B<ldd> may "
10479 "attempt to obtain the dependency information by attempting to directly "
10480 "execute the program, which may lead to the execution of whatever code is "
10481 "defined in the program's ELF interpreter, and perhaps to execution of the "
10482 "program itself.  (In glibc versions before 2.27, the upstream B<ldd> "
10483 "implementation did this for example, although most distributions provided a "
10484 "modified version that did not.)"
10485 msgstr ""
10486
10487 #. type: Plain text
10488 #: build/C/man1/ldd.1:104
10489 msgid ""
10490 "Thus, you should I<never> employ B<ldd> on an untrusted executable, since "
10491 "this may result in the execution of arbitrary code.  A safer alternative "
10492 "when dealing with untrusted executables is:"
10493 msgstr ""
10494
10495 #. type: Plain text
10496 #: build/C/man1/ldd.1:108
10497 #, fuzzy, no-wrap
10498 #| msgid "    $ objdump -p /path/to/program | grep NEEDED\n"
10499 msgid "$ B<objdump -p /path/to/program | grep NEEDED>\n"
10500 msgstr "    $ objdump -p /path/to/program | grep NEEDED\n"
10501
10502 #. type: Plain text
10503 #: build/C/man1/ldd.1:115
10504 msgid ""
10505 "Note, however, that this alternative shows only the direct dependencies of "
10506 "the executable, while B<ldd> shows the entire dependency tree of the "
10507 "executable."
10508 msgstr ""
10509
10510 #. type: TP
10511 #: build/C/man1/ldd.1:116 build/C/man1/mtrace.1:55
10512 #, no-wrap
10513 msgid "B<--version>"
10514 msgstr "B<--version>"
10515
10516 #. type: Plain text
10517 #: build/C/man1/ldd.1:120
10518 msgid "Print the version number of B<ldd>."
10519 msgstr "B<ldd> のバージョン番号を表示する。"
10520
10521 #. type: Plain text
10522 #: build/C/man1/ldd.1:124
10523 msgid ""
10524 "Print all information, including, for example, symbol versioning information."
10525 msgstr "シンボルのバージョン情報などを含めた全ての情報を表示する。"
10526
10527 #. type: TP
10528 #: build/C/man1/ldd.1:124
10529 #, fuzzy, no-wrap
10530 #| msgid "B<-u\\ --unused>"
10531 msgid "B<-u>, B<--unused>"
10532 msgstr "B<-u\\ --unused>"
10533
10534 #. type: Plain text
10535 #: build/C/man1/ldd.1:128
10536 msgid "Print unused direct dependencies.  (Since glibc 2.3.4.)"
10537 msgstr "使用されていない直接の依存関係を表示する (glibc 2.3.4 以降)。"
10538
10539 #. type: TP
10540 #: build/C/man1/ldd.1:128
10541 #, fuzzy, no-wrap
10542 #| msgid "B<-d\\ --data-relocs>"
10543 msgid "B<-d>, B<--data-relocs>"
10544 msgstr "B<-d\\ --data-relocs>"
10545
10546 #. type: Plain text
10547 #: build/C/man1/ldd.1:131
10548 msgid "Perform relocations and report any missing objects (ELF only)."
10549 msgstr ""
10550 "リロケーションを実行し、足りないオブジェクトについてレポートする (ELF のみ)。"
10551
10552 #. type: TP
10553 #: build/C/man1/ldd.1:131
10554 #, fuzzy, no-wrap
10555 #| msgid "B<-r\\ --function-relocs>"
10556 msgid "B<-r>, B<--function-relocs>"
10557 msgstr "B<-r\\ --function-relocs>"
10558
10559 #. type: Plain text
10560 #: build/C/man1/ldd.1:135
10561 msgid ""
10562 "Perform relocations for both data objects and functions, and report any "
10563 "missing objects or functions (ELF only)."
10564 msgstr "足りないオブジェクトや関数についてレポートする (ELF のみ)。"
10565
10566 #. type: TP
10567 #: build/C/man1/ldd.1:135 build/C/man1/mtrace.1:52
10568 #, no-wrap
10569 msgid "B<--help>"
10570 msgstr "B<--help>"
10571
10572 #.  .SH NOTES
10573 #.  The standard version of
10574 #.  .B ldd
10575 #.  comes with glibc2.
10576 #.  Libc5 came with an older version, still present
10577 #.  on some systems.
10578 #.  The long options are not supported by the libc5 version.
10579 #.  On the other hand, the glibc2 version does not support
10580 #.  .B \-V
10581 #.  and only has the equivalent
10582 #.  .BR \-\-version .
10583 #.  .LP
10584 #.  The libc5 version of this program will use the name of a library given
10585 #.  on the command line as-is when it contains a \(aq/\(aq; otherwise it
10586 #.  searches for the library in the standard locations.
10587 #.  To run it
10588 #.  on a shared library in the current directory, prefix the name with "./".
10589 #. type: Plain text
10590 #: build/C/man1/ldd.1:155
10591 msgid "Usage information."
10592 msgstr "使用法を表示する。"
10593
10594 #. type: Plain text
10595 #: build/C/man1/ldd.1:158
10596 msgid "B<ldd> does not work on a.out shared libraries."
10597 msgstr "B<ldd> は a.out 共有ライブラリでは動作しない。"
10598
10599 #.  .SH AUTHOR
10600 #.  David Engel.
10601 #.  Roland McGrath and Ulrich Drepper.
10602 #. type: Plain text
10603 #: build/C/man1/ldd.1:172
10604 msgid ""
10605 "B<ldd> does not work with some extremely old a.out programs which were built "
10606 "before B<ldd> support was added to the compiler releases.  If you use B<ldd> "
10607 "on one of these programs, the program will attempt to run with I<argc> = 0 "
10608 "and the results will be unpredictable."
10609 msgstr ""
10610 "B<ldd> は非常に古い a.out プログラム (B<ldd> のサポートがコンパイラに追加され"
10611 "る以前にビルドされたようなプログラム)  では動作しない。 このようなプログラム"
10612 "に対して B<ldd> を用いると、プログラムは I<argc> = 0 で実行される。結果は予想"
10613 "不可能である。"
10614
10615 #. type: Plain text
10616 #: build/C/man1/ldd.1:177
10617 #, fuzzy
10618 #| msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
10619 msgid "B<pldd>(1), B<sprof>(1), B<ld.so>(8), B<ldconfig>(8)"
10620 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
10621
10622 #. type: TH
10623 #: build/C/man1/memusage.1:24
10624 #, no-wrap
10625 msgid "MEMUSAGE"
10626 msgstr "MEMUSAGE"
10627
10628 #. type: TH
10629 #: build/C/man1/memusage.1:24 build/C/man1/mtrace.1:23
10630 #, no-wrap
10631 msgid "Linux user manual"
10632 msgstr "Linux user manual"
10633
10634 #. type: Plain text
10635 #: build/C/man1/memusage.1:27
10636 msgid "memusage - profile memory usage of a program"
10637 msgstr "memusage - プログラムのメモリー使用量のプロファイルを行う"
10638
10639 #. type: Plain text
10640 #: build/C/man1/memusage.1:29
10641 msgid "B<memusage> [I<option>]... I<program> [I<programoption>]..."
10642 msgstr "B<memusage> [I<option>]... I<program> [I<programoption>]..."
10643
10644 #. type: Plain text
10645 #: build/C/man1/memusage.1:53
10646 msgid ""
10647 "B<memusage> is a bash script which profiles memory usage of the program, "
10648 "I<program>.  It preloads the B<libmemusage.so> library into the caller's "
10649 "environment (via the B<LD_PRELOAD> environment variable; see B<ld.so>(8)).  "
10650 "The B<libmemusage.so> library traces memory allocation by intercepting calls "
10651 "to B<malloc>(3), B<calloc>(3), B<free>(3), and B<realloc>(3); optionally, "
10652 "calls to B<mmap>(2), B<mremap>(2), and B<munmap>(2)  can also be intercepted."
10653 msgstr ""
10654 "B<memusage> は、 プログラム I<program> のメモリー使用量のプロファイルを行う "
10655 "bash スクリプトである。 呼び出し元の環境に (B<LD_PRELOAD> 環境変数を使って) "
10656 "B<libmemusage.so> ライブラリをプレロードする。 B<ld.so>(8) を参照。 "
10657 "B<libmemusage.so> ライブラリは、 B<malloc>(3), B<calloc>(3), B<free>(3), "
10658 "B<realloc>(3) の呼び出しを横取りし、 メモリー割り当て状況の追跡を行う。 追加"
10659 "で、 B<mmap>(2), B<mremap>(2), B<munmap>(2) を追跡することもできる。"
10660
10661 #. type: Plain text
10662 #: build/C/man1/memusage.1:62
10663 msgid ""
10664 "B<memusage> can output the collected data in textual form, or it can use "
10665 "B<memusagestat>(1)  (see the B<-p> option, below)  to create a PNG file "
10666 "containing graphical representation of the collected data."
10667 msgstr ""
10668 "B<memusage> は収集したデータをテキスト形式で出力することもできるし、 "
10669 "B<memusagestat>(1) を使って収集したデータをグラフにした PNG ファイルを作成す"
10670 "ることもできる (以下の B<-p> オプションを参照)。"
10671
10672 #. type: SS
10673 #: build/C/man1/memusage.1:62
10674 #, no-wrap
10675 msgid "Memory usage summary"
10676 msgstr "メモリー使用量概要"
10677
10678 #. type: Plain text
10679 #: build/C/man1/memusage.1:66
10680 msgid ""
10681 "The \"Memory usage summary\" line output by B<memusage> contains three "
10682 "fields:"
10683 msgstr ""
10684 "B<memusage> が出力する \"Memory usage summary\" (メモリー使用量概要) の行には"
10685 "以下のフィールドが含まれる。"
10686
10687 #. type: TP
10688 #: build/C/man1/memusage.1:67
10689 #, no-wrap
10690 msgid "B<heap total>"
10691 msgstr "B<heap total>"
10692
10693 #. type: Plain text
10694 #: build/C/man1/memusage.1:84
10695 msgid ""
10696 "Sum of I<size> arguments of all B<malloc>(3)  calls, products of arguments "
10697 "(I<nmemb>*I<size>) of all B<calloc>(3)  calls, and sum of I<length> "
10698 "arguments of all B<mmap>(2)  calls.  In the case of B<realloc>(3)  and "
10699 "B<mremap>(2), if the new size of an allocation is larger than the previous "
10700 "size, the sum of all such differences (new size minus old size) is added."
10701 msgstr ""
10702 "B<malloc>(3) のすべての呼び出しの I<size> 引き数の合計、 B<calloc>(3) のすべ"
10703 "ての呼び出しの引き数の積 (I<nmemb>*I<size>)、 B<mmap>(2) のすべての呼び出し"
10704 "の I<length> 引き数の合計。 B<realloc>(3) と B<mremap>(2) の場合、 割り当ての"
10705 "新しいサイズが以前のサイズよりも大きい場合、 差分 (新しいサイズから古いサイズ"
10706 "を引いた値) の合計が加算される。"
10707
10708 #. type: TP
10709 #: build/C/man1/memusage.1:84
10710 #, no-wrap
10711 msgid "B<heap peak>"
10712 msgstr "B<heap peak>"
10713
10714 #. type: Plain text
10715 #: build/C/man1/memusage.1:98
10716 msgid ""
10717 "Maximum of all I<size> arguments of B<malloc>(3), all products of "
10718 "I<nmemb>*I<size> of B<calloc>(3), all I<size> arguments of B<realloc>(3), "
10719 "I<length> arguments of B<mmap>(2), and I<new_size> arguments of B<mremap>(2)."
10720 msgstr ""
10721 "B<malloc>(3) の I<size> 引き数、 B<calloc>(3) の I<nmemb>*I<size> の積、 "
10722 "B<realloc>(3) の I<size> 引き数、 B<mmap>(2) の I<length> 引き数、 "
10723 "B<mremap>(2) の I<new_size> 引き数、 の中の最大値。"
10724
10725 #. type: TP
10726 #: build/C/man1/memusage.1:98
10727 #, no-wrap
10728 msgid "B<stack peak>"
10729 msgstr "B<stack peak>"
10730
10731 #. type: Plain text
10732 #: build/C/man1/memusage.1:105
10733 msgid ""
10734 "Before the first call to any monitored function, the stack pointer address "
10735 "(base stack pointer) is saved.  After each function call, the actual stack "
10736 "pointer address is read and the difference from the base stack pointer "
10737 "computed.  The maximum of these differences is then the stack peak."
10738 msgstr ""
10739 "監視される関数の最初の呼び出しが行われる前に、 スタックポインターアドレス "
10740 "(ベーススタックポインター) が保存される。 関数のそれぞれの呼び出し後には、 実"
10741 "際のスタックポインターアドレスを読み込み、 ベースポインターアドレスを元に差分"
10742 "を計算する。これらの差分の最大値がスタックのピーク値となる。"
10743
10744 #. type: Plain text
10745 #: build/C/man1/memusage.1:122
10746 msgid ""
10747 "Immediately following this summary line, a table shows the number calls, "
10748 "total memory allocated or deallocated, and number of failed calls for each "
10749 "intercepted function.  For B<realloc>(3)  and B<mremap>(2), the additional "
10750 "field \"nomove\" shows reallocations that changed the address of a block, "
10751 "and the additional \"dec\" field shows reallocations that decreased the size "
10752 "of the block.  For B<realloc>(3), the additional field \"free\" shows "
10753 "reallocations that caused a block to be freed (i.e., the reallocated size "
10754 "was 0)."
10755 msgstr ""
10756 "この概要行の直後には、 監視対象の各関数の呼び出し回数、 割り当て・割り当て解"
10757 "除された全メモリー量、 失敗した回数がテーブルで表示される。 B<realloc>(3) と "
10758 "B<mremap>(2) の場合には、 フィールド \"nomove\" でブロックアドレスを変更した"
10759 "再割り当て数を、 フィールド \"dec\" でブロックサイズが減少した再割り当て数が"
10760 "追加で表示される。 B<realloc>(3) の場合、 フィールド \"free\" でブロックの解"
10761 "放が行われた再割り当て (サイズが 0 の再割り当て) の数も追加で表示される。"
10762
10763 #. type: Plain text
10764 #: build/C/man1/memusage.1:131
10765 msgid ""
10766 "The \"realloc/total memory\" of the table output by B<memusage> does not "
10767 "reflect cases where B<realloc>(3)  is used to reallocate a block of memory "
10768 "to have a smaller size than previously.  This can cause sum of all \"total "
10769 "memory\" cells (excluding \"free\")  to be larger than the \"free/total "
10770 "memory\" cell."
10771 msgstr ""
10772 "B<memusage> が出力するテーブルの \"realloc/total memory\" (再割り当てメモ"
10773 "リー/全メモリー) には、 B<realloc>(3) を使ってメモリーブロックをその前よりも"
10774 "小さいサイズに再割り当てされた場合は含まれない。 このため、 (\"free\" 以外"
10775 "の) すべての「総メモリー」のセルは \"free/total memory\" セルよりも大きくなる"
10776 "ことがある。"
10777
10778 #. type: SS
10779 #: build/C/man1/memusage.1:131
10780 #, no-wrap
10781 msgid "Histogram for block sizes"
10782 msgstr "ブロックサイズのヒストグラム"
10783
10784 #. type: Plain text
10785 #: build/C/man1/memusage.1:134
10786 msgid ""
10787 "The \"Histogram for block sizes\" provides a breakdown of memory allocations "
10788 "into various bucket sizes."
10789 msgstr ""
10790 "\"Histogram for block sizes\" (ブロックサイズのヒストグラム) は、 メモリー割"
10791 "り当てをバケットサイズ単位に分割した情報である。"
10792
10793 #. type: TP
10794 #: build/C/man1/memusage.1:135
10795 #, no-wrap
10796 msgid "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
10797 msgstr "B<-n\\ >I<name>,\\ B<--progname=>I<name>"
10798
10799 #. type: Plain text
10800 #: build/C/man1/memusage.1:138
10801 msgid "Name of the program file to profile."
10802 msgstr "プロファイル対象のプログラムファイル名。"
10803
10804 #. type: TP
10805 #: build/C/man1/memusage.1:138
10806 #, no-wrap
10807 msgid "B<-p\\ >I<file>,\\ B<--png=>I<file>"
10808 msgstr "B<-p\\ >I<file>,\\ B<--png=>I<file>"
10809
10810 #. type: Plain text
10811 #: build/C/man1/memusage.1:142
10812 msgid "Generate PNG graphic and store it in I<file>."
10813 msgstr "PNG 画像を生成し、 I<file> に格納する。"
10814
10815 #. type: TP
10816 #: build/C/man1/memusage.1:142
10817 #, no-wrap
10818 msgid "B<-d\\ >I<file>,\\ B<--data=>I<file>"
10819 msgstr "B<-d\\ >I<file>,\\ B<--data=>I<file>"
10820
10821 #. type: Plain text
10822 #: build/C/man1/memusage.1:146
10823 msgid "Generate binary data file and store it in I<file>."
10824 msgstr "バイナリーデータファイルを生成し、 I<file> に格納する。"
10825
10826 #. type: TP
10827 #: build/C/man1/memusage.1:146
10828 #, no-wrap
10829 msgid "B<-u>,\\ B<--unbuffered>"
10830 msgstr "B<-u>,\\ B<--unbuffered>"
10831
10832 #. type: Plain text
10833 #: build/C/man1/memusage.1:149
10834 msgid "Do not buffer output."
10835 msgstr "出力バッファーリングを行わない。"
10836
10837 #. type: TP
10838 #: build/C/man1/memusage.1:149
10839 #, no-wrap
10840 msgid "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
10841 msgstr "B<-b\\ >I<size>,\\ B<--buffer=>I<size>"
10842
10843 #. type: Plain text
10844 #: build/C/man1/memusage.1:154
10845 msgid "Collect I<size> entries before writing them out."
10846 msgstr "出力する前に I<size> 個のエントリーの収集を行う。"
10847
10848 #. type: TP
10849 #: build/C/man1/memusage.1:154
10850 #, no-wrap
10851 msgid "B<--no-timer>"
10852 msgstr "B<--no-timer>"
10853
10854 #. type: Plain text
10855 #: build/C/man1/memusage.1:159
10856 msgid "Disable timer-based (B<SIGPROF>)  sampling of stack pointer value."
10857 msgstr ""
10858 "スタックポインター値の時間ベースのサンプリング (B<SIGPROF>) を無効にする。"
10859
10860 #. type: TP
10861 #: build/C/man1/memusage.1:159
10862 #, no-wrap
10863 msgid "B<-m>,\\ B<--mmap>"
10864 msgstr "B<-m>,\\ B<--mmap>"
10865
10866 #. type: Plain text
10867 #: build/C/man1/memusage.1:166
10868 #, fuzzy
10869 #| msgid "Also trace B<mmap>(2), B<mremap>(2), and B<mmap>(2)."
10870 msgid "Also trace B<mmap>(2), B<mremap>(2), and B<munmap>(2)."
10871 msgstr "B<mmap>(2), B<mremap>(2), B<mmap>(2) も追跡対象とする。"
10872
10873 #. type: TP
10874 #: build/C/man1/memusage.1:166 build/C/man1/memusagestat.1:72
10875 #, no-wrap
10876 msgid "B<-?>,\\ B<--help>"
10877 msgstr "B<-?>,\\ B<--help>"
10878
10879 #. type: Plain text
10880 #: build/C/man1/memusage.1:169 build/C/man1/mtrace.1:55
10881 msgid "Print help and exit."
10882 msgstr "ヘルプを表示し、終了する。"
10883
10884 #. type: TP
10885 #: build/C/man1/memusage.1:169 build/C/man1/memusagestat.1:75
10886 #: build/C/man1/pldd.1:44 build/C/man1/sprof.1:69
10887 #, no-wrap
10888 msgid "B<--usage>"
10889 msgstr "B<--usage>"
10890
10891 #. type: Plain text
10892 #: build/C/man1/memusage.1:172 build/C/man1/memusagestat.1:78
10893 msgid "Print a short usage message and exit."
10894 msgstr "簡潔な使用方法を表示して終了する。"
10895
10896 #. type: TP
10897 #: build/C/man1/memusage.1:172 build/C/man1/memusagestat.1:78
10898 #, no-wrap
10899 msgid "B<-V>,\\ B<--version>"
10900 msgstr "B<-V>,\\ B<--version>"
10901
10902 #. type: Plain text
10903 #: build/C/man1/memusage.1:175 build/C/man1/memusagestat.1:81
10904 #: build/C/man1/mtrace.1:58
10905 msgid "Print version information and exit."
10906 msgstr "バージョン情報を表示して終了する。"
10907
10908 #. type: TP
10909 #: build/C/man1/memusage.1:175
10910 #, no-wrap
10911 msgid "The following options apply only when generating graphical output:"
10912 msgstr "以下のオプションは画像出力を行う場合にのみ適用される。"
10913
10914 #. type: TP
10915 #: build/C/man1/memusage.1:177
10916 #, no-wrap
10917 msgid "B<-t>,\\ B<--time-based>"
10918 msgstr "B<-t>,\\ B<--time-based>"
10919
10920 #. type: Plain text
10921 #: build/C/man1/memusage.1:180 build/C/man1/memusagestat.1:59
10922 msgid ""
10923 "Use time (rather than number of function calls) as the scale for the X axis."
10924 msgstr "X 軸の目盛として (関数呼び出し数ではなく) 時間を使用する。"
10925
10926 #. type: TP
10927 #: build/C/man1/memusage.1:180 build/C/man1/memusagestat.1:59
10928 #, no-wrap
10929 msgid "B<-T>,\\ B<--total>"
10930 msgstr "B<-T>,\\ B<--total>"
10931
10932 #. type: Plain text
10933 #: build/C/man1/memusage.1:183
10934 msgid "Also draw a graph of total memory use."
10935 msgstr "メモリーの全使用量のグラフも生成する。"
10936
10937 #. type: TP
10938 #: build/C/man1/memusage.1:183
10939 #, no-wrap
10940 msgid "B<--title=>I<name>"
10941 msgstr "B<--title=>I<name>"
10942
10943 #. type: Plain text
10944 #: build/C/man1/memusage.1:188
10945 msgid "Use I<name> as the title of the graph."
10946 msgstr "グラフのタイトルとして I<name> を使用する。"
10947
10948 #. type: TP
10949 #: build/C/man1/memusage.1:188 build/C/man1/memusagestat.1:62
10950 #, no-wrap
10951 msgid "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
10952 msgstr "B<-x\\ >I<size>,\\ B<--x-size=>I<size>"
10953
10954 #. type: Plain text
10955 #: build/C/man1/memusage.1:193
10956 msgid "Make the graph I<size> pixels wide."
10957 msgstr "グラフの幅を I<size> ピクセルにする。"
10958
10959 #. type: TP
10960 #: build/C/man1/memusage.1:193 build/C/man1/memusagestat.1:67
10961 #, no-wrap
10962 msgid "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
10963 msgstr "B<-y\\ >I<size>,\\ B<--y-size=>I<size>"
10964
10965 #. type: Plain text
10966 #: build/C/man1/memusage.1:198
10967 msgid "Make the graph I<size> pixels high."
10968 msgstr "グラフの高さを I<size> ピクセルにする。"
10969
10970 #. type: SH
10971 #: build/C/man1/memusage.1:198 build/C/man1/pldd.1:50
10972 #, no-wrap
10973 msgid "EXIT STATUS"
10974 msgstr "終了ステータス"
10975
10976 #. type: Plain text
10977 #: build/C/man1/memusage.1:200
10978 msgid "Exit status is equal to the exit status of profiled program."
10979 msgstr ""
10980 "終了ステータスはプロファイルしたプログラムの終了ステータスと同じになる。"
10981
10982 #. type: Plain text
10983 #: build/C/man1/memusage.1:204 build/C/man1/memusagestat.1:85
10984 msgid ""
10985 "To report bugs, see E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE>"
10986 msgstr ""
10987 "バグ報告については E<.UR http://www.gnu.org/software/libc/bugs.html> E<.UE> "
10988 "を参照のこと。"
10989
10990 #. type: Plain text
10991 #: build/C/man1/memusage.1:211
10992 msgid ""
10993 "Below is a simple program that reallocates a block of memory in cycles that "
10994 "rise to a peak before then cyclically reallocating the memory in smaller "
10995 "blocks that return to zero.  After compiling the program and running the "
10996 "following commands, a graph of the memory usage of the program can be found "
10997 "in the file I<memusage.png>:"
10998 msgstr ""
10999 "以下の簡単なプログラムは、 ピークに達するまで繰り返しメモリーブロックの再割り"
11000 "当てを行い、 その後ブロックサイズが 0 になるまで繰り返し順に小さなブロックに"
11001 "再割り当てを行う。 このプログラムをコンパイルして以下のコマンドを実行する"
11002 "と、 このプログラムのメモリー使用量がファイル I<memusage.png> に出力される。"
11003
11004 #. type: Plain text
11005 #: build/C/man1/memusage.1:235
11006 #, no-wrap
11007 msgid ""
11008 "$ B<memusage --data=memusage.dat ./a.out>\n"
11009 "\\&...\n"
11010 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
11011 "        total calls  total memory  failed calls\n"
11012 " malloc|         1           400             0\n"
11013 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
11014 " calloc|         0             0             0\n"
11015 "   free|         1           440\n"
11016 "Histogram for block sizes:\n"
11017 "  192-207             1   2% ================\n"
11018 "\\&...\n"
11019 " 2192-2207            1   2% ================\n"
11020 " 2240-2255            2   4% =================================\n"
11021 " 2832-2847            2   4% =================================\n"
11022 " 3440-3455            2   4% =================================\n"
11023 " 4032-4047            2   4% =================================\n"
11024 " 4640-4655            2   4% =================================\n"
11025 " 5232-5247            2   4% =================================\n"
11026 " 5840-5855            2   4% =================================\n"
11027 " 6432-6447            1   2% ================\n"
11028 "$ B<memusagestat memusage.dat memusage.png>\n"
11029 msgstr ""
11030 "$ B<memusage --data=memusage.dat ./a.out>\n"
11031 "\\&...\n"
11032 "Memory usage summary: heap total: 45200, heap peak: 6440, stack peak: 224\n"
11033 "        total calls  total memory  failed calls\n"
11034 " malloc|         1           400             0\n"
11035 "realloc|        40         44800             0  (nomove:40, dec:19, free:0)\n"
11036 " calloc|         0             0             0\n"
11037 "   free|         1           440\n"
11038 "Histogram for block sizes:\n"
11039 "  192-207             1   2% ================\n"
11040 "\\&...\n"
11041 " 2192-2207            1   2% ================\n"
11042 " 2240-2255            2   4% =================================\n"
11043 " 2832-2847            2   4% =================================\n"
11044 " 3440-3455            2   4% =================================\n"
11045 " 4032-4047            2   4% =================================\n"
11046 " 4640-4655            2   4% =================================\n"
11047 " 5232-5247            2   4% =================================\n"
11048 " 5840-5855            2   4% =================================\n"
11049 " 6432-6447            1   2% ================\n"
11050 "$ B<memusagestat memusage.dat memusage.png>\n"
11051
11052 #. type: Plain text
11053 #: build/C/man1/memusage.1:243
11054 #, no-wrap
11055 msgid "#define CYCLES 20\n"
11056 msgstr "#define CYCLES 20\n"
11057
11058 #. type: Plain text
11059 #: build/C/man1/memusage.1:250
11060 #, fuzzy, no-wrap
11061 #| msgid ""
11062 #| "int\n"
11063 #| "main(int argc, char *argv[])\n"
11064 #| "{\n"
11065 #| "     int i, j;\n"
11066 #| "     int *p;\n"
11067 msgid ""
11068 "int\n"
11069 "main(int argc, char *argv[])\n"
11070 "{\n"
11071 "    int i, j;\n"
11072 "    size_t size;\n"
11073 "    int *p;\n"
11074 msgstr ""
11075 "int\n"
11076 "main(int argc, char *argv[])\n"
11077 "{\n"
11078 "     int i, j;\n"
11079 "     int *p;\n"
11080
11081 #. type: Plain text
11082 #: build/C/man1/memusage.1:254
11083 #, fuzzy, no-wrap
11084 #| msgid ""
11085 #| "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
11086 #| "     p = malloc(sizeof(int) * 100);\n"
11087 msgid ""
11088 "    size = sizeof(*p) * 100;\n"
11089 "    printf(\"malloc: %zu\\en\", size);\n"
11090 "    p = malloc(size);\n"
11091 msgstr ""
11092 "     printf(\"malloc: %zd\\en\", sizeof(int) * 100);\n"
11093 "     p = malloc(sizeof(int) * 100);\n"
11094
11095 #. type: Plain text
11096 #: build/C/man1/memusage.1:260
11097 #, fuzzy, no-wrap
11098 #| msgid ""
11099 #| "     for (i = 0; i E<lt> CYCLES; i++) {\n"
11100 #| "         if (i E<lt> CYCLES / 2)\n"
11101 #| "             j = i;\n"
11102 #| "         else\n"
11103 #| "             j--;\n"
11104 msgid ""
11105 "    for (i = 0; i E<lt> CYCLES; i++) {\n"
11106 "        if (i E<lt> CYCLES / 2)\n"
11107 "            j = i;\n"
11108 "        else\n"
11109 "            j--;\n"
11110 msgstr ""
11111 "     for (i = 0; i E<lt> CYCLES; i++) {\n"
11112 "         if (i E<lt> CYCLES / 2)\n"
11113 "             j = i;\n"
11114 "         else\n"
11115 "             j--;\n"
11116
11117 #. type: Plain text
11118 #: build/C/man1/memusage.1:264
11119 #, fuzzy, no-wrap
11120 #| msgid ""
11121 #| "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
11122 #| "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
11123 msgid ""
11124 "        size = sizeof(*p) * (j * 50 + 110);\n"
11125 "        printf(\"realloc: %zu\\en\", size);\n"
11126 "        p = realloc(p, size);\n"
11127 msgstr ""
11128 "         printf(\"realloc: %zd\\en\", sizeof(int) * (j * 50 + 110));\n"
11129 "         p = realloc(p, sizeof(int) * (j * 50 + 100));\n"
11130
11131 #. type: Plain text
11132 #: build/C/man1/memusage.1:269
11133 #, fuzzy, no-wrap
11134 #| msgid ""
11135 #| "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
11136 #| "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
11137 #| "     }\n"
11138 msgid ""
11139 "        size = sizeof(*p) * ((j + 1) * 150 + 110);\n"
11140 "        printf(\"realloc: %zu\\en\", size);\n"
11141 "        p = realloc(p, size);\n"
11142 "    }\n"
11143 msgstr ""
11144 "         printf(\"realloc: %zd\\en\", sizeof(int) * ((j+1) * 150 + 110));\n"
11145 "         p = realloc(p, sizeof(int) * ((j + 1) * 150 + 110));\n"
11146 "     }\n"
11147
11148 #. type: Plain text
11149 #: build/C/man1/memusage.1:273
11150 #, fuzzy, no-wrap
11151 #| msgid ""
11152 #| "     free(p);\n"
11153 #| "     exit(EXIT_SUCCESS);\n"
11154 #| "}\n"
11155 msgid ""
11156 "    free(p);\n"
11157 "    exit(EXIT_SUCCESS);\n"
11158 "}\n"
11159 msgstr ""
11160 "     free(p);\n"
11161 "     exit(EXIT_SUCCESS);\n"
11162 "}\n"
11163
11164 #. type: Plain text
11165 #: build/C/man1/memusage.1:278
11166 #, fuzzy
11167 #| msgid "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
11168 msgid "B<memusagestat>(1), B<mtrace>(1), B<ld.so>(8)"
11169 msgstr "B<memusagestat>(1), B<mtrace>(1)  B<ld.so>(8)"
11170
11171 #. type: TH
11172 #: build/C/man1/memusagestat.1:23
11173 #, no-wrap
11174 msgid "MEMUSAGESTAT"
11175 msgstr "MEMUSAGESTAT"
11176
11177 #. type: TH
11178 #: build/C/man1/memusagestat.1:23
11179 #, no-wrap
11180 msgid "Linux programmer's manual"
11181 msgstr "Linux programmer's manual"
11182
11183 #. type: Plain text
11184 #: build/C/man1/memusagestat.1:26
11185 msgid "memusagestat - generate graphic from memory profiling data"
11186 msgstr "memusagestat - メモリーのプロファイリングデータからグラフを出力する"
11187
11188 #. type: Plain text
11189 #: build/C/man1/memusagestat.1:28
11190 msgid "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
11191 msgstr "B<memusagestat> [I<option>]... I<datafile> [I<outfile>]"
11192
11193 #. type: Plain text
11194 #: build/C/man1/memusagestat.1:39
11195 msgid ""
11196 "B<memusagestat> creates a PNG file containing a graphical representation of "
11197 "the memory profiling data in the file I<datafile>; that file is generated "
11198 "via the I<-d> (or I<--data>)  option of B<memusage>(1)."
11199 msgstr ""
11200 "B<memusagestat> は、 ファイル I<datafile> に格納されたメモリーのプロファイリ"
11201 "ングデータをグラフとして表現した PNG ファイルを作成する。 I<datafile> は "
11202 "B<memusage>(1) の I<-d> (I<--data>) オプションで生成される。"
11203
11204 #. type: Plain text
11205 #: build/C/man1/memusagestat.1:47
11206 msgid ""
11207 "The red line in the graph shows the heap usage (allocated memory)  and the "
11208 "green line shows the stack usage.  The x-scale is either the number of "
11209 "memory-handling function calls or (if the I<-t> option is specified)  time."
11210 msgstr ""
11211 "グラフの赤色の線はヒープ使用量 (割り当てられたメモリー) を示し、 緑色の線はス"
11212 "タック使用量を示す。 X 軸はメモリー処理関数の呼び出し数 (I<-t> オプションが指"
11213 "定された場合は時間) である。"
11214
11215 #. type: TP
11216 #: build/C/man1/memusagestat.1:48
11217 #, no-wrap
11218 msgid "B<-o\\ >I<file>,\\ B<--output=>I<file>"
11219 msgstr "B<-o\\ >I<file>,\\ B<--output=>I<file>"
11220
11221 #. type: Plain text
11222 #: build/C/man1/memusagestat.1:51
11223 msgid "Name of the output file."
11224 msgstr "出力ファイルの名前。"
11225
11226 #. type: TP
11227 #: build/C/man1/memusagestat.1:51
11228 #, no-wrap
11229 msgid "B<-s\\ >I<string>,\\ B<--string=>I<string>"
11230 msgstr "B<-s\\ >I<string>,\\ B<--string=>I<string>"
11231
11232 #. type: Plain text
11233 #: build/C/man1/memusagestat.1:56
11234 msgid "Use I<string> as the title inside the output graph."
11235 msgstr "出力グラフに表示するタイトルとして I<string> を使用する。"
11236
11237 #. type: TP
11238 #: build/C/man1/memusagestat.1:56
11239 #, no-wrap
11240 msgid "B<-t>,\\ B<--time>"
11241 msgstr "B<-t>,\\ B<--time>"
11242
11243 #. type: Plain text
11244 #: build/C/man1/memusagestat.1:62
11245 msgid "Also draw a graph of total memory consumption."
11246 msgstr "全メモリー消費量のグラフも出力する。"
11247
11248 #. type: Plain text
11249 #: build/C/man1/memusagestat.1:67
11250 msgid "Make the output graph I<size> pixels wide."
11251 msgstr "出力グラフの幅を I<size> ピクセルにする。"
11252
11253 #. type: Plain text
11254 #: build/C/man1/memusagestat.1:72
11255 msgid "Make the output graph I<size> pixels high."
11256 msgstr "出力グラフの高さを I<size> ピクセルにする。"
11257
11258 #. type: Plain text
11259 #: build/C/man1/memusagestat.1:75
11260 msgid "Print a help message and exit."
11261 msgstr "ヘルプメッセージを表示して終了する。"
11262
11263 #. type: Plain text
11264 #: build/C/man1/memusagestat.1:88
11265 msgid "See B<memusage>(1)."
11266 msgstr "B<memusage>(1) を参照。"
11267
11268 #. type: Plain text
11269 #: build/C/man1/memusagestat.1:91
11270 msgid "B<memusage>(1), B<mtrace>(1)"
11271 msgstr "B<memusage>(1), B<mtrace>(1)"
11272
11273 #. type: TH
11274 #: build/C/man1/mtrace.1:23
11275 #, no-wrap
11276 msgid "MTRACE"
11277 msgstr "MTRACE"
11278
11279 #. type: TH
11280 #: build/C/man1/mtrace.1:23 build/C/man8/sln.8:25
11281 #, fuzzy, no-wrap
11282 #| msgid "2014-09-01"
11283 msgid "2017-09-15"
11284 msgstr "2014-09-01"
11285
11286 #. type: Plain text
11287 #: build/C/man1/mtrace.1:26
11288 msgid "mtrace - interpret the malloc trace log"
11289 msgstr "mtrace - malloc のトレースログを解釈する"
11290
11291 #. type: Plain text
11292 #: build/C/man1/mtrace.1:28
11293 msgid "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
11294 msgstr "B<mtrace> [I<option>]... [I<binary>] I<mtracedata>"
11295
11296 #. type: Plain text
11297 #: build/C/man1/mtrace.1:44
11298 msgid ""
11299 "B<mtrace> is a Perl script used to interpret and provide human readable "
11300 "output of the trace log contained in the file I<mtracedata>, whose contents "
11301 "were produced by B<mtrace>(3).  If I<binary> is provided, the output of "
11302 "B<mtrace> also contains the source file name with line number information "
11303 "for problem locations (assuming that I<binary> was compiled with debugging "
11304 "information)."
11305 msgstr ""
11306 "B<mtrace> は B<mtrace>(3) の出力内容が入ったファイル I<mtracedata> のトレース"
11307 "ログを解釈し人間が読みやすい出力に変換する Perl スクリプトである。 I<binary> "
11308 "が渡されると、 B<mtrace> の出力に問題箇所にソースファイル名と行番号も出力され"
11309 "る (I<binary> はデバッグ情報付きでコンパイルされているものとする)。"
11310
11311 #. type: Plain text
11312 #: build/C/man1/mtrace.1:51
11313 msgid ""
11314 "For more information about the B<mtrace>(3)  function and B<mtrace> script "
11315 "usage, see B<mtrace>(3)."
11316 msgstr ""
11317 "B<mtrace>(3) 関数と B<mtrace> スクリプトの使用方法の詳細は B<mtrace>(3) を参"
11318 "照。"
11319
11320 #. type: Plain text
11321 #: build/C/man1/mtrace.1:62
11322 #, fuzzy
11323 #| msgid ""
11324 #| "For bug reporting instructions, please see: E<lt>http://www.gnu.org/"
11325 #| "software/libc/bugs.htmlE<gt>."
11326 msgid ""
11327 "For bug reporting instructions, please see: E<.UR http://www.gnu.org/"
11328 "software/libc/bugs.html> E<.UE .>"
11329 msgstr ""
11330 "バグ報告の方法については E<lt>http://www.gnu.org/software/libc/bugs."
11331 "htmlE<gt> を参照。"
11332
11333 #. type: Plain text
11334 #: build/C/man1/mtrace.1:65
11335 msgid "B<memusage>(1), B<mtrace>(3)"
11336 msgstr "B<memusage>(1), B<mtrace>(3)"
11337
11338 #. type: TH
11339 #: build/C/man1/pldd.1:25
11340 #, no-wrap
11341 msgid "PLDD"
11342 msgstr "PLDD"
11343
11344 #. type: TH
11345 #: build/C/man1/pldd.1:25 build/C/man1/sprof.1:25
11346 #, no-wrap
11347 msgid "Linux User Manual"
11348 msgstr "Linux User Manual"
11349
11350 #. type: Plain text
11351 #: build/C/man1/pldd.1:28
11352 msgid "pldd - display dynamic shared objects linked into a process"
11353 msgstr "pldd - プロセスにリンクされている動的共有オブジェクトを表示する"
11354
11355 #. type: Plain text
11356 #: build/C/man1/pldd.1:32
11357 #, fuzzy, no-wrap
11358 #| msgid ""
11359 #| "B<pldd >I<PID>\n"
11360 #| "B<pldd> OPTION\n"
11361 msgid ""
11362 "B<pldd >I<pid>\n"
11363 "B<pldd>I< option>\n"
11364 msgstr ""
11365 "B<pldd >I<PID>\n"
11366 "B<pldd> OPTION\n"
11367
11368 #. type: Plain text
11369 #: build/C/man1/pldd.1:40
11370 #, fuzzy
11371 #| msgid ""
11372 #| "The B<pldd> command displays a list of the dynamic shared objects that "
11373 #| "are linked into the process with the specified process ID.  The list "
11374 #| "includes the libraries that have been dynamically loaded using "
11375 #| "B<dlopen>(3)."
11376 msgid ""
11377 "The B<pldd> command displays a list of the dynamic shared objects (DSOs) "
11378 "that are linked into the process with the specified process ID (PID).  The "
11379 "list includes the libraries that have been dynamically loaded using "
11380 "B<dlopen>(3)."
11381 msgstr ""
11382 "B<pldd> コマンドは、 指定されたプロセス ID のプロセスにリンクされている動的共"
11383 "有オブジェクトのリストを表示する。 このリストには B<dlopen>(3) を使って動的に"
11384 "ロードされたライブラリーも含まれる。"
11385
11386 #. type: TP
11387 #: build/C/man1/pldd.1:41 build/C/man1/sprof.1:66
11388 #, no-wrap
11389 msgid "B<-?>, B<--help>"
11390 msgstr "B<-?>, B<--help>"
11391
11392 #. type: Plain text
11393 #: build/C/man1/pldd.1:44
11394 #, fuzzy
11395 #| msgid "Display a short usage message and exit."
11396 msgid "Display a help message and exit."
11397 msgstr "使用方法の簡潔な概要を表示し終了する。"
11398
11399 #. type: Plain text
11400 #: build/C/man1/pldd.1:47 build/C/man1/sprof.1:72
11401 msgid "Display a short usage message and exit."
11402 msgstr "使用方法の簡潔な概要を表示し終了する。"
11403
11404 #. type: Plain text
11405 #: build/C/man1/pldd.1:50
11406 #, fuzzy
11407 #| msgid "Display the program version and exit."
11408 msgid "Display program version information and exit."
11409 msgstr "プログラムのバージョンを表示し終了する。"
11410
11411 #. type: Plain text
11412 #: build/C/man1/pldd.1:61
11413 msgid ""
11414 "On success, B<pldd> exits with the status 0.  If the specified process does "
11415 "not exist, the user does not have permission to access its dynamic shared "
11416 "object list, or no command-line arguments are supplied, B<pldd> exists with "
11417 "a status of 1.  If given an invalid option, it exits with the status 64."
11418 msgstr ""
11419 "成功すると B<pldd> はステータス 0 を返す。 指定されたプロセスが存在しない場"
11420 "合、 ユーザーが自身の動的共有オブジェクトのリストにアクセスする許可を持ってい"
11421 "ない場合、 もしくはコマンドライン引き数が指定されていない場合、 B<pldd> はス"
11422 "テータス 1 で終了する。 無効なオプションが指定された場合、 ステータス 64 で終"
11423 "了する。"
11424
11425 #. type: Plain text
11426 #: build/C/man1/pldd.1:64
11427 msgid "B<pldd> is available since glibc 2.15."
11428 msgstr "B<pldd> は glibc 2.15 以降で利用可能である。"
11429
11430 #.  There are man pages on Solaris and HP-UX.
11431 #. type: Plain text
11432 #: build/C/man1/pldd.1:71
11433 msgid ""
11434 "The B<pldd> command is not specified by POSIX.1.  Some other systems have a "
11435 "similar command."
11436 msgstr ""
11437 "B<pldd> コマンドは POSIX.1 では規定されていない。 他のいくつかのシステムにも"
11438 "同様のコマンドがある。"
11439
11440 #. type: Plain text
11441 #: build/C/man1/pldd.1:73
11442 msgid "The command"
11443 msgstr "コマンド"
11444
11445 #. type: Plain text
11446 #: build/C/man1/pldd.1:77
11447 #, fuzzy, no-wrap
11448 #| msgid "     lsof -p PID\n"
11449 msgid "lsof -p PID\n"
11450 msgstr "     lsof -p PID\n"
11451
11452 #. type: Plain text
11453 #: build/C/man1/pldd.1:82
11454 msgid ""
11455 "also shows output that includes the dynamic shared objects that are linked "
11456 "into a process."
11457 msgstr "は、 プロセスにリンクされた動的共有オブジェクトも出力する。"
11458
11459 #. type: Plain text
11460 #: build/C/man1/pldd.1:92
11461 msgid ""
11462 "The B<gdb>(1)  I<info shared> command also shows the shared libraries being "
11463 "used by a process, so that one can obtain similar output to B<pldd> using a "
11464 "command such as the following (to monitor the process with the specified "
11465 "I<pid>):"
11466 msgstr ""
11467
11468 #. type: Plain text
11469 #: build/C/man1/pldd.1:97
11470 #, no-wrap
11471 msgid ""
11472 "$ B<gdb -ex \"set confirm off\" -ex \"set height 0\" -ex \"info shared\" \\e>\n"
11473 "        B<-ex \"quit\" -p $pid | grep \\(aq\\(ha0x.*0x\\(aq>\n"
11474 msgstr ""
11475
11476 #.  glibc commit 1a4c27355e146b6d8cc6487b998462c7fdd1048f
11477 #. type: Plain text
11478 #: build/C/man1/pldd.1:106
11479 msgid ""
11480 "From glibc 2.19 to 2.29, B<pldd> was broken: it just hung when executed.  "
11481 "This problem was fixed in glibc 2.30, and the fix has been backported to "
11482 "earlier glibc versions in some distributions."
11483 msgstr ""
11484
11485 #. type: Plain text
11486 #: build/C/man1/pldd.1:118
11487 #, fuzzy, no-wrap
11488 #| msgid ""
11489 #| "$ B<echo $$>               # Display PID of shell\n"
11490 #| "1143\n"
11491 #| "$ B<pldd $$>               # Display DSOs linked into the shell\n"
11492 #| "1143:\t/usr/bin/bash\n"
11493 #| "linux-vdso.so.1\n"
11494 #| "/lib64/libtinfo.so.5\n"
11495 #| "/lib64/libdl.so.2\n"
11496 #| "/lib64/libc.so.6\n"
11497 #| "/lib64/ld-linux-x86-64.so.2\n"
11498 #| "/lib64/libnss_files.so.2\n"
11499 msgid ""
11500 "$ B<echo $$>               # Display PID of shell\n"
11501 "1143\n"
11502 "$ B<pldd $$>               # Display DSOs linked into the shell\n"
11503 "1143:   /usr/bin/bash\n"
11504 "linux-vdso.so.1\n"
11505 "/lib64/libtinfo.so.5\n"
11506 "/lib64/libdl.so.2\n"
11507 "/lib64/libc.so.6\n"
11508 "/lib64/ld-linux-x86-64.so.2\n"
11509 "/lib64/libnss_files.so.2\n"
11510 msgstr ""
11511 "$ B<echo $$>               # シェルの PID を表示する\n"
11512 "1143\n"
11513 "$ B<pldd $$>               # このシェルにリンクされている動的共有オブジェクトを表示\n"
11514 "1143:\t/usr/bin/bash\n"
11515 "linux-vdso.so.1\n"
11516 "/lib64/libtinfo.so.5\n"
11517 "/lib64/libdl.so.2\n"
11518 "/lib64/libc.so.6\n"
11519 "/lib64/ld-linux-x86-64.so.2\n"
11520 "/lib64/libnss_files.so.2\n"
11521
11522 #. type: Plain text
11523 #: build/C/man1/pldd.1:124
11524 msgid "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
11525 msgstr "B<ldd>(1), B<lsof>(1), B<dlopen>(3), B<ld.so>(8)"
11526
11527 #. type: TH
11528 #: build/C/man7/rtld-audit.7:28
11529 #, no-wrap
11530 msgid "RTLD-AUDIT"
11531 msgstr "RTLD-AUDIT"
11532
11533 #. type: Plain text
11534 #: build/C/man7/rtld-audit.7:31
11535 msgid "rtld-audit - auditing API for the dynamic linker"
11536 msgstr ""
11537
11538 #. type: Plain text
11539 #: build/C/man7/rtld-audit.7:35
11540 #, fuzzy, no-wrap
11541 #| msgid ""
11542 #| "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
11543 #| "B<#include E<lt>link.hE<gt>>\n"
11544 msgid ""
11545 "B<#define _GNU_SOURCE>             /* See feature_test_macros(7) */\n"
11546 "B<#include E<lt>link.hE<gt>>\n"
11547 msgstr ""
11548 "B<#define _GNU_SOURCE>         /* feature_test_macros(7) 参照 */\n"
11549 "B<#include E<lt>link.hE<gt>>\n"
11550
11551 #. type: Plain text
11552 #: build/C/man7/rtld-audit.7:44
11553 msgid ""
11554 "The GNU dynamic linker (run-time linker)  provides an auditing API that "
11555 "allows an application to be notified when various dynamic linking events "
11556 "occur.  This API is very similar to the auditing interface provided by the "
11557 "Solaris run-time linker.  The necessary constants and prototypes are defined "
11558 "by including I<E<lt>link.hE<gt>>."
11559 msgstr ""
11560
11561 #. type: Plain text
11562 #: build/C/man7/rtld-audit.7:51
11563 msgid ""
11564 "To use this interface, the programmer creates a shared library that "
11565 "implements a standard set of function names.  Not all of the functions need "
11566 "to be implemented: in most cases, if the programmer is not interested in a "
11567 "particular class of auditing event, then no implementation needs to be "
11568 "provided for the corresponding auditing function."
11569 msgstr ""
11570
11571 #. type: Plain text
11572 #: build/C/man7/rtld-audit.7:59
11573 msgid ""
11574 "To employ the auditing interface, the environment variable B<LD_AUDIT> must "
11575 "be defined to contain a colon-separated list of shared libraries, each of "
11576 "which can implement (parts of) the auditing API.  When an auditable event "
11577 "occurs, the corresponding function is invoked in each library, in the order "
11578 "that the libraries are listed."
11579 msgstr ""
11580
11581 #. type: SS
11582 #: build/C/man7/rtld-audit.7:59
11583 #, no-wrap
11584 msgid "la_version()"
11585 msgstr "la_version()"
11586
11587 #. type: Plain text
11588 #: build/C/man7/rtld-audit.7:63
11589 #, no-wrap
11590 msgid "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
11591 msgstr "B<unsigned int la_version(unsigned int >I<version>B<);>\n"
11592
11593 #. type: Plain text
11594 #: build/C/man7/rtld-audit.7:73
11595 msgid ""
11596 "This is the only function that I<must> be defined by an auditing library: it "
11597 "performs the initial handshake between the dynamic linker and the auditing "
11598 "library.  When invoking this function, the dynamic linker passes, in "
11599 "I<version>, the highest version of the auditing interface that the linker "
11600 "supports."
11601 msgstr ""
11602
11603 #. type: Plain text
11604 #: build/C/man7/rtld-audit.7:84
11605 msgid ""
11606 "A typical implementation of this function simply returns the constant "
11607 "B<LAV_CURRENT>, which indicates the version of I<E<lt>link.hE<gt>> that was "
11608 "used to build the audit module.  If the dynamic linker does not support this "
11609 "version of the audit interface, it will refuse to activate this audit "
11610 "module.  If the function returns zero, the dynamic linker also does not "
11611 "activate this audit module."
11612 msgstr ""
11613
11614 #. type: Plain text
11615 #: build/C/man7/rtld-audit.7:100
11616 msgid ""
11617 "In order to enable backwards compatibility with older dynamic linkers, an "
11618 "audit module can examine the I<version> argument and return an earlier "
11619 "version than B<LAV_CURRENT>, assuming the module can adjust its "
11620 "implementation to match the requirements of the previous version of the "
11621 "audit interface.  The B<la_version> function should not return the value of "
11622 "I<version> without further checks because it could correspond to an "
11623 "interface that does not match the I<E<lt>link.hE<gt>> definitions used to "
11624 "build the audit module."
11625 msgstr ""
11626
11627 #. type: SS
11628 #: build/C/man7/rtld-audit.7:100
11629 #, no-wrap
11630 msgid "la_objsearch()"
11631 msgstr "la_objsearch()"
11632
11633 #. type: Plain text
11634 #: build/C/man7/rtld-audit.7:105
11635 #, no-wrap
11636 msgid ""
11637 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
11638 "B<                   unsigned int >I<flag>B<);>\n"
11639 msgstr ""
11640 "B<char *la_objsearch(const char *>I<name>B<, uintptr_t *>I<cookie>B<,>\n"
11641 "B<                   unsigned int >I<flag>B<);>\n"
11642
11643 #. type: Plain text
11644 #: build/C/man7/rtld-audit.7:116
11645 msgid ""
11646 "The dynamic linker invokes this function to inform the auditing library that "
11647 "it is about to search for a shared object.  The I<name> argument is the "
11648 "filename or pathname that is to be searched for.  I<cookie> identifies the "
11649 "shared object that initiated the search.  I<flag> is set to one of the "
11650 "following values:"
11651 msgstr ""
11652
11653 #. type: TP
11654 #: build/C/man7/rtld-audit.7:116
11655 #, no-wrap
11656 msgid "B<LA_SER_ORIG>"
11657 msgstr "B<LA_SER_ORIG>"
11658
11659 #. type: Plain text
11660 #: build/C/man7/rtld-audit.7:125
11661 msgid ""
11662 "This is the original name that is being searched for.  Typically, this name "
11663 "comes from an ELF B<DT_NEEDED> entry, or is the I<filename> argument given "
11664 "to B<dlopen>(3)."
11665 msgstr ""
11666
11667 #. type: TP
11668 #: build/C/man7/rtld-audit.7:125
11669 #, no-wrap
11670 msgid "B<LA_SER_LIBPATH>"
11671 msgstr "B<LA_SER_LIBPATH>"
11672
11673 #. type: Plain text
11674 #: build/C/man7/rtld-audit.7:130
11675 msgid "I<name> was created using a directory specified in B<LD_LIBRARY_PATH>."
11676 msgstr ""
11677
11678 #. type: TP
11679 #: build/C/man7/rtld-audit.7:130
11680 #, no-wrap
11681 msgid "B<LA_SER_RUNPATH>"
11682 msgstr "B<LA_SER_RUNPATH>"
11683
11684 #. type: Plain text
11685 #: build/C/man7/rtld-audit.7:138
11686 msgid ""
11687 "I<name> was created using a directory specified in an ELF B<DT_RPATH> or "
11688 "B<DT_RUNPATH> list."
11689 msgstr ""
11690
11691 #. type: TP
11692 #: build/C/man7/rtld-audit.7:138
11693 #, no-wrap
11694 msgid "B<LA_SER_CONFIG>"
11695 msgstr "B<LA_SER_CONFIG>"
11696
11697 #. type: Plain text
11698 #: build/C/man7/rtld-audit.7:145
11699 msgid "I<name> was found via the B<ldconfig>(8)  cache (I</etc/ld.so.cache>)."
11700 msgstr ""
11701
11702 #. type: TP
11703 #: build/C/man7/rtld-audit.7:145
11704 #, no-wrap
11705 msgid "B<LA_SER_DEFAULT>"
11706 msgstr "B<LA_SER_DEFAULT>"
11707
11708 #. type: Plain text
11709 #: build/C/man7/rtld-audit.7:149
11710 msgid "I<name> was found via a search of one of the default directories."
11711 msgstr ""
11712
11713 #. type: TP
11714 #: build/C/man7/rtld-audit.7:149
11715 #, no-wrap
11716 msgid "B<LA_SER_SECURE>"
11717 msgstr "B<LA_SER_SECURE>"
11718
11719 #. type: Plain text
11720 #: build/C/man7/rtld-audit.7:153
11721 msgid "I<name> is specific to a secure object (unused on Linux)."
11722 msgstr ""
11723
11724 #. type: Plain text
11725 #: build/C/man7/rtld-audit.7:162
11726 msgid ""
11727 "As its function result, B<la_objsearch>()  returns the pathname that the "
11728 "dynamic linker should use for further processing.  If NULL is returned, then "
11729 "this pathname is ignored for further processing.  If this audit library "
11730 "simply intends to monitor search paths, then I<name> should be returned."
11731 msgstr ""
11732
11733 #. type: SS
11734 #: build/C/man7/rtld-audit.7:162
11735 #, no-wrap
11736 msgid "la_activity()"
11737 msgstr "la_activity()"
11738
11739 #. type: Plain text
11740 #: build/C/man7/rtld-audit.7:166
11741 #, no-wrap
11742 msgid "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
11743 msgstr "B<void la_activity( uintptr_t *>I<cookie>B<, unsigned int >I<flag>B<);>\n"
11744
11745 #. type: Plain text
11746 #: build/C/man7/rtld-audit.7:175
11747 msgid ""
11748 "The dynamic linker calls this function to inform the auditing library that "
11749 "link-map activity is occurring.  I<cookie> identifies the object at the head "
11750 "of the link map.  When the dynamic linker invokes this function, I<flag> is "
11751 "set to one of the following values:"
11752 msgstr ""
11753
11754 #. type: TP
11755 #: build/C/man7/rtld-audit.7:175
11756 #, no-wrap
11757 msgid "B<LA_ACT_ADD>"
11758 msgstr "B<LA_ACT_ADD>"
11759
11760 #. type: Plain text
11761 #: build/C/man7/rtld-audit.7:178
11762 msgid "New objects are being added to the link map."
11763 msgstr ""
11764
11765 #. type: TP
11766 #: build/C/man7/rtld-audit.7:178
11767 #, no-wrap
11768 msgid "B<LA_ACT_DELETE>"
11769 msgstr "B<LA_ACT_DELETE>"
11770
11771 #. type: Plain text
11772 #: build/C/man7/rtld-audit.7:181
11773 msgid "Objects are being removed from the link map."
11774 msgstr ""
11775
11776 #. type: TP
11777 #: build/C/man7/rtld-audit.7:181
11778 #, no-wrap
11779 msgid "B<LA_ACT_CONSISTENT>"
11780 msgstr "B<LA_ACT_CONSISTENT>"
11781
11782 #. type: Plain text
11783 #: build/C/man7/rtld-audit.7:184
11784 msgid "Link-map activity has been completed: the map is once again consistent."
11785 msgstr ""
11786
11787 #. type: SS
11788 #: build/C/man7/rtld-audit.7:184
11789 #, no-wrap
11790 msgid "la_objopen()"
11791 msgstr "la_objopen()"
11792
11793 #. type: Plain text
11794 #: build/C/man7/rtld-audit.7:189
11795 #, no-wrap
11796 msgid ""
11797 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
11798 "B<                        uintptr_t *>I<cookie>B<);>\n"
11799 msgstr ""
11800 "B<unsigned int la_objopen(struct link_map *>I<map>B<, Lmid_t >I<lmid>B<,>\n"
11801 "B<                        uintptr_t *>I<cookie>B<);>\n"
11802
11803 #. type: Plain text
11804 #: build/C/man7/rtld-audit.7:198
11805 msgid ""
11806 "The dynamic linker calls this function when a new shared object is loaded.  "
11807 "The I<map> argument is a pointer to a link-map structure that describes the "
11808 "object.  The I<lmid> field has one of the following values"
11809 msgstr ""
11810
11811 #. type: Plain text
11812 #: build/C/man7/rtld-audit.7:201
11813 msgid "Link map is part of the initial namespace."
11814 msgstr ""
11815
11816 #. type: Plain text
11817 #: build/C/man7/rtld-audit.7:205
11818 msgid "Link map is part of a new namespace requested via B<dlmopen>(3)."
11819 msgstr ""
11820
11821 #. type: Plain text
11822 #: build/C/man7/rtld-audit.7:213
11823 msgid ""
11824 "I<cookie> is a pointer to an identifier for this object.  The identifier is "
11825 "provided to later calls to functions in the auditing library in order to "
11826 "identify this object.  This identifier is initialized to point to object's "
11827 "link map, but the audit library can change the identifier to some other "
11828 "value that it may prefer to use to identify the object."
11829 msgstr ""
11830
11831 #. type: Plain text
11832 #: build/C/man7/rtld-audit.7:220
11833 msgid ""
11834 "As its return value, B<la_objopen>()  returns a bit mask created by ORing "
11835 "zero or more of the following constants, which allow the auditing library to "
11836 "select the objects to be monitored by B<la_symbind*>():"
11837 msgstr ""
11838
11839 #. type: TP
11840 #: build/C/man7/rtld-audit.7:220
11841 #, no-wrap
11842 msgid "B<LA_FLG_BINDTO>"
11843 msgstr "B<LA_FLG_BINDTO>"
11844
11845 #. type: Plain text
11846 #: build/C/man7/rtld-audit.7:223
11847 msgid "Audit symbol bindings to this object."
11848 msgstr ""
11849
11850 #. type: TP
11851 #: build/C/man7/rtld-audit.7:223
11852 #, no-wrap
11853 msgid "B<LA_FLG_BINDFROM>"
11854 msgstr "B<LA_FLG_BINDFROM>"
11855
11856 #. type: Plain text
11857 #: build/C/man7/rtld-audit.7:226
11858 msgid "Audit symbol bindings from this object."
11859 msgstr ""
11860
11861 #. type: Plain text
11862 #: build/C/man7/rtld-audit.7:230
11863 msgid ""
11864 "A return value of 0 from B<la_objopen>()  indicates that no symbol bindings "
11865 "should be audited for this object."
11866 msgstr ""
11867
11868 #. type: SS
11869 #: build/C/man7/rtld-audit.7:230
11870 #, no-wrap
11871 msgid "la_objclose()"
11872 msgstr "la_objclose()"
11873
11874 #. type: Plain text
11875 #: build/C/man7/rtld-audit.7:234
11876 #, no-wrap
11877 msgid "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
11878 msgstr "B<unsigned int la_objclose(uintptr_t *>I<cookie>B<);>\n"
11879
11880 #. type: Plain text
11881 #: build/C/man7/rtld-audit.7:243
11882 msgid ""
11883 "The dynamic linker invokes this function after any finalization code for the "
11884 "object has been executed, before the object is unloaded.  The I<cookie> "
11885 "argument is the identifier obtained from a previous invocation of "
11886 "B<la_objopen>()."
11887 msgstr ""
11888
11889 #. type: Plain text
11890 #: build/C/man7/rtld-audit.7:247
11891 msgid ""
11892 "In the current implementation, the value returned by B<la_objclose>()  is "
11893 "ignored."
11894 msgstr ""
11895
11896 #. type: SS
11897 #: build/C/man7/rtld-audit.7:247
11898 #, no-wrap
11899 msgid "la_preinit()"
11900 msgstr "la_preinit()"
11901
11902 #. type: Plain text
11903 #: build/C/man7/rtld-audit.7:251
11904 #, no-wrap
11905 msgid "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
11906 msgstr "B<void la_preinit(uintptr_t *>I<cookie>B<);>\n"
11907
11908 #. type: Plain text
11909 #: build/C/man7/rtld-audit.7:261
11910 msgid ""
11911 "The dynamic linker invokes this function after all shared objects have been "
11912 "loaded, before control is passed to the application (i.e., before calling "
11913 "I<main>()).  Note that I<main>()  may still later dynamically load objects "
11914 "using B<dlopen>(3)."
11915 msgstr ""
11916
11917 #. type: SS
11918 #: build/C/man7/rtld-audit.7:261
11919 #, no-wrap
11920 msgid "la_symbind*()"
11921 msgstr "la_symbind*()"
11922
11923 #. type: Plain text
11924 #: build/C/man7/rtld-audit.7:270
11925 #, no-wrap
11926 msgid ""
11927 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
11928 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
11929 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
11930 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
11931 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
11932 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
11933 msgstr ""
11934 "B<uintptr_t la_symbind32(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
11935 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
11936 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
11937 "B<uintptr_t la_symbind64(Elf64_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
11938 "B<                       uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
11939 "B<                       unsigned int *>I<flags>B<, const char *>I<symname>B<);>\n"
11940
11941 #. type: Plain text
11942 #: build/C/man7/rtld-audit.7:282
11943 msgid ""
11944 "The dynamic linker invokes one of these functions when a symbol binding "
11945 "occurs between two shared objects that have been marked for auditing "
11946 "notification by B<la_objopen>().  The B<la_symbind32>()  function is "
11947 "employed on 32-bit platforms; the B<la_symbind64>()  function is employed on "
11948 "64-bit platforms."
11949 msgstr ""
11950
11951 #. type: Plain text
11952 #: build/C/man7/rtld-audit.7:292
11953 msgid ""
11954 "The I<sym> argument is a pointer to a structure that provides information "
11955 "about the symbol being bound.  The structure definition is shown in "
11956 "I<E<lt>elf.hE<gt>>.  Among the fields of this structure, I<st_value> "
11957 "indicates the address to which the symbol is bound."
11958 msgstr ""
11959
11960 #. type: Plain text
11961 #: build/C/man7/rtld-audit.7:297
11962 msgid ""
11963 "The I<ndx> argument gives the index of the symbol in the symbol table of the "
11964 "bound shared object."
11965 msgstr ""
11966
11967 #. type: Plain text
11968 #: build/C/man7/rtld-audit.7:312
11969 msgid ""
11970 "The I<refcook> argument identifies the shared object that is making the "
11971 "symbol reference; this is the same identifier that is provided to the "
11972 "B<la_objopen>()  function that returned B<LA_FLG_BINDFROM>.  The I<defcook> "
11973 "argument identifies the shared object that defines the referenced symbol; "
11974 "this is the same identifier that is provided to the B<la_objopen>()  "
11975 "function that returned B<LA_FLG_BINDTO>."
11976 msgstr ""
11977
11978 #. type: Plain text
11979 #: build/C/man7/rtld-audit.7:316
11980 msgid ""
11981 "The I<symname> argument points a string containing the name of the symbol."
11982 msgstr ""
11983
11984 #.  LA_SYMB_STRUCTCALL appears to be unused
11985 #. type: Plain text
11986 #: build/C/man7/rtld-audit.7:324
11987 msgid ""
11988 "The I<flags> argument is a bit mask that both provides information about the "
11989 "symbol and can be used to modify further auditing of this PLT (Procedure "
11990 "Linkage Table) entry.  The dynamic linker may supply the following bit "
11991 "values in this argument:"
11992 msgstr ""
11993
11994 #. type: TP
11995 #: build/C/man7/rtld-audit.7:324
11996 #, no-wrap
11997 msgid "B<LA_SYMB_DLSYM>"
11998 msgstr "B<LA_SYMB_DLSYM>"
11999
12000 #. type: Plain text
12001 #: build/C/man7/rtld-audit.7:328
12002 msgid "The binding resulted from a call to B<dlsym>(3)."
12003 msgstr ""
12004
12005 #. type: TP
12006 #: build/C/man7/rtld-audit.7:328
12007 #, no-wrap
12008 msgid "B<LA_SYMB_ALTVALUE>"
12009 msgstr "B<LA_SYMB_ALTVALUE>"
12010
12011 #. type: Plain text
12012 #: build/C/man7/rtld-audit.7:333
12013 msgid ""
12014 "A previous B<la_symbind*>()  call returned an alternate value for this "
12015 "symbol."
12016 msgstr ""
12017
12018 #.  pltenter/pltexit are called for non-dynamically loaded libraries,
12019 #.  but don't seem to be called for dynamically loaded libs?
12020 #.  Is this the same on Solaris?
12021 #. type: Plain text
12022 #: build/C/man7/rtld-audit.7:347
12023 msgid ""
12024 "By default, if the auditing library implements B<la_pltenter>()  and "
12025 "B<la_pltexit>()  functions (see below), then these functions are invoked, "
12026 "after B<la_symbind>(), for PLT entries, each time the symbol is referenced.  "
12027 "The following flags can be ORed into I<*flags> to change this default "
12028 "behavior:"
12029 msgstr ""
12030
12031 #. type: TP
12032 #: build/C/man7/rtld-audit.7:347
12033 #, no-wrap
12034 msgid "B<LA_SYMB_NOPLTENTER>"
12035 msgstr "B<LA_SYMB_NOPLTENTER>"
12036
12037 #. type: Plain text
12038 #: build/C/man7/rtld-audit.7:352
12039 msgid "Don't call B<la_pltenter>()  for this symbol."
12040 msgstr ""
12041
12042 #. type: TP
12043 #: build/C/man7/rtld-audit.7:352
12044 #, no-wrap
12045 msgid "B<LA_SYMB_NOPLTEXIT>"
12046 msgstr "B<LA_SYMB_NOPLTEXIT>"
12047
12048 #. type: Plain text
12049 #: build/C/man7/rtld-audit.7:357
12050 msgid "Don't call B<la_pltexit>()  for this symbol."
12051 msgstr ""
12052
12053 #. type: Plain text
12054 #: build/C/man7/rtld-audit.7:368
12055 msgid ""
12056 "The return value of B<la_symbind32>()  and B<la_symbind64>()  is the address "
12057 "to which control should be passed after the function returns.  If the "
12058 "auditing library is simply monitoring symbol bindings, then it should return "
12059 "I<sym-E<gt>st_value>.  A different value may be returned if the library "
12060 "wishes to direct control to an alternate location."
12061 msgstr ""
12062
12063 #. type: SS
12064 #: build/C/man7/rtld-audit.7:368
12065 #, no-wrap
12066 msgid "la_pltenter()"
12067 msgstr "la_pltenter()"
12068
12069 #. type: Plain text
12070 #: build/C/man7/rtld-audit.7:374 build/C/man7/rtld-audit.7:434
12071 msgid ""
12072 "The precise name and argument types for this function depend on the hardware "
12073 "platform.  (The appropriate definition is supplied by I<E<lt>link.hE<gt>>.)  "
12074 "Here is the definition for x86-32:"
12075 msgstr ""
12076
12077 #. type: Plain text
12078 #: build/C/man7/rtld-audit.7:380
12079 #, fuzzy, no-wrap
12080 #| msgid ""
12081 #| "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
12082 #| "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
12083 #| "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
12084 #| "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
12085 msgid ""
12086 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
12087 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
12088 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
12089 "B<                 const char *>I<symname>B<, long *>I<framesizep>B<);>\n"
12090 msgstr ""
12091 "B<Elf32_Addr la_i86_gnu_pltenter(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
12092 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
12093 "B<                 La_i86_regs *>I<regs>B<, unsigned int *>I<flags>B<,>\n"
12094 "B<                 const char *>I<symname>B<, long int *>I<framesizep>B<);>\n"
12095
12096 #. type: Plain text
12097 #: build/C/man7/rtld-audit.7:384
12098 msgid ""
12099 "This function is invoked just before a PLT entry is called, between two "
12100 "shared objects that have been marked for binding notification."
12101 msgstr ""
12102
12103 #. type: Plain text
12104 #: build/C/man7/rtld-audit.7:394 build/C/man7/rtld-audit.7:457
12105 msgid ""
12106 "The I<sym>, I<ndx>, I<refcook>, I<defcook>, and I<symname> are as for "
12107 "B<la_symbind*>()."
12108 msgstr ""
12109
12110 #. type: Plain text
12111 #: build/C/man7/rtld-audit.7:401
12112 msgid ""
12113 "The I<regs> argument points to a structure (defined in I<E<lt>link.hE<gt>>)  "
12114 "containing the values of registers to be used for the call to this PLT entry."
12115 msgstr ""
12116
12117 #. type: Plain text
12118 #: build/C/man7/rtld-audit.7:407
12119 msgid ""
12120 "The I<flags> argument points to a bit mask that conveys information about, "
12121 "and can be used to modify subsequent auditing of, this PLT entry, as for "
12122 "B<la_symbind*>()."
12123 msgstr ""
12124
12125 #.  FIXME . Is the following correct?
12126 #. type: Plain text
12127 #: build/C/man7/rtld-audit.7:423
12128 msgid ""
12129 "The I<framesizep> argument points to a I<long\\ int> buffer that can be used "
12130 "to explicitly set the frame size used for the call to this PLT entry.  If "
12131 "different B<la_pltenter>()  invocations for this symbol return different "
12132 "values, then the maximum returned value is used.  The B<la_pltexit>()  "
12133 "function is called only if this buffer is explicitly set to a suitable value."
12134 msgstr ""
12135
12136 #. type: Plain text
12137 #: build/C/man7/rtld-audit.7:428
12138 msgid "The return value of B<la_pltenter>()  is as for B<la_symbind*>()."
12139 msgstr ""
12140
12141 #. type: SS
12142 #: build/C/man7/rtld-audit.7:428
12143 #, no-wrap
12144 msgid "la_pltexit()"
12145 msgstr "la_pltexit()"
12146
12147 #. type: Plain text
12148 #: build/C/man7/rtld-audit.7:440
12149 #, no-wrap
12150 msgid ""
12151 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
12152 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
12153 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
12154 "B<                 const char *>I<symname>B<);>\n"
12155 msgstr ""
12156 "B<unsigned int la_i86_gnu_pltexit(Elf32_Sym *>I<sym>B<, unsigned int >I<ndx>B<,>\n"
12157 "B<                 uintptr_t *>I<refcook>B<, uintptr_t *>I<defcook>B<,>\n"
12158 "B<                 const La_i86_regs *>I<inregs>B<, La_i86_retval *>I<outregs>B<,>\n"
12159 "B<                 const char *>I<symname>B<);>\n"
12160
12161 #. type: Plain text
12162 #: build/C/man7/rtld-audit.7:447
12163 msgid ""
12164 "This function is called when a PLT entry, made between two shared objects "
12165 "that have been marked for binding notification, returns.  The function is "
12166 "called just before control returns to the caller of the PLT entry."
12167 msgstr ""
12168
12169 #. type: Plain text
12170 #: build/C/man7/rtld-audit.7:470
12171 msgid ""
12172 "The I<inregs> argument points to a structure (defined in I<E<lt>link."
12173 "hE<gt>>)  containing the values of registers used for the call to this PLT "
12174 "entry.  The I<outregs> argument points to a structure (defined in "
12175 "I<E<lt>link.hE<gt>>)  containing return values for the call to this PLT "
12176 "entry.  These values can be modified by the caller, and the changes will be "
12177 "visible to the caller of the PLT entry."
12178 msgstr ""
12179
12180 #.  This differs from Solaris, where an audit library that monitors
12181 #.  symbol binding should return the value of the 'retval' argument
12182 #.  (not provided by GNU, but equivalent to returning outregs->lrv_eax
12183 #.  on (say) x86-32).
12184 #. type: Plain text
12185 #: build/C/man7/rtld-audit.7:478
12186 msgid ""
12187 "In the current GNU implementation, the return value of B<la_pltexit>()  is "
12188 "ignored."
12189 msgstr ""
12190
12191 #. type: Plain text
12192 #: build/C/man7/rtld-audit.7:484
12193 msgid ""
12194 "This API is nonstandard, but very similar to the Solaris API, described in "
12195 "the Solaris I<Linker and Libraries Guide>, in the chapter I<Runtime Linker "
12196 "Auditing Interface>."
12197 msgstr ""
12198
12199 #. type: Plain text
12200 #: build/C/man7/rtld-audit.7:487
12201 msgid ""
12202 "Note the following differences from the Solaris dynamic linker auditing API:"
12203 msgstr ""
12204
12205 #. type: Plain text
12206 #: build/C/man7/rtld-audit.7:491
12207 msgid ""
12208 "The Solaris B<la_objfilter>()  interface is not supported by the GNU "
12209 "implementation."
12210 msgstr ""
12211
12212 #. type: Plain text
12213 #: build/C/man7/rtld-audit.7:499
12214 msgid ""
12215 "The Solaris B<la_symbind32>()  and B<la_pltexit>()  functions do not provide "
12216 "a I<symname> argument."
12217 msgstr ""
12218
12219 #. type: Plain text
12220 #: build/C/man7/rtld-audit.7:509
12221 msgid ""
12222 "The Solaris B<la_pltexit>()  function does not provide I<inregs> and "
12223 "I<outregs> arguments (but does provide a I<retval> argument with the "
12224 "function return value)."
12225 msgstr ""
12226
12227 #.  FIXME . Specifying multiple audit libraries doesn't work on GNU.
12228 #.  My simple tests on Solaris work okay, but not on Linux -- mtk, Jan 2009
12229 #.  glibc bug filed: http://sourceware.org/bugzilla/show_bug.cgi?id=9733
12230 #.  Reportedly, this is fixed on 16 Mar 2009 (i.e., for glibc 2.10)
12231 #. type: Plain text
12232 #: build/C/man7/rtld-audit.7:519
12233 msgid ""
12234 "In glibc versions up to and include 2.9, specifying more than one audit "
12235 "library in B<LD_AUDIT> results in a run-time crash.  This is reportedly "
12236 "fixed in glibc 2.10."
12237 msgstr ""
12238
12239 #. type: Plain text
12240 #: build/C/man7/rtld-audit.7:523
12241 #, no-wrap
12242 msgid ""
12243 "#include E<lt>link.hE<gt>\n"
12244 "#include E<lt>stdio.hE<gt>\n"
12245 msgstr ""
12246 "#include E<lt>link.hE<gt>\n"
12247 "#include E<lt>stdio.hE<gt>\n"
12248
12249 #. type: Plain text
12250 #: build/C/man7/rtld-audit.7:529
12251 #, fuzzy, no-wrap
12252 #| msgid ""
12253 #| "unsigned int\n"
12254 #| "la_version(unsigned int version)\n"
12255 #| "{\n"
12256 #| "    printf(\"la_version(): %d\\en\", version);\n"
12257 msgid ""
12258 "unsigned int\n"
12259 "la_version(unsigned int version)\n"
12260 "{\n"
12261 "    printf(\"la_version(): version = %u; LAV_CURRENT = %u\\en\",\n"
12262 "            version, LAV_CURRENT);\n"
12263 msgstr ""
12264 "unsigned int\n"
12265 "la_version(unsigned int version)\n"
12266 "{\n"
12267 "    printf(\"la_version(): %d\\en\", version);\n"
12268
12269 #. type: Plain text
12270 #: build/C/man7/rtld-audit.7:532
12271 #, fuzzy, no-wrap
12272 #| msgid ""
12273 #| "    return 0;\n"
12274 #| "}\n"
12275 msgid ""
12276 "    return LAV_CURRENT;\n"
12277 "}\n"
12278 msgstr ""
12279 "    return 0;\n"
12280 "}\n"
12281
12282 #. type: Plain text
12283 #: build/C/man7/rtld-audit.7:545
12284 #, fuzzy, no-wrap
12285 #| msgid ""
12286 #| "char *\n"
12287 #| "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
12288 #| "{\n"
12289 #| "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
12290 #| "    printf(\"; flag = %s\\en\",\n"
12291 #| "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
12292 #| "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
12293 #| "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
12294 #| "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
12295 #| "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
12296 #| "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
12297 #| "            \"???\");\n"
12298 msgid ""
12299 "char *\n"
12300 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
12301 "{\n"
12302 "    printf(\"la_objsearch(): name = %s; cookie = %p\", name, cookie);\n"
12303 "    printf(\"; flag = %s\\en\",\n"
12304 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
12305 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
12306 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
12307 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
12308 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
12309 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
12310 "            \"???\");\n"
12311 msgstr ""
12312 "char *\n"
12313 "la_objsearch(const char *name, uintptr_t *cookie, unsigned int flag)\n"
12314 "{\n"
12315 "    printf(\"la_objsearch(): name = %s; cookie = %x\", name, cookie);\n"
12316 "    printf(\"; flag = %s\\en\",\n"
12317 "            (flag == LA_SER_ORIG) ?    \"LA_SER_ORIG\" :\n"
12318 "            (flag == LA_SER_LIBPATH) ? \"LA_SER_LIBPATH\" :\n"
12319 "            (flag == LA_SER_RUNPATH) ? \"LA_SER_RUNPATH\" :\n"
12320 "            (flag == LA_SER_DEFAULT) ? \"LA_SER_DEFAULT\" :\n"
12321 "            (flag == LA_SER_CONFIG) ?  \"LA_SER_CONFIG\" :\n"
12322 "            (flag == LA_SER_SECURE) ?  \"LA_SER_SECURE\" :\n"
12323 "            \"???\");\n"
12324
12325 #. type: Plain text
12326 #: build/C/man7/rtld-audit.7:548
12327 #, no-wrap
12328 msgid ""
12329 "    return name;\n"
12330 "}\n"
12331 msgstr ""
12332 "    return name;\n"
12333 "}\n"
12334
12335 #. type: Plain text
12336 #: build/C/man7/rtld-audit.7:558
12337 #, fuzzy, no-wrap
12338 #| msgid ""
12339 #| "void\n"
12340 #| "la_activity (uintptr_t *cookie, unsigned int flag)\n"
12341 #| "{\n"
12342 #| "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
12343 #| "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
12344 #| "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
12345 #| "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
12346 #| "            \"???\");\n"
12347 #| "}\n"
12348 msgid ""
12349 "void\n"
12350 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
12351 "{\n"
12352 "    printf(\"la_activity(): cookie = %p; flag = %s\\en\", cookie,\n"
12353 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
12354 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
12355 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
12356 "            \"???\");\n"
12357 "}\n"
12358 msgstr ""
12359 "void\n"
12360 "la_activity (uintptr_t *cookie, unsigned int flag)\n"
12361 "{\n"
12362 "    printf(\"la_activity(): cookie = %x; flag = %s\\en\", cookie,\n"
12363 "            (flag == LA_ACT_CONSISTENT) ? \"LA_ACT_CONSISTENT\" :\n"
12364 "            (flag == LA_ACT_ADD) ?        \"LA_ACT_ADD\" :\n"
12365 "            (flag == LA_ACT_DELETE) ?     \"LA_ACT_DELETE\" :\n"
12366 "            \"???\");\n"
12367 "}\n"
12368
12369 #. type: Plain text
12370 #: build/C/man7/rtld-audit.7:568
12371 #, fuzzy, no-wrap
12372 #| msgid ""
12373 #| "unsigned int\n"
12374 #| "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
12375 #| "{\n"
12376 #| "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
12377 #| "            map-E<gt>l_name,\n"
12378 #| "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
12379 #| "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
12380 #| "            \"???\",\n"
12381 #| "            cookie);\n"
12382 msgid ""
12383 "unsigned int\n"
12384 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
12385 "{\n"
12386 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%p\\en\",\n"
12387 "            map-E<gt>l_name,\n"
12388 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
12389 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
12390 "            \"???\",\n"
12391 "            cookie);\n"
12392 msgstr ""
12393 "unsigned int\n"
12394 "la_objopen(struct link_map *map, Lmid_t lmid, uintptr_t *cookie)\n"
12395 "{\n"
12396 "    printf(\"la_objopen(): loading \\e\"%s\\e\"; lmid = %s; cookie=%x\\en\",\n"
12397 "            map-E<gt>l_name,\n"
12398 "            (lmid == LM_ID_BASE) ?  \"LM_ID_BASE\" :\n"
12399 "            (lmid == LM_ID_NEWLM) ? \"LM_ID_NEWLM\" :\n"
12400 "            \"???\",\n"
12401 "            cookie);\n"
12402
12403 #. type: Plain text
12404 #: build/C/man7/rtld-audit.7:571
12405 #, no-wrap
12406 msgid ""
12407 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
12408 "}\n"
12409 msgstr ""
12410 "    return LA_FLG_BINDTO | LA_FLG_BINDFROM;\n"
12411 "}\n"
12412
12413 #. type: Plain text
12414 #: build/C/man7/rtld-audit.7:576
12415 #, fuzzy, no-wrap
12416 #| msgid ""
12417 #| "unsigned int\n"
12418 #| "la_objclose (uintptr_t *cookie)\n"
12419 #| "{\n"
12420 #| "    printf(\"la_objclose(): %x\\en\", cookie);\n"
12421 msgid ""
12422 "unsigned int\n"
12423 "la_objclose (uintptr_t *cookie)\n"
12424 "{\n"
12425 "    printf(\"la_objclose(): %p\\en\", cookie);\n"
12426 msgstr ""
12427 "unsigned int\n"
12428 "la_objclose (uintptr_t *cookie)\n"
12429 "{\n"
12430 "    printf(\"la_objclose(): %x\\en\", cookie);\n"
12431
12432 #. type: Plain text
12433 #: build/C/man7/rtld-audit.7:585
12434 #, fuzzy, no-wrap
12435 #| msgid ""
12436 #| "void\n"
12437 #| "la_preinit(uintptr_t *cookie)\n"
12438 #| "{\n"
12439 #| "    printf(\"la_preinit(): %x\\en\", cookie);\n"
12440 #| "}\n"
12441 msgid ""
12442 "void\n"
12443 "la_preinit(uintptr_t *cookie)\n"
12444 "{\n"
12445 "    printf(\"la_preinit(): %p\\en\", cookie);\n"
12446 "}\n"
12447 msgstr ""
12448 "void\n"
12449 "la_preinit(uintptr_t *cookie)\n"
12450 "{\n"
12451 "    printf(\"la_preinit(): %x\\en\", cookie);\n"
12452 "}\n"
12453
12454 #. type: Plain text
12455 #: build/C/man7/rtld-audit.7:594
12456 #, fuzzy, no-wrap
12457 #| msgid ""
12458 #| "uintptr_t\n"
12459 #| "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12460 #| "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12461 #| "{\n"
12462 #| "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12463 #| "            symname, sym-E<gt>st_value);\n"
12464 #| "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
12465 #| "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
12466 msgid ""
12467 "uintptr_t\n"
12468 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12469 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12470 "{\n"
12471 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12472 "            symname, sym-E<gt>st_value);\n"
12473 "    printf(\"        ndx = %u; flags = %#x\", ndx, *flags);\n"
12474 "    printf(\"; refcook = %p; defcook = %p\\en\", refcook, defcook);\n"
12475 msgstr ""
12476 "uintptr_t\n"
12477 "la_symbind32(Elf32_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12478 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12479 "{\n"
12480 "    printf(\"la_symbind32(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12481 "            symname, sym-E<gt>st_value);\n"
12482 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
12483 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
12484
12485 #. type: Plain text
12486 #: build/C/man7/rtld-audit.7:597 build/C/man7/rtld-audit.7:609
12487 #: build/C/man7/rtld-audit.7:619
12488 #, no-wrap
12489 msgid ""
12490 "    return sym-E<gt>st_value;\n"
12491 "}\n"
12492 msgstr ""
12493 "    return sym-E<gt>st_value;\n"
12494 "}\n"
12495
12496 #. type: Plain text
12497 #: build/C/man7/rtld-audit.7:606
12498 #, fuzzy, no-wrap
12499 #| msgid ""
12500 #| "uintptr_t\n"
12501 #| "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12502 #| "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12503 #| "{\n"
12504 #| "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12505 #| "            symname, sym-E<gt>st_value);\n"
12506 #| "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
12507 #| "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
12508 msgid ""
12509 "uintptr_t\n"
12510 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12511 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12512 "{\n"
12513 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12514 "            symname, sym-E<gt>st_value);\n"
12515 "    printf(\"        ndx = %u; flags = %#x\", ndx, *flags);\n"
12516 "    printf(\"; refcook = %p; defcook = %p\\en\", refcook, defcook);\n"
12517 msgstr ""
12518 "uintptr_t\n"
12519 "la_symbind64(Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook,\n"
12520 "        uintptr_t *defcook, unsigned int *flags, const char *symname)\n"
12521 "{\n"
12522 "    printf(\"la_symbind64(): symname = %s; sym-E<gt>st_value = %p\\en\",\n"
12523 "            symname, sym-E<gt>st_value);\n"
12524 "    printf(\"        ndx = %d; flags = 0x%x\", ndx, *flags);\n"
12525 "    printf(\"; refcook = %x; defcook = %x\\en\", refcook, defcook);\n"
12526
12527 #. type: Plain text
12528 #: build/C/man7/rtld-audit.7:616
12529 #, fuzzy, no-wrap
12530 #| msgid ""
12531 #| "Elf32_Addr\n"
12532 #| "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
12533 #| "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
12534 #| "        unsigned int *flags, const char *symname, long int *framesizep)\n"
12535 #| "{\n"
12536 #| "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
12537 msgid ""
12538 "Elf32_Addr\n"
12539 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
12540 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
12541 "        unsigned int *flags, const char *symname, long *framesizep)\n"
12542 "{\n"
12543 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
12544 msgstr ""
12545 "Elf32_Addr\n"
12546 "la_i86_gnu_pltenter(Elf32_Sym *sym, unsigned int ndx,\n"
12547 "        uintptr_t *refcook, uintptr_t *defcook, La_i86_regs *regs,\n"
12548 "        unsigned int *flags, const char *symname, long int *framesizep)\n"
12549 "{\n"
12550 "    printf(\"la_i86_gnu_pltenter(): %s (%p)\\en\", symname, sym-E<gt>st_value);\n"
12551
12552 #. type: Plain text
12553 #: build/C/man7/rtld-audit.7:625
12554 msgid "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
12555 msgstr "B<ldd>(1), B<dlopen>(3), B<ld.so>(8), B<ldconfig>(8)"
12556
12557 #. type: TH
12558 #: build/C/man8/sln.8:25
12559 #, no-wrap
12560 msgid "SLN"
12561 msgstr "SLN"
12562
12563 #. type: Plain text
12564 #: build/C/man8/sln.8:28
12565 msgid "sln - create symbolic links"
12566 msgstr "sln - シンボリックリンクを作成する"
12567
12568 #. type: Plain text
12569 #: build/C/man8/sln.8:30
12570 msgid "B<sln>I< source dest>"
12571 msgstr "B<sln>I< source dest>"
12572
12573 #. type: Plain text
12574 #: build/C/man8/sln.8:32
12575 msgid "B<sln>I< filelist>"
12576 msgstr "B<sln>I< filelist>"
12577
12578 #. type: Plain text
12579 #: build/C/man8/sln.8:42
12580 msgid ""
12581 "The B<sln> program creates symbolic links.  Unlike the B<ln>(1)  program, it "
12582 "is statically linked.  This means that if for some reason the dynamic linker "
12583 "is not working, B<sln> can be used to make symbolic links to dynamic "
12584 "libraries."
12585 msgstr ""
12586 "B<sln> プログラムはシンボリックリンクの作成を行う。 B<ln>(1) プログラムと異な"
12587 "り、 このプログラムは静的にリンクされている。 つまり、 何らかの理由で動的リン"
12588 "カーが動作しない場合に、 B<sln> を使って、 動的ライブラリへのシンボリックリン"
12589 "クを作成することができる。"
12590
12591 #. type: Plain text
12592 #: build/C/man8/sln.8:48
12593 msgid ""
12594 "The command line has two forms.  In the first form, it creates I<dest> as a "
12595 "new symbolic link to I<source>."
12596 msgstr ""
12597 "コマンドラインには二つの形がある。 一つ目の形では、 I<source> へのシンボリッ"
12598 "クリンクとして I<dest> を作成する。"
12599
12600 #. type: Plain text
12601 #: build/C/man8/sln.8:56
12602 msgid ""
12603 "In the second form, I<filelist> is a list of space-separated pathname pairs, "
12604 "and the effect is as if B<sln> was executed once for each line of the file, "
12605 "with the two pathnames as the arguments."
12606 msgstr ""
12607 "二つ目の形式では、 I<filelist> はスペース区切りのパス名の組のリストで、 この"
12608 "ファイルの各行について、二つのパス名を引き数として 1 回ずつ B<sln> を実行した"
12609 "のと同じ結果となる。"
12610
12611 #. type: Plain text
12612 #: build/C/man8/sln.8:60
12613 msgid "The B<sln> program supports no command-line options."
12614 msgstr "B<sln> プログラムには、 コマンドラインオプションはない。"
12615
12616 #. type: Plain text
12617 #: build/C/man8/sln.8:64
12618 #, fuzzy
12619 #| msgid "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
12620 msgid "B<ln>(1), B<ld.so>(8), B<ldconfig>(8)"
12621 msgstr "B<ln>(1), B<ldconfig>(8), B<ld.so>(8)"
12622
12623 #. type: TH
12624 #: build/C/man1/sprof.1:25
12625 #, no-wrap
12626 msgid "SPROF"
12627 msgstr "SPROF"
12628
12629 #. type: Plain text
12630 #: build/C/man1/sprof.1:28
12631 msgid "sprof - read and display shared object profiling data"
12632 msgstr "sprof - 共有オブジェクトのプロファイルデータを読み出して表示する"
12633
12634 #. type: Plain text
12635 #: build/C/man1/sprof.1:32
12636 #, no-wrap
12637 msgid "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
12638 msgstr "B<sprof> [I<option>]... I<shared-object-path> [I<profile-data-path>]\n"
12639
12640 #. type: Plain text
12641 #: build/C/man1/sprof.1:46
12642 #, fuzzy
12643 #| msgid ""
12644 #| "The B<sprof> command displays a profiling summary for the shared object "
12645 #| "specified as its first command-line argument.  The profiling summary is "
12646 #| "created using previously generated profiling data in the (optional) "
12647 #| "second command-line argument.  If the profiling data pathname is omitted, "
12648 #| "then B<sprof> will attempt to deduce it using the soname of the shared "
12649 #| "object, looking for a file with the name I<E<lt>sonameE<gt>.profile> in "
12650 #| "the current directory."
12651 msgid ""
12652 "The B<sprof> command displays a profiling summary for the shared object "
12653 "(shared library) specified as its first command-line argument.  The "
12654 "profiling summary is created using previously generated profiling data in "
12655 "the (optional) second command-line argument.  If the profiling data pathname "
12656 "is omitted, then B<sprof> will attempt to deduce it using the soname of the "
12657 "shared object, looking for a file with the name I<E<lt>sonameE<gt>.profile> "
12658 "in the current directory."
12659 msgstr ""
12660 "B<sprof> コマンドは、 最初のコマンドライン引き数で指定された共有オブジェクト"
12661 "のプロファイルの概要を表示する。 2 番目のコマンドライン引き数 (省略可能) で指"
12662 "定された生成済みのプロファイルデータを使って、 プロファイルの概要が生成され"
12663 "る。 プロファイルデータのパス名が省略された場合、 B<sprof> は、 共有オブジェ"
12664 "クトの soname を使ってパス名を元に、 カレントディレクトリに "
12665 "I<E<lt>sonameE<gt>.profile> という名前のファイルを探して、 プロファイルデータ"
12666 "を特定しようとする。"
12667
12668 #. type: Plain text
12669 #: build/C/man1/sprof.1:49
12670 msgid ""
12671 "The following command-line options specify the profile output to be produced:"
12672 msgstr ""
12673 "以下のコマンドラインオプションは生成されるプロファイリング出力を指定する。"
12674
12675 #. type: TP
12676 #: build/C/man1/sprof.1:49
12677 #, no-wrap
12678 msgid "B<-c>, B<--call-pairs>"
12679 msgstr "B<-c>, B<--call-pairs>"
12680
12681 #. type: Plain text
12682 #: build/C/man1/sprof.1:54
12683 msgid ""
12684 "Print a list of pairs of call paths for the interfaces exported by the "
12685 "shared object, along with the number of times each path is used."
12686 msgstr ""
12687 "共有オブジェクトで公開されているインターフェースに対して呼び出し経路のペアの"
12688 "リストを表示する。 各経路が使用された回数も表示される。"
12689
12690 #. type: TP
12691 #: build/C/man1/sprof.1:54
12692 #, no-wrap
12693 msgid "B<-p>, B<--flat-profile>"
12694 msgstr "B<-p>, B<--flat-profile>"
12695
12696 #. type: Plain text
12697 #: build/C/man1/sprof.1:58
12698 msgid ""
12699 "Generate a flat profile of all of the functions in the monitored object, "
12700 "with counts and ticks."
12701 msgstr ""
12702 "監視対象のオブジェクトの全関数の、 回数と tick が入った flat profile を生成す"
12703 "る。"
12704
12705 #. type: TP
12706 #: build/C/man1/sprof.1:58
12707 #, no-wrap
12708 msgid "B<-q>, B<--graph>"
12709 msgstr "B<-q>, B<--graph>"
12710
12711 #. type: Plain text
12712 #: build/C/man1/sprof.1:61
12713 msgid "Generate a call graph."
12714 msgstr "コールグラフを生成する。"
12715
12716 #. type: Plain text
12717 #: build/C/man1/sprof.1:64
12718 msgid ""
12719 "If none of the above options is specified, then the default behavior is to "
12720 "display a flat profile and a call graph."
12721 msgstr ""
12722 "上記のオプションがどれも指定されなかった場合のデフォルトの動作は、 flat "
12723 "profile とコールグラフが表示される。"
12724
12725 #. type: Plain text
12726 #: build/C/man1/sprof.1:66
12727 msgid "The following additional command-line options are available:"
12728 msgstr "以下のコマンドラインオプションも使用できる。"
12729
12730 #. type: Plain text
12731 #: build/C/man1/sprof.1:69
12732 msgid "Display a summary of command-line options and arguments and exit."
12733 msgstr "コマンドラインオプションと引き数の概要を表示し終了する。"
12734
12735 #. type: Plain text
12736 #: build/C/man1/sprof.1:75
12737 msgid "Display the program version and exit."
12738 msgstr "プログラムのバージョンを表示し終了する。"
12739
12740 #. type: Plain text
12741 #: build/C/man1/sprof.1:79
12742 msgid "The B<sprof> command is a GNU extension, not present in POSIX.1."
12743 msgstr "B<sprof> コマンドは GNU 拡張であり、 POSIX.1 には存在しない。"
12744
12745 #. type: Plain text
12746 #: build/C/man1/sprof.1:85
12747 #, fuzzy
12748 #| msgid ""
12749 #| "The following example demonstrates the use of B<sprof>.  The example "
12750 #| "consists of a main program that calls two functions in a shared library.  "
12751 #| "First, the code of the main program:"
12752 msgid ""
12753 "The following example demonstrates the use of B<sprof>.  The example "
12754 "consists of a main program that calls two functions in a shared object.  "
12755 "First, the code of the main program:"
12756 msgstr ""
12757 "以下は B<sprof> の使用例を示したものである。 この例では、メインプログラムで共"
12758 "有ライブラリ内の 2 つの関数を呼び出している。 最初に、 メインプログラムのコー"
12759 "ドは以下の通りである。"
12760
12761 #. type: Plain text
12762 #: build/C/man1/sprof.1:90
12763 #, no-wrap
12764 msgid ""
12765 "$ B<cat prog.c>\n"
12766 "#include E<lt>stdlib.hE<gt>\n"
12767 msgstr ""
12768 "$ B<cat prog.c>\n"
12769 "#include E<lt>stdlib.hE<gt>\n"
12770
12771 #. type: Plain text
12772 #: build/C/man1/sprof.1:93
12773 #, no-wrap
12774 msgid ""
12775 "void x1(void);\n"
12776 "void x2(void);\n"
12777 msgstr ""
12778 "void x1(void);\n"
12779 "void x2(void);\n"
12780
12781 #. type: Plain text
12782 #: build/C/man1/sprof.1:101
12783 #, no-wrap
12784 msgid ""
12785 "int\n"
12786 "main(int argc, char *argv[])\n"
12787 "{\n"
12788 "    x1();\n"
12789 "    x2();\n"
12790 "    exit(EXIT_SUCCESS);\n"
12791 "}\n"
12792 msgstr ""
12793 "int\n"
12794 "main(int argc, char *argv[])\n"
12795 "{\n"
12796 "    x1();\n"
12797 "    x2();\n"
12798 "    exit(EXIT_SUCCESS);\n"
12799 "}\n"
12800
12801 #. type: Plain text
12802 #: build/C/man1/sprof.1:110
12803 #, fuzzy
12804 #| msgid ""
12805 #| "The functions I<x1()> and I<x2()> are defined in the following source "
12806 #| "file that is used to construct the shared library:"
12807 msgid ""
12808 "The functions I<x1>()  and I<x2>()  are defined in the following source file "
12809 "that is used to construct the shared object:"
12810 msgstr ""
12811 "関数 I<x1()> と I<x2()> は以下のソースファイルで定義されており、 このファイル"
12812 "から共有ライブラリが構成される。"
12813
12814 #. type: Plain text
12815 #: build/C/man1/sprof.1:115
12816 #, no-wrap
12817 msgid ""
12818 "$ B<cat libdemo.c>\n"
12819 "#include E<lt>unistd.hE<gt>\n"
12820 msgstr ""
12821 "$ B<cat libdemo.c>\n"
12822 "#include E<lt>unistd.hE<gt>\n"
12823
12824 #. type: Plain text
12825 #: build/C/man1/sprof.1:122
12826 #, fuzzy, no-wrap
12827 #| msgid ""
12828 #| "    for (j = 0; j E<lt> lim; j++)\n"
12829 #| "\tgetppid();\n"
12830 #| "}\n"
12831 msgid ""
12832 "void\n"
12833 "consumeCpu1(int lim)\n"
12834 "{\n"
12835 "    for (int j = 0; j E<lt> lim; j++)\n"
12836 "\tgetppid();\n"
12837 "}\n"
12838 msgstr ""
12839 "    for (j = 0; j E<lt> lim; j++)\n"
12840 "\tgetppid();\n"
12841 "}\n"
12842
12843 #. type: Plain text
12844 #: build/C/man1/sprof.1:128
12845 #, fuzzy, no-wrap
12846 #| msgid ""
12847 #| "    for (j = 0; j E<lt> 100; j++)\n"
12848 #| "\tconsumeCpu1(200000);\n"
12849 #| "}\n"
12850 msgid ""
12851 "void\n"
12852 "x1(void) {\n"
12853 "    for (int j = 0; j E<lt> 100; j++)\n"
12854 "\tconsumeCpu1(200000);\n"
12855 "}\n"
12856 msgstr ""
12857 "    for (j = 0; j E<lt> 100; j++)\n"
12858 "\tconsumeCpu1(200000);\n"
12859 "}\n"
12860
12861 #. type: Plain text
12862 #: build/C/man1/sprof.1:135
12863 #, fuzzy, no-wrap
12864 #| msgid ""
12865 #| "    for (j = 0; j E<lt> lim; j++)\n"
12866 #| "\tgetppid();\n"
12867 #| "}\n"
12868 msgid ""
12869 "void\n"
12870 "consumeCpu2(int lim)\n"
12871 "{\n"
12872 "    for (int j = 0; j E<lt> lim; j++)\n"
12873 "\tgetppid();\n"
12874 "}\n"
12875 msgstr ""
12876 "    for (j = 0; j E<lt> lim; j++)\n"
12877 "\tgetppid();\n"
12878 "}\n"
12879
12880 #. type: Plain text
12881 #: build/C/man1/sprof.1:142
12882 #, fuzzy, no-wrap
12883 #| msgid ""
12884 #| "    for (j = 0; j E<lt> 1000; j++)\n"
12885 #| "\tconsumeCpu2(10000);\n"
12886 #| "}\n"
12887 msgid ""
12888 "void\n"
12889 "x2(void)\n"
12890 "{\n"
12891 "    for (int j = 0; j E<lt> 1000; j++)\n"
12892 "\tconsumeCpu2(10000);\n"
12893 "}\n"
12894 msgstr ""
12895 "    for (j = 0; j E<lt> 1000; j++)\n"
12896 "\tconsumeCpu2(10000);\n"
12897 "}\n"
12898
12899 #. type: Plain text
12900 #: build/C/man1/sprof.1:149
12901 #, fuzzy
12902 #| msgid ""
12903 #| "Now we construct the shared library with the real name I<libdemo."
12904 #| "so.1.0.1>, and the soname I<libdemo.so.1>:"
12905 msgid ""
12906 "Now we construct the shared object with the real name I<libdemo.so.1.0.1>, "
12907 "and the soname I<libdemo.so.1>:"
12908 msgstr ""
12909 "ここで、 実際の名前は I<libdemo.so.1.0.1> で soname は I<libdemo.so.1> で共有"
12910 "ライブラリを構成する。"
12911
12912 #. type: Plain text
12913 #: build/C/man1/sprof.1:154
12914 #, no-wrap
12915 msgid ""
12916 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
12917 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
12918 msgstr ""
12919 "$ B<cc -g -fPIC -shared -Wl,-soname,libdemo.so.1 \\e>\n"
12920 "        B<-o libdemo.so.1.0.1 libdemo.c>\n"
12921
12922 #. type: Plain text
12923 #: build/C/man1/sprof.1:159
12924 msgid ""
12925 "Then we construct symbolic links for the library soname and the library "
12926 "linker name:"
12927 msgstr ""
12928 "次に、 ライブラリ soname とライブラリのリンカー名へのシンボリックリンクを作成"
12929 "する。"
12930
12931 #. type: Plain text
12932 #: build/C/man1/sprof.1:164
12933 #, no-wrap
12934 msgid ""
12935 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
12936 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
12937 msgstr ""
12938 "$ B<ln -sf libdemo.so.1.0.1 libdemo.so.1>\n"
12939 "$ B<ln -sf libdemo.so.1 libdemo.so>\n"
12940
12941 #. type: Plain text
12942 #: build/C/man1/sprof.1:169
12943 #, fuzzy
12944 #| msgid ""
12945 #| "Next, we compile the main program, linking it against the shared library, "
12946 #| "and then list the dynamic dependencies of the program:"
12947 msgid ""
12948 "Next, we compile the main program, linking it against the shared object, and "
12949 "then list the dynamic dependencies of the program:"
12950 msgstr ""
12951 "続けて、 共有ライブラリとリンクしてメインプログラムをコンパイルし、 プログラ"
12952 "ムが依存する共有ライブラリの一覧を表示する。"
12953
12954 #. type: Plain text
12955 #: build/C/man1/sprof.1:178
12956 #, no-wrap
12957 msgid ""
12958 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
12959 "$ B<ldd prog>\n"
12960 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
12961 "\tlibdemo.so.1 =E<gt> not found\n"
12962 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
12963 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
12964 msgstr ""
12965 "$ B<cc -g -o prog prog.c -L. -ldemo>\n"
12966 "$ B<ldd prog>\n"
12967 "\tlinux-vdso.so.1 =E<gt>  (0x00007fff86d66000)\n"
12968 "\tlibdemo.so.1 =E<gt> not found\n"
12969 "\tlibc.so.6 =E<gt> /lib64/libc.so.6 (0x00007fd4dc138000)\n"
12970 "\t/lib64/ld-linux-x86-64.so.2 (0x00007fd4dc51f000)\n"
12971
12972 #. type: Plain text
12973 #: build/C/man1/sprof.1:185
12974 #, fuzzy
12975 #| msgid ""
12976 #| "In order to get profiling information for the shared library, we define "
12977 #| "the environment variable B<LD_PROFILE> with the soname of the library:"
12978 msgid ""
12979 "In order to get profiling information for the shared object, we define the "
12980 "environment variable B<LD_PROFILE> with the soname of the library:"
12981 msgstr ""
12982 "共有ライブラリのプロファイル情報を取得するために、 環境変数 B<LD_PROFILE> に"
12983 "このライブラリの soname を設定する。"
12984
12985 #. type: Plain text
12986 #: build/C/man1/sprof.1:189
12987 #, no-wrap
12988 msgid "$ B<export LD_PROFILE=libdemo.so.1>\n"
12989 msgstr "$ B<export LD_PROFILE=libdemo.so.1>\n"
12990
12991 #. type: Plain text
12992 #: build/C/man1/sprof.1:196
12993 msgid ""
12994 "We then define the environment variable B<LD_PROFILE_OUTPUT> with the "
12995 "pathname of the directory where profile output should be written, and create "
12996 "that directory if it does not exist already:"
12997 msgstr ""
12998 "環境変数 B<LD_PROFILE_OUTPUT> にプロファイル情報を出力するディレクトリのパス"
12999 "名を設定し、 このディレクトリが存在しない場合は作成する。"
13000
13001 #. type: Plain text
13002 #: build/C/man1/sprof.1:201
13003 #, no-wrap
13004 msgid ""
13005 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
13006 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
13007 msgstr ""
13008 "$ B<export LD_PROFILE_OUTPUT=$(pwd)/prof_data>\n"
13009 "$ B<mkdir -p $LD_PROFILE_OUTPUT>\n"
13010
13011 #. type: Plain text
13012 #: build/C/man1/sprof.1:209
13013 msgid ""
13014 "B<LD_PROFILE> causes profiling output to be I<appended> to the output file "
13015 "if it already exists, so we ensure that there is no preexisting profiling "
13016 "data:"
13017 msgstr ""
13018 "B<LD_PROFILE> を設定すると、 プロファイルの出力は出力ファイルがすでに存在する"
13019 "場合は「追記」されるので、 既存のプロファイルデータが存在しないようにしてお"
13020 "く。"
13021
13022 #. type: Plain text
13023 #: build/C/man1/sprof.1:213
13024 #, no-wrap
13025 msgid "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
13026 msgstr "$ B<rm -f $LD_PROFILE_OUTPUT/$LD_PROFILE.profile>\n"
13027
13028 #. type: Plain text
13029 #: build/C/man1/sprof.1:219
13030 msgid ""
13031 "We then run the program to produce the profiling output, which is written to "
13032 "a file in the directory specified in B<LD_PROFILE_OUTPUT>:"
13033 msgstr ""
13034 "次にプログラムを実行し、 プロファイリング出力を生成させる。 プロファイリング"
13035 "出力は B<LD_PROFILE_OUTPUT> で指定されたディレクトリにファイルが書き込まれ"
13036 "る。"
13037
13038 #. type: Plain text
13039 #: build/C/man1/sprof.1:225
13040 #, no-wrap
13041 msgid ""
13042 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
13043 "$ B<ls prof_data>\n"
13044 "libdemo.so.1.profile\n"
13045 msgstr ""
13046 "$ B<LD_LIBRARY_PATH=. ./prog>\n"
13047 "$ B<ls prof_data>\n"
13048 "libdemo.so.1.profile\n"
13049
13050 #. type: Plain text
13051 #: build/C/man1/sprof.1:231
13052 msgid ""
13053 "We then use the B<sprof -p> option to generate a flat profile with counts "
13054 "and ticks:"
13055 msgstr ""
13056 "B<sprof -p> オプションを使って、 呼び出し回数と tick 数が含まれる flat プロ"
13057 "ファイルを生成する。"
13058
13059 #. type: Plain text
13060 #: build/C/man1/sprof.1:236
13061 #, no-wrap
13062 msgid ""
13063 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13064 "Flat profile:\n"
13065 msgstr ""
13066 "$ B<sprof -p libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13067 "Flat profile:\n"
13068
13069 #. type: Plain text
13070 #: build/C/man1/sprof.1:244
13071 #, no-wrap
13072 msgid ""
13073 "Each sample counts as 0.01 seconds.\n"
13074 "  %   cumulative   self              self     total\n"
13075 " time   seconds   seconds    calls  us/call  us/call  name\n"
13076 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
13077 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
13078 "  0.00      0.10     0.00        1     0.00           x1\n"
13079 "  0.00      0.10     0.00        1     0.00           x2\n"
13080 msgstr ""
13081 "Each sample counts as 0.01 seconds.\n"
13082 "  %   cumulative   self              self     total\n"
13083 " time   seconds   seconds    calls  us/call  us/call  name\n"
13084 " 60.00      0.06     0.06      100   600.00           consumeCpu1\n"
13085 " 40.00      0.10     0.04     1000    40.00           consumeCpu2\n"
13086 "  0.00      0.10     0.00        1     0.00           x1\n"
13087 "  0.00      0.10     0.00        1     0.00           x2\n"
13088
13089 #. type: Plain text
13090 #: build/C/man1/sprof.1:250
13091 msgid "The B<sprof -q> option generates a call graph:"
13092 msgstr "B<sprof -q> オプションを使うと、 コールグラフが生成される。"
13093
13094 #. type: Plain text
13095 #: build/C/man1/sprof.1:254
13096 #, no-wrap
13097 msgid "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13098 msgstr "$ B<sprof -q libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13099
13100 #. type: Plain text
13101 #: build/C/man1/sprof.1:256
13102 #, no-wrap
13103 msgid "index % time    self  children    called     name\n"
13104 msgstr "index % time    self  children    called     name\n"
13105
13106 #. type: Plain text
13107 #: build/C/man1/sprof.1:271
13108 #, no-wrap
13109 msgid ""
13110 "                0.00    0.00      100/100         x1 [1]\n"
13111 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
13112 "-----------------------------------------------\n"
13113 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
13114 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
13115 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
13116 "-----------------------------------------------\n"
13117 "                0.00    0.00     1000/1000        x2 [3]\n"
13118 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
13119 "-----------------------------------------------\n"
13120 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
13121 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
13122 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
13123 "-----------------------------------------------\n"
13124 msgstr ""
13125 "                0.00    0.00      100/100         x1 [1]\n"
13126 "[0]    100.0    0.00    0.00      100         consumeCpu1 [0]\n"
13127 "-----------------------------------------------\n"
13128 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
13129 "[1]      0.0    0.00    0.00        1         x1 [1]\n"
13130 "                0.00    0.00      100/100         consumeCpu1 [0]\n"
13131 "-----------------------------------------------\n"
13132 "                0.00    0.00     1000/1000        x2 [3]\n"
13133 "[2]      0.0    0.00    0.00     1000         consumeCpu2 [2]\n"
13134 "-----------------------------------------------\n"
13135 "                0.00    0.00        1/1           E<lt>UNKNOWNE<gt>\n"
13136 "[3]      0.0    0.00    0.00        1         x2 [3]\n"
13137 "                0.00    0.00     1000/1000        consumeCpu2 [2]\n"
13138 "-----------------------------------------------\n"
13139
13140 #. type: Plain text
13141 #: build/C/man1/sprof.1:277
13142 msgid ""
13143 "Above and below, the \"E<lt>UNKNOWNE<gt>\" strings represent identifiers "
13144 "that are outside of the profiled object (in this example, these are "
13145 "instances of I<main()>)."
13146 msgstr ""
13147 "上記や以下の例で、 \"E<lt>UNKNOWNE<gt>\" の文字列は、 識別子がプロファイルさ"
13148 "れたオブジェクトの外部にあることを表している (この例では \"E<lt>UNKNOWNE<gt>"
13149 "\" になっているのは I<main()> 内のオブジェクトである)。"
13150
13151 #. type: Plain text
13152 #: build/C/man1/sprof.1:281
13153 msgid ""
13154 "The B<sprof -c> option generates a list of call pairs and the number of "
13155 "their occurrences:"
13156 msgstr ""
13157 "B<sprof -c> オプションを使うと、 呼び出しの組とその発生回数のリストが生成され"
13158 "る。"
13159
13160 #. type: Plain text
13161 #: build/C/man1/sprof.1:289
13162 #, no-wrap
13163 msgid ""
13164 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13165 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
13166 "x1                         consumeCpu1                      100\n"
13167 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
13168 "x2                         consumeCpu2                     1000\n"
13169 msgstr ""
13170 "$ B<sprof -c libdemo.so.1 $LD_PROFILE_OUTPUT/libdemo.so.1.profile>\n"
13171 "E<lt>UNKNOWNE<gt>                  x1                                 1\n"
13172 "x1                         consumeCpu1                      100\n"
13173 "E<lt>UNKNOWNE<gt>                  x2                                 1\n"
13174 "x2                         consumeCpu2                     1000\n"
13175
13176 #. type: Plain text
13177 #: build/C/man1/sprof.1:295
13178 msgid "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
13179 msgstr "B<gprof>(1), B<ldd>(1), B<ld.so>(8)"
13180
13181 #~ msgid "2007-05-18"
13182 #~ msgstr "2007-05-18"
13183
13184 #~ msgid ""
13185 #~ "The B<dl_iterate_phdr>()  function is Linux-specific and should be "
13186 #~ "avoided in portable applications."
13187 #~ msgstr ""
13188 #~ "B<dl_iterate_phdr>()  関数は Linux 固有であり、移植を考えたアプリケーショ"
13189 #~ "ンでは避けるべきである。"
13190
13191 #~ msgid "2014-10-02"
13192 #~ msgstr "2014-10-02"
13193
13194 #~ msgid ""
13195 #~ "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface "
13196 #~ "to dynamic linking loader"
13197 #~ msgstr ""
13198 #~ "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダーへの プログラミ"
13199 #~ "ングインターフェース"
13200
13201 #~ msgid ""
13202 #~ "The four functions B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  "
13203 #~ "implement the interface to the dynamic linking loader."
13204 #~ msgstr ""
13205 #~ "B<dlopen>(), B<dlsym>(), B<dlclose>(), B<dlerror>()  の 4つの関数は、動的"
13206 #~ "リンク (dynamic linking) を行うローダーへの インターフェースを実装したもの"
13207 #~ "である。"
13208
13209 #~ msgid ""
13210 #~ "External references in the library are resolved using the libraries in "
13211 #~ "that library's dependency list and any other libraries previously opened "
13212 #~ "with the B<RTLD_GLOBAL> flag.  If the executable was linked with the flag "
13213 #~ "\"-rdynamic\" (or, synonymously, \"--export-dynamic\"), then the global "
13214 #~ "symbols in the executable will also be used to resolve references in a "
13215 #~ "dynamically loaded library."
13216 #~ msgstr ""
13217 #~ "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあ"
13218 #~ "るライブラリか、 B<RTLD_GLOBAL> フラグ付きで既にオープンされているライブラ"
13219 #~ "リを使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-"
13220 #~ "dynamic\" も同義)  付きでリンクされている場合は、実行ファイル中のグローバ"
13221 #~ "ルシンボルも、 動的にロードされるライブラリ内の参照解決に用いられる。"
13222
13223 #~ msgid "dlsym()"
13224 #~ msgstr "dlsym()"
13225
13226 #~ msgid ""
13227 #~ "There are two special pseudo-handles, B<RTLD_DEFAULT> and B<RTLD_NEXT>.  "
13228 #~ "The former will find the first occurrence of the desired symbol using the "
13229 #~ "default library search order.  The latter will find the next occurrence "
13230 #~ "of a function in the search order after the current library.  This allows "
13231 #~ "one to provide a wrapper around a function in another shared library."
13232 #~ msgstr ""
13233 #~ "B<RTLD_DEFAULT> と B<RTLD_NEXT> という二つの特別な擬似ハンドルがある。 "
13234 #~ "B<RTLD_DEFAULT> は、デフォルトのライブラリ検索順序にしたがって、 検索対象"
13235 #~ "のシンボルが最初に現れるところを探す。 B<RTLD_NEXT> は、ライブラリ検索順序"
13236 #~ "の中で現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使"
13237 #~ "うことで、別の共有ライブラリの 関数へのラッパーを提供することができる。"
13238
13239 #~ msgid ""
13240 #~ "The function B<dlclose>()  returns 0 on success, and nonzero on error."
13241 #~ msgstr ""
13242 #~ "関数 B<dlclose>()  は、成功した場合は 0 を返し、エラーの場合 0 以外を返"
13243 #~ "す。"
13244
13245 #~ msgid "The obsolete symbols _init() and _fini()"
13246 #~ msgstr "廃止されたシンボル _init() と _fini()"
13247
13248 #~ msgid ""
13249 #~ "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> "
13250 #~ "options, is not recommended.  Their use may result in undesired behavior, "
13251 #~ "since the constructor/destructor routines will not be executed (unless "
13252 #~ "special measures are taken)."
13253 #~ msgstr ""
13254 #~ "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用し"
13255 #~ "ないことを推奨する。 これらを使うと、望ましくない動作をすることがある。 な"
13256 #~ "ぜなら、(特別な措置が行われない限り) これらの constructor/destructor ルー"
13257 #~ "チンは実行されないからである。"
13258
13259 #~ msgid ""
13260 #~ "Instead, libraries should export routines using the "
13261 #~ "B<__attribute__((constructor))> and B<__attribute__((destructor))> "
13262 #~ "function attributes.  See the gcc info pages for information on these.  "
13263 #~ "Constructor routines are executed before B<dlopen>()  returns, and "
13264 #~ "destructor routines are executed before B<dlclose>()  returns."
13265 #~ msgstr ""
13266 #~ "代わりに、ライブラリは B<__attribute__((constructor))> や "
13267 #~ "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクス"
13268 #~ "ポートするのがよい。 これらについては gcc の info ページを参照のこと。 "
13269 #~ "constructor ルーチンは B<dlopen>()  が復帰する前に実行され、 destructor "
13270 #~ "ルーチンは B<dlclose>()  が復帰する前に実行される。"
13271
13272 #~ msgid "Glibc extensions: dladdr() and dlvsym()"
13273 #~ msgstr "GNU での拡張: dladdr() と dlvsym()"
13274
13275 #~ msgid "Glibc adds two functions not described by POSIX, with prototypes"
13276 #~ msgstr ""
13277 #~ "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイ"
13278 #~ "プは以下の通りである。"
13279
13280 #~ msgid ""
13281 #~ "The function B<dladdr>()  takes a function pointer and tries to resolve "
13282 #~ "name and file where it is located.  Information is stored in the "
13283 #~ "I<Dl_info> structure:"
13284 #~ msgstr ""
13285 #~ "関数 B<dladdr>()  は、関数のポインターを引き数にとり、関数の名前と関数が定"
13286 #~ "義されている ファイルの解決を試みる。情報は I<Dl_info> 構造体に格納され"
13287 #~ "る。"
13288
13289 #~ msgid ""
13290 #~ "The symbols B<RTLD_DEFAULT> and B<RTLD_NEXT> are defined by I<E<lt>dlfcn."
13291 #~ "hE<gt>> only when B<_GNU_SOURCE> was defined before including it."
13292 #~ msgstr ""
13293 #~ "シンボル B<RTLD_DEFAULT> と B<RTLD_NEXT> は I<E<lt>dlfcn.hE<gt>> で定義さ"
13294 #~ "れており、 I<E<lt>dlfcn.hE<gt>> のインクルード前に B<_GNU_SOURCE> が定義さ"
13295 #~ "れている場合のみ有効となる。"
13296
13297 #~ msgid ""
13298 #~ "The dlopen interface standard comes from SunOS.  That system also has "
13299 #~ "B<dladdr>(), but not B<dlvsym>()."
13300 #~ msgstr ""
13301 #~ "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には "
13302 #~ "B<dladdr>()  もあったが、 B<dlvsym>()  はなかった。"
13303
13304 #~ msgid "Load the math library, and print the cosine of 2.0:"
13305 #~ msgstr "math ライブラリをロードし、2.0 の余弦を表示する"
13306
13307 #~ msgid ""
13308 #~ "#include E<lt>stdio.hE<gt>\n"
13309 #~ "#include E<lt>stdlib.hE<gt>\n"
13310 #~ "#include E<lt>dlfcn.hE<gt>\n"
13311 #~ msgstr ""
13312 #~ "#include E<lt>stdio.hE<gt>\n"
13313 #~ "#include E<lt>stdlib.hE<gt>\n"
13314 #~ "#include E<lt>dlfcn.hE<gt>\n"
13315
13316 #~ msgid ""
13317 #~ "If this program were in a file named \"foo.c\", you would build the "
13318 #~ "program with the following command:"
13319 #~ msgstr ""
13320 #~ "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを "
13321 #~ "ビルドできる。"
13322
13323 #~ msgid "    gcc -rdynamic -o foo foo.c -ldl\n"
13324 #~ msgstr "    gcc -rdynamic -o foo foo.c -ldl\n"
13325
13326 #~ msgid ""
13327 #~ "Libraries exporting B<_init>()  and B<_fini>()  will want to be compiled "
13328 #~ "as follows, using I<bar.c> as the example name:"
13329 #~ msgstr ""
13330 #~ "B<_init>()  と B<_fini>()  をエクスポートするライブラリの場合は 以下のよう"
13331 #~ "にしてコンパイルする必要がある。 例として I<bar.c> をコンパイルする場合:"
13332
13333 #~ msgid "    gcc -shared -nostartfiles -o bar bar.c\n"
13334 #~ msgstr "    gcc -shared -nostartfiles -o bar bar.c\n"
13335
13336 #~ msgid "2013-04-17"
13337 #~ msgstr "2013-04-17"
13338
13339 #~ msgid ""
13340 #~ "This value marks an undefined, missing, irrelevant, or otherwise "
13341 #~ "meaningless section reference.  For example, a symbol \"defined\" "
13342 #~ "relative to section number B<SHN_UNDEF> is an undefined symbol."
13343 #~ msgstr ""
13344 #~ "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であ"
13345 #~ "ることを表す。 例えば、セクション番号 B<SHN_UNDEF> に関連づけて「定義」さ"
13346 #~ "れたシンボルは、「未定義」なシンボルである。"
13347
13348 #~ msgid "B<SHN_HIPROC>"
13349 #~ msgstr "B<SHN_HIPROC>"
13350
13351 #~ msgid ""
13352 #~ "This value specifies absolute values for the corresponding reference.  "
13353 #~ "For example, symbols defined relative to section number B<SHN_ABS> have "
13354 #~ "absolute values and are not affected by relocation."
13355 #~ msgstr ""
13356 #~ "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 "
13357 #~ "B<SHN_ABS> に関連づけられたシンボルは絶対値を保持し、再配置に影響されな"
13358 #~ "い。"
13359
13360 #~ msgid ""
13361 #~ "Symbols defined relative to this section are common symbols, such as "
13362 #~ "Fortran COMMON or unallocated C external variables."
13363 #~ msgstr ""
13364 #~ "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未"
13365 #~ "割り当て external 変数のような、 共通シンボルである。"
13366
13367 #~ msgid ""
13368 #~ "This value specifies the upper bound of the range of reserved indices "
13369 #~ "between B<SHN_LORESERVE> and B<SHN_HIRESERVE>, inclusive; the values do "
13370 #~ "not reference the section header table.  That is, the section header "
13371 #~ "table does I<not> contain entries for the reserved indices."
13372 #~ msgstr ""
13373 #~ "この値は予約されたインデックスの範囲の上限を指定する。 B<SHN_LORESERVE> "
13374 #~ "と B<SHN_HIRESERVE> は含まれる。 この値はセクションヘッダーテーブルを参照"
13375 #~ "しない。 つまり、セクションヘッダーテーブルは 予約されたインデックスのエン"
13376 #~ "トリーを I<含まない 。>"
13377
13378 #~ msgid ""
13379 #~ "Values greater than or equal to B<PT_HIPROC> are reserved for processor-"
13380 #~ "specific semantics."
13381 #~ msgstr ""
13382 #~ "この値以上で B<PT_HIPROC> 以下の値はプロセッサ固有の意味に予約されている。"
13383
13384 #~ msgid "B<PT_HIPROC>"
13385 #~ msgstr "B<PT_HIPROC>"
13386
13387 #~ msgid "This section holds information that marks the file in some way."
13388 #~ msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。"
13389
13390 #~ msgid ""
13391 #~ "This value up to and including B<SHT_HIPROC> is reserved for processor-"
13392 #~ "specific semantics."
13393 #~ msgstr ""
13394 #~ "この値以上で B<SHT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されてい"
13395 #~ "る。"
13396
13397 #~ msgid "B<SHT_HIPROC>"
13398 #~ msgstr "B<SHT_HIPROC>"
13399
13400 #~ msgid ""
13401 #~ "This value down to and including B<SHT_LOPROC> is reserved for processor-"
13402 #~ "specific semantics."
13403 #~ msgstr ""
13404 #~ "この値以下で B<SHT_LOPROC> 以上の範囲はプロセッサ固有の意味に予約されてい"
13405 #~ "る。"
13406
13407 #~ msgid ""
13408 #~ "This value up to and including B<STT_HIPROC> is reserved for processor-"
13409 #~ "specific semantics."
13410 #~ msgstr ""
13411 #~ "この値以上で B<STT_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されてい"
13412 #~ "る。"
13413
13414 #~ msgid "B<STT_HIPROC>"
13415 #~ msgstr "B<STT_HIPROC>"
13416
13417 #~ msgid ""
13418 #~ "This value up to and including B<STB_HIPROC> is reserved for processor-"
13419 #~ "specific semantics."
13420 #~ msgstr ""
13421 #~ "この値以上で B<STB_HIPROC> 以下の範囲はプロセッサ固有の意味に予約されてい"
13422 #~ "る。"
13423
13424 #~ msgid "B<STB_HIPROC>"
13425 #~ msgstr "B<STB_HIPROC>"
13426
13427 #~ msgid ""
13428 #~ "B<ELF32_ST_BIND>(info)  or B<ELF64_ST_BIND>(info)  extract a binding from "
13429 #~ "an I<st_info> value."
13430 #~ msgstr ""
13431 #~ "B<ELF32_ST_BIND>(info)  または B<ELF64_ST_BIND>(info)  I<st_info> の値から"
13432 #~ "バインディングを取り出す。"
13433
13434 #~ msgid "Size in bytes of Rel table"
13435 #~ msgstr "Rel テーブルのサイズ (バイト単位)"
13436
13437 #~ msgid "Start of processor-specific semantics"
13438 #~ msgstr "プロセッサ固有の意味の開始"
13439
13440 #~ msgid "B<DT_HIPROC>"
13441 #~ msgstr "B<DT_HIPROC>"
13442
13443 #~ msgid "End of processor-specific semantics"
13444 #~ msgstr "プロセッサ固有の意味の終了"
13445
13446 #~ msgid ""
13447 #~ "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
13448 #~ msgstr ""
13449 #~ "B<as>(1), B<gdb>(1), B<ld>(1), B<objdump>(1), B<execve>(2), B<core>(5)"
13450
13451 #~ msgid "2008-07-17"
13452 #~ msgstr "2008-07-17"
13453
13454 #~ msgid ""
13455 #~ "(ELF only) Using the directories specified in the DT_RUNPATH dynamic "
13456 #~ "section attribute of the binary if present."
13457 #~ msgstr ""
13458 #~ "(ELF のみ)  バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 "
13459 #~ "DT_RUNPATH で指定されたディレクトリを使用する。"
13460
13461 #~ msgid "Rpath token expansion"
13462 #~ msgstr "rpath トークンの展開"
13463
13464 #~ msgid ""
13465 #~ "B<ld.so> understands certain strings in an rpath specification (DT_RPATH "
13466 #~ "or DT_RUNPATH); those strings are substituted as follows"
13467 #~ msgstr ""
13468 #~ "B<ld.so> では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字"
13469 #~ "列を使うことができる。 それらの文字列は以下のように置き換えられる。"
13470
13471 #~ msgid ""
13472 #~ "Use PATH instead of B<LD_LIBRARY_PATH> environment variable setting (see "
13473 #~ "below)."
13474 #~ msgstr ""
13475 #~ "B<LD_LIBRARY_PATH> 環境変数の設定ではなく、\n"
13476 #~ "指定した PATH を使用する (下記参照)。"
13477
13478 #~ msgid "Use objects named in LIST as auditors."
13479 #~ msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。"
13480
13481 #~ msgid "HARDWARE CAPABILITIES"
13482 #~ msgstr "ハードウェア機能"
13483
13484 #~ msgid "B<LD_ASSUME_KERNEL>"
13485 #~ msgstr "B<LD_ASSUME_KERNEL>"
13486
13487 #~ msgid "B<LD_BIND_NOT>"
13488 #~ msgstr "B<LD_BIND_NOT>"
13489
13490 #~ msgid ""
13491 #~ "(glibc since 2.2)  Don't update the Global Offset Table (GOT) and "
13492 #~ "Procedure Linkage Table (PLT)  when resolving a symbol."
13493 #~ msgstr ""
13494 #~ "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と "
13495 #~ "Procedure Linkage Table (PLT) を更新しない。"
13496
13497 #~ msgid "B<LD_BIND_NOW>"
13498 #~ msgstr "B<LD_BIND_NOW>"
13499
13500 #~ msgid ""
13501 #~ "A colon-separated list of directories in which to search for ELF "
13502 #~ "libraries at execution-time.  Similar to the B<PATH> environment "
13503 #~ "variable.  Ignored in set-user-ID and set-group-ID programs."
13504 #~ msgstr ""
13505 #~ "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディ"
13506 #~ "レクトリを指定する。 B<PATH> 環境変数と同じように指定する。 set-user-ID/"
13507 #~ "set-group-ID されたプログラムでは無視される。"
13508
13509 #~ msgid ""
13510 #~ "A list of additional, user-specified, ELF shared libraries to be loaded "
13511 #~ "before all others.  The items of the list can be separated by spaces or "
13512 #~ "colons.  This can be used to selectively override functions in other "
13513 #~ "shared libraries.  The libraries are searched for using the rules given "
13514 #~ "under DESCRIPTION.  For set-user-ID/set-group-ID ELF binaries, preload "
13515 #~ "pathnames containing slashes are ignored, and libraries in the standard "
13516 #~ "search directories are loaded only if the set-user-ID permission bit is "
13517 #~ "enabled on the library file."
13518 #~ msgstr ""
13519 #~ "追加でユーザーが指定する ELF 共有ライブラリのリスト。指定されたライブラリ"
13520 #~ "は、すべてのライブラリより前にロードされる。リストの区切りはスペースとコロ"
13521 #~ "ンである。他の共有ライブラリにある関数を選択的に置き換えるために用いること"
13522 #~ "ができる。指定されたライブラリは「説明」の節で述べたルールを基いて検索され"
13523 #~ "る。 set-user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだ"
13524 #~ "パス名のライブラリは無視され、標準の検索ディレクトリのライブラリはそのライ"
13525 #~ "ブラリファイルの set-user-ID 許可ビットが有効になっている場合のみロードさ"
13526 #~ "れる。"
13527
13528 #~ msgid "B<LD_AOUT_LIBRARY_PATH>"
13529 #~ msgstr "B<LD_AOUT_LIBRARY_PATH>"
13530
13531 #~ msgid ""
13532 #~ "(libc5)  Version of B<LD_LIBRARY_PATH> for a.out binaries only.  Old "
13533 #~ "versions of ld-linux.so.1 also supported B<LD_ELF_LIBRARY_PATH>."
13534 #~ msgstr ""
13535 #~ "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_LIBRARY_PATH> と同"
13536 #~ "じ役割をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_LIBRARY_PATH> "
13537 #~ "もサポートしていた。"
13538
13539 #~ msgid ""
13540 #~ "(libc5)  Version of B<LD_PRELOAD> for a.out binaries only.  Old versions "
13541 #~ "of ld-linux.so.1 also supported B<LD_ELF_PRELOAD>."
13542 #~ msgstr ""
13543 #~ "(libc5)  a.out バイナリにのみ使われる環境変数で、 B<LD_PRELOAD> と同じ役割"
13544 #~ "をする。 ld-linux.so.1 の古いバージョンでは B<LD_ELF_PRELOAD> もサポートし"
13545 #~ "ていた。"
13546
13547 #~ msgid "B<LD_AUDIT>"
13548 #~ msgstr "B<LD_AUDIT>"
13549
13550 #~ msgid ""
13551 #~ "(glibc since 2.1.95)  Do not update the GOT (global offset table) and PLT "
13552 #~ "(procedure linkage table)  after resolving a symbol."
13553 #~ msgstr ""
13554 #~ "(glibc 2.1.95 以降)  シンボルを解決した後、GOT (global offset table) と "
13555 #~ "PLT (procedure linkage table) を更新しない。"
13556
13557 #~ msgid "B<LD_DEBUG>"
13558 #~ msgstr "B<LD_DEBUG>"
13559
13560 #~ msgid ""
13561 #~ "(glibc since 2.1)  Output verbose debugging information about the dynamic "
13562 #~ "linker.  If set to B<all> prints all debugging information it has, if set "
13563 #~ "to B<help> prints a help message about which categories can be specified "
13564 #~ "in this environment variable.  Since glibc 2.3.4, B<LD_DEBUG> is ignored "
13565 #~ "for set-user-ID/set-group-ID binaries."
13566 #~ msgstr ""
13567 #~ "(glibc 2.1 以降)  動的リンカーの詳細なデバッグ情報を出力する。 B<all> に設"
13568 #~ "定した場合、全ての動的リンカーが持つデバッグ情報を表示する。 B<help> に設"
13569 #~ "定した場合、この環境変数で指定されるカテゴリーのヘルプ情報を表示する。 "
13570 #~ "glibc 2.3.4 以降、 set-user-ID/set-group-ID されたバイナリでは "
13571 #~ "B<LD_DEBUG> は無視される。"
13572
13573 #~ msgid "B<LD_DEBUG_OUTPUT>"
13574 #~ msgstr "B<LD_DEBUG_OUTPUT>"
13575
13576 #~ msgid ""
13577 #~ "(glibc since 2.1)  File in which B<LD_DEBUG> output should be written.  "
13578 #~ "The default is standard error.  B<LD_DEBUG_OUTPUT> is ignored for set-"
13579 #~ "user-ID/set-group-ID binaries."
13580 #~ msgstr ""
13581 #~ "(glibc 2.1 以降)  B<LD_DEBUG> の出力を書き込むファイル。 デフォルトは標準"
13582 #~ "エラーである。 set-user-ID/set-group-ID されたバイナリでは、 "
13583 #~ "B<LD_DEBUG_OUTPUT> は無視される。"
13584
13585 #~ msgid "B<LD_DYNAMIC_WEAK>"
13586 #~ msgstr "B<LD_DYNAMIC_WEAK>"
13587
13588 #~ msgid ""
13589 #~ "(glibc since 2.1.91)  Allow weak symbols to be overridden (reverting to "
13590 #~ "old glibc behavior).  For security reasons, since glibc 2.3.4, "
13591 #~ "B<LD_DYNAMIC_WEAK> is ignored for set-user-ID/set-group-ID binaries."
13592 #~ msgstr ""
13593 #~ "(glibc 2.1.19 以降)  上書きされる弱いシンボル (昔の glibc の挙動を逆にす"
13594 #~ "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-"
13595 #~ "ID されたバイナリでは B<LD_DYNAMIC_WEAK> は無視される。"
13596
13597 #~ msgid "B<LD_HWCAP_MASK>"
13598 #~ msgstr "B<LD_HWCAP_MASK>"
13599
13600 #~ msgid "B<LD_KEEPDIR>"
13601 #~ msgstr "B<LD_KEEPDIR>"
13602
13603 #~ msgid ""
13604 #~ "(a.out only)(libc5)  Don't ignore the directory in the names of a.out "
13605 #~ "libraries to be loaded.  Use of this option is strongly discouraged."
13606 #~ msgstr ""
13607 #~ "(a.out のみ)(libc5)  ロードする a.out ライブラリの名前において、ディレクト"
13608 #~ "リを無視しない。 このオプションは用いるべきではない。"
13609
13610 #~ msgid "B<LD_NOWARN>"
13611 #~ msgstr "B<LD_NOWARN>"
13612
13613 #~ msgid ""
13614 #~ "(a.out only)(libc5)  Suppress warnings about a.out libraries with "
13615 #~ "incompatible minor version numbers."
13616 #~ msgstr ""
13617 #~ "(a.out のみ)(libc5)  a.out ライブラリにおけるマイナーバージョン番号の非互"
13618 #~ "換に 対する警告メッセージを抑制する。"
13619
13620 #~ msgid "B<LD_ORIGIN_PATH>"
13621 #~ msgstr "B<LD_ORIGIN_PATH>"
13622
13623 #~ msgid ""
13624 #~ "(glibc since 2.1)  Path where the binary is found (for non-set-user-ID "
13625 #~ "programs).  For security reasons, since glibc 2.4, B<LD_ORIGIN_PATH> is "
13626 #~ "ignored for set-user-ID/set-group-ID binaries."
13627 #~ msgstr ""
13628 #~ "(glibc 2.1 以降)  バイナリへのパス (set-user-ID されていないプログラムにつ"
13629 #~ "いて)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-"
13630 #~ "group-ID されたバイナリでは B<LD_ORIGIN_PATH> は無視される。"
13631
13632 #~ msgid "B<LD_PROFILE>"
13633 #~ msgstr "B<LD_PROFILE>"
13634
13635 #~ msgid "B<LD_PROFILE_OUTPUT>"
13636 #~ msgstr "B<LD_PROFILE_OUTPUT>"
13637
13638 #~ msgid ""
13639 #~ "(glibc since 2.1)  Show auxiliary array passed up from the kernel.  For "
13640 #~ "security reasons, since glibc 2.3.5, B<LD_SHOW_AUXV> is ignored for set-"
13641 #~ "user-ID/set-group-ID binaries."
13642 #~ msgstr ""
13643 #~ "(glibc 2.1 以降)  カーネルから渡される補助的な (パラメーターの) 配列を表示"
13644 #~ "する。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-"
13645 #~ "ID されたバイナリでは B<LD_SHOW_AUXV> は無視される。"
13646
13647 #~ msgid "B<LD_USE_LOAD_BIAS>"
13648 #~ msgstr "B<LD_USE_LOAD_BIAS>"
13649
13650 #~ msgid "B<LD_VERBOSE>"
13651 #~ msgstr "B<LD_VERBOSE>"
13652
13653 #~ msgid "B<LD_WARN>"
13654 #~ msgstr "B<LD_WARN>"
13655
13656 #~ msgid "B<LDD_ARGV0>"
13657 #~ msgstr "B<LDD_ARGV0>"
13658
13659 #~ msgid "(libc5)  I<argv>[0] to be used by B<ldd>(1)  when none is present."
13660 #~ msgstr ""
13661 #~ "(libc5)  B<ldd>(1)  の引き数がない場合に、 I<argv>[0] として使われる値。"
13662
13663 #~ msgid ""
13664 #~ "File containing a whitespace-separated list of ELF shared libraries to be "
13665 #~ "loaded before the program."
13666 #~ msgstr ""
13667 #~ "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリスト"
13668 #~ "が書かれているファイル。"
13669
13670 #~ msgid "shared libraries"
13671 #~ msgstr "共有ライブラリ"
13672
13673 #~ msgid ""
13674 #~ "The B<ld.so> functionality is available for executables compiled using "
13675 #~ "libc version 4.4.3 or greater.  ELF functionality is available since "
13676 #~ "Linux 1.1.52 and libc5."
13677 #~ msgstr ""
13678 #~ "B<ld.so> の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実"
13679 #~ "行ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で"
13680 #~ "使用可能である。"
13681
13682 #~ msgid "2012-05-10"
13683 #~ msgstr "2012-05-10"
13684
13685 #~ msgid "B<-v>"
13686 #~ msgstr "B<-v>"
13687
13688 #~ msgid "B<-p>"
13689 #~ msgstr "B<-p>"
13690
13691 #~ msgid ""
13692 #~ "B<ldd> prints the shared libraries required by each program or shared "
13693 #~ "library specified on the command line."
13694 #~ msgstr ""
13695 #~ "B<ldd> はコマンドラインで指定したプログラムや共有ライブラリについて、 それ"
13696 #~ "ぞれで必要とされる共有ライブラリを表示する。"
13697
13698 #~ msgid "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
13699 #~ msgstr "B<sprof>(1), B<pldd>(1), B<ld.so>(8), B<ldconfig>(8)"
13700
13701 #~ msgid "2014-09-06"
13702 #~ msgstr "2014-09-06"
13703
13704 #~ msgid "2014-09-27"
13705 #~ msgstr "2014-09-27"
13706
13707 #~ msgid "Display program help message."
13708 #~ msgstr "プログラムのヘルプメッセージを表示する。"
13709
13710 #~ msgid "Display a short usage message."
13711 #~ msgstr "簡潔な使用方法を表示する。"
13712
13713 #~ msgid "2012-07-07"
13714 #~ msgstr "2012-07-07"
13715
13716 #~ msgid "B<#include E<lt>link.hE<gt>>"
13717 #~ msgstr "B<#include E<lt>link.hE<gt>>"
13718
13719 #~ msgid ""
13720 #~ "    return version;\n"
13721 #~ "}\n"
13722 #~ msgstr ""
13723 #~ "    return version;\n"
13724 #~ "}\n"
13725
13726 #~ msgid "2013-02-10"
13727 #~ msgstr "2013-02-10"
13728
13729 #~ msgid ""
13730 #~ "void\n"
13731 #~ "consumeCpu1(int lim)\n"
13732 #~ "{\n"
13733 #~ "    int j;\n"
13734 #~ msgstr ""
13735 #~ "void\n"
13736 #~ "consumeCpu1(int lim)\n"
13737 #~ "{\n"
13738 #~ "    int j;\n"
13739
13740 #~ msgid ""
13741 #~ "void\n"
13742 #~ "x1(void) {\n"
13743 #~ "    int j;\n"
13744 #~ msgstr ""
13745 #~ "void\n"
13746 #~ "x1(void) {\n"
13747 #~ "    int j;\n"
13748
13749 #~ msgid ""
13750 #~ "void\n"
13751 #~ "consumeCpu2(int lim)\n"
13752 #~ "{\n"
13753 #~ "    int j;\n"
13754 #~ msgstr ""
13755 #~ "void\n"
13756 #~ "consumeCpu2(int lim)\n"
13757 #~ "{\n"
13758 #~ "    int j;\n"
13759
13760 #~ msgid ""
13761 #~ "void\n"
13762 #~ "x2(void)\n"
13763 #~ "{\n"
13764 #~ "    int j;\n"
13765 #~ msgstr ""
13766 #~ "void\n"
13767 #~ "x2(void)\n"
13768 #~ "{\n"
13769 #~ "    int j;\n"