# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2015-02-04 23:30+0900\n" "PO-Revision-Date: 2015-01-30 17:19+0900\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: build/C/man3/dl_iterate_phdr.3:25 #, no-wrap msgid "DL_ITERATE_PHDR" msgstr "DL_ITERATE_PHDR" #. type: TH #: build/C/man3/dl_iterate_phdr.3:25 #, no-wrap msgid "2007-05-18" msgstr "2007-05-18" #. type: TH #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/end.3:26 #: build/C/man8/ld.so.8:5 build/C/man8/ldconfig.8:22 #: build/C/man1/memusage.1:24 build/C/man1/memusagestat.1:23 #: build/C/man1/mtrace.1:23 build/C/man1/pldd.1:25 build/C/man8/sln.8:25 #, no-wrap msgid "GNU" msgstr "GNU" #. type: TH #: build/C/man3/dl_iterate_phdr.3:25 build/C/man3/dlopen.3:35 #: build/C/man5/elf.5:35 build/C/man3/end.3:26 build/C/man8/ld.so.8:5 #: build/C/man8/ldconfig.8:22 build/C/man1/ldd.1:14 #: build/C/man7/rtld-audit.7:28 build/C/man8/sln.8:25 #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux Programmer's Manual" #. type: SH #: build/C/man3/dl_iterate_phdr.3:26 build/C/man3/dlopen.3:36 #: build/C/man5/elf.5:36 build/C/man3/end.3:27 build/C/man8/ld.so.8:6 #: build/C/man8/ldconfig.8:23 build/C/man1/ldd.1:15 build/C/man1/memusage.1:25 #: build/C/man1/memusagestat.1:24 build/C/man1/mtrace.1:24 #: build/C/man1/pldd.1:26 build/C/man7/rtld-audit.7:29 build/C/man8/sln.8:26 #: build/C/man1/sprof.1:26 #, no-wrap msgid "NAME" msgstr "名前" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:28 msgid "dl_iterate_phdr - walk through list of shared objects" msgstr "dl_iterate_phdr - 共有オブジェクトのリストを辿る" #. type: SH #: build/C/man3/dl_iterate_phdr.3:28 build/C/man3/dlopen.3:39 #: build/C/man5/elf.5:38 build/C/man3/end.3:29 build/C/man8/ld.so.8:8 #: build/C/man8/ldconfig.8:25 build/C/man1/ldd.1:17 build/C/man1/memusage.1:27 #: build/C/man1/memusagestat.1:26 build/C/man1/mtrace.1:26 #: build/C/man1/pldd.1:28 build/C/man7/rtld-audit.7:31 build/C/man8/sln.8:28 #: build/C/man1/sprof.1:28 #, no-wrap msgid "SYNOPSIS" msgstr "書式" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:32 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Elink.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n" "B<#include Elink.hE>\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:37 #, no-wrap msgid "" "B\n" "B< int (*>IB<) (struct dl_phdr_info *>IB<,>\n" "B< size_t >IB<, void *>IB<),>\n" "B< void *>IB<);>\n" msgstr "" "B\n" "B< int (*>IB<) (struct dl_phdr_info *>IB<,>\n" "B< size_t >IB<, void *>IB<),>\n" "B< void *>IB<);>\n" #. type: SH #: build/C/man3/dl_iterate_phdr.3:38 build/C/man3/dlopen.3:51 #: build/C/man5/elf.5:43 build/C/man3/end.3:35 build/C/man8/ld.so.8:18 #: build/C/man8/ldconfig.8:54 build/C/man1/ldd.1:19 build/C/man1/memusage.1:29 #: build/C/man1/memusagestat.1:28 build/C/man1/mtrace.1:28 #: build/C/man1/pldd.1:33 build/C/man7/rtld-audit.7:35 build/C/man8/sln.8:32 #: build/C/man1/sprof.1:33 #, no-wrap msgid "DESCRIPTION" msgstr "説明" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:43 msgid "" "The B() function allows an application to inquire at run " "time to find out which shared objects it has loaded." msgstr "" "B() 関数を使うと、アプリケーションは実行時に どの共有オブ" "ジェクトをロードしたかを見つけることができる。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:53 msgid "" "The B() function walks through the list of an " "application's shared objects and calls the function I once for " "each object, until either all shared objects have been processed or " "I returns a nonzero value." msgstr "" "B() 関数はアプリケーションの共有オブジェクトのリストを辿" "り、 各オブジェクトに対して関数 I を 1 回ずつ呼び出す。 これは全て" "の共有オブジェクトが処理されるか、 I が 0 以外の値を返すまで行われ" "る。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:70 msgid "" "Each call to I receives three arguments: I, which is a " "pointer to a structure containing information about the shared object; " "I, which is the size of the structure pointed to by I; and " "I, which is a copy of whatever value was passed by the calling program " "as the second argument (also named I) in the call to " "B()." msgstr "" "各々の I 呼び出しは 3 つの引き数を受け取る: I は共有オブジェ" "クトの情報を保持する構造体へのポインターである。 I は I で指され" "る構造体のサイズである。 I は呼び出し元プログラムから " "B() の呼び出しの (同じく I という名前の) 第 2 引き数" "として渡される値のコピーである。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:74 msgid "The I argument is a structure of the following type:" msgstr "I 引き数は、以下のような型の構造体である。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:86 #, no-wrap msgid "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* Base address of object */\n" " const char *dlpi_name; /* (Null-terminated) name of\n" " object */\n" " const ElfW(Phdr) *dlpi_phdr; /* Pointer to array of\n" " ELF program headers\n" " for this object */\n" " ElfW(Half) dlpi_phnum; /* # of items in I */\n" "};\n" msgstr "" "struct dl_phdr_info {\n" " ElfW(Addr) dlpi_addr; /* オブジェクトのベースアドレス */\n" " const char *dlpi_name; /* (ヌル文字で終端された)\n" " オブジェクト名 */\n" " const ElfW(Phdr) *dlpi_phdr; /* このオブジェクトの\n" " ELF プログラムヘッダーの\n" " 配列へのポインター */\n" " ElfW(Half) dlpi_phnum; /* I のアイテム数 */\n" "};\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:98 msgid "" "(The I() macro definition turns its argument into the name of an ELF " "data type suitable for the hardware architecture. For example, on a 32-bit " "platform, ElfW(Addr) yields the data type name Elf32_Addr. Further " "information on these types can be found in the Ielf.hE> and " "Ilink.hE> header files.)" msgstr "" "(I() マクロ定義は引き数をハードウェアアーキテクチャーに適した ELF デー" "タ型の名前に変換する。 たとえば、32 ビットプラットフォームでは ElfW(Addr) は" "データ型名 Elf32_Addr を生成する。 これらの型についての更に詳細な情報は、ヘッ" "ダーファイル Ielf.hE> と Ilink.hE> にある。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:109 msgid "" "The I field indicates the base address of the shared object (i." "e., the difference between the virtual memory address of the shared object " "and the offset of that object in the file from which it was loaded). The " "I field is a null-terminated string giving the pathname from " "which the shared object was loaded." msgstr "" "I フィールドは共有オブジェクトのベースアドレス (つまり、共有オブ" "ジェクトの仮想メモリーアドレスと、 ファイル (このファイルから共有オブジェクト" "がロードされる) における 共有オブジェクトのオフセットとの差分) を表す。 " "I はヌル文字で終端された文字列であり、 このパス名のファイルから共" "有オブジェクトがロードされる。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:124 msgid "" "To understand the meaning of the I and I fields, we " "need to be aware that an ELF shared object consists of a number of segments, " "each of which has a corresponding program header describing the segment. " "The I field is a pointer to an array of the program headers for " "this shared object. The I field indicates the size of this " "array." msgstr "" "I と I フィールドの意味を理解するには、 ELF 共有オブ" "ジェクトが幾つかのセグメントから構成されていることと、 各セグメントがそれに対" "応するプログラムヘッダー (そのセグメントを説明する) を持っていることを知って" "いる必要がある。 I フィールドは、この共有オブジェクトのプログラム" "ヘッダーの配列へのポインターである。 I は、この配列のサイズを表" "す。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:126 msgid "These program headers are structures of the following form:" msgstr "これらのプログラムヘッダーは以下のような形式の構造体である:" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:139 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Word p_type; /* Segment type */\n" " Elf32_Off p_offset; /* Segment file offset */\n" " Elf32_Addr p_vaddr; /* Segment virtual address */\n" " Elf32_Addr p_paddr; /* Segment physical address */\n" " Elf32_Word p_filesz; /* Segment size in file */\n" " Elf32_Word p_memsz; /* Segment size in memory */\n" " Elf32_Word p_flags; /* Segment flags */\n" " Elf32_Word p_align; /* Segment alignment */\n" "} Elf32_Phdr;\n" msgstr "" "typedef struct\n" "{\n" " Elf32_Word p_type; /* セグメントの型 */\n" " Elf32_Off p_offset; /* セグメントのファイルオフセット */\n" " Elf32_Addr p_vaddr; /* セグメントの仮想アドレス */\n" " Elf32_Addr p_paddr; /* セグメントの物理アドレス */\n" " Elf32_Word p_filesz; /* ファイルにおけるセグメントサイズ */\n" " Elf32_Word p_memsz; /* メモリーにおけるセグメントサイズ */\n" " Elf32_Word p_flags; /* セグメントフラグ */\n" " Elf32_Word p_align; /* セグメントの配置 (alignment) */\n" "} Elf32_Phdr;\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:145 msgid "" "Note that we can calculate the location of a particular program header, " "I, in virtual memory using the formula:" msgstr "" "特定のプログラムヘッダー I の仮想メモリーにおける位置は、以下の式で計算で" "きる点に注意すること:" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:148 #, no-wrap msgid " addr == info-Edlpi_addr + info-Edlpi_phdr[x].p_vaddr;\n" msgstr " addr == info-Edlpi_addr + info-Edlpi_phdr[x].p_vaddr;\n" #. type: SH #: build/C/man3/dl_iterate_phdr.3:149 #, no-wrap msgid "RETURN VALUE" msgstr "返り値" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:154 msgid "" "The B() function returns whatever value was returned by " "the last call to I." msgstr "" "B() 関数は最後の I の呼び出しで返された値を返す。" #. type: SH #: build/C/man3/dl_iterate_phdr.3:154 build/C/man1/pldd.1:50 #, no-wrap msgid "VERSIONS" msgstr "バージョン" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:157 msgid "B() has been supported in glibc since version 2.2.4." msgstr "" "B() は glibc のバージョン 2.2.4 以降でサポートされている。" #. type: SH #: build/C/man3/dl_iterate_phdr.3:157 build/C/man3/dlopen.3:381 #: build/C/man3/end.3:50 build/C/man1/pldd.1:53 build/C/man7/rtld-audit.7:461 #: build/C/man1/sprof.1:75 #, no-wrap msgid "CONFORMING TO" msgstr "準拠" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:161 msgid "" "The B() function is Linux-specific and should be avoided " "in portable applications." msgstr "" "B() 関数は Linux 固有であり、移植を考えたアプリケーションで" "は避けるべきである。" #. type: SH #: build/C/man3/dl_iterate_phdr.3:161 build/C/man3/dlopen.3:446 #: build/C/man3/end.3:76 build/C/man1/memusage.1:201 #: build/C/man1/memusagestat.1:81 build/C/man1/pldd.1:71 #: build/C/man7/rtld-audit.7:502 build/C/man1/sprof.1:79 #, no-wrap msgid "EXAMPLE" msgstr "例" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:166 msgid "" "The following program displays a list of pathnames of the shared objects it " "has loaded. For each shared object, the program lists the virtual addresses " "at which the object's ELF segments are loaded." msgstr "" "以下のプログラムは、共有オブジェクトがロードされた パス名の一覧を表示する。 " "各共有オブジェクトについて、このプログラムは オブジェクトの ELF セグメントが" "ロードされた 仮想アドレスの一覧を表示する。" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:172 #, no-wrap msgid "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" msgstr "" "#define _GNU_SOURCE\n" "#include Elink.hE\n" "#include Estdlib.hE\n" "#include Estdio.hE\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:177 #, no-wrap msgid "" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " int j;\n" msgstr "" "static int\n" "callback(struct dl_phdr_info *info, size_t size, void *data)\n" "{\n" " int j;\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:180 #, no-wrap msgid "" " printf(\"name=%s (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" msgstr "" " printf(\"name=%s (%d segments)\\en\", info-Edlpi_name,\n" " info-Edlpi_phnum);\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:186 #, no-wrap msgid "" " for (j = 0; j E info-Edlpi_phnum; j++)\n" " printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr));\n" " return 0;\n" "}\n" msgstr "" " for (j = 0; j E info-Edlpi_phnum; j++)\n" " printf(\"\\et\\et header %2d: address=%10p\\en\", j,\n" " (void *) (info-Edlpi_addr + info-Edlpi_phdr[j].p_vaddr));\n" " return 0;\n" "}\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:191 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " dl_iterate_phdr(callback, NULL);\n" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:194 build/C/man3/end.3:107 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: SH #: build/C/man3/dl_iterate_phdr.3:195 build/C/man3/dlopen.3:521 #: build/C/man5/elf.5:1939 build/C/man3/end.3:108 build/C/man8/ld.so.8:489 #: build/C/man8/ldconfig.8:175 build/C/man1/ldd.1:108 #: build/C/man1/memusage.1:271 build/C/man1/memusagestat.1:88 #: build/C/man1/mtrace.1:61 build/C/man1/pldd.1:91 #: build/C/man7/rtld-audit.7:602 build/C/man8/sln.8:60 #: build/C/man1/sprof.1:299 #, no-wrap msgid "SEE ALSO" msgstr "関連項目" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:202 msgid "" "B(1), B(1), B(1), B(3), B(5), B(8)" msgstr "" "B(1), B(1), B(1), B(3), B(5), B(8)" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:205 msgid "" "I, available at various " "locations online." msgstr "" "オンラインのいろいろな場所で入手できる I" #. type: SH #: build/C/man3/dl_iterate_phdr.3:205 build/C/man3/dlopen.3:531 #: build/C/man5/elf.5:1963 build/C/man3/end.3:113 build/C/man8/ld.so.8:505 #: build/C/man8/ldconfig.8:178 build/C/man1/ldd.1:113 #: build/C/man1/memusage.1:275 build/C/man1/memusagestat.1:91 #: build/C/man1/mtrace.1:64 build/C/man1/pldd.1:96 #: build/C/man7/rtld-audit.7:607 build/C/man8/sln.8:64 #: build/C/man1/sprof.1:303 #, no-wrap msgid "COLOPHON" msgstr "この文書について" #. type: Plain text #: build/C/man3/dl_iterate_phdr.3:213 build/C/man3/dlopen.3:539 #: build/C/man5/elf.5:1971 build/C/man3/end.3:121 build/C/man8/ld.so.8:513 #: build/C/man8/ldconfig.8:186 build/C/man1/ldd.1:121 #: build/C/man1/memusage.1:283 build/C/man1/memusagestat.1:99 #: build/C/man1/mtrace.1:72 build/C/man1/pldd.1:104 #: build/C/man7/rtld-audit.7:615 build/C/man8/sln.8:72 #: build/C/man1/sprof.1:311 #, fuzzy #| msgid "" #| "This page is part of release 3.78 of the Linux I project. A " #| "description of the project, information about reporting bugs, and the " #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/" #| "man-pages/." msgid "" "This page is part of release 3.79 of the Linux I project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%http://www.kernel.org/doc/man-" "pages/." msgstr "" "この man ページは Linux I プロジェクトのリリース 3.78 の一部\n" "である。プロジェクトの説明とバグ報告に関する情報は\n" "http://www.kernel.org/doc/man-pages/ に書かれている。" #. type: TH #: build/C/man3/dlopen.3:35 #, no-wrap msgid "DLOPEN" msgstr "DLOPEN" #. type: TH #: build/C/man3/dlopen.3:35 build/C/man1/ldd.1:14 #, no-wrap msgid "2014-10-02" msgstr "2014-10-02" #. type: TH #: build/C/man3/dlopen.3:35 build/C/man5/elf.5:35 build/C/man7/rtld-audit.7:28 #: build/C/man1/sprof.1:25 #, no-wrap msgid "Linux" msgstr "Linux" #. type: Plain text #: build/C/man3/dlopen.3:39 msgid "" "dladdr, dlclose, dlerror, dlopen, dlsym, dlvsym - programming interface to " "dynamic linking loader" msgstr "" "dlclose, dlerror, dlopen, dlsym - 動的リンクを行うローダーへの プログラミング" "インターフェース" #. type: Plain text #: build/C/man3/dlopen.3:41 msgid "B<#include Edlfcn.hE>" msgstr "B<#include Edlfcn.hE>" #. type: Plain text #: build/C/man3/dlopen.3:43 msgid "BIB<, int >IB<);>" msgstr "BIB<, int >IB<);>" #. type: Plain text #: build/C/man3/dlopen.3:45 msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/dlopen.3:47 msgid "BIB<, const char *>IB<);>" msgstr "BIB<, const char *>IB<);>" #. type: Plain text #: build/C/man3/dlopen.3:49 msgid "BIB<);>" msgstr "BIB<);>" #. type: Plain text #: build/C/man3/dlopen.3:51 msgid "Link with I<-ldl>." msgstr "I<-ldl> でリンクする。" #. type: Plain text #: build/C/man3/dlopen.3:58 msgid "" "The four functions B(), B(), B(), B() " "implement the interface to the dynamic linking loader." msgstr "" "B(), B(), B(), B() の 4つの関数は、動的リン" "ク (dynamic linking) を行うローダーへの インターフェースを実装したものであ" "る。" #. type: SS #: build/C/man3/dlopen.3:58 #, no-wrap msgid "dlerror()" msgstr "dlerror()" #. type: Plain text #: build/C/man3/dlopen.3:71 msgid "" "The function B() returns a human-readable string describing the " "most recent error that occurred from B(), B() or " "B() since the last call to B(). It returns NULL if no " "errors have occurred since initialization or since it was last called." msgstr "" "関数 B() は、前回 B() が呼び出された後に、 B(), " "B(), B() のいずれかで最後に発生したエラーについての説明メッ" "セージを返す。 初期化後または前回呼び出された後で、エラーが発生していなけれ" "ば NULL を返す。" #. type: SS #: build/C/man3/dlopen.3:71 #, no-wrap msgid "dlopen()" msgstr "dlopen()" #. type: Plain text #: build/C/man3/dlopen.3:89 msgid "" "The function B() loads the dynamic library file named by the null-" "terminated string I and returns an opaque \"handle\" for the " "dynamic library. If I is NULL, then the returned handle is for " "the main program. If I contains a slash (\"/\"), then it is " "interpreted as a (relative or absolute) pathname. Otherwise, the dynamic " "linker searches for the library as follows (see B(8) for further " "details):" msgstr "" "関数 B() は、ヌル終端された文字列 I で指定されたファイル名" "の動的ライブラリ (dynamic library) をロードし、 その動的ライブラリへの内部" "「ハンドル」を返す。 I が NULL の場合、メインプログラムへのハンドル" "が返される。 I がスラッシュ (\"/\") を含む場合、(相対か絶対かの)パ" "ス名として解釈される。 それ以外の場合、動的リンカーは以下の手順でライブラリを" "検索する (詳細は B(8) を参照):" #. type: IP #: build/C/man3/dlopen.3:89 build/C/man3/dlopen.3:93 build/C/man3/dlopen.3:100 #: build/C/man3/dlopen.3:104 build/C/man3/dlopen.3:111 build/C/man8/ld.so.8:56 #: build/C/man8/ld.so.8:61 build/C/man8/ld.so.8:66 build/C/man8/ld.so.8:70 #: build/C/man8/ld.so.8:80 #, no-wrap msgid "o" msgstr "o" #. type: Plain text #: build/C/man3/dlopen.3:93 msgid "" "(ELF only) If the executable file for the calling program contains a " "DT_RPATH tag, and does not contain a DT_RUNPATH tag, then the directories " "listed in the DT_RPATH tag are searched." msgstr "" "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RPATH タグが含まれてお" "り、 DT_RUNPATH タグが含まれていない場合、DT_RPATH タグに書かれている ディレ" "クトリリストを検索する。" #. type: Plain text #: build/C/man3/dlopen.3:100 msgid "" "If, at the time that the program was started, the environment variable " "B was defined to contain a colon-separated list of " "directories, then these are searched. (As a security measure this variable " "is ignored for set-user-ID and set-group-ID programs.)" msgstr "" "プログラムの開始時に環境変数 B にコロン区切りのディレクトリ" "のリストが定義されていれば、 この環境変数に定義されたディレクトリが検索され" "る (セキュリティ上の理由で、この変数は set-UID や set-GID された プログラムの" "場合は無視される)。" #. type: Plain text #: build/C/man3/dlopen.3:104 msgid "" "(ELF only) If the executable file for the calling program contains a " "DT_RUNPATH tag, then the directories listed in that tag are searched." msgstr "" "(ELF のみ) 呼び出し元プログラムの実行ファイルに DT_RUNPATH タグが含まれて い" "る場合、そのタグに書かれているディレクトリリストを検索する。" #. type: Plain text #: build/C/man3/dlopen.3:111 msgid "" "The cache file I (maintained by B(8)) is " "checked to see whether it contains an entry for I." msgstr "" "キャッシュファイル I の中に I のエントリーが入っ" "ているかをチェックする (B は B(8) によって管理さ" "れている)。" #. type: Plain text #: build/C/man3/dlopen.3:117 msgid "The directories I and I are searched (in that order)." msgstr "ディレクトリ I と I をこの順番で検索する。" #. type: Plain text #: build/C/man3/dlopen.3:123 msgid "" "If the library has dependencies on other shared libraries, then these are " "also automatically loaded by the dynamic linker using the same rules. (This " "process may occur recursively, if those libraries in turn have dependencies, " "and so on.)" msgstr "" "そのライブラリが他の共有ライブラリに依存している場合は、 依存しているライブラ" "リも動的リンカーが同じ検索ルールに基づいて 自動的にロードする (それらのライブ" "ラリにさらに依存関係がある場合などは この処理は再帰的に行われる)。" #. type: Plain text #: build/C/man3/dlopen.3:126 msgid "One of the following two values must be included in I:" msgstr "I には以下の 2 つの値のいずれかを含めなければならない:" #. type: TP #: build/C/man3/dlopen.3:126 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/dlopen.3:134 msgid "" "Perform lazy binding. Only resolve symbols as the code that references them " "is executed. If the symbol is never referenced, then it is never resolved. " "(Lazy binding is performed only for function references; references to " "variables are always immediately bound when the library is loaded.)" msgstr "" "lazy binding (手抜きなシンボルの結び付け) が行う。 シンボルの解決はそのシンボ" "ルを参照するコードが実行されるときにのみ 行われる。シンボルが一度も参照されな" "かった場合には、そのシンボルは 解決されないままとなる。 (lazy binding は関数" "参照についてのみ実施される; 変数への参照は常に ライブラリがロードされた時点で" "直ちに解決される。)" #. type: TP #: build/C/man3/dlopen.3:134 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/dlopen.3:143 msgid "" "If this value is specified, or the environment variable B is " "set to a nonempty string, all undefined symbols in the library are resolved " "before B() returns. If this cannot be done, an error is returned." msgstr "" "この値が指定されるか、環境変数 B に空でない文字列が設定された場" "合、 ライブラリ中の未定義のシンボルを全て解決してから B() は復帰す" "る。解決できなかったときにはエラーが返される。" #. type: Plain text #: build/C/man3/dlopen.3:146 msgid "Zero or more of the following values may also be ORed in I:" msgstr "" "以下の値のうち 0 個以上を論理和 (OR) の形で I に追加することもできる:" #. type: TP #: build/C/man3/dlopen.3:146 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/dlopen.3:150 msgid "" "The symbols defined by this library will be made available for symbol " "resolution of subsequently loaded libraries." msgstr "" "このライブラリで定義されているシンボルが、これより後でロードされる ライブラリ" "のシンボル解決で利用できるようになる。" #. type: TP #: build/C/man3/dlopen.3:150 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man3/dlopen.3:157 msgid "" "This is the converse of B, and the default if neither flag is " "specified. Symbols defined in this library are not made available to " "resolve references in subsequently loaded libraries." msgstr "" "このフラグは B の反対の意味であり、どちらのフラグも指定されな" "かった場合は こちらがデフォルトとなる。 このライブラリで定義されているシンボ" "ルは、これより後でロードされる ライブラリでのシンボル参照で利用できない。" #. type: TP #: build/C/man3/dlopen.3:157 #, no-wrap msgid "B (since glibc 2.2)" msgstr "B (glibc 2.2 以降)" #. (But it is present on Solaris.) #. type: Plain text #: build/C/man3/dlopen.3:167 msgid "" "Do not unload the library during B(). Consequently, the library's " "static variables are not reinitialized if the library is reloaded with " "B() at a later time. This flag is not specified in POSIX.1-2001." msgstr "" "B() 中にそのライブラリをアンロードしない。 そのため、同じライブラリ" "をこれ以降に B() で再度ロードした場合に、ライブラリ内の静的変数は再" "初期化されない。 このフラグは POSIX.1-2001 では規定されていない。" #. type: TP #: build/C/man3/dlopen.3:167 #, no-wrap msgid "B (since glibc 2.2)" msgstr "B (glibc 2.2 以降)" #. (But it is present on Solaris.) #. type: Plain text #: build/C/man3/dlopen.3:182 msgid "" "Don't load the library. This can be used to test if the library is already " "resident (B() returns NULL if it is not, or the library's handle if " "it is resident). This flag can also be used to promote the flags on a " "library that is already loaded. For example, a library that was previously " "loaded with B can be reopened with B. This flag is not specified in POSIX.1-2001." msgstr "" "そのライブラリをロードしない。 このフラグはそのライブラリがすでに組み込まれて" "いるかを検査するのに 利用できる (B() は、ライブラリが組み込まれてい" "なければ NULL を返し、 すでに組み込まれていればそのライブラリのハンドルを返" "す)。 また、すでにロードされているライブラリのフラグを昇格させるのにも 利用で" "きる。例えば、過去に B でロードしたライブラリを B で再オープンすることができる。 このフラグは POSIX.1-2001 では" "規定されていない。" #. type: TP #: build/C/man3/dlopen.3:182 #, no-wrap msgid "B (since glibc 2.3.4)" msgstr "B (glibc 2.3.4 以降)" #. Inimitably described by UD in #. http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html. #. type: Plain text #: build/C/man3/dlopen.3:192 msgid "" "Place the lookup scope of the symbols in this library ahead of the global " "scope. This means that a self-contained library will use its own symbols in " "preference to global symbols with the same name contained in libraries that " "have already been loaded. This flag is not specified in POSIX.1-2001." msgstr "" "このライブラリ内のシンボルの参照領域をグローバル領域よりも前に配置する。 つま" "り、内蔵型のライブラリでは、すでにロードされたライブラリに含まれる 同じ名前の" "グローバルなシンボルよりも自ライブラリ内のシンボルが優先して 使われる。 この" "フラグは POSIX.1-2001 では規定されていない。" #. type: Plain text #: build/C/man3/dlopen.3:204 msgid "" "If I is NULL, then the returned handle is for the main program. " "When given to B(), this handle causes a search for a symbol in the " "main program, followed by all shared libraries loaded at program startup, " "and then all shared libraries loaded by B() with the flag " "B." msgstr "" "I が NULL である場合は、 返されるハンドルはメインプログラムのものに" "なる。 このハンドルが B() に渡されると、シンボルの検索は、メインプロ" "グラム内、 プログラムの起動時にロードされる全ての共有ライブラリ、 " "B() によって B フラグ付きでロードされた全ての共有ライブ" "ラリ、の順序で行われる。" #. type: Plain text #: build/C/man3/dlopen.3:214 msgid "" "External references in the library are resolved using the libraries in that " "library's dependency list and any other libraries previously opened with the " "B flag. If the executable was linked with the flag \"-rdynamic" "\" (or, synonymously, \"--export-dynamic\"), then the global symbols in the " "executable will also be used to resolve references in a dynamically loaded " "library." msgstr "" "オープンされたライブラリ中での外部参照は、 そのライブラリの依存リストにあるラ" "イブラリか、 B フラグ付きで既にオープンされているライブラリを" "使って解決される。 実行ファイルが \"-rdynamic\" フラグ (\"--export-dynamic\" " "も同義) 付きでリンクされている場合は、実行ファイル中のグローバルシンボル" "も、 動的にロードされるライブラリ内の参照解決に用いられる。" #. type: Plain text #: build/C/man3/dlopen.3:232 msgid "" "If the same library is loaded again with B(), the same library " "handle is returned. The dl library maintains reference counts for library " "handles, so a dynamic library is not deallocated until B() has " "been called on it as many times as B() has succeeded on it. The " "B<_init>() routine, if present, is called only once. But a subsequent call " "with B may force symbol resolution for a library earlier loaded " "with B." msgstr "" "同じライブラリが B() によって再度ロードされた場合には、同じライブラ" "リハンドルが返される。 dl ライブラリはライブラリハンドルのリンク数を管理して" "いる。 したがって動的ライブラリは B() が B() と同じ回数だ" "け呼び出されない限りアンロードされない。 B<_init>() ルーチンは一度だけ呼び出" "される (B<_init>() が存在する場合のみ)。 B が指定されて " "B() が呼び出された場合、 B で以前にロードされたライブラリ" "のシンボル解決が実行されることがある。" #. type: Plain text #: build/C/man3/dlopen.3:236 msgid "If B() fails for any reason, it returns NULL." msgstr "B() は、何らかの理由で失敗すると NULL を返す。" #. type: SS #: build/C/man3/dlopen.3:236 #, no-wrap msgid "dlsym()" msgstr "dlsym()" #. type: Plain text #: build/C/man3/dlopen.3:265 msgid "" "The function B() takes a \"handle\" of a dynamic library returned by " "B() and the null-terminated symbol name, returning the address " "where that symbol is loaded into memory. If the symbol is not found, in the " "specified library or any of the libraries that were automatically loaded by " "B() when that library was loaded, B() returns NULL. (The " "search performed by B() is breadth first through the dependency tree " "of these libraries.) Since the value of the symbol could actually be NULL " "(so that a NULL return from B() need not indicate an error), the " "correct way to test for an error is to call B() to clear any old " "error conditions, then call B(), and then call B() again, " "saving its return value into a variable, and check whether this saved value " "is not NULL." msgstr "" "関数 B() は、 B() が返した動的ライブラリの「ハンドル」と、 " "NULL 終端されたシンボル名の文字列を引き数に取り、 そのシンボルがロードされた" "メモリーのアドレスを返す。 シンボルが、指定されたライブラリと、指定されたライ" "ブラリがロードされる際に B() が自動的にロードしてライブラリのいずれ" "にも見つからない場合には、 B() は NULL を返す (B() による検索" "は、これらのライブラリの依存関係のツリーを先頭から 辿って行われる)。 実際には" "シンボルの値自体が NULL になることもある (そのため、 B() の返り値が " "NULL であったとしても必ずしもエラーという訳ではない)。 エラーかどうかを確認す" "る正しい方法は以下の通りである: B() を呼び出して以前のエラー状態を" "クリアしてから、 B() を呼び出す。その後でもう一度 B() を呼" "び出して、 B() の返り値を変数に保存し、保存した値が NULL であるか判" "定する。" #. type: Plain text #: build/C/man3/dlopen.3:277 msgid "" "There are two special pseudo-handles, B and B. The " "former will find the first occurrence of the desired symbol using the " "default library search order. The latter will find the next occurrence of a " "function in the search order after the current library. This allows one to " "provide a wrapper around a function in another shared library." msgstr "" "B と B という二つの特別な擬似ハンドルがある。 " "B は、デフォルトのライブラリ検索順序にしたがって、 検索対象のシ" "ンボルが最初に現れるところを探す。 B は、ライブラリ検索順序の中で" "現在のライブラリ以降で最初に 関数が現れるところを探す。この機能を使うことで、" "別の共有ライブラリの 関数へのラッパーを提供することができる。" #. type: SS #: build/C/man3/dlopen.3:277 #, no-wrap msgid "dlclose()" msgstr "dlclose()" #. type: Plain text #: build/C/man3/dlopen.3:284 msgid "" "The function B() decrements the reference count on the dynamic " "library handle I. If the reference count drops to zero and no other " "loaded libraries use symbols in it, then the dynamic library is unloaded." msgstr "" "関数 B() は動的ライブラリのハンドル I の参照カウントを 1 減" "らす。参照カウントが 0 になり、ロードされている 他のライブラリからそのライブ" "ラリ内のシンボルが使われていなければ、 その動的ライブラリをアンロードする。" #. type: Plain text #: build/C/man3/dlopen.3:288 msgid "The function B() returns 0 on success, and nonzero on error." msgstr "" "関数 B() は、成功した場合は 0 を返し、エラーの場合 0 以外を返す。" #. type: SS #: build/C/man3/dlopen.3:288 #, no-wrap msgid "The obsolete symbols _init() and _fini()" msgstr "廃止されたシンボル _init() と _fini()" #. type: Plain text #: build/C/man3/dlopen.3:306 msgid "" "The linker recognizes special symbols B<_init> and B<_fini>. If a dynamic " "library exports a routine named B<_init>(), then that code is executed after " "the loading, before B() returns. If the dynamic library exports a " "routine named B<_fini>(), then that routine is called just before the " "library is unloaded. In case you need to avoid linking against the system " "startup files, this can be done by using the B(1) I<-nostartfiles> " "command-line option." msgstr "" "リンカーは B<_init> と B<_fini> を特別なシンボルと解釈する。 ある動的ライブラ" "リで B<_init>() という名前のルーチンがエクスポートされていれば、 そのコード" "は、ライブラリのロード後、かつ B() が復帰する前に実行される。 その動" "的ライブラリで B<_fini>() という名前のルーチンがエクスポートされていれば、 " "ライブラリがアンロードされる直前にそのルーチンが呼び出される。 システムの起動" "ファイルに対するリンクを避ける必要がある場合、 B(1) のコマンドラインに " "I<-nostartfiles> オプションを指定すればよい。" #. void _init(void) __attribute__((constructor)); #. void _fini(void) __attribute__((destructor)); #. type: Plain text #: build/C/man3/dlopen.3:317 msgid "" "Using these routines, or the gcc B<-nostartfiles> or B<-nostdlib> options, " "is not recommended. Their use may result in undesired behavior, since the " "constructor/destructor routines will not be executed (unless special " "measures are taken)." msgstr "" "このルーチンや、gcc のオプション B<-nostartfiles> や B<-nostdlib> は使用しな" "いことを推奨する。 これらを使うと、望ましくない動作をすることがある。 なぜな" "ら、(特別な措置が行われない限り) これらの constructor/destructor ルーチンは実" "行されないからである。" #. type: Plain text #: build/C/man3/dlopen.3:329 msgid "" "Instead, libraries should export routines using the " "B<__attribute__((constructor))> and B<__attribute__((destructor))> function " "attributes. See the gcc info pages for information on these. Constructor " "routines are executed before B() returns, and destructor routines " "are executed before B() returns." msgstr "" "代わりに、ライブラリは B<__attribute__((constructor))> や " "B<__attribute__((destructor))> の関数属性を使って必要なルーチンをエクスポート" "するのがよい。 これらについては gcc の info ページを参照のこと。 constructor " "ルーチンは B() が復帰する前に実行され、 destructor ルーチンは " "B() が復帰する前に実行される。" #. type: SS #: build/C/man3/dlopen.3:329 #, no-wrap msgid "Glibc extensions: dladdr() and dlvsym()" msgstr "GNU での拡張: dladdr() と dlvsym()" #. type: Plain text #: build/C/man3/dlopen.3:331 msgid "Glibc adds two functions not described by POSIX, with prototypes" msgstr "" "glibc では POSIX には記載されていない関数が 2つ追加されている。 プロトタイプ" "は以下の通りである。" #. type: Plain text #: build/C/man3/dlopen.3:335 #, no-wrap msgid "" "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n" "B<#include Edlfcn.hE>\n" msgstr "" "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n" "B<#include Edlfcn.hE>\n" #. type: Plain text #: build/C/man3/dlopen.3:337 #, no-wrap msgid "BIB<, Dl_info *>IB<);>\n" msgstr "BIB<, Dl_info *>IB<);>\n" #. type: Plain text #: build/C/man3/dlopen.3:339 #, no-wrap msgid "BIB<, char *>IB<, char *>IB<);>\n" msgstr "BIB<, char *>IB<, char *>IB<);>\n" #. type: Plain text #: build/C/man3/dlopen.3:348 msgid "" "The function B() takes a function pointer and tries to resolve name " "and file where it is located. Information is stored in the I " "structure:" msgstr "" "関数 B() は、関数のポインターを引き数にとり、関数の名前と関数が定義" "されている ファイルの解決を試みる。情報は I 構造体に格納される。" #. type: Plain text #: build/C/man3/dlopen.3:361 #, no-wrap msgid "" "typedef struct {\n" " const char *dli_fname; /* Pathname of shared object that\n" " contains address */\n" " void *dli_fbase; /* Address at which shared object\n" " is loaded */\n" " const char *dli_sname; /* Name of symbol whose definition\n" " overlaps I */\n" " void *dli_saddr; /* Exact address of symbol named\n" " in I */\n" "} Dl_info;\n" msgstr "" "typedef struct {\n" " const char *dli_fname; /* Pathname of shared object that\n" " contains address */\n" " void *dli_fbase; /* Address at which shared object\n" " is loaded */\n" " const char *dli_sname; /* Name of symbol whose definition\n" " overlaps I */\n" " void *dli_saddr; /* Exact address of symbol named\n" " in I */\n" "} Dl_info;\n" #. type: Plain text #: build/C/man3/dlopen.3:371 msgid "" "If no symbol matching I could be found, then I and " "I are set to NULL." msgstr "" "I にマッチするシンボルが見つからなかった場合、 I と " "I は NULL にセットされる。" #. type: Plain text #: build/C/man3/dlopen.3:374 msgid "B() returns 0 on error, and nonzero on success." msgstr "B() は、エラー時には 0 を返し、成功した場合は 0 以外を返す。" #. type: Plain text #: build/C/man3/dlopen.3:381 msgid "" "The function B(), provided by glibc since version 2.1, does the same " "as B() but takes a version string as an additional argument." msgstr "" "関数 B() は B() と同じ動作をするが、バージョンの文字列を渡す" "引き数が 追加されている点が異なる (B() はバージョン 2.1 以降の " "glibc で提供されている)。" #. type: Plain text #: build/C/man3/dlopen.3:388 msgid "" "POSIX.1-2001 describes B(), B(), B(), and " "B()." msgstr "" "POSIX.1-2003 には B(), B(), B(), B(). の記" "載がある。" #. type: SH #: build/C/man3/dlopen.3:388 build/C/man5/elf.5:1912 build/C/man3/end.3:53 #: build/C/man8/ld.so.8:483 build/C/man1/pldd.1:84 #: build/C/man7/rtld-audit.7:467 #, no-wrap msgid "NOTES" msgstr "注意" #. .LP #. The string returned by #. .BR dlerror () #. should not be modified. #. Some systems give the prototype as #. .sp #. .in +5 #. .B "const char *dlerror(void);" #. .in #. type: Plain text #: build/C/man3/dlopen.3:407 msgid "" "The symbols B and B are defined by Idlfcn." "hE> only when B<_GNU_SOURCE> was defined before including it." msgstr "" "シンボル B と B は Idlfcn.hE> で定義されて" "おり、 Idlfcn.hE> のインクルード前に B<_GNU_SOURCE> が定義されてい" "る場合のみ有効となる。" #. type: Plain text #: build/C/man3/dlopen.3:412 msgid "" "Since glibc 2.2.3, B(3) can be used to register an exit handler " "that is automatically called when a library is unloaded." msgstr "" "glibc 2.2.3 以降では、 B(3) を使って、ライブラリがアンロードされる際" "に自動的に呼び出される 終了ハンドラー (exit handler) を登録することができる。" #. type: SS #: build/C/man3/dlopen.3:412 #, no-wrap msgid "History" msgstr "歴史" #. type: Plain text #: build/C/man3/dlopen.3:418 msgid "" "The dlopen interface standard comes from SunOS. That system also has " "B(), but not B()." msgstr "" "dlopen インターフェースの標準は SunOS をもとにしている。 SunOS には " "B() もあったが、 B() はなかった。" #. type: SH #: build/C/man3/dlopen.3:418 build/C/man1/ldd.1:91 build/C/man1/memusage.1:267 #: build/C/man1/memusagestat.1:84 build/C/man1/mtrace.1:58 #: build/C/man7/rtld-audit.7:492 #, no-wrap msgid "BUGS" msgstr "バグ" #. type: Plain text #: build/C/man3/dlopen.3:430 msgid "" "Sometimes, the function pointers you pass to B() may surprise you. " "On some architectures (notably i386 and x86_64), I and " "I may end up pointing back at the object from which you called " "B(), even if the function used as an argument should come from a " "dynamically linked library." msgstr "" "時として、 B() に渡した関数ポインターは驚くような値になることがあ" "る。 いくつかのアーキテクチャー (特に i386 と x86_64) では、 引き数として使用" "した関数が動的リンクライブラリで定義されるもので あったとしても、 " "I と I が B() を呼び出したオブジェクトを参照し" "た状態で終わっていることがある。" #. type: Plain text #: build/C/man3/dlopen.3:446 msgid "" "The problem is that the function pointer will still be resolved at compile " "time, but merely point to the I (Procedure Linkage Table) section of " "the original object (which dispatches the call after asking the dynamic " "linker to resolve the symbol). To work around this, you can try to compile " "the code to be position-independent: then, the compiler cannot prepare the " "pointer at compile time anymore and today's B(1) will generate code " "that just loads the final symbol address from the I (Global Offset " "Table) at run time before passing it to B()." msgstr "" "問題は、関数ポインターの解決は今なおコンパイル時に行われるが、 そのポインター" "は元のオブジェクトの I (Procedure Linkage Table) セクションを指している" "だけだという点にある (オブジェクト自体は、ダイナミックリンカーによってシンボ" "ルの解決が行われた後に、 関数の呼び出しを行う)。 これに対処する方法として" "は、 コードを position-independent でコンパイルするという方法がある。 そうす" "ると、コンパイラはコンパイル時にポインターを用意することができず、 今日の " "B(1) では、実行時に B() に関数ポインターを渡す前に、 I " "(Global Offset Table) から最終的なシンボルのアドレスをロードするだけの コード" "が生成される。" #. type: Plain text #: build/C/man3/dlopen.3:448 msgid "Load the math library, and print the cosine of 2.0:" msgstr "math ライブラリをロードし、2.0 の余弦を表示する" #. type: Plain text #: build/C/man3/dlopen.3:453 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Edlfcn.hE\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Edlfcn.hE\n" #. type: Plain text #: build/C/man3/dlopen.3:460 #, no-wrap msgid "" "int\n" "main(int argc, char **argv)\n" "{\n" " void *handle;\n" " double (*cosine)(double);\n" " char *error;\n" msgstr "" "int\n" "main(int argc, char **argv)\n" "{\n" " void *handle;\n" " double (*cosine)(double);\n" " char *error;\n" #. type: Plain text #: build/C/man3/dlopen.3:466 #, no-wrap msgid "" " handle = dlopen(\"libm.so\", RTLD_LAZY);\n" " if (!handle) {\n" " fprintf(stderr, \"%s\\en\", dlerror());\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " handle = dlopen(\"libm.so\", RTLD_LAZY);\n" " if (!handle) {\n" " fprintf(stderr, \"%s\\en\", dlerror());\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/dlopen.3:468 #, no-wrap msgid " dlerror(); /* Clear any existing error */\n" msgstr " dlerror(); /* Clear any existing error */\n" #. type: Plain text #: build/C/man3/dlopen.3:470 #, no-wrap msgid " cosine = (double (*)(double)) dlsym(handle, \"cos\");\n" msgstr " cosine = (double (*)(double)) dlsym(handle, \"cos\");\n" #. type: Plain text #: build/C/man3/dlopen.3:475 #, no-wrap msgid "" " /* According to the ISO C standard, casting between function\n" " pointers and 'void *', as done above, produces undefined results.\n" " POSIX.1-2003 and POSIX.1-2008 accepted this state of affairs and\n" " proposed the following workaround:\n" msgstr "" " /* ISO の C 標準によれば、上のような、関数ポインターと 'void *' 間の\n" " キャストを行った場合に得られる結果は不定である。\n" " POSIX.1-2003 と POSIX.1-2008 では、この状況は認められており、\n" " 以下のようなワークアラウンドが提案されている。\n" #. type: Plain text #: build/C/man3/dlopen.3:477 #, no-wrap msgid " *(void **) (&cosine) = dlsym(handle, \"cos\");\n" msgstr " *(void **) (&cosine) = dlsym(handle, \"cos\");\n" #. type: Plain text #: build/C/man3/dlopen.3:480 #, no-wrap msgid "" " This (clumsy) cast conforms with the ISO C standard and will\n" " avoid any compiler warnings.\n" msgstr "" " この (ぶかっこうな) キャストは ISO の C 標準に従っており、\n" " コンパイラの警告を避けることができる。\n" #. http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08 #. http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07 #. http://austingroupbugs.net/view.php?id=74 #. type: Plain text #: build/C/man3/dlopen.3:489 #, no-wrap msgid "" " The 2013 Technical Corrigendum to POSIX.1-2008 (a.k.a.\n" " POSIX.1-2013) improved matters by requiring that conforming\n" " implementations support casting 'void *' to a function pointer.\n" " Nevertheless, some compilers (e.g., gcc with the '-pedantic'\n" " option) may complain about the cast used in this program. */\n" msgstr "" " POSIX.1-2008 の 2013 Technical Corrigendum (別名 POSIX.1-2013)\n" " では、 POSIX に準拠する実装では 'void *' から関数ポインターへの\n" " キャストをサポートすることが要求されるようになり、状況が改善\n" " された。にもかかわらず、('-pedantic' オプションを指定した gcc\n" " などの) いくつかのコンパイラは、このプログラムで使用されている\n" " キャストについて文句を言うのだ。\n" #. type: Plain text #: build/C/man3/dlopen.3:495 #, no-wrap msgid "" " error = dlerror();\n" " if (error != NULL) {\n" " fprintf(stderr, \"%s\\en\", error);\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " error = dlerror();\n" " if (error != NULL) {\n" " fprintf(stderr, \"%s\\en\", error);\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: build/C/man3/dlopen.3:500 #, no-wrap msgid "" " printf(\"%f\\en\", (*cosine)(2.0));\n" " dlclose(handle);\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " printf(\"%f\\en\", (*cosine)(2.0));\n" " dlclose(handle);\n" " exit(EXIT_SUCCESS);\n" "}\n" #. type: Plain text #: build/C/man3/dlopen.3:504 msgid "" "If this program were in a file named \"foo.c\", you would build the program " "with the following command:" msgstr "" "このプログラムを \"foo.c\" に書いたとすると、以下のコマンドでプログラムを ビ" "ルドできる。" #. type: Plain text #: build/C/man3/dlopen.3:507 #, no-wrap msgid " gcc -rdynamic -o foo foo.c -ldl\n" msgstr " gcc -rdynamic -o foo foo.c -ldl\n" #. type: Plain text #: build/C/man3/dlopen.3:517 msgid "" "Libraries exporting B<_init>() and B<_fini>() will want to be compiled as " "follows, using I as the example name:" msgstr "" "B<_init>() と B<_fini>() をエクスポートするライブラリの場合は 以下のように" "してコンパイルする必要がある。 例として I をコンパイルする場合:" #. type: Plain text #: build/C/man3/dlopen.3:520 #, no-wrap msgid " gcc -shared -nostartfiles -o bar bar.c\n" msgstr " gcc -shared -nostartfiles -o bar bar.c\n" #. type: Plain text #: build/C/man3/dlopen.3:529 msgid "" "B(1), B(1), B(1), B(3), B(7), " "B(8), B(8)" msgstr "" "B(1), B(1), B(1), B(3), B(7), " "B(8), B(8)" #. type: Plain text #: build/C/man3/dlopen.3:531 msgid "ld.so info pages, gcc info pages, ld info pages" msgstr "ld.so info pages, gcc info pages, ld info pages" #. type: TH #: build/C/man5/elf.5:35 #, no-wrap msgid "ELF" msgstr "ELF" #. type: TH #: build/C/man5/elf.5:35 #, no-wrap msgid "2013-04-17" msgstr "2013-04-17" #. type: Plain text #: build/C/man5/elf.5:38 msgid "elf - format of Executable and Linking Format (ELF) files" msgstr "elf - 実行可能リンクフォーマット (ELF) ファイルのフォーマット" #. .B #include #. type: Plain text #: build/C/man5/elf.5:42 #, no-wrap msgid "B<#include Eelf.hE>\n" msgstr "B<#include Eelf.hE>\n" #. type: Plain text #: build/C/man5/elf.5:50 msgid "" "The header file Ielf.hE> defines the format of ELF executable " "binary files. Amongst these files are normal executable files, relocatable " "object files, core files and shared libraries." msgstr "" "ヘッダーファイル Ielf.hE> は ELF 実行可能バイナリファイルのフォー" "マットを定義する。 これらのファイルとしては、通常の実行可能ファイル・ 再配置" "可能オブジェクトファイル・コアファイル・共有ライブラリがある。" #. type: Plain text #: build/C/man5/elf.5:59 msgid "" "An executable file using the ELF file format consists of an ELF header, " "followed by a program header table or a section header table, or both. The " "ELF header is always at offset zero of the file. The program header table " "and the section header table's offset in the file are defined in the ELF " "header. The two tables describe the rest of the particularities of the file." msgstr "" "ELF ファイルフォーマットを使う実行可能ファイルは、 ELF ヘッダーの後にプログラ" "ムヘッダーテーブルまたは セクションヘッダーテーブル (またはその両方) が続く構" "成である。 ELF ヘッダーは常にファイルのオフセット 0 にある。 プログラムヘッ" "ダーテーブルとセクションヘッダーテーブルの ファイル内でのオフセットは、ELF " "ヘッダーに定義されている。 この 2 つのテーブルはファイルの残りの部分の詳細を" "記述する。" #. Applications which wish to process ELF binary files for their native #. architecture only should include #. .I #. in their source code. #. These applications should need to refer to #. all the types and structures by their generic names #. "Elf_xxx" #. and to the macros by #. ELF_xxx". #. Applications written this way can be compiled on any architecture, #. regardless of whether the host is 32-bit or 64-bit. #. .PP #. Should an application need to process ELF files of an unknown #. architecture, then the application needs to explicitly use either #. "Elf32_xxx" #. or #. "Elf64_xxx" #. type and structure names. #. Likewise, the macros need to be identified by #. "ELF32_xxx" #. or #. "ELF64_xxx". #. .PP #. type: Plain text #: build/C/man5/elf.5:86 msgid "" "This header file describes the above mentioned headers as C structures and " "also includes structures for dynamic sections, relocation sections and " "symbol tables." msgstr "" "このヘッダーファイルは上記のヘッダーを C 言語の構造体で記述し、 また動的セク" "ション・再配置可能セクション・シンボルテーブルの構造体も 含んでいる。" #. type: Plain text #: build/C/man5/elf.5:98 msgid "" "The following types are used for N-bit architectures (N=32,64, I " "stands for I or I, I stands for I or " "I):" msgstr "" "以下の型は N ビットアーキテクチャーで使われる (N=32,64 であり I は " "I または I を表し、 I は I または " "I を表す):" #. Elf32_Size Unsigned object size #. type: Plain text #: build/C/man5/elf.5:112 #, no-wrap msgid "" "ElfN_Addr Unsigned program address, uintN_t\n" "ElfN_Off Unsigned file offset, uintN_t\n" "ElfN_Section Unsigned section index, uint16_t\n" "ElfN_Versym Unsigned version symbol information, uint16_t\n" "Elf_Byte unsigned char\n" "ElfN_Half uint16_t\n" "ElfN_Sword int32_t\n" "ElfN_Word uint32_t\n" "ElfN_Sxword int64_t\n" "ElfN_Xword uint64_t\n" msgstr "" "ElfN_Addr 符号なしのプログラムアドレス, uintN_t\n" "ElfN_Off 符号なしのファイルオフセット, uintN_t\n" "ElfN_Section 符号なしのセクションインデックス, uint16_t\n" "ElfN_Versym 符号なしのバージョンシンボル情報, uint16_t\n" "Elf_Byte unsigned char\n" "ElfN_Half uint16_t\n" "ElfN_Sword int32_t\n" "ElfN_Word uint32_t\n" "ElfN_Sxword int64_t\n" "ElfN_Xword uint64_t\n" #. type: Plain text #: build/C/man5/elf.5:127 msgid "" "(Note: The *BSD terminology is a bit different. There I is " "twice as large as I, and I is used for " "I. In order to avoid confusion these types are replaced by " "explicit ones in the below.)" msgstr "" "(注意: *BSD での用語は少し異なる。 I は I の 2 倍であ" "り、 I が I に用いられる。 混乱を避けるため、以下で" "は、これらの型はサイズが自明な型に置き換えてある。)" #. type: Plain text #: build/C/man5/elf.5:134 msgid "" "All data structures that the file format defines follow the \"natural\" size " "and alignment guidelines for the relevant class. If necessary, data " "structures contain explicit padding to ensure 4-byte alignment for 4-byte " "objects, to force structure sizes to a multiple of 4, and so on." msgstr "" "このファイルフォーマットが定義する全てのデータ構造体は、 関連するクラスの " "\"自然な\" サイズと配置の指針に従う。 必要な場合、データ構造体では明示的なパ" "ディング (padding, 詰め込み) が行なわれる。これは 4 バイトオブジェクトに対す" "る 4 バイト配置を保証するためや、 構造体のサイズを 4 の倍数にするためなどであ" "る。" #. type: Plain text #: build/C/man5/elf.5:139 msgid "The ELF header is described by the type I or I:" msgstr "ELF ヘッダーは型 I または I で記述される:" #. type: Plain text #: build/C/man5/elf.5:143 #, no-wrap msgid "#define EI_NIDENT 16\n" msgstr "#define EI_NIDENT 16\n" #. type: Plain text #: build/C/man5/elf.5:160 #, no-wrap msgid "" "typedef struct {\n" " unsigned char e_ident[EI_NIDENT];\n" " uint16_t e_type;\n" " uint16_t e_machine;\n" " uint32_t e_version;\n" " ElfN_Addr e_entry;\n" " ElfN_Off e_phoff;\n" " ElfN_Off e_shoff;\n" " uint32_t e_flags;\n" " uint16_t e_ehsize;\n" " uint16_t e_phentsize;\n" " uint16_t e_phnum;\n" " uint16_t e_shentsize;\n" " uint16_t e_shnum;\n" " uint16_t e_shstrndx;\n" "} ElfN_Ehdr;\n" msgstr "" "typedef struct {\n" " unsigned char e_ident[EI_NIDENT];\n" " uint16_t e_type;\n" " uint16_t e_machine;\n" " uint32_t e_version;\n" " ElfN_Addr e_entry;\n" " ElfN_Off e_phoff;\n" " ElfN_Off e_shoff;\n" " uint32_t e_flags;\n" " uint16_t e_ehsize;\n" " uint16_t e_phentsize;\n" " uint16_t e_phnum;\n" " uint16_t e_shentsize;\n" " uint16_t e_shnum;\n" " uint16_t e_shstrndx;\n" "} ElfN_Ehdr;\n" #. .Bl -tag -width "e_phentsize" #. type: Plain text #: build/C/man5/elf.5:165 msgid "The fields have the following meanings:" msgstr "フィールドは以下の意味を持つ:" #. type: TP #: build/C/man5/elf.5:165 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:175 msgid "" "This array of bytes specifies to interpret the file, independent of the " "processor or the file's remaining contents. Within this array everything is " "named by macros, which start with the prefix B and may contain values " "which start with the prefix B. The following macros are defined:" msgstr "" "このバイト配列は、プロセッサやファイルの他の部分には依存せずに、 ファイルを解" "釈 (interpret) するために指定される。 この配列内のすべてのものは、接頭辞 " "B で始まるマクロの名前が付き、接頭辞 B で始まる値を持つ。 以下のマ" "クロが定義されている:" #. type: TP #: build/C/man5/elf.5:177 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:183 msgid "" "The first byte of the magic number. It must be filled with B. (0: " "0x7f)" msgstr "" "マジックナンバーの第 1 バイト。 B で埋めなければならない。 (0: 0x7f)" #. type: TP #: build/C/man5/elf.5:183 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:189 msgid "" "The second byte of the magic number. It must be filled with B. " "(1: \\(aqE\\(aq)" msgstr "" "マジックナンバーの第 2 バイト。 B で埋めなければならない。 (1: " "\\(aqE\\(aq)" #. type: TP #: build/C/man5/elf.5:189 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:195 msgid "" "The third byte of the magic number. It must be filled with B. (2: " "\\(aqL\\(aq)" msgstr "" "マジックナンバーの第 3 バイト。 B で埋めなければならない。 (2: " "\\(aqL\\(aq)" #. type: TP #: build/C/man5/elf.5:195 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:201 msgid "" "The fourth byte of the magic number. It must be filled with B. " "(3: \\(aqF\\(aq)" msgstr "" "マジックナンバーの第 4 バイト。 B で埋めなければならない。 (3: " "\\(aqF\\(aq)" #. type: TP #: build/C/man5/elf.5:201 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:204 msgid "The fifth byte identifies the architecture for this binary:" msgstr "第 5 バイトは、このバイナリのアーキテクチャーを示す:" #. type: TP #: build/C/man5/elf.5:206 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:210 msgid "This class is invalid." msgstr "このクラスは不正である。" #. type: TP #: build/C/man5/elf.5:210 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:215 msgid "" "This defines the 32-bit architecture. It supports machines with files and " "virtual address spaces up to 4 Gigabytes." msgstr "" "32 ビットアーキテクチャーを定義する。 ファイルと仮想アドレス空間が 4 ギガバイ" "トまでのマシンをサポートする。" #. type: TP #: build/C/man5/elf.5:215 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:218 msgid "This defines the 64-bit architecture." msgstr "64 ビットアーキテクチャーを定義する。" #. type: TP #: build/C/man5/elf.5:221 #, no-wrap msgid "B" msgstr "B" #. .Bl -tag -width "ELFDATA2LSB" -compact #. type: Plain text #: build/C/man5/elf.5:227 msgid "" "The sixth byte specifies the data encoding of the processor-specific data in " "the file. Currently these encodings are supported:" msgstr "" "第 6 バイトはファイル内のプロセッサ固有データの データエンコーディングを指定" "する。 現在のところ以下のエンコーディングがサポートされている:" #. type: TP #: build/C/man5/elf.5:228 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:232 msgid "Unknown data format." msgstr "不明なデータフォーマット。" #. type: TP #: build/C/man5/elf.5:232 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:235 msgid "Two's complement, little-endian." msgstr "2 の補数、リトルエンディアン。" #. type: TP #: build/C/man5/elf.5:235 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:238 msgid "Two's complement, big-endian." msgstr "2 の補数、ビッグエンディアン。" #. type: TP #: build/C/man5/elf.5:241 #, no-wrap msgid "B" msgstr "B" #. .Bl -tag -width "EV_CURRENT" -compact #. type: Plain text #: build/C/man5/elf.5:246 msgid "The seventh byte is the version number of the ELF specification:" msgstr "第 7 バイトは ELF 仕様のバージョン番号である:" #. type: TP #: build/C/man5/elf.5:247 build/C/man5/elf.5:501 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:250 build/C/man5/elf.5:505 msgid "Invalid version." msgstr "不正なバージョン。" #. type: TP #: build/C/man5/elf.5:250 build/C/man5/elf.5:505 #, no-wrap msgid "B" msgstr "B" #. .El #. type: Plain text #: build/C/man5/elf.5:253 build/C/man5/elf.5:509 msgid "Current version." msgstr "現在のバージョン。" #. type: TP #: build/C/man5/elf.5:256 #, no-wrap msgid "B" msgstr "B" #. .Bl -tag -width "ELFOSABI_STANDALONE" -compact #. type: Plain text #: build/C/man5/elf.5:265 msgid "" "The eighth byte identifies the operating system and ABI to which the object " "is targeted. Some fields in other ELF structures have flags and values that " "have platform-specific meanings; the interpretation of those fields is " "determined by the value of this byte. For example:" msgstr "" "第 8 バイトはオブジェクトのターゲットとなるオペレーティングシステムと ABI を" "示す。他の ELF 構造体のフィールドには、プラットフォーム固有の意味を持つフラグ" "や値を持つものもある。これらのフィールドの解釈は、このバイトの値によって決定" "される。以下に例を挙げる。" #. type: TP #: build/C/man5/elf.5:266 #, no-wrap msgid "B" msgstr "B" #. 0 #. type: Plain text #: build/C/man5/elf.5:271 msgid "Same as ELFOSABI_SYSV" msgstr "ELFOSABI_SYSV と同じ。" #. type: TP #: build/C/man5/elf.5:271 #, no-wrap msgid "B" msgstr "B" #. 0 #. synonym: ELFOSABI_NONE #. type: Plain text #: build/C/man5/elf.5:276 msgid "UNIX System V ABI." msgstr "UNIX System V ABI." #. type: TP #: build/C/man5/elf.5:276 #, no-wrap msgid "B" msgstr "B" #. 1 #. type: Plain text #: build/C/man5/elf.5:280 msgid "HP-UX ABI." msgstr "HP-UX ABI." #. type: TP #: build/C/man5/elf.5:280 #, no-wrap msgid "B" msgstr "B" #. 2 #. type: Plain text #: build/C/man5/elf.5:284 msgid "NetBSD ABI." msgstr "NetBSD ABI." #. type: TP #: build/C/man5/elf.5:284 #, no-wrap msgid "B" msgstr "B" #. 3 #. .TP #. .BR ELFOSABI_HURD #. Hurd ABI. #. 4 #. .TP #. .BR ELFOSABI_86OPEN #. 86Open Common IA32 ABI. #. 5 #. type: Plain text #: build/C/man5/elf.5:296 msgid "Linux ABI." msgstr "Linux ABI." #. type: TP #: build/C/man5/elf.5:296 #, no-wrap msgid "B" msgstr "B" #. 6 #. .TP #. .BR ELFOSABI_MONTEREY #. Monterey project ABI. #. Now replaced by #. ELFOSABI_AIX #. 7 #. type: Plain text #: build/C/man5/elf.5:306 msgid "Solaris ABI." msgstr "Solaris ABI." #. type: TP #: build/C/man5/elf.5:306 #, no-wrap msgid "B" msgstr "B" #. 8 #. type: Plain text #: build/C/man5/elf.5:310 msgid "IRIX ABI." msgstr "IRIX ABI." #. type: TP #: build/C/man5/elf.5:310 #, no-wrap msgid "B" msgstr "B" #. 9 #. type: Plain text #: build/C/man5/elf.5:314 msgid "FreeBSD ABI." msgstr "FreeBSD ABI." #. type: TP #: build/C/man5/elf.5:314 #, no-wrap msgid "B" msgstr "B" #. 10 #. ELFOSABI_MODESTO #. 11 #. ELFOSABI_OPENBSD #. 12 #. type: Plain text #: build/C/man5/elf.5:322 msgid "TRU64 UNIX ABI." msgstr "TRU64 UNIX ABI." #. type: TP #: build/C/man5/elf.5:322 #, no-wrap msgid "B" msgstr "B" #. 97 #. type: Plain text #: build/C/man5/elf.5:326 msgid "ARM architecture ABI." msgstr "ARM アーキテクチャー ABI." #. type: TP #: build/C/man5/elf.5:326 #, no-wrap msgid "B" msgstr "B" #. 255 #. .El #. type: Plain text #: build/C/man5/elf.5:331 msgid "Stand-alone (embedded) ABI." msgstr "スタンドアロン (組み込み) ABI." #. type: TP #: build/C/man5/elf.5:333 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:343 msgid "" "The ninth byte identifies the version of the ABI to which the object is " "targeted. This field is used to distinguish among incompatible versions of " "an ABI. The interpretation of this version number is dependent on the ABI " "identified by the B field. Applications conforming to this " "specification use the value 0." msgstr "" "第 9 バイトはオブジェクトがターゲットとしている ABI のバージョンを示す。 この" "フィールドは互換性のない ABI のバージョンを区別するために使われる。 このバー" "ジョン番号の解釈は、 B フィールドで識別される ABI に依存する。 この" "仕様に準拠するアプリケーションでは、値 0 を使う。" #. type: TP #: build/C/man5/elf.5:343 #, no-wrap msgid "B" msgstr "B" #. As reported by Yuri Kozlov and confirmed by Mike Frysinger, EI_BRAND is #. not in GABI (http://www.sco.com/developers/gabi/latest/ch4.eheader.html) #. It looks to be a BSDism #. .TP #. .BR EI_BRAND #. Start of architecture identification. #. type: Plain text #: build/C/man5/elf.5:359 msgid "" "Start of padding. These bytes are reserved and set to zero. Programs which " "read them should ignore them. The value for B will change in the " "future if currently unused bytes are given meanings." msgstr "" "パディングの開始。 これらのバイトは予約されており、0 に設定されている。 これ" "らを読み込むプログラムは、これらのバイトを無視すべきである。 現在使われていな" "いバイトに意味が与えられる場合、 B の値は将来変更されるかもしれない。" #. type: TP #: build/C/man5/elf.5:359 #, no-wrap msgid "B" msgstr "B" #. .El #. type: Plain text #: build/C/man5/elf.5:365 msgid "The size of the I array." msgstr "I 配列のサイズ。" #. type: TP #: build/C/man5/elf.5:366 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:369 msgid "This member of the structure identifies the object file type:" msgstr "この構造体のメンバはオブジェクトファイルタイプを示す:" #. type: TP #: build/C/man5/elf.5:371 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:375 msgid "An unknown type." msgstr "不明なタイプ。" #. type: TP #: build/C/man5/elf.5:375 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:378 msgid "A relocatable file." msgstr "再配置可能ファイル。" #. type: TP #: build/C/man5/elf.5:378 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:381 msgid "An executable file." msgstr "実行可能ファイル。" #. type: TP #: build/C/man5/elf.5:381 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:384 msgid "A shared object." msgstr "共有オブジェクト。" #. type: TP #: build/C/man5/elf.5:384 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:387 msgid "A core file." msgstr "コアファイル。" #. type: TP #: build/C/man5/elf.5:390 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:394 msgid "" "This member specifies the required architecture for an individual file. For " "example:" msgstr "" "このメンバは個々のファイルに必要とされるアーキテクチャーを指定する。 例:" #. type: TP #: build/C/man5/elf.5:396 #, no-wrap msgid "B" msgstr "B" #. 0 #. type: Plain text #: build/C/man5/elf.5:401 msgid "An unknown machine." msgstr "不明なマシン。" #. type: TP #: build/C/man5/elf.5:401 #, no-wrap msgid "B" msgstr "B" #. 1 #. type: Plain text #: build/C/man5/elf.5:405 msgid "AT&T WE 32100." msgstr "AT&T WE 32100." #. type: TP #: build/C/man5/elf.5:405 #, no-wrap msgid "B" msgstr "B" #. 2 #. type: Plain text #: build/C/man5/elf.5:409 msgid "Sun Microsystems SPARC." msgstr "Sun Microsystems SPARC." #. type: TP #: build/C/man5/elf.5:409 #, no-wrap msgid "B" msgstr "B" #. 3 #. type: Plain text #: build/C/man5/elf.5:413 msgid "Intel 80386." msgstr "Intel 80386." #. type: TP #: build/C/man5/elf.5:413 #, no-wrap msgid "B" msgstr "B" #. 4 #. type: Plain text #: build/C/man5/elf.5:417 msgid "Motorola 68000." msgstr "Motorola 68000." #. type: TP #: build/C/man5/elf.5:417 #, no-wrap msgid "B" msgstr "B" #. 5 #. .TP #. .BR EM_486 #. Intel 80486. #. 6 #. type: Plain text #: build/C/man5/elf.5:425 msgid "Motorola 88000." msgstr "Motorola 88000." #. type: TP #: build/C/man5/elf.5:425 #, no-wrap msgid "B" msgstr "B" #. 7 #. type: Plain text #: build/C/man5/elf.5:429 msgid "Intel 80860." msgstr "Intel 80860." #. type: TP #: build/C/man5/elf.5:429 #, no-wrap msgid "B" msgstr "B" #. 8 #. EM_S370 #. 9 #. .TP #. .BR EM_MIPS_RS4_BE #. MIPS RS4000 (big-endian only). Deprecated. #. 10 #. EM_MIPS_RS3_LE (MIPS R3000 little-endian) #. 10 #. type: Plain text #: build/C/man5/elf.5:441 msgid "MIPS RS3000 (big-endian only)." msgstr "MIPS RS3000 (ビッグエンディアンのみ)。" #. type: TP #: build/C/man5/elf.5:441 #, no-wrap msgid "B" msgstr "B" #. 15 #. type: Plain text #: build/C/man5/elf.5:445 msgid "HP/PA." msgstr "HP/PA." #. type: TP #: build/C/man5/elf.5:445 #, no-wrap msgid "B" msgstr "B" #. 18 #. type: Plain text #: build/C/man5/elf.5:449 msgid "SPARC with enhanced instruction set." msgstr "拡張命令セット付き SPARC。" #. type: TP #: build/C/man5/elf.5:449 #, no-wrap msgid "B" msgstr "B" #. 20 #. type: Plain text #: build/C/man5/elf.5:453 msgid "PowerPC." msgstr "PowerPC." #. type: TP #: build/C/man5/elf.5:453 #, no-wrap msgid "B" msgstr "B" #. 21 #. type: Plain text #: build/C/man5/elf.5:457 msgid "PowerPC 64-bit." msgstr "PowerPC 64-bit." #. type: TP #: build/C/man5/elf.5:457 #, no-wrap msgid "B" msgstr "B" #. 22 #. type: Plain text #: build/C/man5/elf.5:461 msgid "IBM S/390" msgstr "IBM S/390" #. type: TP #: build/C/man5/elf.5:461 #, no-wrap msgid "B" msgstr "B" #. 40 #. type: Plain text #: build/C/man5/elf.5:465 msgid "Advanced RISC Machines" msgstr "Advanced RISC Machines" #. type: TP #: build/C/man5/elf.5:465 #, no-wrap msgid "B" msgstr "B" #. 42 #. type: Plain text #: build/C/man5/elf.5:469 msgid "Renesas SuperH" msgstr "Renesas SuperH" #. type: TP #: build/C/man5/elf.5:469 #, no-wrap msgid "B" msgstr "B" #. 43 #. type: Plain text #: build/C/man5/elf.5:473 msgid "SPARC v9 64-bit." msgstr "SPARC v9 64-bit." #. type: TP #: build/C/man5/elf.5:473 #, no-wrap msgid "B" msgstr "B" #. 50 #. type: Plain text #: build/C/man5/elf.5:477 msgid "Intel Itanium" msgstr "Intel Itanium" #. type: TP #: build/C/man5/elf.5:477 #, no-wrap msgid "B" msgstr "B" #. 62 #. type: Plain text #: build/C/man5/elf.5:481 msgid "AMD x86-64" msgstr "AMD x86-64" #. type: TP #: build/C/man5/elf.5:481 #, no-wrap msgid "B" msgstr "B" #. 75 #. EM_CRIS #. 76 #. .TP #. .BR EM_ALPHA #. Compaq [DEC] Alpha. #. .TP #. .BR EM_ALPHA_EXP #. Compaq [DEC] Alpha with enhanced instruction set. #. type: Plain text #: build/C/man5/elf.5:493 msgid "DEC Vax." msgstr "DEC Vax." #. type: TP #: build/C/man5/elf.5:496 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "EV_CURRENT" -compact #. type: Plain text #: build/C/man5/elf.5:500 msgid "This member identifies the file version:" msgstr "このメンバはファイルバージョンを示す:" #. type: TP #: build/C/man5/elf.5:511 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:517 msgid "" "This member gives the virtual address to which the system first transfers " "control, thus starting the process. If the file has no associated entry " "point, this member holds zero." msgstr "" "このメンバは、システムが最初に制御を渡す、 つまりプロセスを開始する仮想アドレ" "スを指定する。 ファイルにエントリーポイントが関連付けられていない場合、 この" "メンバには 0 が入る。" #. type: TP #: build/C/man5/elf.5:517 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:522 msgid "" "This member holds the program header table's file offset in bytes. If the " "file has no program header table, this member holds zero." msgstr "" "このメンバはプログラムヘッダーテーブルの ファイルオフセット (バイト単位) を保" "持する。 ファイルにプログラムヘッダーテーブルがない場合、 このメンバには 0 が" "入る。" #. type: TP #: build/C/man5/elf.5:522 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:527 msgid "" "This member holds the section header table's file offset in bytes. If the " "file has no section header table, this member holds zero." msgstr "" "このメンバはセクションヘッダーテーブルの ファイルオフセット (バイト単位) を保" "持する。 ファイルにセクションヘッダーテーブルがない場合、 このメンバには 0 が" "入る。" #. type: TP #: build/C/man5/elf.5:527 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:532 msgid "" "This member holds processor-specific flags associated with the file. Flag " "names take the form EF_`machine_flag'. Currently no flags have been defined." msgstr "" "このメンバはファイルに関連付けられたプロセッサ固有のフラグを保持する。 フラグ" "の名前は EF_`machine_flag' という形式である。 現在のところフラグは定義されて" "いない。" #. type: TP #: build/C/man5/elf.5:532 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:535 msgid "This member holds the ELF header's size in bytes." msgstr "このメンバは ELF ヘッダーサイズ (バイト単位) を保持する。" #. type: TP #: build/C/man5/elf.5:535 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:539 msgid "" "This member holds the size in bytes of one entry in the file's program " "header table; all entries are the same size." msgstr "" "このメンバはこのファイルのプログラムヘッダーテーブルの 1 エントリーあたりのサ" "イズ (バイト単位) を保持する; 全てのエントリーは同じサイズである。" #. type: TP #: build/C/man5/elf.5:539 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:552 msgid "" "This member holds the number of entries in the program header table. Thus " "the product of I and I gives the table's size in " "bytes. If a file has no program header, I holds the value zero." msgstr "" "このメンバはプログラムヘッダーテーブルにあるエントリーの数を保持する。 よっ" "て I と I の積がテーブルサイズ (バイト単位) になる。 " "ファイルにプログラムヘッダーがない場合、 I は値 0 を保持する。" #. This is a Linux extension, added in Linux 2.6.34. #. .Bl -tag -width "PN_XNUM" #. type: Plain text #: build/C/man5/elf.5:566 msgid "" "If the number of entries in the program header table is larger than or equal " "to B (0xffff), this member holds B (0xffff) and the real " "number of entries in the program header table is held in the I " "member of the initial entry in section header table. Otherwise, the " "I member of the initial entry contains the value zero." msgstr "" "プログラムヘッダーテーブルのエントリー数が B (0xffff) 以上の場合、\n" "このメンバは B (0xffff) になり、プログラムヘッダーテーブルの\n" "エントリーの実際の数は、セクションヘッダーテーブルの最初のエントリーの \n" "I メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n" "最初のエントリーの I メンバには値 0 が格納される。" #. type: TP #: build/C/man5/elf.5:567 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:572 msgid "" "This is defined as 0xffff, the largest number I can have, " "specifying where the actual number of program headers is assigned." msgstr "" "I が保持できる最大値を表し、 0xffff に定義されている。 I \n" "はプログラムヘッダーの実際の数がどこに割り当てられているかを示す。" #. type: TP #: build/C/man5/elf.5:576 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:581 msgid "" "This member holds a sections header's size in bytes. A section header is " "one entry in the section header table; all entries are the same size." msgstr "" "このメンバはセクションヘッダーのサイズ (バイト単位) を保持する。 セクション" "ヘッダーはセクションヘッダーテーブルの 1 つのエントリーである; 全てのエント" "リーは同じサイズである。" #. type: TP #: build/C/man5/elf.5:581 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:594 msgid "" "This member holds the number of entries in the section header table. Thus " "the product of I and I gives the section header " "table's size in bytes. If a file has no section header table, I " "holds the value of zero." msgstr "" "このメンバはセクションヘッダーテーブルにあるエントリーの数を保持する。 よっ" "て I と I の積はセクションヘッダーテーブルのサイズ (バ" "イト単位) になる。 ファイルにセクションヘッダーテーブルがない場合、 " "I は値 0 を保持する。" #. type: Plain text #: build/C/man5/elf.5:606 msgid "" "If the number of entries in the section header table is larger than or equal " "to B (0xff00), I holds the value zero and the real " "number of entries in the section header table is held in the I " "member of the initial entry in section header table. Otherwise, the " "I member of the initial entry in the section header table holds the " "value zero." msgstr "" "セクションヘッダーテーブルのエントリー数が B (0xff00) 以上の場" "合、\n" "I には値 0 が入り、セクションヘッダーテーブルのエントリーの実際の数" "は\n" "セクションヘッダーテーブルの最初のエントリーの I メンバに格納され" "る。\n" "それ以外の場合、セクションヘッダーテーブルの最初のエントリーの I メ" "ンバ\n" "には値 0 が格納される。" #. type: TP #: build/C/man5/elf.5:606 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:613 msgid "" "This member holds the section header table index of the entry associated " "with the section name string table. If the file has no section name string " "table, this member holds the value B." msgstr "" "このメンバはセクション名文字列テーブルに関連付けられたエントリーの セクション" "ヘッダーテーブルインデックスを保持する。 ファイルにセクション名文字列テーブル" "がない場合、 このメンバは値 B を保持する。 B." #. type: Plain text #: build/C/man5/elf.5:625 msgid "" "If the index of section name string table section is larger than or equal to " "B (0xff00), this member holds B (0xffff) and the " "real index of the section name string table section is held in the " "I member of the initial entry in section header table. Otherwise, " "the I member of the initial entry in section header table contains " "the value zero." msgstr "" "セクション名前文字列テーブルのインデックスが B (0xff00) 以上" "の\n" "場合、このメンバには B (0xffff) が入り、セクション名前文字列\n" "テーブルの実際のインデックスはセクションヘッダーテーブルの最初のエントリー" "の\n" "I メンバに格納される。それ以外の場合、セクションヘッダーテーブルの\n" "最初のエントリーの I メンバには値 0 が格納される。" #. type: TP #: build/C/man5/elf.5:627 build/C/man5/elf.5:914 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:636 msgid "" "This value marks an undefined, missing, irrelevant, or otherwise meaningless " "section reference. For example, a symbol \"defined\" relative to section " "number B is an undefined symbol." msgstr "" "この値は未定義・存在しない・無関係その他、 意味のないセクションの参照であるこ" "とを表す。 例えば、セクション番号 B に関連づけて「定義」されたシン" "ボルは、「未定義」なシンボルである。" #. type: TP #: build/C/man5/elf.5:636 build/C/man5/elf.5:918 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:639 build/C/man5/elf.5:921 msgid "This value specifies the lower bound of the range of reserved indices." msgstr "この値は予約済みのインデックス領域の下限を指定する。" #. type: TP #: build/C/man5/elf.5:639 build/C/man5/elf.5:921 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:644 build/C/man5/elf.5:926 msgid "" "Values greater than or equal to B are reserved for processor-" "specific semantics." msgstr "" "この値以上で B 以下の値はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:644 build/C/man5/elf.5:926 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:649 build/C/man5/elf.5:931 msgid "" "Values less than or equal to B are reserved for processor-" "specific semantics." msgstr "" "この値以下で B 以上の値はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:649 build/C/man5/elf.5:931 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:656 msgid "" "This value specifies absolute values for the corresponding reference. For " "example, symbols defined relative to section number B have absolute " "values and are not affected by relocation." msgstr "" "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B に" "関連づけられたシンボルは絶対値を保持し、再配置に影響されない。" #. type: TP #: build/C/man5/elf.5:656 build/C/man5/elf.5:938 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:660 msgid "" "Symbols defined relative to this section are common symbols, such as Fortran " "COMMON or unallocated C external variables." msgstr "" "このセクションに関連して定義されたシンボルは、 Fortran の COMMON や C の未割" "り当て external 変数のような、 共通シンボルである。" #. type: TP #: build/C/man5/elf.5:660 build/C/man5/elf.5:942 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:673 msgid "" "This value specifies the upper bound of the range of reserved indices " "between B and B, inclusive; the values do not " "reference the section header table. That is, the section header table does " "I contain entries for the reserved indices." msgstr "" "この値は予約されたインデックスの範囲の上限を指定する。 B と " "B は含まれる。 この値はセクションヘッダーテーブルを参照しな" "い。 つまり、セクションヘッダーテーブルは 予約されたインデックスのエントリー" "を I<含まない 。>" #. type: Plain text #: build/C/man5/elf.5:695 msgid "" "An executable or shared object file's program header table is an array of " "structures, each describing a segment or other information the system needs " "to prepare the program for execution. An object file I contains " "one or more I. Program headers are meaningful only for executable " "and shared object files. A file specifies its own program header size with " "the ELF header's I and I members. The ELF program " "header is described by the type I or I depending on " "the architecture:" msgstr "" "実行可能ファイルまたは共有オブジェクトファイルのプログラムヘッダーテーブル" "は、 システムによるプログラム実行準備に必要な、 セグメント等の情報を記述する" "構造体の配列である。 オブジェクトファイルの I<セグメント> には 1 つ以上の I<" "セクション> が含まれる。 プログラムヘッダーは実行可能ファイルと共有オブジェク" "トファイルでのみ意味を持つ。 ファイルは自身のプログラムヘッダーサイズを ELF " "ヘッダーの I メンバと I メンバで指定する。 ELF プログラ" "ムヘッダーは I 型または I 型で記述される (どちらにな" "るかはアーキテクチャー依存):" #. type: Plain text #: build/C/man5/elf.5:708 #, no-wrap msgid "" "typedef struct {\n" " uint32_t p_type;\n" " Elf32_Off p_offset;\n" " Elf32_Addr p_vaddr;\n" " Elf32_Addr p_paddr;\n" " uint32_t p_filesz;\n" " uint32_t p_memsz;\n" " uint32_t p_flags;\n" " uint32_t p_align;\n" "} Elf32_Phdr;\n" msgstr "" "typedef struct {\n" " uint32_t p_type;\n" " Elf32_Off p_offset;\n" " Elf32_Addr p_vaddr;\n" " Elf32_Addr p_paddr;\n" " uint32_t p_filesz;\n" " uint32_t p_memsz;\n" " uint32_t p_flags;\n" " uint32_t p_align;\n" "} Elf32_Phdr;\n" #. type: Plain text #: build/C/man5/elf.5:723 #, no-wrap msgid "" "typedef struct {\n" " uint32_t p_type;\n" " uint32_t p_flags;\n" " Elf64_Off p_offset;\n" " Elf64_Addr p_vaddr;\n" " Elf64_Addr p_paddr;\n" " uint64_t p_filesz;\n" " uint64_t p_memsz;\n" " uint64_t p_align;\n" "} Elf64_Phdr;\n" msgstr "" "typedef struct {\n" " uint32_t p_type;\n" " uint32_t p_flags;\n" " Elf64_Off p_offset;\n" " Elf64_Addr p_vaddr;\n" " Elf64_Addr p_paddr;\n" " uint64_t p_filesz;\n" " uint64_t p_memsz;\n" " uint64_t p_align;\n" "} Elf64_Phdr;\n" #. .Bl -tag -width "p_offset" #. type: Plain text #: build/C/man5/elf.5:731 msgid "" "The main difference between the 32-bit and the 64-bit program header lies in " "the location of the I member in the total struct." msgstr "" "32 ビットと 64 ビットのプログラムヘッダーの主な違いは、構造体における " "I メンバの位置にある。" #. type: TP #: build/C/man5/elf.5:731 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "PT_DYNAMIC" #. type: Plain text #: build/C/man5/elf.5:736 msgid "" "This member of the Phdr struct tells what kind of segment this array element " "describes or how to interpret the array element's information." msgstr "" "Phdr 構造体のこのメンバは、 この配列要素がどのような種類のセグメントを記述し" "ているか、 またはこの配列要素の情報をどのように解釈するか、を表す。" #. type: TP #: build/C/man5/elf.5:737 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:741 msgid "" "The array element is unused and the other members' values are undefined. " "This lets the program header have ignored entries." msgstr "" "この配列要素は使用されておらず、その他のメンバの値は未定義である。 これによ" "り、このプログラムヘッダーのエントリーは無視される。" #. type: TP #: build/C/man5/elf.5:741 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:762 msgid "" "The array element specifies a loadable segment, described by I and " "I. The bytes from the file are mapped to the beginning of the " "memory segment. If the segment's memory size I is larger than the " "file size I, the \"extra\" bytes are defined to hold the value 0 " "and to follow the segment's initialized area. The file size may not be " "larger than the memory size. Loadable segment entries in the program header " "table appear in ascending order, sorted on the I member." msgstr "" "この配列要素は I と I で記述されるロード可能セグメントを指" "定する。 このファイルからのバイトデータが、このメモリーセグメントの先頭から" "マップされる。 セグメントのメモリーサイズ Ip_memsz がファイルサイズ " "Ip_filesz より大きい場合、 「余った」バイトは値 0 となり、 そのセグメント" "初期化データの後ろに置かれると定められている。 ファイルサイズはメモリーサイズ" "より大きくてはいけない。 プログラムヘッダーテーブルのロード可能セグメントエン" "トリーは、 I メンバの昇順にソートされて出現する。" #. type: TP #: build/C/man5/elf.5:762 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:765 msgid "The array element specifies dynamic linking information." msgstr "この配列要素は動的リンク情報を指定する。" #. type: TP #: build/C/man5/elf.5:765 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:773 msgid "" "The array element specifies the location and size of a null-terminated " "pathname to invoke as an interpreter. This segment type is meaningful only " "for executable files (though it may occur for shared objects). However it " "may not occur more than once in a file. If it is present, it must precede " "any loadable segment entry." msgstr "" "この配列要素は、インタープリターとして起動されるパス名 (ヌル文字終端) の位置" "とサイズを指定する。 このセグメント型は (共有オブジェクトにもあるかも知れない" "が) 実行可能ファイルでのみ意味を持つ。 ただし、このセグメント型は 1 つのファ" "イルに 2 回以上出現してはならない。 もし存在する場合、このセグメント型は 全て" "のロード可能セグメントエントリーより前になければならない。" #. type: TP #: build/C/man5/elf.5:773 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:776 msgid "" "The array element specifies the location and size for auxiliary information." msgstr "" "この配列要素は補足情報 (auxiliary information) の位置とサイズを指定する。" #. type: TP #: build/C/man5/elf.5:776 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:781 msgid "" "This segment type is reserved but has unspecified semantics. Programs that " "contain an array element of this type do not conform to the ABI." msgstr "" "このセグメント型は予約されているが、意味は指定されていない。 この型の配列要素" "を保持するプログラムは ABI に準拠しない。" #. type: TP #: build/C/man5/elf.5:781 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:790 msgid "" "The array element, if present, specifies the location and size of the " "program header table itself, both in the file and in the memory image of the " "program. This segment type may not occur more than once in a file. " "Moreover, it may occur only if the program header table is part of the " "memory image of the program. If it is present, it must precede any loadable " "segment entry." msgstr "" "この配列要素は、もし存在しているならば、 ファイルおよびプログラムのメモリーイ" "メージ双方における プログラムヘッダーテーブル自身の位置とサイズを指定する。 " "このセグメント型は 1 つのファイルに 2 回以上出現してはならない。 さらに、この" "セグメント型が存在してもよいのは、プログラムヘッダーテーブルが プログラムのメ" "モリーイメージの一部である場合のみである。 もし存在する場合、これは全てのロー" "ド可能セグメントエントリーより 前になければならない。" #. type: TP #: build/C/man5/elf.5:790 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:795 msgid "" "Values greater than or equal to B are reserved for processor-" "specific semantics." msgstr "" "この値以上で B 以下の値はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:795 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:800 msgid "" "Values less than or equal to B are reserved for processor-" "specific semantics." msgstr "" "この値以下で B 以上の値はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:800 #, no-wrap msgid "B" msgstr "B" #. .El #. type: Plain text #: build/C/man5/elf.5:807 msgid "" "GNU extension which is used by the Linux kernel to control the state of the " "stack via the flags set in the I member." msgstr "" "GNU 拡張であり、Linux カーネルが I のメンバーにセットされたフラグ経" "由でスタックの状態を制御するために使用する。" #. type: TP #: build/C/man5/elf.5:808 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:812 msgid "" "This member holds the offset from the beginning of the file at which the " "first byte of the segment resides." msgstr "" "このメンバは、セグメントの先頭バイトがある (ファイル先頭からの) オフセットを" "保持する。" #. type: TP #: build/C/man5/elf.5:812 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:816 msgid "" "This member holds the virtual address at which the first byte of the segment " "resides in memory." msgstr "" "このメンバは、セグメントの先頭バイトがある メモリーの仮想アドレスを保持する。" #. type: TP #: build/C/man5/elf.5:816 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:824 msgid "" "On systems for which physical addressing is relevant, this member is " "reserved for the segment's physical address. Under BSD this member is not " "used and must be zero." msgstr "" "物理アドレスが意味をもつシステムでは、 このメンバはセグメントの物理アドレスと" "して予約されている。 BSD ではこのメンバは使用されない。0 でなければならない。" #. type: TP #: build/C/man5/elf.5:824 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:828 msgid "" "This member holds the number of bytes in the file image of the segment. It " "may be zero." msgstr "" "このメンバはセグメントのファイルイメージのバイト数を保持する。 これは 0 でも" "よい。" #. type: TP #: build/C/man5/elf.5:828 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:832 msgid "" "This member holds the number of bytes in the memory image of the segment. " "It may be zero." msgstr "" "このメンバはセグメントのメモリーイメージのバイト数を保持する。 これは 0 でも" "よい。" #. type: TP #: build/C/man5/elf.5:832 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "PF_X" -compact #. type: Plain text #: build/C/man5/elf.5:836 msgid "This member holds a bit mask of flags relevant to the segment:" msgstr "このメンバはセグメントに関連するフラグのビットマスクを保持する:" #. type: TP #: build/C/man5/elf.5:837 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:841 msgid "An executable segment." msgstr "実行可能セグメント。" #. type: TP #: build/C/man5/elf.5:841 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:844 msgid "A writable segment." msgstr "書き込み可能セグメント." #. type: TP #: build/C/man5/elf.5:844 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:847 msgid "A readable segment." msgstr "読み込み可能セグメント。" #. type: Plain text #: build/C/man5/elf.5:860 msgid "" "A text segment commonly has the flags B and B. A data segment " "commonly has B, B and B." msgstr "" "テキストセグメントは一般にフラグ B と B を持つ。 データセグメント" "は一般に B, B, B を持つ。" #. type: TP #: build/C/man5/elf.5:860 #, no-wrap msgid "I" msgstr "I" #. .El #. type: Plain text #: build/C/man5/elf.5:879 msgid "" "This member holds the value to which the segments are aligned in memory and " "in the file. Loadable process segments must have congruent values for " "I and I, modulo the page size. Values of zero and one " "mean no alignment is required. Otherwise, I should be a positive, " "integral power of two, and I should equal I, modulo " "I." msgstr "" "このメンバは、セグメントがメモリーおよびファイルにおいて配置 (align) される" "値を保持する。 ロード可能プロセスセグメントは、ページサイズを法として " "I と I と合同でなければならない (訳注:「p_vaddr mod ページ" "サイズ = p_offset mod ページサイズ」 でなければならない)。。 0 と 1 という値" "は配置が必要ないことを意味する。 それ以外の場合、 I は正で 2 の整数" "乗でなければならず、 I は I を法として I と合同で" "なければならない (訳注:「p_vaddr mod p_align = p_offset mod p_align」でなけれ" "ばならない)。" #. type: Plain text #: build/C/man5/elf.5:896 msgid "" "A file's section header table lets one locate all the file's sections. The " "section header table is an array of I or I " "structures. The ELF header's I member gives the byte offset from " "the beginning of the file to the section header table. I holds the " "number of entries the section header table contains. I holds " "the size in bytes of each entry." msgstr "" "ファイルのセクションヘッダーテーブルには、 全てのファイルセクションの場所が記" "述されている。 セクションヘッダーテーブルは I 構造体または " "I 構造体の配列である。 ELF ヘッダーの I メンバはファイル" "の先頭から セクションヘッダーテーブルへのバイトオフセットである。 I " "はセクションヘッダーテーブルに含まれるエントリーの数を保持する。 " "I は各エントリーのサイズ (バイト単位) を保持する。" #. .Bl -tag -width "SHN_LORESERVE" #. type: Plain text #: build/C/man5/elf.5:913 msgid "" "A section header table index is a subscript into this array. Some section " "header table indices are reserved: the initial entry and the indices between " "B and B. The initial entry is used in ELF " "extensions for I, I and I; in other cases, each " "field in the initial entry is set to zero. An object file does not have " "sections for these special indices:" msgstr "" "セクションヘッダーテーブルインデックスは、この配列の添字である。\n" "いくつかのセクションヘッダーテーブルインデックスは予約されている。予約され" "て\n" "いるのは、最初のエントリーと、B と B の間の\n" "インデックスである。\n" "最初のエントリーは、ELF 拡張で I, I, I に使用\n" "される。それ以外の場合、最初のエントリーの各フィールドには 0 が設定される。\n" "オブジェクトファイルにはこれらの特別なインデックスに対応するセクションはな" "い。" #. type: Plain text #: build/C/man5/elf.5:918 msgid "" "This value marks an undefined, missing, irrelevant, or otherwise meaningless " "section reference." msgstr "" "この値は、未定義 (undefined)、不足 (missing)、無関係 (irrelevant)、その他無意" "味なセクション参照を示す。" #. type: Plain text #: build/C/man5/elf.5:938 msgid "" "This value specifies the absolute value for the corresponding reference. " "For example, a symbol defined relative to section number B has an " "absolute value and is not affected by relocation." msgstr "" "この値は対応する参照の絶対値を指定する。 例えば、セクション番号 B に" "関連して定義されているシンボルは、 絶対値を保持しているので、再配置に影響され" "ない。" #. type: Plain text #: build/C/man5/elf.5:942 msgid "" "Symbols defined relative to this section are common symbols, such as FORTRAN " "COMMON or unallocated C external variables." msgstr "" "このセクションに関連して定義されているシンボルは、 FORTRAN の COMMON や C の" "未割り当て外部変数のような共通シンボルである。" #. type: Plain text #: build/C/man5/elf.5:953 msgid "" "This value specifies the upper bound of the range of reserved indices. The " "system reserves indices between B and B, " "inclusive. The section header table does not contain entries for the " "reserved indices." msgstr "" "この値は予約済みのインデックス領域の上限を指定する。 システムは " "B と B を含む範囲を予約する。 セクションヘッ" "ダーテーブルは予約されたインデックスに対応するエントリーを持たない。" #. type: Plain text #: build/C/man5/elf.5:957 msgid "The section header has the following structure:" msgstr "セクションヘッダーは以下の構造体を持つ:" #. type: Plain text #: build/C/man5/elf.5:972 #, no-wrap msgid "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint32_t sh_flags;\n" " Elf32_Addr sh_addr;\n" " Elf32_Off sh_offset;\n" " uint32_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint32_t sh_addralign;\n" " uint32_t sh_entsize;\n" "} Elf32_Shdr;\n" msgstr "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint32_t sh_flags;\n" " Elf32_Addr sh_addr;\n" " Elf32_Off sh_offset;\n" " uint32_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint32_t sh_addralign;\n" " uint32_t sh_entsize;\n" "} Elf32_Shdr;\n" #. type: Plain text #: build/C/man5/elf.5:989 #, no-wrap msgid "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint64_t sh_flags;\n" " Elf64_Addr sh_addr;\n" " Elf64_Off sh_offset;\n" " uint64_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint64_t sh_addralign;\n" " uint64_t sh_entsize;\n" "} Elf64_Shdr;\n" msgstr "" "typedef struct {\n" " uint32_t sh_name;\n" " uint32_t sh_type;\n" " uint64_t sh_flags;\n" " Elf64_Addr sh_addr;\n" " Elf64_Off sh_offset;\n" " uint64_t sh_size;\n" " uint32_t sh_link;\n" " uint32_t sh_info;\n" " uint64_t sh_addralign;\n" " uint64_t sh_entsize;\n" "} Elf64_Shdr;\n" #. .Bl -tag -width "sh_addralign" #. type: Plain text #: build/C/man5/elf.5:994 msgid "" "No real differences exist between the 32-bit and 64-bit section headers." msgstr "32 ビットと 64 ビットのセクションヘッダーには実際の違いはない。" #. type: TP #: build/C/man5/elf.5:994 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1000 msgid "" "This member specifies the name of the section. Its value is an index into " "the section header string table section, giving the location of a null-" "terminated string." msgstr "" "このメンバはセクション名を定める。 この値はセクションヘッダー文字列テーブルセ" "クションのインデックスであり、 ヌル文字で終端された文字列の場所を示す。" #. type: TP #: build/C/man5/elf.5:1000 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "SHT_PROGBITS" #. type: Plain text #: build/C/man5/elf.5:1004 msgid "This member categorizes the section's contents and semantics." msgstr "このメンバはセクションの内容と意味が含まれるカテゴリーを示す。" #. type: TP #: build/C/man5/elf.5:1005 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1012 msgid "" "This value marks the section header as inactive. It does not have an " "associated section. Other members of the section header have undefined " "values." msgstr "" "この値はセクションヘッダーが不活性であることを示す。 これは関連するセクション" "を持たない。 このセクションヘッダーの他のメンバは、未定義の値を持つ。" #. type: TP #: build/C/man5/elf.5:1012 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1016 msgid "" "This section holds information defined by the program, whose format and " "meaning are determined solely by the program." msgstr "" "このセクションはプログラムにより定義される情報を保持する。 この情報の形式と意" "味は、ひとえにプログラムによって決定される。" #. type: TP #: build/C/man5/elf.5:1016 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1029 msgid "" "This section holds a symbol table. Typically, B provides " "symbols for link editing, though it may also be used for dynamic linking. " "As a complete symbol table, it may contain many symbols unnecessary for " "dynamic linking. An object file can also contain a B section." msgstr "" "このセクションはシンボルテーブルを保持する。 一般には B はリンク" "編集のためのシンボルを提供するが、 動的リンクにも使われる。 完全なシンボル" "テーブルとして、動的リンクには不要な 多くのシンボルを保持できる。 オブジェク" "トファイルも B セクションを持つことができる。" #. type: TP #: build/C/man5/elf.5:1029 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1034 msgid "" "This section holds a string table. An object file may have multiple string " "table sections." msgstr "" "このセクションは文字列テーブルを保持する。 オブジェクトファイルは複数の文字列" "テーブルセクションを持つことができる。" #. type: TP #: build/C/man5/elf.5:1034 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1042 msgid "" "This section holds relocation entries with explicit addends, such as type " "I for the 32-bit class of object files. An object may have " "multiple relocation sections." msgstr "" "このセクションは明示的な加数 (addend) を持つ再配置エントリーを保持する。 再配" "置エントリーの型は、オブジェクトファイルの 32 ビットクラスでは I " "である。 オブジェクトファイルは複数の再配置セクションを持つことができる。" #. type: TP #: build/C/man5/elf.5:1042 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1049 msgid "" "This section holds a symbol hash table. An object participating in dynamic " "linking must contain a symbol hash table. An object file may have only one " "hash table." msgstr "" "このセクションはシンボルハッシュテーブルを保持する。 動的リンクされるオブジェ" "クトは、 シンボルハッシュテーブルを含んでいなければならない。 オブジェクト" "ファイルは 1 つのハッシュテーブルのみを持つことができる。" #. type: TP #: build/C/man5/elf.5:1049 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1054 msgid "" "This section holds information for dynamic linking. An object file may have " "only one dynamic section." msgstr "" "このセクションは動的リンクの情報を保持する。 オブジェクトファイルは 1 つの動" "的セクションのみを持つことができる。" #. type: TP #: build/C/man5/elf.5:1054 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1057 msgid "This section holds information that marks the file in some way." msgstr "このセクションはファイルに何らかの印を付ける情報を保持する。" #. type: TP #: build/C/man5/elf.5:1057 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1065 msgid "" "A section of this type occupies no space in the file but otherwise resembles " "B. Although this section contains no bytes, the I " "member contains the conceptual file offset." msgstr "" "このタイプのセクションはファイルの領域を使わないという以外は、 " "B と似ている。 このセクションは 1 バイトも含まないが、 " "I メンバは概念的なファイルオフセットを持つ。" #. type: TP #: build/C/man5/elf.5:1065 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1073 msgid "" "This section holds relocation offsets without explicit addends, such as type " "I for the 32-bit class of object files. An object file may have " "multiple relocation sections." msgstr "" "このセクションは明示的な加数を持たない再配置オフセットを保持する。 再配置オフ" "セットの型は、オブジェクトファイルの 32 ビットクラスでは I であ" "る。 オブジェクトファイルは複数の再配置セクションを持つことができる。" #. type: TP #: build/C/man5/elf.5:1073 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1076 msgid "This section is reserved but has unspecified semantics." msgstr "このセクションは予約されているが、意味は指定されていない。" #. type: TP #: build/C/man5/elf.5:1076 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1083 msgid "" "This section holds a minimal set of dynamic linking symbols. An object file " "can also contain a B section." msgstr "" "このセクションは動的リンクシンボルの最小セットを保持する。 オブジェクトファイ" "ルは B セクションも含むことができる。" #. type: TP #: build/C/man5/elf.5:1083 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1088 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以上で B 以下の範囲はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1088 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1093 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以下で B 以上の範囲はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1093 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1097 msgid "" "This value specifies the lower bound of the range of indices reserved for " "application programs." msgstr "" "この値はアプリケーションプログラムのために予約される インデックス範囲の下限を" "指定する。" #. type: TP #: build/C/man5/elf.5:1097 #, no-wrap msgid "B" msgstr "B" #. .El #. type: Plain text #: build/C/man5/elf.5:1108 msgid "" "This value specifies the upper bound of the range of indices reserved for " "application programs. Section types between B and B " "may be used by the application, without conflicting with current or future " "system-defined section types." msgstr "" "この値はアプリケーションプログラムのために予約される インデックス範囲の上限を" "指定する。 B から B の間のセクションタイプは、 現在ま" "たは将来のシステム定義セクションタイプと衝突することなく、 アプリケーションで" "使用することができる。" #. type: TP #: build/C/man5/elf.5:1109 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "SHF_EXECINSTR" -compact #. type: Plain text #: build/C/man5/elf.5:1122 msgid "" "Sections support one-bit flags that describe miscellaneous attributes. If a " "flag bit is set in I, the attribute is \"on\" for the section. " "Otherwise, the attribute is \"off\" or does not apply. Undefined attributes " "are set to zero." msgstr "" "様々な属性を記述するための 1 ビットのフラグをサポートするセクション。 フラグ" "ビットが I に設定された場合、そのセクションについての属性は \"オン" "\" になる。 それ以外の場合、属性が \"オフ\" であるか属性が適用されない。 未定" "義の属性は 0 に設定される。" #. type: TP #: build/C/man5/elf.5:1123 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1127 msgid "" "This section contains data that should be writable during process execution." msgstr "このセクションはプロセス実行中に書き込み可能なデータを含む。" #. type: TP #: build/C/man5/elf.5:1127 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1134 msgid "" "This section occupies memory during process execution. Some control " "sections do not reside in the memory image of an object file. This " "attribute is off for those sections." msgstr "" "このセクションはプロセス実行中にメモリーを使用する。 制御セクションの中には、" "オブジェクトファイルのメモリーイメージには 存在しないものもある。 そうしたセ" "クションの場合、この属性はオフである。" #. type: TP #: build/C/man5/elf.5:1134 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1137 msgid "This section contains executable machine instructions." msgstr "このセクションは実行可能なマシン命令を含む。" #. type: TP #: build/C/man5/elf.5:1137 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1141 msgid "" "All bits included in this mask are reserved for processor-specific semantics." msgstr "" "このマスクに含まれる全てのビットはプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1143 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1148 msgid "" "If this section appears in the memory image of a process, this member holds " "the address at which the section's first byte should reside. Otherwise, the " "member contains zero." msgstr "" "このセクションがプロセスのメモリーイメージにある場合、 このメンバはセクション" "の最初のバイトが存在するアドレスを保持する。 それ以外の場合、このメンバは 0 " "である。" #. type: TP #: build/C/man5/elf.5:1148 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1157 msgid "" "This member's value holds the byte offset from the beginning of the file to " "the first byte in the section. One section type, B, occupies no " "space in the file, and its I member locates the conceptual " "placement in the file." msgstr "" "このメンバの値は、ファイルの先頭からセクションの最初のバイトへの バイトオフ" "セットを保持する。 セクションタイプ B はファイルの領域を全く使用" "せず、このタイプの I メンバはファイルの概念的な位置を示す。" #. type: TP #: build/C/man5/elf.5:1157 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1169 msgid "" "This member holds the section's size in bytes. Unless the section type is " "B, the section occupies I bytes in the file. A section " "of type B may have a nonzero size, but it occupies no space in " "the file." msgstr "" "このメンバはセクションのサイズ (バイト単位) を保持する。 セクションタイプが " "B でない限り、そのセクションはファイル中の I バイトを使" "用する。 タイプが B のセクションはサイズが 0 でないが、ファイルの" "領域を使用しない。" #. type: TP #: build/C/man5/elf.5:1169 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1173 msgid "" "This member holds a section header table index link, whose interpretation " "depends on the section type." msgstr "" "このメンバは、セクションヘッダーテーブルインデックスリンクを保持する。 この解" "釈はセクションタイプに依存する。" #. type: TP #: build/C/man5/elf.5:1173 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1177 msgid "" "This member holds extra information, whose interpretation depends on the " "section type." msgstr "" "このメンバは追加情報を保持する。 この解釈はセクションタイプに依存する。" #. type: TP #: build/C/man5/elf.5:1177 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1190 msgid "" "Some sections have address alignment constraints. If a section holds a " "doubleword, the system must ensure doubleword alignment for the entire " "section. That is, the value of I must be congruent to zero, modulo " "the value of I. Only zero and positive integral powers of two " "are allowed. Values of zero or one mean the section has no alignment " "constraints." msgstr "" "アドレス配置に制約があるセクションもある。 セクションが倍長語 (doubleword) を" "保持する場合、 システムは全てのセクションについて倍長語の配置を保証しなければ" "ならない。 つまり、 I の値は I の値を法として 0 と合同" "でなければならない (訳注:「sh_addr mod sh_addralign = 0 でなければならな" "い)。 2 の 0 乗と正の整数乗のみが許可される。 0 または 1 はセクションの配置に" "制約がないことを意味する。" #. type: TP #: build/C/man5/elf.5:1190 #, no-wrap msgid "I" msgstr "I" #. .El #. type: Plain text #: build/C/man5/elf.5:1197 msgid "" "Some sections hold a table of fixed-sized entries, such as a symbol table. " "For such a section, this member gives the size in bytes for each entry. " "This member contains zero if the section does not hold a table of fixed-size " "entries." msgstr "" "シンボルテーブルのような固定サイズエントリーのテーブルを保持する セクションも" "ある。 このようなセクションでは、 このメンバは各エントリーのサイズ (バイト単" "位) を表す。 このメンバが 0 の場合、 そのセクションは固定サイズエントリーの" "テーブルを保持しない。" #. .Bl -tag -width ".shstrtab" #. type: Plain text #: build/C/man5/elf.5:1200 msgid "Various sections hold program and control information:" msgstr "さまざまなセクションにプログラム情報・制御情報が保持される:" #. type: TP #: build/C/man5/elf.5:1200 #, no-wrap msgid "I<.bss>" msgstr "I<.bss>" #. type: Plain text #: build/C/man5/elf.5:1212 msgid "" "This section holds uninitialized data that contributes to the program's " "memory image. By definition, the system initializes the data with zeros " "when the program begins to run. This section is of type B. The " "attribute types are B and B." msgstr "" "このセクションはプログラムのメモリーイメージに配置される 非初期化データを保持" "する。 定義上、システムはプログラムの実行開始時に、データを 0 で初期化する。 " "このセクションのタイプは B である。 属性タイプは B と " "B である。" #. type: TP #: build/C/man5/elf.5:1212 #, no-wrap msgid "I<.comment>" msgstr "I<.comment>" #. type: Plain text #: build/C/man5/elf.5:1218 msgid "" "This section holds version control information. This section is of type " "B. No attribute types are used." msgstr "" "このセクションはバージョン制御情報を保持する。 このセクションのタイプは " "B である。 属性タイプは使用されない。" #. type: TP #: build/C/man5/elf.5:1218 #, no-wrap msgid "I<.ctors>" msgstr "I<.ctors>" #. type: Plain text #: build/C/man5/elf.5:1227 msgid "" "This section holds initialized pointers to the C++ constructor functions. " "This section is of type B. The attribute types are " "B and B." msgstr "" "このセクションは C++ コンストラクター関数への初期化されたポインターを保持す" "る。 このセクションのタイプは B である。 属性タイプは " "B と B である。" #. type: TP #: build/C/man5/elf.5:1227 #, no-wrap msgid "I<.data>" msgstr "I<.data>" #. type: Plain text #: build/C/man5/elf.5:1237 build/C/man5/elf.5:1247 msgid "" "This section holds initialized data that contribute to the program's memory " "image. This section is of type B. The attribute types are " "B and B." msgstr "" "このセクションはプログラムのメモリーイメージに配置される 初期化済みデータを保" "持する。 このセクションのタイプは B である。 属性タイプは " "B と B である。" #. type: TP #: build/C/man5/elf.5:1237 #, no-wrap msgid "I<.data1>" msgstr "I<.data1>" #. type: TP #: build/C/man5/elf.5:1247 #, no-wrap msgid "I<.debug>" msgstr "I<.debug>" #. type: Plain text #: build/C/man5/elf.5:1255 msgid "" "This section holds information for symbolic debugging. The contents are " "unspecified. This section is of type B. No attribute types " "are used." msgstr "" "このセクションはシンボリックデバッグ用の情報を保持する。 その内容は指定されて" "いない。 このセクションのタイプは B である。 属性タイプは使用さ" "れない。" #. type: TP #: build/C/man5/elf.5:1255 #, no-wrap msgid "I<.dtors>" msgstr "I<.dtors>" #. type: Plain text #: build/C/man5/elf.5:1264 msgid "" "This section holds initialized pointers to the C++ destructor functions. " "This section is of type B. The attribute types are " "B and B." msgstr "" "このセクションは C++ デストラクタ関数への初期化されたポインターを保持する。 " "このセクションのタイプは B である。 属性タイプは B " "と B である。" #. type: TP #: build/C/man5/elf.5:1264 #, no-wrap msgid "I<.dynamic>" msgstr "I<.dynamic>" #. type: Plain text #: build/C/man5/elf.5:1277 msgid "" "This section holds dynamic linking information. The section's attributes " "will include the B bit. Whether the B bit is set is " "processor-specific. This section is of type B. See the " "attributes above." msgstr "" "このセクションは動的リンク情報を保持する。 このセクションの属性は " "B ビットを含む。 B ビットが設定されるか否かはプロセッサ" "による。 このセクションのタイプは B である。 上記の属性を参照す" "ること。" #. type: TP #: build/C/man5/elf.5:1277 #, no-wrap msgid "I<.dynstr>" msgstr "I<.dynstr>" #. type: Plain text #: build/C/man5/elf.5:1285 msgid "" "This section holds strings needed for dynamic linking, most commonly the " "strings that represent the names associated with symbol table entries. This " "section is of type B. The attribute type used is B." msgstr "" "このセクションは動的リンクに必要な文字列を保持する。 最も一般的には、この文字" "列はシンボルテーブルエントリーと 関連づけられた名前を表す。 このセクションの" "タイプは B である。 使用される属性タイプは B である。" #. type: TP #: build/C/man5/elf.5:1285 #, no-wrap msgid "I<.dynsym>" msgstr "I<.dynsym>" #. type: Plain text #: build/C/man5/elf.5:1292 msgid "" "This section holds the dynamic linking symbol table. This section is of " "type B. The attribute used is B." msgstr "" "このセクションは動的リンクシンボルテーブルを保持する。 このセクションのタイプ" "は B である。 使用される属性タイプは B である。" #. type: TP #: build/C/man5/elf.5:1292 #, no-wrap msgid "I<.fini>" msgstr "I<.fini>" #. type: Plain text #: build/C/man5/elf.5:1304 msgid "" "This section holds executable instructions that contribute to the process " "termination code. When a program exits normally the system arranges to " "execute the code in this section. This section is of type B. " "The attributes used are B and B." msgstr "" "このセクションはプロセス終了コードに置かれる実行可能命令を保持する。 プロセス" "が正常に終了した場合、システムはこのセクションにある コードを配置して実行す" "る。 このセクションのタイプは B である。 使用される属性タイプ" "は B と B である。" #. type: TP #: build/C/man5/elf.5:1304 #, no-wrap msgid "I<.gnu.version>" msgstr "I<.gnu.version>" #. type: Plain text #: build/C/man5/elf.5:1313 msgid "" "This section holds the version symbol table, an array of I " "elements. This section is of type B. The attribute type " "used is B." msgstr "" "このセクションはバージョンシンボルテーブルを保持する。 その内容は " "I 要素の配列である。 このセクションのタイプは B で" "ある。 使用される属性タイプは B である。" #. type: TP #: build/C/man5/elf.5:1313 #, no-wrap msgid "I<.gnu.version_d>" msgstr "I<.gnu.version_d>" #. type: Plain text #: build/C/man5/elf.5:1322 msgid "" "This section holds the version symbol definitions, a table of I " "structures. This section is of type B. The attribute type " "used is B." msgstr "" "このセクションはバージョンシンボルの定義を保持する。 その内容は " "I 構造体のテーブルである。 このセクションのタイプは " "B である。 使用される属性タイプは B である。" #. type: TP #: build/C/man5/elf.5:1322 #, no-wrap msgid "I<.gnu.version_r>" msgstr "I<.gnu.version_r>" #. type: Plain text #: build/C/man5/elf.5:1332 msgid "" "This section holds the version symbol needed elements, a table of " "I structures. This section is of type B. The " "attribute type used is B." msgstr "" "このセクションはバージョンシンボルが必要とする要素を保持する。 その内容は " "I 構造体のテーブルである。 このセクションのタイプは " "B である。 使用される属性タイプは B である。" #. type: TP #: build/C/man5/elf.5:1332 #, no-wrap msgid "I<.got>" msgstr "I<.got>" #. type: Plain text #: build/C/man5/elf.5:1338 msgid "" "This section holds the global offset table. This section is of type " "B. The attributes are processor-specific." msgstr "" "このセクションはグローバルオフセットテーブルを保持する。 このセクションのタイ" "プは B である。 属性はプロセッサ毎に異なる。" #. type: TP #: build/C/man5/elf.5:1338 #, no-wrap msgid "I<.hash>" msgstr "I<.hash>" #. type: Plain text #: build/C/man5/elf.5:1345 msgid "" "This section holds a symbol hash table. This section is of type " "B. The attribute used is B." msgstr "" "このセクションはシンボルハッシュテーブルを保持する。 セクションのタイプは " "B である。 使用される属性は B である。" #. type: TP #: build/C/man5/elf.5:1345 #, no-wrap msgid "I<.init>" msgstr "I<.init>" #. type: Plain text #: build/C/man5/elf.5:1357 msgid "" "This section holds executable instructions that contribute to the process " "initialization code. When a program starts to run the system arranges to " "execute the code in this section before calling the main program entry " "point. This section is of type B. The attributes used are " "B and B." msgstr "" "このセクションはプロセス初期化コードに配置される実行可能命令を保持する。 プロ" "グラムが実行を開始すると、 システムはメインプログラムエントリーポイントを呼び" "出す前に、 このセクションにあるコードを配置して実行する。 このセクションはの" "タイプは B である。 使用される属性は B と " "B である。" #. type: TP #: build/C/man5/elf.5:1357 #, no-wrap msgid "I<.interp>" msgstr "I<.interp>" #. type: Plain text #: build/C/man5/elf.5:1368 msgid "" "This section holds the pathname of a program interpreter. If the file has a " "loadable segment that includes the section, the section's attributes will " "include the B bit. Otherwise, that bit will be off. This " "section is of type B." msgstr "" "このセクションはプログラムインタープリターのパス名を保持する。 ファイルにこの" "セクションを含むロード可能セグメントがある場合、 そのセクションの属性には " "B ビットが含まれる。 それ以外の場合このビットはオフになる。 このセ" "クションのタイプは B である。" #. type: TP #: build/C/man5/elf.5:1368 #, no-wrap msgid "I<.line>" msgstr "I<.line>" #. type: Plain text #: build/C/man5/elf.5:1376 msgid "" "This section holds line number information for symbolic debugging, which " "describes the correspondence between the program source and the machine " "code. The contents are unspecified. This section is of type " "B. No attribute types are used." msgstr "" "このセクションはシンボリックデバッグのための行番号情報を保持する。 ここにはプ" "ログラムソースコードとマシンコードの対応関係が記述される。 内容は指定されてい" "ない。 このセクションのタイプは B である。 属性タイプは使用され" "ない。" #. type: TP #: build/C/man5/elf.5:1376 #, no-wrap msgid "I<.note>" msgstr "I<.note>" #. type: Plain text #: build/C/man5/elf.5:1389 msgid "" "This section holds information in the \"Note Section\" format. This section " "is of type B. No attribute types are used. OpenBSD native " "executables usually contain a I<.note.openbsd.ident> section to identify " "themselves, for the kernel to bypass any compatibility ELF binary emulation " "tests when loading the file." msgstr "" "このセクションは \"Note Section\" 形式で情報を保持する。このセクションのタイ" "プ\n" "は B である。属性タイプは使用されない。通常 OpenBSD ネイティブ実" "行\n" "可能ファイルは自身を識別するために I<.note.openbsd.ident> セクションを持" "つ。\n" "これによりカーネルは、ファイルをロードする際に 互換 ELF バイナリエミュレー" "ショ\n" "ンテストを回避できる。" #. type: TP #: build/C/man5/elf.5:1389 #, no-wrap msgid "I<.note.GNU-stack>" msgstr "I<.note.GNU-stack>" #. type: Plain text #: build/C/man5/elf.5:1398 msgid "" "This section is used in Linux object files for declaring stack attributes. " "This section is of type B. The only attribute used is " "B. This indicates to the GNU linker that the object file " "requires an executable stack." msgstr "" "このセクションは Linux のオブジェクトファイルで スタック属性を宣言するのに使" "用される。 セクションのタイプは B である。使用される属性は " "B だけである。この属性は GNU リンカーに対して オブジェクトファ" "イルが実行可能なスタック (executable stack) を必要とする 示すものである。" #. type: TP #: build/C/man5/elf.5:1398 #, no-wrap msgid "I<.plt>" msgstr "I<.plt>" #. type: Plain text #: build/C/man5/elf.5:1404 msgid "" "This section holds the procedure linkage table. This section is of type " "B. The attributes are processor-specific." msgstr "" "このセクションは手続き (procedure) リンクテーブルを保持する。 このセクション" "のタイプは B である。 属性はプロセッサ毎に異なる。" #. type: TP #: build/C/man5/elf.5:1404 #, no-wrap msgid "I<.relNAME>" msgstr "I<.relNAME>" #. type: Plain text #: build/C/man5/elf.5:1423 msgid "" "This section holds relocation information as described below. If the file " "has a loadable segment that includes relocation, the section's attributes " "will include the B bit. Otherwise, the bit will be off. By " "convention, \"NAME\" is supplied by the section to which the relocations " "apply. Thus a relocation section for B<.text> normally would have the name " "B<.rel.text>. This section is of type B." msgstr "" "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む" "ロード可能セグメントを持っている場合、 このセクションの属性は B " "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME" "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再" "配置セクションは、通常は B<.rel.text> という名前を持つ。 このセクションのタイ" "プは B である。" #. type: TP #: build/C/man5/elf.5:1423 #, no-wrap msgid "I<.relaNAME>" msgstr "I<.relaNAME>" #. type: Plain text #: build/C/man5/elf.5:1442 msgid "" "This section holds relocation information as described below. If the file " "has a loadable segment that includes relocation, the section's attributes " "will include the B bit. Otherwise, the bit will be off. By " "convention, \"NAME\" is supplied by the section to which the relocations " "apply. Thus a relocation section for B<.text> normally would have the name " "B<.rela.text>. This section is of type B." msgstr "" "このセクションは以下に記述される再配置情報を保持する。 ファイルが再配置を含む" "ロード可能セグメントを持っている場合、 このセクションの属性は B " "ビットを含む。 それ以外の場合、そのビットはオフである。 慣例として、 \"NAME" "\" は再配置が適用されるセクションが指定される。 よって B<.text> についての再" "配置セクションは、通常は B<.rela.text> という名前を持つ。 このセクションのタ" "イプは B である。" #. type: TP #: build/C/man5/elf.5:1442 #, no-wrap msgid "I<.rodata>" msgstr "I<.rodata>" #. type: Plain text #: build/C/man5/elf.5:1450 build/C/man5/elf.5:1458 msgid "" "This section holds read-only data that typically contributes to a " "nonwritable segment in the process image. This section is of type " "B. The attribute used is B." msgstr "" "このセクションはリードオンリーのデータを保持する。 このデータはプロセスイメー" "ジにおける書き込み不可能なセグメントに置かれる。 このセクションのタイプは " "B である。 使用される属性は B である。" #. type: TP #: build/C/man5/elf.5:1450 #, no-wrap msgid "I<.rodata1>" msgstr "I<.rodata1>" #. type: TP #: build/C/man5/elf.5:1458 #, no-wrap msgid "I<.shstrtab>" msgstr "I<.shstrtab>" #. type: Plain text #: build/C/man5/elf.5:1464 msgid "" "This section holds section names. This section is of type B. " "No attribute types are used." msgstr "" "このセクションはセクション名を保持する。 このセクションのタイプは " "B である。 属性タイプは使用されない。" #. type: TP #: build/C/man5/elf.5:1464 #, no-wrap msgid "I<.strtab>" msgstr "I<.strtab>" #. type: Plain text #: build/C/man5/elf.5:1476 msgid "" "This section holds strings, most commonly the strings that represent the " "names associated with symbol table entries. If the file has a loadable " "segment that includes the symbol string table, the section's attributes will " "include the B bit. Otherwise, the bit will be off. This section " "is of type B." msgstr "" "このセクションは文字列を保持する。 最も一般的なのは、シンボルテーブルエント" "リーに関連づけられた 名前を表す文字列である。 ファイルがシンボル文字列テーブ" "ルを含むロード可能セグメントを持つ場合、 セクションの属性は B ビッ" "トを含む。 それ以外の場合、そのビットはオフである。 このセクションのタイプは " "B である。" #. type: TP #: build/C/man5/elf.5:1476 #, no-wrap msgid "I<.symtab>" msgstr "I<.symtab>" #. type: Plain text #: build/C/man5/elf.5:1487 msgid "" "This section holds a symbol table. If the file has a loadable segment that " "includes the symbol table, the section's attributes will include the " "B bit. Otherwise, the bit will be off. This section is of type " "B." msgstr "" "このセクションはシンボルテーブルを保持する。 ファイルがシンボルテーブルを含む" "ロード可能セグメントを持つ場合、 セクションの属性は B ビットを含" "む。 それ以外の場合、ビットはオフである。 このセクションのタイプは " "B である。" #. type: TP #: build/C/man5/elf.5:1487 #, no-wrap msgid "I<.text>" msgstr "I<.text>" #. .El #. type: Plain text #: build/C/man5/elf.5:1499 msgid "" "This section holds the \"text\", or executable instructions, of a program. " "This section is of type B. The attributes used are " "B and B." msgstr "" "このセクションはプログラムの \"テキスト\" または実行可能命令を保持する。 セク" "ションのタイプは B である。 使用される属性は B と " "B である。" #. type: Plain text #: build/C/man5/elf.5:1510 msgid "" "String table sections hold null-terminated character sequences, commonly " "called strings. The object file uses these strings to represent symbol and " "section names. One references a string as an index into the string table " "section. The first byte, which is index zero, is defined to hold a null " "byte (\\(aq\\e0\\(aq). Similarly, a string table's last byte is defined to " "hold a null byte, ensuring null termination for all strings." msgstr "" "文字列テーブルセクションはヌル文字で終端されたキャラクター配列 (通常文字列と" "呼ばれるもの) を保持する。 オブジェクトファイルはこれらの文字列を シンボル名" "とセクション名を表すために使う。 文字列は、文字列テーブルセクションへのイン" "デックスとして参照される。 インデックス 0 の最初のバイトは、ヌルバイト (\\(aq" "\\e0\\(aq) を 保持すると定義されている。 同様に文字列テーブルの最後のバイトも" "ヌル文字を保持すると定義されている。 これは全ての文字列がヌルバイトで終端され" "ていることを保証するためである。" #. type: Plain text #: build/C/man5/elf.5:1515 msgid "" "An object file's symbol table holds information needed to locate and " "relocate a program's symbolic definitions and references. A symbol table " "index is a subscript into this array." msgstr "" "オブジェクトファイルのシンボルテーブルは、 プログラムのシンボル定義と参照を配" "置または再配置するのに 必要な情報を保持する。" #. type: Plain text #: build/C/man5/elf.5:1526 #, no-wrap msgid "" "typedef struct {\n" " uint32_t st_name;\n" " Elf32_Addr st_value;\n" " uint32_t st_size;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" "} Elf32_Sym;\n" msgstr "" "typedef struct {\n" " uint32_t st_name;\n" " Elf32_Addr st_value;\n" " uint32_t st_size;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" "} Elf32_Sym;\n" #. type: Plain text #: build/C/man5/elf.5:1539 #, no-wrap msgid "" "typedef struct {\n" " uint32_t st_name;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" " Elf64_Addr st_value;\n" " uint64_t st_size;\n" "} Elf64_Sym;\n" msgstr "" "typedef struct {\n" " uint32_t st_name;\n" " unsigned char st_info;\n" " unsigned char st_other;\n" " uint16_t st_shndx;\n" " Elf64_Addr st_value;\n" " uint64_t st_size;\n" "} Elf64_Sym;\n" #. .Bl -tag -width "st_value" #. type: Plain text #: build/C/man5/elf.5:1545 msgid "" "The 32-bit and 64-bit versions have the same members, just in a different " "order." msgstr "" "32 ビット版と 64 ビット版は同じメンバを持ち、単に順番が異なるだけである。" #. type: TP #: build/C/man5/elf.5:1545 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1553 msgid "" "This member holds an index into the object file's symbol string table, which " "holds character representations of the symbol names. If the value is " "nonzero, it represents a string table index that gives the symbol name. " "Otherwise, the symbol table has no name." msgstr "" "このメンバはオブジェクトファイルのシンボル文字列テーブルの インデックスを保持" "する。 シンボル文字列テーブルはシンボル名の文字表現を保持する。 この値が 0 で" "ない場合、シンボル名を得るための文字テーブルインデックスを表す。 それ以外の場" "合、シンボルテーブルは名前を持たない。" #. type: TP #: build/C/man5/elf.5:1553 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1556 msgid "This member gives the value of the associated symbol." msgstr "このメンバは関連づけられたシンボルの値を表す。" #. type: TP #: build/C/man5/elf.5:1556 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1561 msgid "" "Many symbols have associated sizes. This member holds zero if the symbol " "has no size or an unknown size." msgstr "" "多くのシンボルにはそれに関連づけられたサイズがある。 シンボルがサイズを持たな" "い場合、またはサイズが不明な場合、 このメンバは 0 である。" #. type: TP #: build/C/man5/elf.5:1561 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "STT_SECTION" #. type: Plain text #: build/C/man5/elf.5:1565 msgid "This member specifies the symbol's type and binding attributes:" msgstr "このメンバはシンボルのタイプとバインディング (binding) 属性を指定する:" #. type: TP #: build/C/man5/elf.5:1566 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1569 msgid "The symbol's type is not defined." msgstr "シンボルのタイプが定義されていない。" #. type: TP #: build/C/man5/elf.5:1569 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1572 msgid "The symbol is associated with a data object." msgstr "シンボルはデータオブジェクトに関連づけられている。" #. type: TP #: build/C/man5/elf.5:1572 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1575 msgid "The symbol is associated with a function or other executable code." msgstr "シンボルは関数またはその他の実行コードに関連づけられている。" #. type: TP #: build/C/man5/elf.5:1575 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1582 msgid "" "The symbol is associated with a section. Symbol table entries of this type " "exist primarily for relocation and normally have B bindings." msgstr "" "シンボルはセクションに関連づけられている。 このタイプのシンボルテーブルエント" "リーは、 主として再配置のために存在し、通常は B バインディングを持" "つ。" #. type: TP #: build/C/man5/elf.5:1582 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1593 msgid "" "By convention, the symbol's name gives the name of the source file " "associated with the object file. A file symbol has B bindings, " "its section index is B, and it precedes the other B " "symbols of the file, if it is present." msgstr "" "慣例として、シンボルの名前は オブジェクトファイルに関連づけられたソースファイ" "ルの名前を指定する。 ファイルシンボルは B バインディングを持ち、そ" "のセクションインデックスは B である。 ファイルシンボルは、ファイルに" "他の B シンボルがある場合は、それよりも先に来る。" #. type: TP #: build/C/man5/elf.5:1593 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1598 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以上で B 以下の範囲はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1598 #, no-wrap msgid "B" msgstr "B" #. .El #. .Bl -tag -width "STB_GLOBAL" #. type: Plain text #: build/C/man5/elf.5:1605 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以下で B 以上の範囲はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1605 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1611 msgid "" "Local symbols are not visible outside the object file containing their " "definition. Local symbols of the same name may exist in multiple files " "without interfering with each other." msgstr "" "局所的シンボルはその定義を含むオブジェクトファイルの外からは見えない。 同じ名" "前の局所的シンボルは、お互いに影響を受けることなく、 複数のファイルに存在でき" "る。" #. type: TP #: build/C/man5/elf.5:1611 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1617 msgid "" "Global symbols are visible to all object files being combined. One file's " "definition of a global symbol will satisfy another file's undefined " "reference to the same symbol." msgstr "" "大域的シンボルは結びつけられている全てのオブジェクトファイルから見える。 1 つ" "のファイルで大域的シンボルが定義されていたら、 他のファイルでは同じシンボルへ" "の参照は未定義でなければならない。" #. type: TP #: build/C/man5/elf.5:1617 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1621 msgid "" "Weak symbols resemble global symbols, but their definitions have lower " "precedence." msgstr "弱シンボルは大域的シンボルに似ているが、その定義は優先度が低い。" #. type: TP #: build/C/man5/elf.5:1621 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1626 msgid "" "This value up to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以上で B 以下の範囲はプロセッサ固有の意味に予約されている。" #. type: TP #: build/C/man5/elf.5:1626 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1631 msgid "" "This value down to and including B is reserved for processor-" "specific semantics." msgstr "" "この値以下で B 以上の範囲はプロセッサ固有の意味に予約されている。" #. type: Plain text #: build/C/man5/elf.5:1633 msgid "There are macros for packing and unpacking the binding and type fields:" msgstr "" "バインディングとタイプフィールドを パックしたりアンパックしたりするマクロがあ" "る:" #. type: Plain text #: build/C/man5/elf.5:1640 msgid "" "B(info) or B(info) extract a binding from an " "I value." msgstr "" "B(info) または B(info) I の値からバ" "インディングを取り出す。" #. type: Plain text #: build/C/man5/elf.5:1644 msgid "B(info) or B(info)" msgstr "B(info) または B(info)" #. type: Plain text #: build/C/man5/elf.5:1648 msgid "extract a type from an I value." msgstr "I の値からタイプを取り出す。" #. type: Plain text #: build/C/man5/elf.5:1652 msgid "B(bind, type) or B(bind, type)" msgstr "B(bind, type) または B(bind, type)" #. type: Plain text #: build/C/man5/elf.5:1656 msgid "convert a binding and a type into an I value." msgstr "バインディングとタイプを I の値に変換する。" #. type: TP #: build/C/man5/elf.5:1658 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "STV_PROTECTED" #. type: Plain text #: build/C/man5/elf.5:1662 msgid "This member defines the symbol visibility." msgstr "このメンバはシンボルの visibility (見える範囲) を規定する。" #. type: TP #: build/C/man5/elf.5:1663 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1667 msgid "Default symbol visibility rules." msgstr "デフォルトのシンボル visibility ルール。" #. type: TP #: build/C/man5/elf.5:1667 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1670 msgid "Processor-specific hidden class." msgstr "プロセッサ固有の隠しクラス。" #. type: TP #: build/C/man5/elf.5:1670 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1673 msgid "Symbol is unavailable in other modules." msgstr "シンボルは他のモジュールからは利用できない。" #. type: TP #: build/C/man5/elf.5:1673 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1676 msgid "Not preemptible, not exported." msgstr "横取りできず (not preemptible)、公開されない。" #. type: Plain text #: build/C/man5/elf.5:1679 msgid "There are macros for extracting the visibility type:" msgstr "visibility 種別を抽出するためのマクロがある。" #. type: Plain text #: build/C/man5/elf.5:1683 msgid "B(other) or B(other)" msgstr "B(other) または B(other)" #. type: TP #: build/C/man5/elf.5:1685 #, no-wrap msgid "I" msgstr "I" #. .El #. type: Plain text #: build/C/man5/elf.5:1693 msgid "" "Every symbol table entry is \"defined\" in relation to some section. This " "member holds the relevant section header table index." msgstr "" "各シンボルテーブルエントリーは、いくつかのセクションに関連して \"定義されてい" "る\"。 このメンバは関連するセクションヘッダーテーブルインデックスを保持する。" #. type: Plain text #: build/C/man5/elf.5:1701 msgid "" "Relocation is the process of connecting symbolic references with symbolic " "definitions. Relocatable files must have information that describes how to " "modify their section contents, thus allowing executable and shared object " "files to hold the right information for a process's program image. " "Relocation entries are these data." msgstr "" "再配置はシンボル参照とシンボル定義を結合するプロセスである。 再配置可能ファイ" "ルはセクションの内容をどのように修正するかに関する 情報を持たなければならな" "い。 これにより、実行可能ファイルと共有オブジェクトファイルは プロセスのプロ" "グラムイメージについての正しい情報を持つことができる。 再配置エントリーは以下" "のようなデータである。" #. type: Plain text #: build/C/man5/elf.5:1703 msgid "Relocation structures that do not need an addend:" msgstr "加数を必要としない再配置構造体。" #. type: Plain text #: build/C/man5/elf.5:1710 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" "} Elf32_Rel;\n" msgstr "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" "} Elf32_Rel;\n" #. type: Plain text #: build/C/man5/elf.5:1719 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" "} Elf64_Rel;\n" msgstr "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" "} Elf64_Rel;\n" #. type: Plain text #: build/C/man5/elf.5:1723 msgid "Relocation structures that need an addend:" msgstr "加数を必要とする再配置構造体。" #. type: Plain text #: build/C/man5/elf.5:1731 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" " int32_t r_addend;\n" "} Elf32_Rela;\n" msgstr "" "typedef struct {\n" " Elf32_Addr r_offset;\n" " uint32_t r_info;\n" " int32_t r_addend;\n" "} Elf32_Rela;\n" #. type: Plain text #: build/C/man5/elf.5:1741 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" " int64_t r_addend;\n" "} Elf64_Rela;\n" msgstr "" "typedef struct {\n" " Elf64_Addr r_offset;\n" " uint64_t r_info;\n" " int64_t r_addend;\n" "} Elf64_Rela;\n" #. type: TP #: build/C/man5/elf.5:1744 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1752 msgid "" "This member gives the location at which to apply the relocation action. For " "a relocatable file, the value is the byte offset from the beginning of the " "section to the storage unit affected by the relocation. For an executable " "file or shared object, the value is the virtual address of the storage unit " "affected by the relocation." msgstr "" "このメンバは再配置動作が適用される位置を与える。 再配置可能ファイルの場合、こ" "の値はセクションの先頭から 再配置で影響を受ける格納単位 (storage unit) までの" "バイトオフセットである。 実行可能ファイルまたは共有オブジェクトの場合、 この" "値は再配置で影響を受ける格納単位の仮想アドレスである。" #. type: TP #: build/C/man5/elf.5:1752 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1767 msgid "" "This member gives both the symbol table index with respect to which the " "relocation must be made and the type of relocation to apply. Relocation " "types are processor-specific. When the text refers to a relocation entry's " "relocation type or symbol table index, it means the result of applying " "B or B, respectively, to the entry's " "I member." msgstr "" "このメンバは、再配置が行われなければならないシンボルテーブルインデックスと、 " "適用される再配置のタイプの両方を与える。 再配置タイプはプロセッサ毎に異な" "る。 テキストが再配置エントリーの再配置タイプ またはシンボルテーブルインデッ" "クスを参照している場合、 それぞれエントリーの I メンバに対して、それ" "ぞれ B と B を適用した結果を意味する。" #. type: TP #: build/C/man5/elf.5:1767 #, no-wrap msgid "I" msgstr "I" #. .El #. type: Plain text #: build/C/man5/elf.5:1772 msgid "" "This member specifies a constant addend used to compute the value to be " "stored into the relocatable field." msgstr "" "このメンバは定数の加数を指定する。 この加数は再配置可能フィールドに格納される" "値を計算するために使われる。" #. type: Plain text #: build/C/man5/elf.5:1777 msgid "" "The .dynamic section contains a series of structures that hold relevant " "dynamic linking information. The d_tag member controls the interpretation " "of d_un." msgstr "" "\\&.dynamic セクションは、関連する動的リンク情報を保持している 一連の構造体を" "保持する。 d_tag メンバは d_un の解釈を制御する。" #. type: Plain text #: build/C/man5/elf.5:1788 #, no-wrap msgid "" "typedef struct {\n" " Elf32_Sword d_tag;\n" " union {\n" " Elf32_Word d_val;\n" " Elf32_Addr d_ptr;\n" " } d_un;\n" "} Elf32_Dyn;\n" "extern Elf32_Dyn _DYNAMIC[];\n" msgstr "" "typedef struct {\n" " Elf32_Sword d_tag;\n" " union {\n" " Elf32_Word d_val;\n" " Elf32_Addr d_ptr;\n" " } d_un;\n" "} Elf32_Dyn;\n" "extern Elf32_Dyn _DYNAMIC[];\n" #. type: Plain text #: build/C/man5/elf.5:1801 #, no-wrap msgid "" "typedef struct {\n" " Elf64_Sxword d_tag;\n" " union {\n" " Elf64_Xword d_val;\n" " Elf64_Addr d_ptr;\n" " } d_un;\n" "} Elf64_Dyn;\n" "extern Elf64_Dyn _DYNAMIC[];\n" msgstr "" "typedef struct {\n" " Elf64_Sxword d_tag;\n" " union {\n" " Elf64_Xword d_val;\n" " Elf64_Addr d_ptr;\n" " } d_un;\n" "} Elf64_Dyn;\n" "extern Elf64_Dyn _DYNAMIC[];\n" #. type: TP #: build/C/man5/elf.5:1804 #, no-wrap msgid "I" msgstr "I" #. .Bl -tag -width "DT_SYMBOLIC" #. type: Plain text #: build/C/man5/elf.5:1808 msgid "This member may have any of the following values:" msgstr "このメンバは以下の値を持つことができる:" #. type: TP #: build/C/man5/elf.5:1809 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1812 msgid "Marks end of dynamic section" msgstr "動的セクションの終りのマーク" #. type: TP #: build/C/man5/elf.5:1812 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1815 msgid "String table offset to name of a needed library" msgstr "必要なライブラリの名前への文字列テーブルオフセット" #. type: TP #: build/C/man5/elf.5:1815 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1818 msgid "Size in bytes of PLT relocs" msgstr "PLT 再配置 (reloc) テーブルのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1818 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1821 msgid "Address of PLT and/or GOT" msgstr "PLT と GOT (または何れか一方) のアドレス" #. type: TP #: build/C/man5/elf.5:1821 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1824 msgid "Address of symbol hash table" msgstr "シンボルハッシュテーブルのアドレス" #. type: TP #: build/C/man5/elf.5:1824 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1827 msgid "Address of string table" msgstr "文字列テーブルのアドレス" #. type: TP #: build/C/man5/elf.5:1827 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1830 msgid "Address of symbol table" msgstr "シンボルテーブルのアドレス" #. type: TP #: build/C/man5/elf.5:1830 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1833 msgid "Address of Rela relocs table" msgstr "Rela 再配置テーブルのアドレス" #. type: TP #: build/C/man5/elf.5:1833 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1836 msgid "Size in bytes of Rela table" msgstr "Rela テーブルのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1836 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1839 msgid "Size in bytes of a Rela table entry" msgstr "Rela テーブルエントリーのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1839 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1842 msgid "Size in bytes of string table" msgstr "文字列テーブルのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1842 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1845 msgid "Size in bytes of a symbol table entry" msgstr "シンボルテーブルエントリーのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1845 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1848 msgid "Address of the initialization function" msgstr "初期化関数のアドレス" #. type: TP #: build/C/man5/elf.5:1848 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1851 msgid "Address of the termination function" msgstr "終了関数のアドレス" #. type: TP #: build/C/man5/elf.5:1851 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1854 msgid "String table offset to name of shared object" msgstr "共有オブジェクトの名前への文字列テーブルオフセット" #. type: TP #: build/C/man5/elf.5:1854 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1857 msgid "String table offset to library search path (deprecated)" msgstr "ライブラリ検索パスへの文字列テーブルオフセット (推奨されない)" #. type: TP #: build/C/man5/elf.5:1857 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1860 msgid "" "Alert linker to search this shared object before the executable for symbols" msgstr "" "リンカーがシンボルの実行可能ファイルより前に この共有オブジェクトを検索した場" "合は、警告を出す。" #. type: TP #: build/C/man5/elf.5:1860 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1863 msgid "Address of Rel relocs table" msgstr "Rel 再配置テーブルのアドレス" #. type: TP #: build/C/man5/elf.5:1863 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1866 msgid "Size in bytes of Rel table" msgstr "Rel テーブルのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1866 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1869 msgid "Size in bytes of a Rel table entry" msgstr "Rel テーブルエントリーのサイズ (バイト単位)" #. type: TP #: build/C/man5/elf.5:1869 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1872 msgid "Type of reloc the PLT refers (Rela or Rel)" msgstr "PLT が参照する再配置テーブルのタイプ (Rela または Rel)" #. type: TP #: build/C/man5/elf.5:1872 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1875 msgid "Undefined use for debugging" msgstr "デバッグのために使用されている。内容は定義されていない。" #. type: TP #: build/C/man5/elf.5:1875 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1878 msgid "" "Absence of this indicates no relocs should apply to a nonwritable segment" msgstr "" "これが指定されていない場合、 書き込み不可のセグメントには再配置は適用されな" "い。" #. type: TP #: build/C/man5/elf.5:1878 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1881 msgid "Address of reloc entries solely for the PLT" msgstr "PLT 専用の再配置エントリーのアドレス" #. type: TP #: build/C/man5/elf.5:1881 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1885 msgid "" "Instruct dynamic linker to process all relocs before transferring control to " "the executable" msgstr "" "実行可能ファイルに制御を譲る前に、 全ての再配置を処理するように動的リンカーに" "指示する。" #. type: TP #: build/C/man5/elf.5:1885 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1888 msgid "String table offset to library search path" msgstr "ライブラリ検索パスへの文字列テーブルオフセット" #. type: TP #: build/C/man5/elf.5:1888 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1891 msgid "Start of processor-specific semantics" msgstr "プロセッサ固有の意味の開始" #. type: TP #: build/C/man5/elf.5:1891 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man5/elf.5:1894 msgid "End of processor-specific semantics" msgstr "プロセッサ固有の意味の終了" #. type: TP #: build/C/man5/elf.5:1896 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1899 msgid "This member represents integer values with various interpretations." msgstr "このメンバは様々な意味に解釈される整数値である。" #. type: TP #: build/C/man5/elf.5:1899 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man5/elf.5:1907 msgid "" "This member represents program virtual addresses. When interpreting these " "addresses, the actual address should be computed based on the original file " "value and memory base address. Files do not contain relocation entries to " "fixup these addresses." msgstr "" "このメンバはプログラムの仮想アドレスを表す。 これらのアドレスを解釈する際" "に、 実際のアドレスは元々のファイルの値と メモリーの基底アドレスから計算され" "る。 ファイルにはこれらのアドレスを修正するための 再配置エントリーを含めては" "ならない。" #. type: TP #: build/C/man5/elf.5:1907 #, no-wrap msgid "I<_DYNAMIC>" msgstr "I<_DYNAMIC>" #. .El #. type: Plain text #: build/C/man5/elf.5:1912 msgid "" "Array containing all the dynamic structures in the .dynamic section. This " "is automatically populated by the linker." msgstr "" "\\&.dynamic セクションにある全ての動的構造体を含む配列。 これは自動的にリン" "カーに渡される。" #. OpenBSD #. ELF support first appeared in #. OpenBSD 1.2, #. although not all supported platforms use it as the native #. binary file format. #. type: Plain text #: build/C/man5/elf.5:1921 msgid "ELF first appeared in System V. The ELF format is an adopted standard." msgstr "" "ELF は System V で初めて登場した。 ELF 自体は System V で初めて登場した。 " "ELF フォーマットは採択された標準である。" #. .SH AUTHORS #. The original version of this manual page was written by #. .An Jeroen Ruigrok van der Werven #. .Aq asmodai@FreeBSD.org #. with inspiration from BSDi's #. .Bsx #. .Nm elf #. man page. #. type: Plain text #: build/C/man5/elf.5:1939 msgid "" "The extensions for I, I and I respectively are " "Linux extensions. Sun, BSD and AMD64 also support them; for further " "information, look under SEE ALSO." msgstr "" "I, I, I に対する拡張は、いずれも Linux での拡張" "で\n" "ある。Sun, BSD, AMD64 もこれに対応している。詳しい情報は、関連項目を参照。" #. type: Plain text #: build/C/man5/elf.5:1946 msgid "B(1), B(1), B(1), B(1), B(2), B(5)" msgstr "B(1), B(1), B(1), B(1), B(2), B(5)" #. type: Plain text #: build/C/man5/elf.5:1949 msgid "Hewlett-Packard, I." msgstr "Hewlett-Packard, I." #. type: Plain text #: build/C/man5/elf.5:1952 msgid "Santa Cruz Operation, I." msgstr "Santa Cruz Operation, I." #. type: Plain text #: build/C/man5/elf.5:1956 msgid "" "UNIX System Laboratories, \"Object Files\", I." msgstr "" "UNIX System Laboratories, \"Object Files\", I." #. type: Plain text #: build/C/man5/elf.5:1959 msgid "Sun Microsystems, I." msgstr "Sun Microsystems, I." #. type: Plain text #: build/C/man5/elf.5:1962 msgid "" "AMD64 ABI Draft, I." msgstr "" "AMD64 ABI Draft, I." #. type: TH #: build/C/man3/end.3:26 #, no-wrap msgid "END" msgstr "END" #. type: TH #: build/C/man3/end.3:26 #, no-wrap msgid "2008-07-17" msgstr "2008-07-17" #. type: Plain text #: build/C/man3/end.3:29 msgid "etext, edata, end - end of program segments" msgstr "etext, edata, end - プログラムセグメントの終わり" #. type: Plain text #: build/C/man3/end.3:34 #, no-wrap msgid "" "BI< etext>B<;>\n" "BI< edata>B<;>\n" "BI< end>B<;>\n" msgstr "" "BI< etext>B<;>\n" "BI< edata>B<;>\n" "BI< end>B<;>\n" #. type: Plain text #: build/C/man3/end.3:38 msgid "" "The addresses of these symbols indicate the end of various program segments:" msgstr "これらのシンボルのアドレスは各種のプログラムセグメントの終わりを示す。" #. type: TP #: build/C/man3/end.3:38 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/end.3:42 msgid "" "This is the first address past the end of the text segment (the program " "code)." msgstr "テキストセグメント (プログラムのコード) の末尾の次のアドレス。" #. type: TP #: build/C/man3/end.3:42 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/end.3:46 msgid "This is the first address past the end of the initialized data segment." msgstr "初期化されたデータのセグメントの末尾の次のアドレス。" #. type: TP #: build/C/man3/end.3:46 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man3/end.3:50 msgid "" "This is the first address past the end of the uninitialized data segment " "(also known as the BSS segment)." msgstr "" "初期化されていないデータのセグメント (BSS セグメントとも言われる) の末尾の次" "のアドレス。" #. type: Plain text #: build/C/man3/end.3:53 msgid "" "Although these symbols have long been provided on most UNIX systems, they " "are not standardized; use with caution." msgstr "" "これらのシンボルは長年ほとんどの UNIX システムで提供されているが、 標準化され" "てはいない。注意して使うこと。" #. type: Plain text #: build/C/man3/end.3:56 msgid "" "The program must explicitly declare these symbols; they are not defined in " "any header file." msgstr "" "プログラムではこれらのシンボルは明示的に宣言しなければならない。 これらはどの" "ヘッダーファイルでも定義されていない。" #. type: Plain text #: build/C/man3/end.3:64 msgid "" "On some systems the names of these symbols are preceded by underscores, " "thus: I<_etext>, I<_edata>, and I<_end>. These symbols are also defined for " "programs compiled on Linux." msgstr "" "いくつかのシステムでは、これらのシンボルの名前は前にアンダースコアが 付いてい" "て、 I<_etext>, I<_edata>, I<_end> となっている。 Linux でコンパイルされたプ" "ログラムでは、 これらのシンボルでも定義される。" #. type: Plain text #: build/C/man3/end.3:76 msgid "" "At the start of program execution, the program break will be somewhere near " "I<&end> (perhaps at the start of the following page). However, the break " "will change as memory is allocated via B(2) or B(3). Use " "B(2) with an argument of zero to find the current value of the " "program break." msgstr "" "プログラムの実行開始時に、プログラムブレークは I<&end> の近くのどこか (おそら" "く次のページの先頭) になる。 しかしながら、 B(2) や B(3) でメ" "モリーが割り当てられるに連れて、プログラムブレークは変化していく。 引き数に " "0 を指定して B(2) を呼び出すことで、プログラムブレークの現在値を知るこ" "とができる。" #. type: Plain text #: build/C/man3/end.3:78 msgid "When run, the program below produces output such as the following:" msgstr "下記のプログラムを実行すると、次のような出力が得られる。" #. type: Plain text #: build/C/man3/end.3:86 #, no-wrap msgid "" "$B< ./a.out>\n" "First address past:\n" " program text (etext) 0x8048568\n" " initialized data (edata) 0x804a01c\n" " uninitialized data (end) 0x804a024\n" msgstr "" "$B< ./a.out>\n" "First address past:\n" " program text (etext) 0x8048568\n" " initialized data (edata) 0x804a01c\n" " uninitialized data (end) 0x804a024\n" #. type: SS #: build/C/man3/end.3:88 build/C/man1/memusage.1:234 #, no-wrap msgid "Program source" msgstr "プログラムのソース" #. type: Plain text #: build/C/man3/end.3:93 build/C/man1/memusage.1:238 #, no-wrap msgid "" "#include Estdio.hE\n" "#include Estdlib.hE\n" msgstr "" "#include Estdio.hE\n" "#include Estdlib.hE\n" #. type: Plain text #: build/C/man3/end.3:96 #, no-wrap msgid "" "extern char etext, edata, end; /* The symbols must have some type,\n" " or \"gcc -Wall\" complains */\n" msgstr "" "extern char etext, edata, end; /* The symbols must have some type,\n" " or \"gcc -Wall\" complains */\n" #. type: Plain text #: build/C/man3/end.3:104 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " printf(\"First address past:\\en\");\n" " printf(\" program text (etext) %10p\\en\", &etext);\n" " printf(\" initialized data (edata) %10p\\en\", &edata);\n" " printf(\" uninitialized data (end) %10p\\en\", &end);\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " printf(\"First address past:\\en\");\n" " printf(\" program text (etext) %10p\\en\", &etext);\n" " printf(\" initialized data (edata) %10p\\en\", &edata);\n" " printf(\" uninitialized data (end) %10p\\en\", &end);\n" #. type: Plain text #: build/C/man3/end.3:113 msgid "B(1), B(1), B(2), B(5)" msgstr "B(1), B(1), B(2), B(5)" #. type: TH #: build/C/man8/ld.so.8:5 #, no-wrap msgid "LD.SO" msgstr "LD.SO" #. type: TH #: build/C/man8/ld.so.8:5 #, no-wrap msgid "2014-12-31" msgstr "2014-12-31" #. type: Plain text #: build/C/man8/ld.so.8:8 msgid "ld.so, ld-linux.so* - dynamic linker/loader" msgstr "ld.so, ld-linux.so* - 動的なリンカー/ローダー" #. type: Plain text #: build/C/man8/ld.so.8:15 msgid "" "The dynamic linker can be run either indirectly by running some dynamically " "linked program or library (in which case no command-line options to the " "dynamic linker can be passed and, in the ELF case, the dynamic linker which " "is stored in the B<.interp> section of the program is executed) or directly " "by running:" msgstr "" "動的リンカーは、動的にリンクされたプログラムやライブラリの実行によって 間接的" "に実行することができる (ELF の場合、動的リンカーにコマンドラインオプションを" "渡すことはできず、 プログラムの B<.interp> セクションに入っている動的リンカー" "が実行される)。 また以下のように直接実行することもできる" #. type: Plain text #: build/C/man8/ld.so.8:18 msgid "I [OPTIONS] [PROGRAM [ARGUMENTS]]" msgstr "I [OPTIONS] [PROGRAM [ARGUMENTS]]" #. type: Plain text #: build/C/man8/ld.so.8:25 msgid "" "The programs B and B find and load the shared libraries " "needed by a program, prepare the program to run, and then run it." msgstr "" "プログラム B と B はプログラムに必要な共有ライブラリを見" "つけてロードし、 プログラムの実行を準備してから起動させる。" #. type: Plain text #: build/C/man8/ld.so.8:32 msgid "" "Linux binaries require dynamic linking (linking at run time) unless the B<-" "static> option was given to B(1) during compilation." msgstr "" "Linux のバイナリは、コンパイルの時に B(1) に対して B<-static> オプション" "が指定されていない限り、動的リンク (実行時リンク) が必要となる。" #. type: Plain text #: build/C/man8/ld.so.8:45 msgid "" "The program B handles a.out binaries, a format used long ago; B handles ELF (I for libc5, I for glibc2), which everybody has been using for years now. Otherwise, " "both have the same behavior, and use the same support files and programs " "B(1), B(8), and I." msgstr "" "プログラム B は a.out バイナリを扱う。 これはずっと昔に使われていた" "フォーマットである。 B (libc5 では I, " "glibc2 では I) は ELF バイナリを扱う。 このフォーマット" "は多くの人が最近何年も使っている。 それ以外の点では両方とも同じように動作" "し、 同じサポートファイルとプログラム B(1), B(8), I を使用する。" #. type: Plain text #: build/C/man8/ld.so.8:53 msgid "" "When resolving library dependencies, the dynamic linker first inspects each " "dependency string to see if it contains a slash (this can occur if a library " "pathname containing slashes was specified at link time). If a slash is " "found, then the dependency string is interpreted as a (relative or absolute) " "pathname, and the library is loaded using that pathname." msgstr "" "ライブラリの依存関係を解決する際、動的リンカーは、最初に、依存関係の各文字列" "がスラッシュを含んでいるかをチェックする (この状況になるのは、リンク時にス" "ラッシュを含むライブラリのパス名が指定された場合である)。スラッシュが見つかっ" "た場合、その依存関係の文字列はパス名 (相対パス、絶対パスのどちらも可) として" "解釈され、そのパス名を使ってそのライブラリはロードされる。" #. type: Plain text #: build/C/man8/ld.so.8:56 msgid "" "If a library dependency does not contain a slash, then it is searched for in " "the following order:" msgstr "" "ライブラリの依存関係にスラッシュが含まれない場合、以下の順序で検索される。" #. type: Plain text #: build/C/man8/ld.so.8:61 msgid "" "(ELF only) Using the directories specified in the DT_RPATH dynamic section " "attribute of the binary if present and DT_RUNPATH attribute does not exist. " "Use of DT_RPATH is deprecated." msgstr "" "(ELF のみ) バイナリの動的セクション属性 DT_RPATH が存在し、 DT_RUNPATH 属性" "が存在しない場合は、 DT_RPATH で指定されたディレクトリを使用する。 DT_RPATH " "の使用は推奨されない。" #. type: Plain text #: build/C/man8/ld.so.8:66 msgid "" "Using the environment variable B. Except if the executable " "is a set-user-ID/set-group-ID binary, in which case it is ignored." msgstr "" "環境変数 B を用いる。 ただし実行ファイルが set-user-ID/set-" "group-ID バイナリの場合、 これは無視される。" #. type: Plain text #: build/C/man8/ld.so.8:70 msgid "" "(ELF only) Using the directories specified in the DT_RUNPATH dynamic section " "attribute of the binary if present." msgstr "" "(ELF のみ) バイナリの動的セクション属性 DT_RUNPATH が存在すれば、 " "DT_RUNPATH で指定されたディレクトリを使用する。" #. type: Plain text #: build/C/man8/ld.so.8:80 msgid "" "From the cache file I, which contains a compiled list of " "candidate libraries previously found in the augmented library path. If, " "however, the binary was linked with the B<-z nodeflib> linker option, " "libraries in the default library paths are skipped. Libraries installed in " "hardware capability directories (see below) are preferred to other " "libraries." msgstr "" "キャッシュファイル I を探す。このファイルは、 (ld.so.conf " "で追加指定されたものも含めた) ライブラリ検索パスから見つかったライブラリファ" "イルの情報を集めたものである。ただし、バイナリがリンカーオプション B<-z " "nodeflib> でリンクされている場合は、デフォルトのライブラリパスにある ライブラ" "リはスキップされる。ハードウェア機能ディレクトリ (下記参照) にインストールさ" "れたライブラリは、他のライブラリよりも優先される。" #. type: Plain text #: build/C/man8/ld.so.8:88 msgid "" "In the default path I, and then I. If the binary was linked " "with the B<-z nodeflib> linker option, this step is skipped." msgstr "" "デフォルトパスである I、 次いで I を用いる。 バイナリがリン" "カーオプション B<-z nodeflib> でリンクされている場合、このステップはスキップ" "される。" #. type: SS #: build/C/man8/ld.so.8:88 #, no-wrap msgid "Rpath token expansion" msgstr "rpath トークンの展開" #. type: Plain text #: build/C/man8/ld.so.8:92 msgid "" "B understands certain strings in an rpath specification (DT_RPATH or " "DT_RUNPATH); those strings are substituted as follows" msgstr "" "B では rpath 指定 (DT_RPATH や DT_RUNPATH) 中にいくつかの特定の文字列" "を使うことができる。 それらの文字列は以下のように置き換えられる。" #. type: TP #: build/C/man8/ld.so.8:92 #, no-wrap msgid "I<$ORIGIN> (or equivalently I<${ORIGIN}>)" msgstr "I<$ORIGIN> (I<${ORIGIN}> も同じ)" #. type: Plain text #: build/C/man8/ld.so.8:99 msgid "" "This expands to the directory containing the program or shared library. " "Thus, an application located in I could be compiled with" msgstr "" "プログラムや共有ライブラリが入っているディレクトリに展開される。 したがっ" "て、 I に置かれたアプリケーションを" #. type: Plain text #: build/C/man8/ld.so.8:101 #, no-wrap msgid " gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n" msgstr " gcc -Wl,-rpath,\\(aq$ORIGIN/../lib\\(aq\n" #. type: Plain text #: build/C/man8/ld.so.8:111 msgid "" "so that it finds an associated shared library in I no matter " "where I is located in the directory hierarchy. This facilitates " "the creation of \"turn-key\" applications that do not need to be installed " "into special directories, but can instead be unpacked into any directory and " "still find their own shared libraries." msgstr "" "でコンパイルすることで、 I がディレクトリ階層のどこにあっても、 " "B は I にある対応する共有ライブラリを見つけることができ" "る。 この機能を使うと、 特別なディレクトリではなく任意のディレクトリにインス" "トールしても「ややこしい設定なしで」独自の共有ライブラリを使えるアプリケー" "ションを作成することができる。" #. type: TP #: build/C/man8/ld.so.8:111 #, no-wrap msgid "I<$LIB> (or equivalently I<${LIB}>)" msgstr "I<$LIB> (I<${LIB}> も同じ)" #. type: Plain text #: build/C/man8/ld.so.8:123 msgid "" "This expands to I or I depending on the architecture (e.g., on " "x86-64, it expands to I and on x86-32, it expands to I)." msgstr "" "アーキテクチャーに応じて I か I に展開される (例えば、 x86-64 で" "は I に、 x86-32 では I に展開される)。" #. type: TP #: build/C/man8/ld.so.8:123 #, no-wrap msgid "I<$PLATFORM> (or equivalently I<${PLATFORM}>)" msgstr "I<$PLATFORM> (I<${PLATFORM}> も同じ)" # # #. To get an idea of the places that $PLATFORM would match, #. look at the output of the following: #. mkdir /tmp/d #. LD_LIBRARY_PATH=/tmp/d strace -e open /bin/date 2>&1 | grep /tmp/d #. ld.so lets names be abbreviated, so $O will work for $ORIGIN; #. Don't do this!! #. type: Plain text #: build/C/man8/ld.so.8:141 msgid "" "This expands to a string corresponding to the processor type of the host " "system (e.g., \"x86_64\"). On some architectures, the Linux kernel doesn't " "provide a platform string to the dynamic linker. The value of this string " "is taken from the B value in the auxiliary vector (see " "B(3))." msgstr "" "ホストシステムのプロセッサ種別に対応する文字列に展開される (例えば " "\"x86_64\")。\n" "いくつかのアーキテクチャーでは、 Linux カーネルから動的リンカーにプラット" "フォームを表す文字列が提供されない。 この文字列の値は補助ベクトルの " "B 値から取得される (B(3) 参照)。" #. type: SH #: build/C/man8/ld.so.8:141 build/C/man8/ldconfig.8:100 build/C/man1/ldd.1:51 #: build/C/man1/memusage.1:135 build/C/man1/memusagestat.1:47 #: build/C/man1/mtrace.1:51 build/C/man1/pldd.1:40 build/C/man1/sprof.1:46 #, no-wrap msgid "OPTIONS" msgstr "オプション" #. type: TP #: build/C/man8/ld.so.8:142 #, no-wrap msgid "B<--list>" msgstr "B<--list>" #. type: Plain text #: build/C/man8/ld.so.8:145 msgid "List all dependencies and how they are resolved." msgstr "全ての依存関係とその解決法をリストする。" #. type: TP #: build/C/man8/ld.so.8:145 #, no-wrap msgid "B<--verify>" msgstr "B<--verify>" #. type: Plain text #: build/C/man8/ld.so.8:149 msgid "" "Verify that program is dynamically linked and this dynamic linker can handle " "it." msgstr "" "プログラムが動的にリンクされているかと、 動的リンカーがそのプログラムを扱える" "かを検証する。" #. type: TP #: build/C/man8/ld.so.8:149 #, no-wrap msgid "B<--inhibit-cache>" msgstr "B<--inhibit-cache>" #. type: Plain text #: build/C/man8/ld.so.8:152 msgid "Do not use /etc/ld.so.cache." msgstr "/etc/ld.so.cache を使用しない。" #. type: TP #: build/C/man8/ld.so.8:152 #, no-wrap msgid "B<--library-path PATH>" msgstr "B<--library-path PATH>" #. type: Plain text #: build/C/man8/ld.so.8:157 msgid "" "Use PATH instead of B environment variable setting (see " "below)." msgstr "" "B 環境変数の設定ではなく、\n" "指定した PATH を使用する (下記参照)。" #. type: TP #: build/C/man8/ld.so.8:157 #, no-wrap msgid "B<--inhibit-rpath LIST>" msgstr "B<--inhibit-rpath LIST>" #. type: Plain text #: build/C/man8/ld.so.8:163 msgid "" "Ignore RPATH and RUNPATH information in object names in LIST. This option " "is ignored if B is set-user-ID or set-group-ID." msgstr "" "LIST にあるオブジェクト名の RPATH と RUNPATH の情報を無視する。 B が " "set-user-ID か set-group-ID されている場合、 このオプションは無視される。" #. type: TP #: build/C/man8/ld.so.8:163 #, no-wrap msgid "B<--audit LIST>" msgstr "B<--audit LIST>" #. type: Plain text #: build/C/man8/ld.so.8:166 msgid "Use objects named in LIST as auditors." msgstr "LIST で指定された名前のオブジェクトを監査者として使用する。" #. type: SH #: build/C/man8/ld.so.8:166 #, no-wrap msgid "HARDWARE CAPABILITIES" msgstr "ハードウェア機能" #. type: Plain text #: build/C/man8/ld.so.8:177 msgid "" "Some libraries are compiled using hardware-specific instructions which do " "not exist on every CPU. Such libraries should be installed in directories " "whose names define the required hardware capabilities, such as I. The dynamic linker checks these directories against the hardware of " "the machine and selects the most suitable version of a given library. " "Hardware capability directories can be cascaded to combine CPU features. " "The list of supported hardware capability names depends on the CPU. The " "following names are currently recognized:" msgstr "" "いくつかのライブラリは、(すべての CPU に存在するわけではない)ハードウェア固" "有\n" "の命令を使ってコンパイルされている。そのようなライブラリは、\n" "I のような、必要なハードウェア機能 (hardware capability) を" "規\n" "定する名前のディレクトリにインストールすべきである。\n" "動的リンカーは、マシンのハードウェアに基づいてこれらのディレクトリを確認" "し、\n" "指定されたライブラリに最も適したバージョンを選択する。\n" "ハードウェア機能ディレクトリはつなげることができ、\n" "複数の CPU 機能を組み合わることができる。\n" "対応しているハードウェア機能名のリストは CPU に依存する。\n" "現在のところ、以下の名前が認識される。" #. type: TP #: build/C/man8/ld.so.8:177 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:180 msgid "ev4, ev5, ev56, ev6, ev67" msgstr "ev4, ev5, ev56, ev6, ev67" #. type: TP #: build/C/man8/ld.so.8:180 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:183 msgid "loongson2e, loongson2f, octeon, octeon2" msgstr "loongson2e, loongson2f, octeon, octeon2" #. type: TP #: build/C/man8/ld.so.8:183 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:188 msgid "" "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, " "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, " "ppc32, ppc601, ppc64, smt, spe, ucache, vsx" msgstr "" "4xxmac, altivec, arch_2_05, arch_2_06, booke, cellbe, dfp, efpdouble, " "efpsingle, fpu, ic_snoop, mmu, notb, pa6t, power4, power5, power5+, power6x, " "ppc32, ppc601, ppc64, smt, spe, ucache, vsx" #. type: TP #: build/C/man8/ld.so.8:188 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:191 msgid "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2" msgstr "flush, muldiv, stbar, swap, ultra3, v9, v9v, v9v2" #. type: TP #: build/C/man8/ld.so.8:191 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:195 msgid "" "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, " "z990, z9-109, z10, zarch" msgstr "" "dfp, eimm, esan3, etf3enh, g5, highgprs, hpage, ldisp, msa, stfle, z900, " "z990, z9-109, z10, zarch" #. type: TP #: build/C/man8/ld.so.8:195 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:199 msgid "" "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, " "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm" msgstr "" "acpi, apic, clflush, cmov, cx8, dts, fxsr, ht, i386, i486, i586, i686, mca, " "mmx, mtrr, pat, pbe, pge, pn, pse36, sep, ss, sse, sse2, tm" #. type: SH #: build/C/man8/ld.so.8:199 #, no-wrap msgid "ENVIRONMENT" msgstr "環境変数" #. type: Plain text #: build/C/man8/ld.so.8:201 msgid "Among the more important environment variables are the following:" msgstr "重要な環境変数には以下のものがある。" #. type: TP #: build/C/man8/ld.so.8:201 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:214 msgid "" "(glibc since 2.2.3) Each shared library can inform the dynamic linker of " "the minimum kernel ABI version that it requires. (This requirement is " "encoded in an ELF note section that is viewable via I as a " "section labeled B.) At run time, the dynamic linker " "determines the ABI version of the running kernel and will reject loading " "shared libraries that specify minimum ABI versions that exceed that ABI " "version." msgstr "" "(glibc 2.2.3 以降) 各共有ライブラリは動的リンカーに必要なカーネル ABI の最小" "バージョンを通知することができる (必要なバージョンは ELF の note section に格" "納され、 I で B のラベルが付いたセクションとし" "て見ることができる)。 実行時に、 動的リンカーは実行中のカーネルの ABI バー" "ジョンを判定し、 カーネルの ABI バージョンよりも大きな ABI の最小バージョンが" "指定された共有ライブラリのロードを行わない。" #. type: Plain text #: build/C/man8/ld.so.8:223 msgid "" "B can be used to cause the dynamic linker to assume that " "it is running on a system with a different kernel ABI version. For example, " "the following command line causes the dynamic linker to assume it is running " "on Linux 2.2.5 when loading the shared libraries required by I:" msgstr "" "B を使うことで、 動的リンカーに、 異なるカーネル ABI バー" "ジョンのシステムで実行されているかのように見せることができる。 例えば、 以下" "のコマンドラインを実行すると、 動的リンカーは I が必要とする共有ライ" "ブラリをロードする際に Linux 2.2.5 上で動作していると仮定する。" #. type: Plain text #: build/C/man8/ld.so.8:227 #, no-wrap msgid "$ B\n" msgstr "$ B\n" #. type: Plain text #: build/C/man8/ld.so.8:244 msgid "" "On systems that provide multiple versions of a shared library (in different " "directories in the search path) that have different minimum kernel ABI " "version requirements, B can be used to select the version " "of the library that is used (dependent on the directory search order). " "Historically, the most common use of the B feature was to " "manually select the older LinuxThreads POSIX threads implementation on " "systems that provided both LinuxThreads and NPTL (which latter was typically " "the default on such systems); see B(7)." msgstr "" "必要なカーネル ABI の最低バージョンが異なる複数の共有ライブラリが (検索パス中" "の異なるディレクトリに) あるシステムでは、 B を使って (ディ" "レクトリ検索順序に基づき) 使用するライブラリのバージョンを選択することができ" "る。 歴史的に見ると、 B の最も一般的な使い道は、 " "LinuxThreads と NPTL の両方を提供しているシステムで、 古い LinuxThreads の " "POSIX スレッド実装を手動で選択するためであった (そのようなシステムでは、通常" "は NPTL がデフォルトであった)。 B(7) を参照。" #. type: TP #: build/C/man8/ld.so.8:244 build/C/man8/ld.so.8:325 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:249 msgid "" "(glibc since 2.2) Don't update the Global Offset Table (GOT) and Procedure " "Linkage Table (PLT) when resolving a symbol." msgstr "" "(glibc 2.2 以降) シンボルを解決した際、Global Offset Table (GOT) と " "Procedure Linkage Table (PLT) を更新しない。" #. type: TP #: build/C/man8/ld.so.8:249 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:257 msgid "" "(libc5; glibc since 2.1.1) If set to a nonempty string, causes the dynamic " "linker to resolve all symbols at program startup instead of deferring " "function call resolution to the point when they are first referenced. This " "is useful when using a debugger." msgstr "" "(libc5; glibc 2.1.1 以降) 空文字列でない場合、 動的リンカーはプログラムの開" "始時に全てのシンボルを解決する。 空文字列の場合、解決しなければならない関数呼" "び出しが 最初に参照された時点で解決する。 デバッガを使っているときに役立つ。" #. type: TP #: build/C/man8/ld.so.8:257 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:265 msgid "" "A colon-separated list of directories in which to search for ELF libraries " "at execution-time. Similar to the B environment variable. Ignored in " "set-user-ID and set-group-ID programs." msgstr "" "コロン区切りのディレクトリのリスト。実行時に ELF ライブラリを検索するディレク" "トリを指定する。 B 環境変数と同じように指定する。 set-user-ID/set-" "group-ID されたプログラムでは無視される。" #. type: TP #: build/C/man8/ld.so.8:265 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:276 msgid "" "A list of additional, user-specified, ELF shared libraries to be loaded " "before all others. The items of the list can be separated by spaces or " "colons. This can be used to selectively override functions in other shared " "libraries. The libraries are searched for using the rules given under " "DESCRIPTION. For set-user-ID/set-group-ID ELF binaries, preload pathnames " "containing slashes are ignored, and libraries in the standard search " "directories are loaded only if the set-user-ID permission bit is enabled on " "the library file." msgstr "" "追加でユーザーが指定する ELF 共有ライブラリのリスト。指定されたライブラリは、" "すべてのライブラリより前にロードされる。リストの区切りはスペースとコロンであ" "る。他の共有ライブラリにある関数を選択的に置き換えるために用いることができ" "る。指定されたライブラリは「説明」の節で述べたルールを基いて検索される。 set-" "user-ID/set-group-ID された ELF バイナリでは、スラッシュを含んだパス名のライ" "ブラリは無視され、標準の検索ディレクトリのライブラリはそのライブラリファイル" "の set-user-ID 許可ビットが有効になっている場合のみロードされる。" #. type: TP #: build/C/man8/ld.so.8:276 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:283 msgid "" "(ELF only) If set to a nonempty string, causes the program to list its " "dynamic library dependencies, as if run by B(1), instead of running " "normally." msgstr "" "(ELF のみ) 空文字列でない場合、 プログラムを普通に実行するのではなく、 " "B(1) を実行したときのように動的ライブラリの依存関係をリスト表示させる。" #. type: Plain text #: build/C/man8/ld.so.8:286 msgid "" "Then there are lots of more or less obscure variables, many obsolete or only " "for internal use." msgstr "" "そして、それほど知られていない環境変数もある。 多くは廃れてしまったものか内部" "でのみ使用される環境変数である。" #. type: TP #: build/C/man8/ld.so.8:286 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:294 msgid "" "(libc5) Version of B for a.out binaries only. Old " "versions of ld-linux.so.1 also supported B." msgstr "" "(libc5) a.out バイナリにのみ使われる環境変数で、 B と同じ役" "割をする。 ld-linux.so.1 の古いバージョンでは B もサポー" "トしていた。" #. type: TP #: build/C/man8/ld.so.8:294 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:302 msgid "" "(libc5) Version of B for a.out binaries only. Old versions of " "ld-linux.so.1 also supported B." msgstr "" "(libc5) a.out バイナリにのみ使われる環境変数で、 B と同じ役割を" "する。 ld-linux.so.1 の古いバージョンでは B もサポートしてい" "た。" #. type: TP #: build/C/man8/ld.so.8:302 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:312 msgid "" "(glibc since 2.4) A colon-separated list of user-specified, ELF shared " "objects to be loaded before all others in a separate linker namespace (i.e., " "one that does not intrude upon the normal symbol bindings that would occur " "in the process). These libraries can be used to audit the operation of the " "dynamic linker. B is ignored for set-user-ID/set-group-ID " "binaries." msgstr "" "(glibc 2.4 以降) 他のオブジェクトよりも前に、別のリンカー名前空間 (そのプロ" "セスで行われる 通常のシンボル結合 (symbol bindigns) には関与しない名前空間) " "で ロードされる、ユーザー指定の ELF 共有オブジェクトのコロン区切りのリスト。 " "これらのライブラリを使って、動的リンカーの動作を監査することができる。 set-" "user-ID/set-group-ID されたバイナリでは、 B は無視される。" #. type: Plain text #: build/C/man8/ld.so.8:325 msgid "" "The dynamic linker will notify the audit libraries at so-called auditing " "checkpoints\\(emfor example, loading a new library, resolving a symbol, or " "calling a symbol from another shared object\\(emby calling an appropriate " "function within the audit library. For details, see B(7). The " "auditing interface is largely compatible with that provided on Solaris, as " "described in its I, in the chapter I." msgstr "" "動的リンカーは、いわゆる監査チェックポイント (auditing checkpoints) におい" "て、監査 (audit) ライブラリの適切な関数を呼び出すことで、 監査ライブラリへの" "通知を行う。監査チェックポイントの例としては、 新たなライブラリのロード、シン" "ボルの解決、別の共有オブジェクト からのシンボルの呼び出し、などがある。 詳細" "は B(7) を参照してほしい。 audit インターフェースは、Solaris で" "提供されているものと 大部分は互換性がある。Solaris の audit インターフェース" "については、 I の I の章に説明がある。" #. type: Plain text #: build/C/man8/ld.so.8:330 msgid "" "(glibc since 2.1.95) Do not update the GOT (global offset table) and PLT " "(procedure linkage table) after resolving a symbol." msgstr "" "(glibc 2.1.95 以降) シンボルを解決した後、GOT (global offset table) と PLT " "(procedure linkage table) を更新しない。" #. type: TP #: build/C/man8/ld.so.8:330 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:343 msgid "" "(glibc since 2.1) Output verbose debugging information about the dynamic " "linker. If set to B prints all debugging information it has, if set to " "B prints a help message about which categories can be specified in " "this environment variable. Since glibc 2.3.4, B is ignored for " "set-user-ID/set-group-ID binaries." msgstr "" "(glibc 2.1 以降) 動的リンカーの詳細なデバッグ情報を出力する。 B に設定" "した場合、全ての動的リンカーが持つデバッグ情報を表示する。 B に設定した" "場合、この環境変数で指定されるカテゴリーのヘルプ情報を表示する。 glibc 2.3.4 " "以降、 set-user-ID/set-group-ID されたバイナリでは B は無視される。" #. type: TP #: build/C/man8/ld.so.8:343 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:352 msgid "" "(glibc since 2.1) File in which B output should be written. The " "default is standard error. B is ignored for set-user-ID/" "set-group-ID binaries." msgstr "" "(glibc 2.1 以降) B の出力を書き込むファイル。 デフォルトは標準エ" "ラーである。 set-user-ID/set-group-ID されたバイナリでは、 " "B は無視される。" #. type: TP #: build/C/man8/ld.so.8:352 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:359 msgid "" "(glibc since 2.1.91) Allow weak symbols to be overridden (reverting to old " "glibc behavior). For security reasons, since glibc 2.3.4, " "B is ignored for set-user-ID/set-group-ID binaries." msgstr "" "(glibc 2.1.19 以降) 上書きされる弱いシンボル (昔の glibc の挙動を逆にす" "る)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID " "されたバイナリでは B は無視される。" #. type: TP #: build/C/man8/ld.so.8:359 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:363 msgid "(glibc since 2.1) Mask for hardware capabilities." msgstr "(glibc 2.1 以降) ハードウェア機能のマスク。" #. type: TP #: build/C/man8/ld.so.8:363 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:368 msgid "" "(a.out only)(libc5) Don't ignore the directory in the names of a.out " "libraries to be loaded. Use of this option is strongly discouraged." msgstr "" "(a.out のみ)(libc5) ロードする a.out ライブラリの名前において、ディレクトリ" "を無視しない。 このオプションは用いるべきではない。" #. type: TP #: build/C/man8/ld.so.8:368 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:373 msgid "" "(a.out only)(libc5) Suppress warnings about a.out libraries with " "incompatible minor version numbers." msgstr "" "(a.out のみ)(libc5) a.out ライブラリにおけるマイナーバージョン番号の非互換" "に 対する警告メッセージを抑制する。" #. type: TP #: build/C/man8/ld.so.8:373 #, no-wrap msgid "B" msgstr "B" #. Only used if $ORIGIN can't be determined by normal means #. (from the origin path saved at load time, or from /proc/self/exe)? #. type: Plain text #: build/C/man8/ld.so.8:382 msgid "" "(glibc since 2.1) Path where the binary is found (for non-set-user-ID " "programs). For security reasons, since glibc 2.4, B is " "ignored for set-user-ID/set-group-ID binaries." msgstr "" "(glibc 2.1 以降) バイナリへのパス (set-user-ID されていないプログラムについ" "て)。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID " "されたバイナリでは B は無視される。" #. type: TP #: build/C/man8/ld.so.8:382 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:394 msgid "" "(glibc since 2.4) Set to 0 to disable pointer guarding. Any other value " "enables pointer guarding, which is also the default. Pointer guarding is a " "security mechanism whereby some pointers to code stored in writable program " "memory (return addresses saved by B(3) or function pointers used by " "various glibc internals) are mangled semi-randomly to make it more difficult " "for an attacker to hijack the pointers for use in the event of a buffer " "overrun or stack-smashing attack." msgstr "" "(glibc 2.4 以降) 0 に設定すると、ポインター保護 (pointer guarding) が無効に" "なる。 それ以外の値の場合はポインター保護が有効になる。 デフォルトはポイン" "ター保護有効である。 ポインター保護はセキュリティ機構の一つで、書き込み可能な" "プログラムメモリー に格納されたコードへのポインターをほぼランダム化すること" "で、 攻撃者がバッファーオーバーランやスタック破壊 (stack-smashing) 攻撃の際" "に ポインターを乗っ取ることを困難にするものである。" #. type: TP #: build/C/man8/ld.so.8:394 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:401 msgid "" "(glibc since 2.1) The name of a (single) shared object to be profiled, " "specified either as a pathname or a soname. Profiling output is appended to " "the file whose name is: \"I<$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\"." msgstr "" "(glibc 2.1 以降) プロファイルを行う共有オブジェクトの名前。 パス名か共有オブ" "ジェクト名 (soname) で指定される。 プロフィールの出力は \"I<" "$LD_PROFILE_OUTPUT>/I<$LD_PROFILE>.profile\" という名前の ファイルに追記され" "る。" #. type: TP #: build/C/man8/ld.so.8:401 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:414 msgid "" "(glibc since 2.1) Directory where B output should be written. " "If this variable is not defined, or is defined as an empty string, then the " "default is I. B is ignored for set-user-ID and " "set-group-ID programs, which always use I." msgstr "" "(glibc 2.1 以降) B の出力が書き込まれるディレクトリ。 この変数が" "定義されていないか、空の文字列が定義されている場合、 デフォルト値は I となる。 set-user-ID/set-group-ID されたプログラムでは、 " "LD_PROFILE_OUTPUT は無視される。 出力ファイルは常に I が使用さ" "れる。" #. type: TP #: build/C/man8/ld.so.8:414 #, no-wrap msgid "B" msgstr "B" #. FIXME #. Document LD_TRACE_PRELINKING (e.g.: LD_TRACE_PRELINKING=libx1.so ./prog) #. Available since glibc 2.3 #. Also enables DL_DEBUG_PRELINK #. type: Plain text #: build/C/man8/ld.so.8:425 msgid "" "(glibc since 2.1) Show auxiliary array passed up from the kernel. For " "security reasons, since glibc 2.3.5, B is ignored for set-user-" "ID/set-group-ID binaries." msgstr "" "(glibc 2.1 以降) カーネルから渡される補助的な (パラメーターの) 配列を表示す" "る。 セキュリティ上の理由から、glibc 2.3.4 以降、 set-user-ID/set-group-ID さ" "れたバイナリでは B は無視される。" #. type: TP #: build/C/man8/ld.so.8:425 #, no-wrap msgid "B" msgstr "B" #. http://sources.redhat.com/ml/libc-hacker/2003-11/msg00127.html #. Subject: [PATCH] Support LD_USE_LOAD_BIAS #. Jakub Jelinek #. type: Plain text #: build/C/man8/ld.so.8:444 msgid "" "By default (i.e., if this variable is not defined) executables and " "prelinked shared objects will honor base addresses of their dependent " "libraries and (nonprelinked) position-independent executables (PIEs) and " "other shared objects will not honor them. If B is defined " "with the value 1, both executables and PIEs will honor the base addresses. " "If B is defined with the value 0, neither executables nor " "PIEs will honor the base addresses. This variable is ignored by set-user-ID " "and set-group-ID programs." msgstr "" "デフォルトでは (つまり、この変数が定義されていない場合)、 実行ファイルと " "prelink された共有オブジェクトでは、それらが依存する ライブラリのベースアドレ" "スが尊重される一方、 (prelink されていない) position-independent executables " "(PIEs) と 他の共有オブジェクトでは依存するライブラリのベースアドレスは 尊重さ" "れない。 B が値 1 で定義された場合、実行ファイルと PIE のど" "ちらでも ベースアドレスが尊重される。 B が値 0 で定義された" "場合、実行ファイルと PIE のどちらでも ベースアドレスは尊重されない。 set-" "user-ID や set-group-ID されたプログラムでは、 この変数は無視される。" #. type: TP #: build/C/man8/ld.so.8:444 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:452 msgid "" "(glibc since 2.1) If set to a nonempty string, output symbol versioning " "information about the program if the B environment " "variable has been set." msgstr "" "(glibc 2.1 以降) 空文字列でない場合に、B 環境変数が" "設定されていれば、プログラムのシンボルバージョン情報を出力する。" #. type: TP #: build/C/man8/ld.so.8:452 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:456 msgid "" "(ELF only)(glibc since 2.1.3) If set to a nonempty string, warn about " "unresolved symbols." msgstr "" "(ELF のみ)(glibc 2.1.3 以降) 空文字列でない場合、解決されていないシンボルが" "あれば警告を出す。" #. type: TP #: build/C/man8/ld.so.8:456 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:463 msgid "(libc5) I[0] to be used by B(1) when none is present." msgstr "" "(libc5) B(1) の引き数がない場合に、 I[0] として使われる値。" #. type: SH #: build/C/man8/ld.so.8:463 build/C/man8/ldconfig.8:156 #, no-wrap msgid "FILES" msgstr "ファイル" #. type: TP #: build/C/man8/ld.so.8:465 build/C/man8/ldconfig.8:158 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man8/ld.so.8:468 msgid "a.out dynamic linker/loader" msgstr "a.out の動的リンカー/ローダー" #. type: TP #: build/C/man8/ld.so.8:468 #, no-wrap msgid "I{I<1>,I<2>}" msgstr "I{I<1>,I<2>}" #. type: Plain text #: build/C/man8/ld.so.8:471 msgid "ELF dynamic linker/loader" msgstr "ELF の動的リンカー/ローダー" #. type: TP #: build/C/man8/ld.so.8:471 build/C/man8/ldconfig.8:165 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man8/ld.so.8:475 msgid "" "File containing a compiled list of directories in which to search for " "libraries and an ordered list of candidate libraries." msgstr "" "ライブラリを検索するディレクトリを集めたリストと、 共有ライブラリの候補の整列" "リストを含むファイル。" #. type: TP #: build/C/man8/ld.so.8:475 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man8/ld.so.8:479 msgid "" "File containing a whitespace-separated list of ELF shared libraries to be " "loaded before the program." msgstr "" "プログラムの前にロードすべき ELF 共有ライブラリを スペースで区切ったリストが" "書かれているファイル。" #. type: TP #: build/C/man8/ld.so.8:479 #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: build/C/man8/ld.so.8:482 msgid "shared libraries" msgstr "共有ライブラリ" #. type: Plain text #: build/C/man8/ld.so.8:489 msgid "" "The B functionality is available for executables compiled using libc " "version 4.4.3 or greater. ELF functionality is available since Linux 1.1.52 " "and libc5." msgstr "" "B の機能は libc のバージョン 4.4.3 以上を用いてコンパイルされた 実行" "ファイルで使用可能である。 ELF の機能は Linux 1.1.52 以降と libc5 以降で使用" "可能である。" #. .SH AUTHORS #. ld.so: David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus #. Torvalds, Lars Wirzenius and Mitch D'Souza #. ld-linux.so: Roland McGrath, Ulrich Drepper and others. #. In the above, (libc5) stands for David Engel's ld.so/ld-linux.so. #. type: Plain text #: build/C/man8/ld.so.8:505 msgid "" "B(1), B(1), B(1), B(1), B(3), B(3), " "B(7), B(8), B(8)" msgstr "" "B(1), B(1), B(1), B(1), B(3), B(3), " "B(7), B(8), B(8)" #. type: TH #: build/C/man8/ldconfig.8:22 #, no-wrap msgid "LDCONFIG" msgstr "LDCONFIG" #. type: TH #: build/C/man8/ldconfig.8:22 #, no-wrap msgid "2012-05-10" msgstr "2012-05-10" #. type: Plain text #: build/C/man8/ldconfig.8:25 msgid "ldconfig - configure dynamic linker run-time bindings" msgstr "ldconfig - 動的リンカーによる実行時の結合関係を設定する" #. type: Plain text #: build/C/man8/ldconfig.8:40 msgid "" "B [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ " "root> ] I\\ ..." msgstr "" "B [ B<-nNvXV> ] [ B<-f\\ conf> ] [ B<-C\\ cache> ] [ B<-r\\ " "root> ] I\\ ..." #. type: Plain text #: build/C/man8/ldconfig.8:49 msgid "B B<-l> [ B<-v> ] I\\ ..." msgstr "B B<-l> [ B<-v> ] I\\ ..." #. type: Plain text #: build/C/man8/ldconfig.8:54 msgid "B B<-p>" msgstr "B B<-p>" #. type: Plain text #: build/C/man8/ldconfig.8:71 msgid "" "B creates the necessary links and cache to the most recent shared " "libraries found in the directories specified on the command line, in the " "file I, and in the trusted directories (I and I). The cache is used by the run-time linker, I or I. B checks the header and filenames of the libraries it " "encounters when determining which versions should have their links updated." msgstr "" "B は最新の共有ライブラリに対して必要なリンクを作成したり、 ライブラ" "リをキャッシュしたりする。 ライブラリは、コマンドラインや I " "ファイルで指定されたディレクトリや、共有ライブラリが 通常置かれるディレクト" "リ (I と I) から検索される。 キャッシュは実行時リンカー " "I または I によって使われる。 B は処理するライ" "ブラリのヘッダー部分とファイル名をチェックし、 どのバージョンに対してリンクを" "更新すべきかを判断する。" #. The following sentence looks suspect #. (perhaps historical cruft) -- MTK, Jul 2005 #. Therefore, when making dynamic libraries, #. it is wise to explicitly link against libc (use \-lc). #. type: Plain text #: build/C/man8/ldconfig.8:79 msgid "" "B will attempt to deduce the type of ELF libs (i.e., libc5 or " "libc6/glibc) based on what C libs, if any, the library was linked against." msgstr "" "B は ELF ライブラリの種類 (libc5 か libc6/glibc か) を判断すると" "き、 そのライブラリがリンクしている C ライブラリを参考にする。" #. type: Plain text #: build/C/man8/ldconfig.8:100 msgid "" "Some existing libs do not contain enough information to allow the deduction " "of their type. Therefore, the I file format allows the " "specification of an expected type. This is used I for those ELF libs " "which we can not work out. The format is \"dirname=TYPE\", where TYPE can " "be libc4, libc5, or libc6. (This syntax also works on the command line.) " "Spaces are I allowed. Also see the B<-p> option. B should " "normally be run by the superuser as it may require write permission on some " "root owned directories and files." msgstr "" "すでに存在しているライブラリの中には、種類を区別するために充分な 情報が含まれ" "ていないものもある。 このため I ファイルでライブラリの形式を" "指定することができるようになっている。 これは区別不能な ELF ライブラリ「だ" "け」に用いるものである。 フォーマットは \"dirname=TYPE\" とする。 ここで " "TYPE は libc4, libc5, libc6 のいずれかである (この書式はコマンドラインでも使" "える)。 「スペースを入れてはならない」。 B<-p> オプションも見ておくこと。 " "B は通常スーパーユーザー権限で実行しなければならない。 root が所有" "しているディレクトリやファイルへの書き込み権限が 必要になるからである。" #. type: TP #: build/C/man8/ldconfig.8:101 #, no-wrap msgid "B<-v>" msgstr "B<-v>" #. type: Plain text #: build/C/man8/ldconfig.8:107 msgid "" "Verbose mode. Print current version number, the name of each directory as " "it is scanned, and any links that are created. Overrides quiet mode." msgstr "" "詳細表示モード。 現在のバージョン番号を表示する。 またそれぞれのディレクトリ" "をスキャンし、 新しいリンクを生成するたびに、その内容を表示する。 メッセージ" "抑制モードを上書きする。" #. type: TP #: build/C/man8/ldconfig.8:107 #, no-wrap msgid "B<-n>" msgstr "B<-n>" #. type: Plain text #: build/C/man8/ldconfig.8:118 msgid "" "Only process directories specified on the command line. Don't process the " "trusted directories (I and I) nor those specified in I. Implies B<-N>." msgstr "" "コマンドラインで指定されたディレクトリのみを処理する。 通常共有ライブラリが置" "かれるディレクトリ (I と I) や I で指定され" "たディレクトリは処理しない。 暗黙のうちに B<-N> が指定される。" #. type: TP #: build/C/man8/ldconfig.8:118 #, no-wrap msgid "B<-N>" msgstr "B<-N>" #. type: Plain text #: build/C/man8/ldconfig.8:124 msgid "" "Don't rebuild the cache. Unless B<-X> is also specified, links are still " "updated." msgstr "" "キャッシュを再構成しない。 同時に B<-X> が同時に指定されなければ、リンクのほ" "うは更新される。" #. type: TP #: build/C/man8/ldconfig.8:124 #, no-wrap msgid "B<-X>" msgstr "B<-X>" #. type: Plain text #: build/C/man8/ldconfig.8:130 msgid "" "Don't update links. Unless B<-N> is also specified, the cache is still " "rebuilt." msgstr "" "リンクを更新しない。 B<-N> が同時に指定されなければ、キャッシュのほうは再構成" "される。" #. type: TP #: build/C/man8/ldconfig.8:130 #, no-wrap msgid "B<-f conf>" msgstr "B<-f conf>" #. type: Plain text #: build/C/man8/ldconfig.8:136 msgid "Use B instead of I." msgstr "B を I の代わりに用いる。" #. type: TP #: build/C/man8/ldconfig.8:136 #, no-wrap msgid "B<-C cache>" msgstr "B<-C cache>" #. type: Plain text #: build/C/man8/ldconfig.8:142 msgid "Use B instead of I." msgstr "B を I の代わりに用いる。" #. type: TP #: build/C/man8/ldconfig.8:142 #, no-wrap msgid "B<-r root>" msgstr "B<-r root>" #. type: Plain text #: build/C/man8/ldconfig.8:147 msgid "Change to and use I as the root directory." msgstr "" "I にカレントディレクトリを変更し、ここをルートディレクトリとして用い" "る。" #. type: TP #: build/C/man8/ldconfig.8:147 #, no-wrap msgid "B<-l>" msgstr "B<-l>" #. type: Plain text #: build/C/man8/ldconfig.8:152 msgid "" "Library mode. Manually link individual libraries. Intended for use by " "experts only." msgstr "" "ライブラリモード。それぞれのライブラリを手動でリンクする。 熟練者のみが用いる" "べきである。" #. type: TP #: build/C/man8/ldconfig.8:152 #, no-wrap msgid "B<-p>" msgstr "B<-p>" #. type: Plain text #: build/C/man8/ldconfig.8:156 msgid "" "Print the lists of directories and candidate libraries stored in the current " "cache." msgstr "" "現在のキャッシュに保存されているディレクトリのリストと、 ライブラリの候補を表" "示する。" #. type: Plain text #: build/C/man8/ldconfig.8:161 msgid "run-time linker/loader" msgstr "実行時リンカー/ローダー。" #. type: TP #: build/C/man8/ldconfig.8:161 #, no-wrap msgid "I" msgstr "I" #. type: Plain text #: build/C/man8/ldconfig.8:165 msgid "" "File containing a list of colon, space, tab, newline, or comma-separated " "directories in which to search for libraries." msgstr "" "コロン・スペース・タブ・改行・コンマで区切られたディレクトリのリスト。 それぞ" "れのディレクトリでライブラリが検索される。" #. type: Plain text #: build/C/man8/ldconfig.8:174 msgid "" "File containing an ordered list of libraries found in the directories " "specified in I, as well as those found in I and I." msgstr "" "I で指定されたディレクトリにあるライブラリ、および I " "と I にあるライブラリの順序付きリスト。" #. type: Plain text #: build/C/man8/ldconfig.8:178 msgid "B(1), B(8)" msgstr "B(1), B(8)" #. type: TH #: build/C/man1/ldd.1:14 #, no-wrap msgid "LDD" msgstr "LDD" #. type: Plain text #: build/C/man1/ldd.1:17 msgid "ldd - print shared library dependencies" msgstr "ldd - 共有ライブラリへの依存関係を表示する" #. type: Plain text #: build/C/man1/ldd.1:19 msgid "B [I