--- /dev/null
+/* elfcomm.c -- common code for ELF format file.
+ Copyright 2010
+ Free Software Foundation, Inc.
+
+ Originally developed by Eric Youngdale <eric@andante.jic.com>
+ Modifications by Nick Clifton <nickc@redhat.com>
+
+ This file is part of GNU Binutils.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+ 02110-1301, USA. */
+
+#include "sysdep.h"
+#include "libiberty.h"
+#include "filenames.h"
+#include "bfd.h"
+#include "aout/ar.h"
+#include "bucomm.h"
+#include "elfcomm.h"
+
+void
+error (const char *message, ...)
+{
+ va_list args;
+
+ va_start (args, message);
+ fprintf (stderr, _("%s: Error: "), program_name);
+ vfprintf (stderr, message, args);
+ va_end (args);
+}
+
+void
+warn (const char *message, ...)
+{
+ va_list args;
+
+ va_start (args, message);
+ fprintf (stderr, _("%s: Warning: "), program_name);
+ vfprintf (stderr, message, args);
+ va_end (args);
+}
+
+void (*byte_put) (unsigned char *, elf_vma, int);
+
+void
+byte_put_little_endian (unsigned char * field, elf_vma value, int size)
+{
+ switch (size)
+ {
+ case 8:
+ field[7] = (((value >> 24) >> 24) >> 8) & 0xff;
+ field[6] = ((value >> 24) >> 24) & 0xff;
+ field[5] = ((value >> 24) >> 16) & 0xff;
+ field[4] = ((value >> 24) >> 8) & 0xff;
+ /* Fall through. */
+ case 4:
+ field[3] = (value >> 24) & 0xff;
+ /* Fall through. */
+ case 3:
+ field[2] = (value >> 16) & 0xff;
+ /* Fall through. */
+ case 2:
+ field[1] = (value >> 8) & 0xff;
+ /* Fall through. */
+ case 1:
+ field[0] = value & 0xff;
+ break;
+
+ default:
+ error (_("Unhandled data length: %d\n"), size);
+ abort ();
+ }
+}
+
+void
+byte_put_big_endian (unsigned char * field, elf_vma value, int size)
+{
+ switch (size)
+ {
+ case 8:
+ field[7] = value & 0xff;
+ field[6] = (value >> 8) & 0xff;
+ field[5] = (value >> 16) & 0xff;
+ field[4] = (value >> 24) & 0xff;
+ value >>= 16;
+ value >>= 16;
+ /* Fall through. */
+ case 4:
+ field[3] = value & 0xff;
+ value >>= 8;
+ /* Fall through. */
+ case 3:
+ field[2] = value & 0xff;
+ value >>= 8;
+ /* Fall through. */
+ case 2:
+ field[1] = value & 0xff;
+ value >>= 8;
+ /* Fall through. */
+ case 1:
+ field[0] = value & 0xff;
+ break;
+
+ default:
+ error (_("Unhandled data length: %d\n"), size);
+ abort ();
+ }
+}
+
+elf_vma (*byte_get) (unsigned char *, int);
+
+elf_vma
+byte_get_little_endian (unsigned char *field, int size)
+{
+ switch (size)
+ {
+ case 1:
+ return *field;
+
+ case 2:
+ return ((unsigned int) (field[0]))
+ | (((unsigned int) (field[1])) << 8);
+
+ case 3:
+ return ((unsigned long) (field[0]))
+ | (((unsigned long) (field[1])) << 8)
+ | (((unsigned long) (field[2])) << 16);
+
+ case 4:
+ return ((unsigned long) (field[0]))
+ | (((unsigned long) (field[1])) << 8)
+ | (((unsigned long) (field[2])) << 16)
+ | (((unsigned long) (field[3])) << 24);
+
+ case 8:
+ if (sizeof (elf_vma) == 8)
+ return ((elf_vma) (field[0]))
+ | (((elf_vma) (field[1])) << 8)
+ | (((elf_vma) (field[2])) << 16)
+ | (((elf_vma) (field[3])) << 24)
+ | (((elf_vma) (field[4])) << 32)
+ | (((elf_vma) (field[5])) << 40)
+ | (((elf_vma) (field[6])) << 48)
+ | (((elf_vma) (field[7])) << 56);
+ else if (sizeof (elf_vma) == 4)
+ /* We want to extract data from an 8 byte wide field and
+ place it into a 4 byte wide field. Since this is a little
+ endian source we can just use the 4 byte extraction code. */
+ return ((unsigned long) (field[0]))
+ | (((unsigned long) (field[1])) << 8)
+ | (((unsigned long) (field[2])) << 16)
+ | (((unsigned long) (field[3])) << 24);
+
+ default:
+ error (_("Unhandled data length: %d\n"), size);
+ abort ();
+ }
+}
+
+elf_vma
+byte_get_big_endian (unsigned char *field, int size)
+{
+ switch (size)
+ {
+ case 1:
+ return *field;
+
+ case 2:
+ return ((unsigned int) (field[1])) | (((int) (field[0])) << 8);
+
+ case 3:
+ return ((unsigned long) (field[2]))
+ | (((unsigned long) (field[1])) << 8)
+ | (((unsigned long) (field[0])) << 16);
+
+ case 4:
+ return ((unsigned long) (field[3]))
+ | (((unsigned long) (field[2])) << 8)
+ | (((unsigned long) (field[1])) << 16)
+ | (((unsigned long) (field[0])) << 24);
+
+ case 8:
+ if (sizeof (elf_vma) == 8)
+ return ((elf_vma) (field[7]))
+ | (((elf_vma) (field[6])) << 8)
+ | (((elf_vma) (field[5])) << 16)
+ | (((elf_vma) (field[4])) << 24)
+ | (((elf_vma) (field[3])) << 32)
+ | (((elf_vma) (field[2])) << 40)
+ | (((elf_vma) (field[1])) << 48)
+ | (((elf_vma) (field[0])) << 56);
+ else if (sizeof (elf_vma) == 4)
+ {
+ /* Although we are extracing data from an 8 byte wide field,
+ we are returning only 4 bytes of data. */
+ field += 4;
+ return ((unsigned long) (field[3]))
+ | (((unsigned long) (field[2])) << 8)
+ | (((unsigned long) (field[1])) << 16)
+ | (((unsigned long) (field[0])) << 24);
+ }
+
+ default:
+ error (_("Unhandled data length: %d\n"), size);
+ abort ();
+ }
+}
+
+elf_vma
+byte_get_signed (unsigned char *field, int size)
+{
+ elf_vma x = byte_get (field, size);
+
+ switch (size)
+ {
+ case 1:
+ return (x ^ 0x80) - 0x80;
+ case 2:
+ return (x ^ 0x8000) - 0x8000;
+ case 4:
+ return (x ^ 0x80000000) - 0x80000000;
+ case 8:
+ return x;
+ default:
+ abort ();
+ }
+}
+
+/* Return the path name for a proxy entry in a thin archive, adjusted
+ relative to the path name of the thin archive itself if necessary.
+ Always returns a pointer to malloc'ed memory. */
+
+char *
+adjust_relative_path (const char *file_name, const char *name,
+ int name_len)
+{
+ char * member_file_name;
+ const char * base_name = lbasename (file_name);
+
+ /* This is a proxy entry for a thin archive member.
+ If the extended name table contains an absolute path
+ name, or if the archive is in the current directory,
+ use the path name as given. Otherwise, we need to
+ find the member relative to the directory where the
+ archive is located. */
+ if (IS_ABSOLUTE_PATH (name) || base_name == file_name)
+ {
+ member_file_name = (char *) malloc (name_len + 1);
+ if (member_file_name == NULL)
+ {
+ error (_("Out of memory\n"));
+ return NULL;
+ }
+ memcpy (member_file_name, name, name_len);
+ member_file_name[name_len] = '\0';
+ }
+ else
+ {
+ /* Concatenate the path components of the archive file name
+ to the relative path name from the extended name table. */
+ size_t prefix_len = base_name - file_name;
+ member_file_name = (char *) malloc (prefix_len + name_len + 1);
+ if (member_file_name == NULL)
+ {
+ error (_("Out of memory\n"));
+ return NULL;
+ }
+ memcpy (member_file_name, file_name, prefix_len);
+ memcpy (member_file_name + prefix_len, name, name_len);
+ member_file_name[prefix_len + name_len] = '\0';
+ }
+ return member_file_name;
+}
+
+/* Read the symbol table and long-name table from an archive. */
+
+int
+setup_archive (struct archive_info *arch, const char *file_name,
+ FILE *file, bfd_boolean is_thin_archive,
+ bfd_boolean read_symbols)
+{
+ size_t got;
+ unsigned long size;
+
+ arch->file_name = strdup (file_name);
+ arch->file = file;
+ arch->index_num = 0;
+ arch->index_array = NULL;
+ arch->sym_table = NULL;
+ arch->sym_size = 0;
+ arch->longnames = NULL;
+ arch->longnames_size = 0;
+ arch->nested_member_origin = 0;
+ arch->is_thin_archive = is_thin_archive;
+ arch->next_arhdr_offset = SARMAG;
+
+ /* Read the first archive member header. */
+ if (fseek (file, SARMAG, SEEK_SET) != 0)
+ {
+ error (_("%s: failed to seek to first archive header\n"), file_name);
+ return 1;
+ }
+ got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
+ if (got != sizeof arch->arhdr)
+ {
+ if (got == 0)
+ return 0;
+
+ error (_("%s: failed to read archive header\n"), file_name);
+ return 1;
+ }
+
+ /* See if this is the archive symbol table. */
+ if (const_strneq (arch->arhdr.ar_name, "/ ")
+ || const_strneq (arch->arhdr.ar_name, "/SYM64/ "))
+ {
+ size = strtoul (arch->arhdr.ar_size, NULL, 10);
+ size = size + (size & 1);
+
+ arch->next_arhdr_offset += sizeof arch->arhdr + size;
+
+ if (read_symbols)
+ {
+ unsigned long i;
+ /* A buffer used to hold numbers read in from an archive index.
+ These are always 4 bytes long and stored in big-endian
+ format. */
+#define SIZEOF_AR_INDEX_NUMBERS 4
+ unsigned char integer_buffer[SIZEOF_AR_INDEX_NUMBERS];
+ unsigned char * index_buffer;
+
+ /* Check the size of the archive index. */
+ if (size < SIZEOF_AR_INDEX_NUMBERS)
+ {
+ error (_("%s: the archive index is empty\n"), file_name);
+ return 1;
+ }
+
+ /* Read the numer of entries in the archive index. */
+ got = fread (integer_buffer, 1, sizeof integer_buffer, file);
+ if (got != sizeof (integer_buffer))
+ {
+ error (_("%s: failed to read archive index\n"), file_name);
+ return 1;
+ }
+ arch->index_num = byte_get_big_endian (integer_buffer,
+ sizeof integer_buffer);
+ size -= SIZEOF_AR_INDEX_NUMBERS;
+
+ /* Read in the archive index. */
+ if (size < arch->index_num * SIZEOF_AR_INDEX_NUMBERS)
+ {
+ error (_("%s: the archive index is supposed to have %ld entries, but the size in the header is too small\n"),
+ file_name, arch->index_num);
+ return 1;
+ }
+ index_buffer = (unsigned char *)
+ malloc (arch->index_num * SIZEOF_AR_INDEX_NUMBERS);
+ if (index_buffer == NULL)
+ {
+ error (_("Out of memory whilst trying to read archive symbol index\n"));
+ return 1;
+ }
+ got = fread (index_buffer, SIZEOF_AR_INDEX_NUMBERS,
+ arch->index_num, file);
+ if (got != arch->index_num)
+ {
+ free (index_buffer);
+ error (_("%s: failed to read archive index\n"), file_name);
+ return 1;
+ }
+ size -= arch->index_num * SIZEOF_AR_INDEX_NUMBERS;
+
+ /* Convert the index numbers into the host's numeric format. */
+ arch->index_array = (long unsigned int *)
+ malloc (arch->index_num * sizeof (* arch->index_array));
+ if (arch->index_array == NULL)
+ {
+ free (index_buffer);
+ error (_("Out of memory whilst trying to convert the archive symbol index\n"));
+ return 1;
+ }
+
+ for (i = 0; i < arch->index_num; i++)
+ arch->index_array[i] = byte_get_big_endian ((unsigned char *) (index_buffer + (i * SIZEOF_AR_INDEX_NUMBERS)),
+ SIZEOF_AR_INDEX_NUMBERS);
+ free (index_buffer);
+
+ /* The remaining space in the header is taken up by the symbol
+ table. */
+ if (size < 1)
+ {
+ error (_("%s: the archive has an index but no symbols\n"),
+ file_name);
+ return 1;
+ }
+ arch->sym_table = (char *) malloc (size);
+ arch->sym_size = size;
+ if (arch->sym_table == NULL)
+ {
+ error (_("Out of memory whilst trying to read archive index symbol table\n"));
+ return 1;
+ }
+ got = fread (arch->sym_table, 1, size, file);
+ if (got != size)
+ {
+ error (_("%s: failed to read archive index symbol table\n"),
+ file_name);
+ return 1;
+ }
+ }
+ else
+ {
+ if (fseek (file, size, SEEK_CUR) != 0)
+ {
+ error (_("%s: failed to skip archive symbol table\n"),
+ file_name);
+ return 1;
+ }
+ }
+
+ /* Read the next archive header. */
+ got = fread (&arch->arhdr, 1, sizeof arch->arhdr, file);
+ if (got != sizeof arch->arhdr)
+ {
+ if (got == 0)
+ return 0;
+ error (_("%s: failed to read archive header following archive index\n"),
+ file_name);
+ return 1;
+ }
+ }
+ else if (read_symbols)
+ printf (_("%s has no archive index\n"), file_name);
+
+ if (const_strneq (arch->arhdr.ar_name, "// "))
+ {
+ /* This is the archive string table holding long member names. */
+ arch->longnames_size = strtoul (arch->arhdr.ar_size, NULL, 10);
+ arch->next_arhdr_offset += sizeof arch->arhdr + arch->longnames_size;
+
+ arch->longnames = (char *) malloc (arch->longnames_size);
+ if (arch->longnames == NULL)
+ {
+ error (_("Out of memory reading long symbol names in archive\n"));
+ return 1;
+ }
+
+ if (fread (arch->longnames, arch->longnames_size, 1, file) != 1)
+ {
+ free (arch->longnames);
+ arch->longnames = NULL;
+ error (_("%s: failed to read long symbol name string table\n"),
+ file_name);
+ return 1;
+ }
+
+ if ((arch->longnames_size & 1) != 0)
+ getc (file);
+ }
+
+ return 0;
+}
+
+/* Open and setup a nested archive, if not already open. */
+
+int
+setup_nested_archive (struct archive_info *nested_arch,
+ const char *member_file_name)
+{
+ FILE * member_file;
+
+ /* Have we already setup this archive? */
+ if (nested_arch->file_name != NULL
+ && streq (nested_arch->file_name, member_file_name))
+ return 0;
+
+ /* Close previous file and discard cached information. */
+ if (nested_arch->file != NULL)
+ fclose (nested_arch->file);
+ release_archive (nested_arch);
+
+ member_file = fopen (member_file_name, "rb");
+ if (member_file == NULL)
+ return 1;
+ return setup_archive (nested_arch, member_file_name, member_file,
+ FALSE, FALSE);
+}
+
+/* Release the memory used for the archive information. */
+
+void
+release_archive (struct archive_info * arch)
+{
+ if (arch->file_name != NULL)
+ free (arch->file_name);
+ if (arch->index_array != NULL)
+ free (arch->index_array);
+ if (arch->sym_table != NULL)
+ free (arch->sym_table);
+ if (arch->longnames != NULL)
+ free (arch->longnames);
+}
+
+/* Get the name of an archive member from the current archive header.
+ For simple names, this will modify the ar_name field of the current
+ archive header. For long names, it will return a pointer to the
+ longnames table. For nested archives, it will open the nested archive
+ and get the name recursively. NESTED_ARCH is a single-entry cache so
+ we don't keep rereading the same information from a nested archive. */
+
+char *
+get_archive_member_name (struct archive_info *arch,
+ struct archive_info *nested_arch)
+{
+ unsigned long j, k;
+
+ if (arch->arhdr.ar_name[0] == '/')
+ {
+ /* We have a long name. */
+ char *endp;
+ char *member_file_name;
+ char *member_name;
+
+ arch->nested_member_origin = 0;
+ k = j = strtoul (arch->arhdr.ar_name + 1, &endp, 10);
+ if (arch->is_thin_archive && endp != NULL && * endp == ':')
+ arch->nested_member_origin = strtoul (endp + 1, NULL, 10);
+
+ while ((j < arch->longnames_size)
+ && (arch->longnames[j] != '\n')
+ && (arch->longnames[j] != '\0'))
+ j++;
+ if (arch->longnames[j-1] == '/')
+ j--;
+ arch->longnames[j] = '\0';
+
+ if (!arch->is_thin_archive || arch->nested_member_origin == 0)
+ return arch->longnames + k;
+
+ /* This is a proxy for a member of a nested archive.
+ Find the name of the member in that archive. */
+ member_file_name = adjust_relative_path (arch->file_name,
+ arch->longnames + k, j - k);
+ if (member_file_name != NULL
+ && setup_nested_archive (nested_arch, member_file_name) == 0)
+ {
+ member_name = get_archive_member_name_at (nested_arch,
+ arch->nested_member_origin,
+ NULL);
+ if (member_name != NULL)
+ {
+ free (member_file_name);
+ return member_name;
+ }
+ }
+ free (member_file_name);
+
+ /* Last resort: just return the name of the nested archive. */
+ return arch->longnames + k;
+ }
+
+ /* We have a normal (short) name. */
+ for (j = 0; j < sizeof (arch->arhdr.ar_name); j++)
+ if (arch->arhdr.ar_name[j] == '/')
+ {
+ arch->arhdr.ar_name[j] = '\0';
+ return arch->arhdr.ar_name;
+ }
+
+ /* The full ar_name field is used. Don't rely on ar_date starting
+ with a zero byte. */
+ {
+ char *name = xmalloc (sizeof (arch->arhdr.ar_name) + 1);
+ memcpy (name, arch->arhdr.ar_name, sizeof (arch->arhdr.ar_name));
+ name[sizeof (arch->arhdr.ar_name)] = '\0';
+ return name;
+ }
+}
+
+/* Get the name of an archive member at a given OFFSET within an archive
+ ARCH. */
+
+char *
+get_archive_member_name_at (struct archive_info *arch,
+ unsigned long offset,
+ struct archive_info *nested_arch)
+{
+ size_t got;
+
+ if (fseek (arch->file, offset, SEEK_SET) != 0)
+ {
+ error (_("%s: failed to seek to next file name\n"), arch->file_name);
+ return NULL;
+ }
+ got = fread (&arch->arhdr, 1, sizeof arch->arhdr, arch->file);
+ if (got != sizeof arch->arhdr)
+ {
+ error (_("%s: failed to read archive header\n"), arch->file_name);
+ return NULL;
+ }
+ if (memcmp (arch->arhdr.ar_fmag, ARFMAG, 2) != 0)
+ {
+ error (_("%s: did not find a valid archive header\n"),
+ arch->file_name);
+ return NULL;
+ }
+
+ return get_archive_member_name (arch, nested_arch);
+}
+
+/* Construct a string showing the name of the archive member, qualified
+ with the name of the containing archive file. For thin archives, we
+ use square brackets to denote the indirection. For nested archives,
+ we show the qualified name of the external member inside the square
+ brackets (e.g., "thin.a[normal.a(foo.o)]"). */
+
+char *
+make_qualified_name (struct archive_info * arch,
+ struct archive_info * nested_arch,
+ const char *member_name)
+{
+ size_t len;
+ char * name;
+
+ len = strlen (arch->file_name) + strlen (member_name) + 3;
+ if (arch->is_thin_archive && arch->nested_member_origin != 0)
+ len += strlen (nested_arch->file_name) + 2;
+
+ name = (char *) malloc (len);
+ if (name == NULL)
+ {
+ error (_("Out of memory\n"));
+ return NULL;
+ }
+
+ if (arch->is_thin_archive && arch->nested_member_origin != 0)
+ snprintf (name, len, "%s[%s(%s)]", arch->file_name,
+ nested_arch->file_name, member_name);
+ else if (arch->is_thin_archive)
+ snprintf (name, len, "%s[%s]", arch->file_name, member_name);
+ else
+ snprintf (name, len, "%s(%s)", arch->file_name, member_name);
+
+ return name;
+}
--- /dev/null
+# Japanese messages for GNU ld
+# Copyright (C) 2010 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
+# Yasuaki Taniguchi <yasuakit@gmail.com>, 2010
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ld 2.20.90\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2010-11-05 11:34+0100\n"
+"PO-Revision-Date: 2010-11-14 17:53+0900\n"
+"Last-Translator: Yasuaki Taniguchi <yasuakit@gmail.com>\n"
+"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+
+#: emultempl/armcoff.em:73
+#, c-format
+msgid " --support-old-code Support interworking with old code\n"
+msgstr " --support-old-code 古いコードの相互利用をサポートする\n"
+
+#: emultempl/armcoff.em:74
+#, c-format
+msgid " --thumb-entry=<sym> Set the entry point to be Thumb symbol <sym>\n"
+msgstr " --thumb-entry=<sym> エントリポイントを Thumb シンボル <sym> に設定する\n"
+
+#: emultempl/armcoff.em:122
+#, c-format
+msgid "Errors encountered processing file %s"
+msgstr "ファイル %s を処理中にエラーに遭遇しました"
+
+#: emultempl/armcoff.em:190 emultempl/pe.em:1812
+msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
+msgstr "%P: 警告: '--thumb-entry %s' は '-e %s' を上書きします\n"
+
+# thumb となっているが公式には Thumb なので先頭を大文字にしています
+#: emultempl/armcoff.em:195 emultempl/pe.em:1817
+msgid "%P: warning: cannot find thumb start symbol %s\n"
+msgstr "%P: 警告: Thumb 開始シンボル %s が見つかりません\n"
+
+#: emultempl/pe.em:418
+#, c-format
+msgid " --base_file <basefile> Generate a base file for relocatable DLLs\n"
+msgstr ""
+
+#: emultempl/pe.em:419
+#, c-format
+msgid " --dll Set image base to the default for DLLs\n"
+msgstr ""
+
+#: emultempl/pe.em:420
+#, c-format
+msgid " --file-alignment <size> Set file alignment\n"
+msgstr " --file-alignment <size> ファイル整列を設定する\n"
+
+#: emultempl/pe.em:421
+#, c-format
+msgid " --heap <size> Set initial size of the heap\n"
+msgstr " --heap <size> ヒープの初期サイズを設定する\n"
+
+#: emultempl/pe.em:422
+#, c-format
+msgid " --image-base <address> Set start address of the executable\n"
+msgstr " --image-base <address> 実行ファイルの開始アドレスを設定する\n"
+
+#: emultempl/pe.em:423
+#, c-format
+msgid " --major-image-version <number> Set version number of the executable\n"
+msgstr " --major-image-version <number> 実行ファイルのバージョン番号を設定する\n"
+
+#: emultempl/pe.em:424
+#, c-format
+msgid " --major-os-version <number> Set minimum required OS version\n"
+msgstr " --major-os-version <number> 最小の要求される OS バージョンを設定する\n"
+
+#: emultempl/pe.em:425
+#, c-format
+msgid " --major-subsystem-version <number> Set minimum required OS subsystem version\n"
+msgstr " --major-subsystem-version <number> 最小の要求される OS サブシステムバージョンを設定する\n"
+
+#: emultempl/pe.em:426
+#, c-format
+msgid " --minor-image-version <number> Set revision number of the executable\n"
+msgstr " --minor-image-version <number> 実行ファイルのリビジョン番号を設定する\n"
+
+#: emultempl/pe.em:427
+#, c-format
+msgid " --minor-os-version <number> Set minimum required OS revision\n"
+msgstr " --minor-os-version <number> 最小の要求される OS リビジョンを設定する\n"
+
+#: emultempl/pe.em:428
+#, c-format
+msgid " --minor-subsystem-version <number> Set minimum required OS subsystem revision\n"
+msgstr " --minor-subsystem-version <number> 最小の要求される OS 子サブシステムリビジョンを設定する\n"
+
+#: emultempl/pe.em:429
+#, c-format
+msgid " --section-alignment <size> Set section alignment\n"
+msgstr " --section-alignment <size> セクション整列を設定する\n"
+
+#: emultempl/pe.em:430
+#, c-format
+msgid " --stack <size> Set size of the initial stack\n"
+msgstr " --stack <size> インラインスタックの大きさを設定する\n"
+
+#: emultempl/pe.em:431
+#, c-format
+msgid " --subsystem <name>[:<version>] Set required OS subsystem [& version]\n"
+msgstr " --subsystem <name>[:<version>] 要求される OS のサブシステム [およびバージョン] を設定する\n"
+
+#: emultempl/pe.em:432
+#, c-format
+msgid " --support-old-code Support interworking with old code\n"
+msgstr " --support-old-code 古いコードの相互利用をサポートする\n"
+
+#: emultempl/pe.em:433
+#, c-format
+msgid " --[no-]leading-underscore Set explicit symbol underscore prefix mode\n"
+msgstr " --[no-]leading-underscore シンボルの下線 (_) 接頭辞モードを明示的に設定する\n"
+
+#: emultempl/pe.em:434
+#, c-format
+msgid " --thumb-entry=<symbol> Set the entry point to be Thumb <symbol>\n"
+msgstr " --thumb-entry=<symbol> エントリポイントを Thumb の <symbol> に設定する\n"
+
+#: emultempl/pe.em:436
+#, c-format
+msgid " --add-stdcall-alias Export symbols with and without @nn\n"
+msgstr " --add-stdcall-alias シンボルを @nn 付きと @nn 無しとでエクスポートする\n"
+
+#: emultempl/pe.em:437
+#, c-format
+msgid " --disable-stdcall-fixup Don't link _sym to _sym@nn\n"
+msgstr " --disable-stdcall-fixup _sym から _sym@nn へのリンクを行わない\n"
+
+#: emultempl/pe.em:438
+#, c-format
+msgid " --enable-stdcall-fixup Link _sym to _sym@nn without warnings\n"
+msgstr " --enable-stdcall-fixup _sym を _sym@nn へ警告なしにリンクする\n"
+
+#: emultempl/pe.em:439
+#, c-format
+msgid " --exclude-symbols sym,sym,... Exclude symbols from automatic export\n"
+msgstr " --exclude-symbols sym,sym,... シンボルを自動エクスポートから除外する\n"
+
+#: emultempl/pe.em:440
+#, c-format
+msgid " --exclude-all-symbols Exclude all symbols from automatic export\n"
+msgstr " --exclude-all-symbols 全てのシンボルを自動エクスポートから除外する\n"
+
+#: emultempl/pe.em:441
+#, c-format
+msgid " --exclude-libs lib,lib,... Exclude libraries from automatic export\n"
+msgstr " --exclude-libs lib,lib,... ライブラリを自動エクスポートから除外する\n"
+
+#: emultempl/pe.em:442
+#, c-format
+msgid " --exclude-modules-for-implib mod,mod,...\n"
+msgstr " --exclude-modules-for-implib mod,mod,...\n"
+
+#: emultempl/pe.em:443
+#, c-format
+msgid " Exclude objects, archive members from auto\n"
+msgstr ""
+
+#: emultempl/pe.em:444
+#, c-format
+msgid " export, place into import library instead.\n"
+msgstr ""
+
+#: emultempl/pe.em:445
+#, c-format
+msgid " --export-all-symbols Automatically export all globals to DLL\n"
+msgstr " --export-all-symbols 全てのグローバルシンボルを DLL に対して自動的にエクスポートする\n"
+
+#: emultempl/pe.em:446
+#, c-format
+msgid " --kill-at Remove @nn from exported symbols\n"
+msgstr " --kill-at エクスポートされたシンボルから @nn を削除する\n"
+
+#: emultempl/pe.em:447
+#, c-format
+msgid " --out-implib <file> Generate import library\n"
+msgstr " --out-implib <file> インポートライブラリを生成する\n"
+
+#: emultempl/pe.em:448
+#, c-format
+msgid " --output-def <file> Generate a .DEF file for the built DLL\n"
+msgstr " --output-def <file> 構築した DLL から .DEF ファイルを生成する\n"
+
+#: emultempl/pe.em:449
+#, c-format
+msgid " --warn-duplicate-exports Warn about duplicate exports.\n"
+msgstr " --warn-duplicate-exports 重複したエクスポートに関して警告する\n"
+
+#: emultempl/pe.em:450
+#, c-format
+msgid ""
+" --compat-implib Create backward compatible import libs;\n"
+" create __imp_<SYMBOL> as well.\n"
+msgstr ""
+" --compat-implib 後方互換性のためのインポートライブラリを作成し、\n"
+" __imp_<SYMBOL> も作成する\n"
+
+#: emultempl/pe.em:452
+#, c-format
+msgid ""
+" --enable-auto-image-base Automatically choose image base for DLLs\n"
+" unless user specifies one\n"
+msgstr ""
+" --enable-auto-image-base 利用者が指定しない限り DLL のイメージベースを\n"
+" 自動的に選択する\n"
+
+#: emultempl/pe.em:454
+#, c-format
+msgid " --disable-auto-image-base Do not auto-choose image base. (default)\n"
+msgstr " --disable-auto-image-base イメージベースを自動選択しない (デフォルト)\n"
+
+#: emultempl/pe.em:455
+#, c-format
+msgid ""
+" --dll-search-prefix=<string> When linking dynamically to a dll without\n"
+" an importlib, use <string><basename>.dll\n"
+" in preference to lib<basename>.dll \n"
+msgstr ""
+" --dll-search-prefix=<string> インポートライブラリが無い dll を動的にリンクする時、\n"
+" lib<basename>.dll の代わりに <string><basename>.dll\n"
+" を使用する\n"
+
+#: emultempl/pe.em:458
+#, c-format
+msgid ""
+" --enable-auto-import Do sophistcated linking of _sym to\n"
+" __imp_sym for DATA references\n"
+msgstr " --enable-auto-import DATA 参照時に _sym を __imp_sym にリンクする\n"
+
+#: emultempl/pe.em:460
+#, c-format
+msgid " --disable-auto-import Do not auto-import DATA items from DLLs\n"
+msgstr " --disable-auto-import DLL から DATA 項目を自動インポートしない\n"
+
+#: emultempl/pe.em:461
+#, c-format
+msgid ""
+" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n"
+" adding pseudo-relocations resolved at\n"
+" runtime.\n"
+msgstr ""
+" --enable-runtime-pseudo-reloc 実行時に疑似再配置による名前解決を行うことで\n"
+" 自動インポートの制限を回避をする\n"
+
+#: emultempl/pe.em:464
+#, c-format
+msgid ""
+" --disable-runtime-pseudo-reloc Do not add runtime pseudo-relocations for\n"
+" auto-imported DATA.\n"
+msgstr ""
+" --disable-runtime-pseudo-reloc DATA の自動インポートに対する実行時疑似再配置\n"
+" を行わない\n"
+
+#: emultempl/pe.em:466
+#, c-format
+msgid ""
+" --enable-extra-pe-debug Enable verbose debug output when building\n"
+" or linking to DLLs (esp. auto-import)\n"
+msgstr ""
+" --enable-extra-pe-debug DLL のビルドまたはリンク時に冗長なデバッグ出力\n"
+" を行う (特に自動インポート)\n"
+
+#: emultempl/pe.em:469
+#, c-format
+msgid ""
+" --large-address-aware Executable supports virtual addresses\n"
+" greater than 2 gigabytes\n"
+msgstr ""
+" --large-address-aware 実行ファイルが 2GB 以上の仮想アドレスを\n"
+" サポートするようにする\n"
+
+#: emultempl/pe.em:471
+#, c-format
+msgid ""
+" --enable-long-section-names Use long COFF section names even in\n"
+" executable image files\n"
+msgstr ""
+" --enable-long-section-names 実行可能なイメージファイルの中でも長い COFF\n"
+" セクション名を使用する\n"
+
+#: emultempl/pe.em:473
+#, c-format
+msgid ""
+" --disable-long-section-names Never use long COFF section names, even\n"
+" in object files\n"
+msgstr ""
+" --disable-long-section-names オブジェクトファイル内でも長い COFF セクション\n"
+" 名を使用しない\n"
+
+#: emultempl/pe.em:475
+#, c-format
+msgid ""
+" --dynamicbase\t\t\t Image base address may be relocated using\n"
+"\t\t\t\t address space layout randomization (ASLR)\n"
+msgstr ""
+
+#: emultempl/pe.em:477
+#, c-format
+msgid " --forceinteg\t\t Code integrity checks are enforced\n"
+msgstr " --forceinteg\t\t コードの完全性チェックを強制する\n"
+
+#: emultempl/pe.em:478
+#, c-format
+msgid " --nxcompat\t\t Image is compatible with data execution prevention\n"
+msgstr ""
+
+#: emultempl/pe.em:479
+#, c-format
+msgid " --no-isolation\t\t Image understands isolation but do not isolate the image\n"
+msgstr ""
+
+#: emultempl/pe.em:480
+#, c-format
+msgid ""
+" --no-seh\t\t\t Image does not use SEH. No SE handler may\n"
+"\t\t\t\t be called in this image\n"
+msgstr ""
+
+#: emultempl/pe.em:482
+#, c-format
+msgid " --no-bind\t\t\t Do not bind this image\n"
+msgstr ""
+
+#: emultempl/pe.em:483
+#, c-format
+msgid " --wdmdriver\t\t Driver uses the WDM model\n"
+msgstr ""
+
+#: emultempl/pe.em:484
+#, c-format
+msgid " --tsaware Image is Terminal Server aware\n"
+msgstr ""
+
+#: emultempl/pe.em:613
+msgid "%P: warning: bad version number in -subsystem option\n"
+msgstr "%P: 警告: -subsystem オプションのバージョン番号に誤りがあります\n"
+
+#: emultempl/pe.em:638
+msgid "%P%F: invalid subsystem type %s\n"
+msgstr "%P%F: 無効な子システム型 %s です\n"
+
+#: emultempl/pe.em:659
+msgid "%P%F: invalid hex number for PE parameter '%s'\n"
+msgstr "%P%F: PE パラメータ '%s' に対する無効な十六進数です\n"
+
+#: emultempl/pe.em:676
+msgid "%P%F: strange hex info for PE parameter '%s'\n"
+msgstr "%P%F: PE パラメータ '%s' に対しておかしな十六進情報があります\n"
+
+#: emultempl/pe.em:693
+#, c-format
+msgid "%s: Can't open base file %s\n"
+msgstr "%s: ベースファイル %s を開けません\n"
+
+#: emultempl/pe.em:969
+msgid "%P: warning, file alignment > section alignment.\n"
+msgstr "%P: 警告: ファイル引数 > セクション引数 となっています\n"
+
+#: emultempl/pe.em:982
+msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n"
+msgstr "%P: 警告: PE ターゲットに対して --export-dynamic はサポートされていません。--export-all-symbols を行いたいのではないですか?\n"
+
+#: emultempl/pe.em:1058 emultempl/pe.em:1085
+#, c-format
+msgid "Warning: resolving %s by linking to %s\n"
+msgstr "警告: %2$s にリンクすることによって %1$s を解決しています\n"
+
+#: emultempl/pe.em:1063 emultempl/pe.em:1090
+msgid "Use --enable-stdcall-fixup to disable these warnings\n"
+msgstr "これらの警告を無効にするためには --enable-stdcall-fixup を使用してください\n"
+
+#: emultempl/pe.em:1064 emultempl/pe.em:1091
+msgid "Use --disable-stdcall-fixup to disable these fixups\n"
+msgstr "これらの修正を無効にするためには --disable-stdcall-fixup を使用してください\n"
+
+#: emultempl/pe.em:1110
+#, c-format
+msgid "%C: Cannot get section contents - auto-import exception\n"
+msgstr "%C: セクションの中身を取得できません - 自動インポート例外です\n"
+
+#: emultempl/pe.em:1150
+#, c-format
+msgid "Info: resolving %s by linking to %s (auto-import)\n"
+msgstr "情報: %2$s にリンクすることによって %1$s を解決しています (自動インポート)\n"
+
+#: emultempl/pe.em:1157
+msgid ""
+"%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line.\n"
+"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.\n"
+msgstr ""
+"%P: 警告: --enable-auto-import のコマンドライン指定無しで自動インポートが有効になりました。\n"
+"自動インポートされた DLL にシンボルを参照する定数データ構造が含まれない限りこれは動作します。\n"
+
+#: emultempl/pe.em:1164 emultempl/pe.em:1369 emultempl/pe.em:1575 ldcref.c:490
+#: ldcref.c:588 ldmain.c:1183 ldmisc.c:286 pe-dll.c:705 pe-dll.c:1253
+#: pe-dll.c:1348
+msgid "%B%F: could not read symbols: %E\n"
+msgstr "%B%F: シンボルを読み込むことができませんでした: %E\n"
+
+#: emultempl/pe.em:1245
+msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n"
+msgstr "%F%P: PE ではない出力ファイル '%B' に対して PE 操作は行えません。\n"
+
+#: emultempl/pe.em:1616
+#, c-format
+msgid "Errors encountered processing file %s\n"
+msgstr "ファイル %s を処理中にエラーが発生しました\n"
+
+#: emultempl/pe.em:1639
+#, c-format
+msgid "Errors encountered processing file %s for interworking\n"
+msgstr "相互利用のためにファイル %s を処理中にエラーが発生しました\n"
+
+#: emultempl/pe.em:1701 ldexp.c:542 ldlang.c:3323 ldlang.c:3358 ldlang.c:6804
+#: ldlang.c:6835 ldmain.c:1128
+msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
+msgstr "%P%F: bfd_link_hash_lookup に失敗しました: %E\n"
+
+#: ldcref.c:168
+msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
+msgstr "%X%P: cref テーブルの bfd_hash_table_init に失敗しました: %E\n"
+
+#: ldcref.c:174
+msgid "%X%P: cref_hash_lookup failed: %E\n"
+msgstr "%X%P: cref_hash_lookup に失敗しました: %E\n"
+
+#: ldcref.c:184
+msgid "%X%P: cref alloc failed: %E\n"
+msgstr "%X%P: cref のメモリ確保に失敗しました: %E\n"
+
+#: ldcref.c:366
+#, c-format
+msgid ""
+"\n"
+"Cross Reference Table\n"
+"\n"
+msgstr ""
+"\n"
+"相互参照テーブル\n"
+"\n"
+
+#: ldcref.c:367
+msgid "Symbol"
+msgstr "シンボル"
+
+#: ldcref.c:375
+#, c-format
+msgid "File\n"
+msgstr "ファイル\n"
+
+#: ldcref.c:379
+#, c-format
+msgid "No symbols\n"
+msgstr "シンボル無し\n"
+
+#: ldcref.c:532
+msgid "%P: symbol `%T' missing from main hash table\n"
+msgstr ""
+
+#: ldcref.c:650 ldcref.c:657 ldmain.c:1217 ldmain.c:1224
+msgid "%B%F: could not read relocs: %E\n"
+msgstr "%B%F: 再配置を読み込めませんでした: %E\n"
+
+#. We found a reloc for the symbol. The symbol is defined
+#. in OUTSECNAME. This reloc is from a section which is
+#. mapped into a section from which references to OUTSECNAME
+#. are prohibited. We must report an error.
+#: ldcref.c:684
+msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
+msgstr "%1$X%2$C: %5$s 内で %3$s から `%4$T' への相互参照は禁止されています\n"
+
+#: ldctor.c:85
+msgid "%P%X: Different relocs used in set %s\n"
+msgstr ""
+
+#: ldctor.c:103
+msgid "%P%X: Different object file formats composing set %s\n"
+msgstr ""
+
+#: ldctor.c:281 ldctor.c:295
+msgid "%P%X: %s does not support reloc %s for set %s\n"
+msgstr ""
+
+#: ldctor.c:316
+msgid "%P%X: Unsupported size %d for set %s\n"
+msgstr ""
+
+#: ldctor.c:337
+msgid ""
+"\n"
+"Set Symbol\n"
+"\n"
+msgstr ""
+
+#: ldemul.c:265
+#, c-format
+msgid "%S SYSLIB ignored\n"
+msgstr "%S SYSLIB は無視されました\n"
+
+#: ldemul.c:271
+#, c-format
+msgid "%S HLL ignored\n"
+msgstr "%S HLL は無視されました\n"
+
+#: ldemul.c:291
+msgid "%P: unrecognised emulation mode: %s\n"
+msgstr "%P: 認識できないエミュレーションモードです: %s\n"
+
+#: ldemul.c:292
+msgid "Supported emulations: "
+msgstr "サポートされているエミュレーションモード: "
+
+#: ldemul.c:334
+#, c-format
+msgid " no emulation specific options.\n"
+msgstr ""
+
+#: ldexp.c:313
+msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n"
+msgstr "%P: 警告: `%s' のアドレスが最大ページサイズの倍数ではありません\n"
+
+#: ldexp.c:351
+#, c-format
+msgid "%F%S %% by zero\n"
+msgstr "%F%S 0 による剰余演算\n"
+
+#: ldexp.c:359
+#, c-format
+msgid "%F%S / by zero\n"
+msgstr "%F%S 0 による除算\n"
+
+#: ldexp.c:552
+#, c-format
+msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
+msgstr ""
+
+#: ldexp.c:564
+#, c-format
+msgid "%F%S: undefined symbol `%s' referenced in expression\n"
+msgstr ""
+
+#: ldexp.c:585 ldexp.c:602 ldexp.c:629
+#, c-format
+msgid "%F%S: undefined section `%s' referenced in expression\n"
+msgstr ""
+
+#: ldexp.c:656 ldexp.c:670
+#, c-format
+msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n"
+msgstr ""
+
+#: ldexp.c:681
+#, c-format
+msgid "%F%S: unknown constant `%s' referenced in expression\n"
+msgstr ""
+
+#: ldexp.c:743
+#, c-format
+msgid "%F%S can not PROVIDE assignment to location counter\n"
+msgstr ""
+
+#: ldexp.c:757
+#, c-format
+msgid "%F%S invalid assignment to location counter\n"
+msgstr ""
+
+#: ldexp.c:760
+#, c-format
+msgid "%F%S assignment to location counter invalid outside of SECTION\n"
+msgstr ""
+
+#: ldexp.c:773
+msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
+msgstr ""
+
+#: ldexp.c:812
+msgid "%P%F:%s: hash creation failed\n"
+msgstr "%P%F:%s: ハッシュ作成に失敗しました\n"
+
+#: ldexp.c:1119 ldexp.c:1144 ldexp.c:1204
+#, c-format
+msgid "%F%S: nonconstant expression for %s\n"
+msgstr ""
+
+#: ldfile.c:141
+#, c-format
+msgid "attempt to open %s failed\n"
+msgstr ""
+
+#: ldfile.c:143
+#, c-format
+msgid "attempt to open %s succeeded\n"
+msgstr "%s を開くのに成功しました\n"
+
+#: ldfile.c:149
+msgid "%F%P: invalid BFD target `%s'\n"
+msgstr "%F%P: 無効な BFD ターゲット `%s' です\n"
+
+#: ldfile.c:266 ldfile.c:295
+msgid "%P: skipping incompatible %s when searching for %s\n"
+msgstr "%1$P: %3$s を探索しているときに互換性のない %2$s をスキップしました\n"
+
+#: ldfile.c:279
+msgid "%F%P: attempted static link of dynamic object `%s'\n"
+msgstr "%F%P: 動的オブジェクト `%s' に対する静的リンクが試みられました\n"
+
+#: ldfile.c:332 ldmain.c:832
+msgid "%P%F: %s: plugin reported error claiming file\n"
+msgstr ""
+
+#: ldfile.c:447
+msgid "%P: cannot find %s (%s): %E\n"
+msgstr "%P: %s (%s) が見つかりません: %E\n"
+
+#: ldfile.c:450
+msgid "%P: cannot find %s: %E\n"
+msgstr "%P: %s が見つかりません: %E\n"
+
+#: ldfile.c:485
+msgid "%P: cannot find %s inside %s\n"
+msgstr "%1$P: %3$s 内に %2$s が見つかりません\n"
+
+#: ldfile.c:488
+msgid "%P: cannot find %s\n"
+msgstr "%P: %s が見つかりません\n"
+
+#: ldfile.c:507 ldfile.c:525
+#, c-format
+msgid "cannot find script file %s\n"
+msgstr "スクリプトファイル %s が見つかりません\n"
+
+#: ldfile.c:509 ldfile.c:527
+#, c-format
+msgid "opened script file %s\n"
+msgstr "スクリプトファイル %s が開かれました\n"
+
+#: ldfile.c:657
+msgid "%P%F: cannot open linker script file %s: %E\n"
+msgstr "%P%F: リンカスクリプトファイル %s を開けません: %E\n"
+
+#: ldfile.c:722
+msgid "%P%F: cannot represent machine `%s'\n"
+msgstr ""
+
+#: ldlang.c:1160 ldlang.c:1202 ldlang.c:3048
+msgid "%P%F: can not create hash table: %E\n"
+msgstr "%P%F: ハッシュテーブルを作成できません: %E\n"
+
+#: ldlang.c:1253
+msgid "%P:%S: warning: redeclaration of memory region `%s'\n"
+msgstr "%P:%S: 警告: メモリ領域 `%s' が再宣言されています\n"
+
+#: ldlang.c:1259
+msgid "%P:%S: warning: memory region `%s' not declared\n"
+msgstr "%P:%S: メモリ領域 `%s' が宣言されていません\n"
+
+#: ldlang.c:1293
+msgid "%F%P:%S: error: alias for default memory region\n"
+msgstr ""
+
+#: ldlang.c:1304
+msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n"
+msgstr ""
+
+#: ldlang.c:1311
+msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n"
+msgstr ""
+
+#: ldlang.c:1363 ldlang.c:1402
+msgid "%P%F: failed creating section `%s': %E\n"
+msgstr "%P%F: セクション `%s' の作成に失敗しました: %E\n"
+
+#: ldlang.c:1958
+#, c-format
+msgid ""
+"\n"
+"Discarded input sections\n"
+"\n"
+msgstr ""
+"\n"
+"宣言された入力セクション\n"
+"\n"
+
+#: ldlang.c:1966
+msgid ""
+"\n"
+"Memory Configuration\n"
+"\n"
+msgstr ""
+"\n"
+"メモリ設定\n"
+"\n"
+
+#: ldlang.c:1968
+msgid "Name"
+msgstr ""
+
+#: ldlang.c:1968
+msgid "Origin"
+msgstr ""
+
+#: ldlang.c:1968
+msgid "Length"
+msgstr ""
+
+#: ldlang.c:1968
+msgid "Attributes"
+msgstr ""
+
+#: ldlang.c:2008
+#, c-format
+msgid ""
+"\n"
+"Linker script and memory map\n"
+"\n"
+msgstr ""
+"\n"
+"リンカスクリプトおよびメモリマップ\n"
+"\n"
+
+#: ldlang.c:2074
+msgid "%P%F: Illegal use of `%s' section\n"
+msgstr "%P%F: `%s' セクションの不正な利用です\n"
+
+#: ldlang.c:2083
+msgid "%P%F: output format %s cannot represent section called %s\n"
+msgstr ""
+
+#: ldlang.c:2636
+msgid "%B: file not recognized: %E\n"
+msgstr "%B: ファイルが認識できませんでした: %E\n"
+
+#: ldlang.c:2637
+msgid "%B: matching formats:"
+msgstr ""
+
+#: ldlang.c:2644
+msgid "%F%B: file not recognized: %E\n"
+msgstr "%F%B: ファイルが認識できませんでした: %E\n"
+
+#: ldlang.c:2715
+msgid "%F%B: member %B in archive is not an object\n"
+msgstr "%F%B: 書庫内のメンバ %B はオブジェクトではありません\n"
+
+#: ldlang.c:2730 ldlang.c:2744
+msgid "%F%B: could not read symbols: %E\n"
+msgstr "%F%B: シンボルを読み込めませんでした: %E\n"
+
+#: ldlang.c:3018
+msgid "%P: warning: could not find any targets that match endianness requirement\n"
+msgstr ""
+
+#: ldlang.c:3032
+msgid "%P%F: target %s not found\n"
+msgstr "%P%F: ターゲット %s が見つかりませんでした\n"
+
+#: ldlang.c:3034
+msgid "%P%F: cannot open output file %s: %E\n"
+msgstr "%P%F: 出力ファイル %s が開けません: %E\n"
+
+#: ldlang.c:3040
+msgid "%P%F:%s: can not make object file: %E\n"
+msgstr "%P%F:%s: オブジェクトファイルを作成できません: %E\n"
+
+#: ldlang.c:3044
+msgid "%P%F:%s: can not set architecture: %E\n"
+msgstr "%P%F:%s: アーキテクチャを設定できません: %E\n"
+
+#: ldlang.c:3185
+msgid "%P: warning: %s contains output sections; did you forget -T?\n"
+msgstr "%P: 警告: %s には出力セクションが含まれます。-T オプションを忘れていませんか?\n"
+
+#: ldlang.c:3215
+msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
+msgstr "%P%F: シンボル %s 作成時に bfd_hash_lookup が失敗しました\n"
+
+#: ldlang.c:3233
+msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
+msgstr "%P%F: シンボル %s 作成時に bfd_hash_allocate が失敗しました\n"
+
+#: ldlang.c:3688
+msgid "%F%P: %s not found for insert\n"
+msgstr ""
+
+#: ldlang.c:3903
+msgid " load address 0x%V"
+msgstr ""
+
+#: ldlang.c:4179
+msgid "%W (size before relaxing)\n"
+msgstr ""
+
+#: ldlang.c:4270
+#, c-format
+msgid "Address of section %s set to "
+msgstr ""
+
+#: ldlang.c:4423
+#, c-format
+msgid "Fail with %d\n"
+msgstr ""
+
+#: ldlang.c:4710
+msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"
+msgstr ""
+
+#: ldlang.c:4726
+msgid "%X%P: region `%s' overflowed by %ld bytes\n"
+msgstr "%X%P: 領域 `%s' が %ld バイト溢れました\n"
+
+#: ldlang.c:4749
+msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n"
+msgstr ""
+
+#: ldlang.c:4760
+msgid "%X%P: %B section `%s' will not fit in region `%s'\n"
+msgstr ""
+
+#: ldlang.c:4816
+#, c-format
+msgid "%F%S: non constant or forward reference address expression for section %s\n"
+msgstr ""
+
+#: ldlang.c:4841
+msgid "%P%X: Internal error on COFF shared library section %s\n"
+msgstr "%P%X: COFF 共有ライブラリのセクション %s で内部エラーが発生しました\n"
+
+#: ldlang.c:4900
+msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
+msgstr ""
+
+#: ldlang.c:4905
+msgid "%P: warning: no memory region specified for loadable section `%s'\n"
+msgstr ""
+
+#: ldlang.c:4927
+msgid "%P: warning: changing start of section %s by %lu bytes\n"
+msgstr ""
+
+#: ldlang.c:5004
+msgid "%P: warning: dot moved backwards before `%s'\n"
+msgstr ""
+
+#: ldlang.c:5170
+msgid "%P%F: can't relax section: %E\n"
+msgstr ""
+
+#: ldlang.c:5497
+msgid "%F%P: invalid data statement\n"
+msgstr ""
+
+#: ldlang.c:5530
+msgid "%F%P: invalid reloc statement\n"
+msgstr ""
+
+#: ldlang.c:5648
+msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n"
+msgstr ""
+
+#: ldlang.c:5673
+msgid "%P%F:%s: can't set start address\n"
+msgstr "%P%F:%s: 開始アドレスを設定できません\n"
+
+#: ldlang.c:5686 ldlang.c:5705
+msgid "%P%F: can't set start address\n"
+msgstr "%P%F: 開始アドレスを設定できません\n"
+
+#: ldlang.c:5698
+msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
+msgstr ""
+
+#: ldlang.c:5710
+msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
+msgstr ""
+
+#: ldlang.c:5760
+msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"
+msgstr ""
+
+#: ldlang.c:5770
+msgid "%P%X: %s architecture of input file `%B' is incompatible with %s output\n"
+msgstr ""
+
+#: ldlang.c:5792
+msgid "%P%X: failed to merge target specific data of file %B\n"
+msgstr ""
+
+#: ldlang.c:5863
+msgid "%P%F: Could not define common symbol `%T': %E\n"
+msgstr "%P%F: 共通シンボル `%T' を定義できませんでした: %E\n"
+
+#: ldlang.c:5875
+msgid ""
+"\n"
+"Allocating common symbols\n"
+msgstr ""
+"\n"
+"割り当てている共通シンボル\n"
+
+#: ldlang.c:5876
+msgid ""
+"Common symbol size file\n"
+"\n"
+msgstr ""
+
+#: ldlang.c:6022
+msgid "%P%F: invalid syntax in flags\n"
+msgstr ""
+
+#: ldlang.c:6415
+msgid "%P%F: Failed to create hash table\n"
+msgstr "%P%F: ハッシュ表の作成に失敗しました\n"
+
+#: ldlang.c:6430
+msgid "%P%F: %s: plugin reported error after all symbols read\n"
+msgstr "%P%F: %s: 全てのシンボル読み込み後にプラグインがエラーを報告しました\n"
+
+#: ldlang.c:6717
+msgid "%P%F: multiple STARTUP files\n"
+msgstr "%P%F: 複数の STARTUP ファイルがあります\n"
+
+#: ldlang.c:6765
+msgid "%X%P:%S: section has both a load address and a load region\n"
+msgstr ""
+
+#: ldlang.c:6950
+msgid "%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n"
+msgstr ""
+
+#: ldlang.c:7022
+msgid "%F%P: no sections assigned to phdrs\n"
+msgstr ""
+
+#: ldlang.c:7060
+msgid "%F%P: bfd_record_phdr failed: %E\n"
+msgstr ""
+
+#: ldlang.c:7080
+msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
+msgstr ""
+
+#: ldlang.c:7481
+msgid "%X%P: unknown language `%s' in version information\n"
+msgstr "%X%P: バージョン情報内に不明な言語 `%s' があります\n"
+
+#: ldlang.c:7626
+msgid "%X%P: anonymous version tag cannot be combined with other version tags\n"
+msgstr ""
+
+#: ldlang.c:7635
+msgid "%X%P: duplicate version tag `%s'\n"
+msgstr "%X%P: バージョンタグ `%s' が重複しています\n"
+
+#: ldlang.c:7656 ldlang.c:7665 ldlang.c:7683 ldlang.c:7693
+msgid "%X%P: duplicate expression `%s' in version information\n"
+msgstr ""
+
+#: ldlang.c:7733
+msgid "%X%P: unable to find version dependency `%s'\n"
+msgstr ""
+
+#: ldlang.c:7756
+msgid "%X%P: unable to read .exports section contents\n"
+msgstr "%X%P: .exports セクションの中身を読み込めません\n"
+
+#: ldmain.c:239
+msgid "%X%P: can't set BFD default target to `%s': %E\n"
+msgstr "%X%P: BFD デフォルトターゲットを `%s' に設定できません: %E\n"
+
+#: ldmain.c:307
+msgid "%P%F: -r and -shared may not be used together\n"
+msgstr "%P%F: -r および -shared は同時に使用できません\n"
+
+#: ldmain.c:350
+msgid "%P%F: -F may not be used without -shared\n"
+msgstr "%P%F: -F は -shared 無しでは使用できません\n"
+
+#: ldmain.c:352
+msgid "%P%F: -f may not be used without -shared\n"
+msgstr "%P%F: -f は -shared 無しでは使用できません\n"
+
+#: ldmain.c:400
+msgid "using external linker script:"
+msgstr "外部リンカスクリプトを使用しています:"
+
+#: ldmain.c:402
+msgid "using internal linker script:"
+msgstr "内部リンカスクリプトを使用しています:"
+
+#: ldmain.c:436
+msgid "%P%F: no input files\n"
+msgstr "%P%F: 入力ファイルがありません\n"
+
+#: ldmain.c:440
+msgid "%P: mode %s\n"
+msgstr "%P: モード %s\n"
+
+#: ldmain.c:456
+msgid "%P%F: cannot open map file %s: %E\n"
+msgstr "%P%F: マップファイル %s を開けません: %E\n"
+
+#: ldmain.c:485
+msgid "%P: %s: error in plugin cleanup (ignored)\n"
+msgstr ""
+
+#: ldmain.c:494
+msgid "%P: link errors found, deleting executable `%s'\n"
+msgstr "%P: リンクエラーが発生しました。実行ファイル `%s' を削除しています\n"
+
+#: ldmain.c:503
+msgid "%F%B: final close failed: %E\n"
+msgstr "%F%B: 最後のクローズに失敗しました: %E\n"
+
+#: ldmain.c:529
+msgid "%X%P: unable to open for source of copy `%s'\n"
+msgstr ""
+
+#: ldmain.c:532
+msgid "%X%P: unable to open for destination of copy `%s'\n"
+msgstr ""
+
+#: ldmain.c:539
+msgid "%P: Error writing file `%s'\n"
+msgstr "%P: ファイル `%s' を書き込み中にエラーが発生しました\n"
+
+#: ldmain.c:544 pe-dll.c:1729
+#, c-format
+msgid "%P: Error closing file `%s'\n"
+msgstr "%P: ファイル `%s' を閉じている途中でエラーが発生しました\n"
+
+#: ldmain.c:560
+#, c-format
+msgid "%s: total time in link: %ld.%06ld\n"
+msgstr "%s: リンクにかかった総時間: %ld.%06ld\n"
+
+#: ldmain.c:563
+#, c-format
+msgid "%s: data size %ld\n"
+msgstr "%s: データサイズ %ld\n"
+
+#: ldmain.c:646
+msgid "%P%F: missing argument to -m\n"
+msgstr "%P%F: -m に対する引数がありません\n"
+
+#: ldmain.c:694 ldmain.c:714 ldmain.c:746 plugin.c:772
+msgid "%P%F: bfd_hash_table_init failed: %E\n"
+msgstr "%P%F: bfd_hash_table_init に失敗しました: %E\n"
+
+#: ldmain.c:698 ldmain.c:718
+msgid "%P%F: bfd_hash_lookup failed: %E\n"
+msgstr "%P%F: bfd_hash_lookup に失敗しました: %E\n"
+
+#: ldmain.c:732
+msgid "%X%P: error: duplicate retain-symbols-file\n"
+msgstr ""
+
+#: ldmain.c:776
+msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
+msgstr ""
+
+#: ldmain.c:781
+msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
+msgstr "%P: `-retain-symbols-file' は `-s' および `-S' を上書きします\n"
+
+#: ldmain.c:895
+#, c-format
+msgid ""
+"Archive member included because of file (symbol)\n"
+"\n"
+msgstr ""
+
+#: ldmain.c:975
+msgid "%X%C: multiple definition of `%T'\n"
+msgstr "%X%C: `%T' が複数定義されています\n"
+
+#: ldmain.c:978
+msgid "%D: first defined here\n"
+msgstr "%D: ここで最初に定義されています\n"
+
+#: ldmain.c:982
+msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
+msgstr ""
+
+#: ldmain.c:1012
+msgid "%B: warning: definition of `%T' overriding common\n"
+msgstr ""
+
+#: ldmain.c:1015
+msgid "%B: warning: common is here\n"
+msgstr ""
+
+#: ldmain.c:1022
+msgid "%B: warning: common of `%T' overridden by definition\n"
+msgstr ""
+
+#: ldmain.c:1025
+msgid "%B: warning: defined here\n"
+msgstr ""
+
+#: ldmain.c:1032
+msgid "%B: warning: common of `%T' overridden by larger common\n"
+msgstr ""
+
+#: ldmain.c:1035
+msgid "%B: warning: larger common is here\n"
+msgstr ""
+
+#: ldmain.c:1039
+msgid "%B: warning: common of `%T' overriding smaller common\n"
+msgstr ""
+
+#: ldmain.c:1042
+msgid "%B: warning: smaller common is here\n"
+msgstr ""
+
+#: ldmain.c:1046
+msgid "%B: warning: multiple common of `%T'\n"
+msgstr ""
+
+#: ldmain.c:1048
+msgid "%B: warning: previous common is here\n"
+msgstr ""
+
+#: ldmain.c:1068 ldmain.c:1106
+msgid "%P: warning: global constructor %s used\n"
+msgstr ""
+
+#: ldmain.c:1116
+msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
+msgstr ""
+
+#. We found a reloc for the symbol we are looking for.
+#: ldmain.c:1170 ldmain.c:1172 ldmain.c:1174 ldmain.c:1192 ldmain.c:1237
+msgid "warning: "
+msgstr ""
+
+#: ldmain.c:1273
+msgid "%F%P: bfd_hash_table_init failed: %E\n"
+msgstr ""
+
+#: ldmain.c:1280
+msgid "%F%P: bfd_hash_lookup failed: %E\n"
+msgstr ""
+
+#: ldmain.c:1301
+msgid "%X%C: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1304
+msgid "%C: warning: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1310
+msgid "%X%D: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1313
+msgid "%D: warning: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1324
+msgid "%X%B: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1327
+msgid "%B: warning: undefined reference to `%T'\n"
+msgstr ""
+
+#: ldmain.c:1333
+msgid "%X%B: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1336
+msgid "%B: warning: more undefined references to `%T' follow\n"
+msgstr ""
+
+#: ldmain.c:1375
+msgid " additional relocation overflows omitted from the output\n"
+msgstr ""
+
+#: ldmain.c:1388
+msgid " relocation truncated to fit: %s against undefined symbol `%T'"
+msgstr ""
+
+#: ldmain.c:1393
+msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B"
+msgstr ""
+
+#: ldmain.c:1405
+msgid " relocation truncated to fit: %s against `%T'"
+msgstr ""
+
+#: ldmain.c:1422
+#, c-format
+msgid "%X%C: dangerous relocation: %s\n"
+msgstr "%X%C: 危険な再配置です: %s\n"
+
+#: ldmain.c:1437
+msgid "%X%C: reloc refers to symbol `%T' which is not being output\n"
+msgstr ""
+
+#: ldmisc.c:149
+#, c-format
+msgid "no symbol"
+msgstr "シンボルがありません"
+
+#: ldmisc.c:246
+#, c-format
+msgid "built in linker script:%u"
+msgstr ""
+
+#: ldmisc.c:324
+msgid "%B: In function `%T':\n"
+msgstr "%B: 関数 `%T' 内:\n"
+
+#: ldmisc.c:451
+msgid "%F%P: internal error %s %d\n"
+msgstr "%F%P: 内部エラー %s %d\n"
+
+#: ldmisc.c:500
+msgid "%P: internal error: aborting at %s line %d in %s\n"
+msgstr ""
+
+#: ldmisc.c:503
+msgid "%P: internal error: aborting at %s line %d\n"
+msgstr ""
+
+#: ldmisc.c:505
+msgid "%P%F: please report this bug\n"
+msgstr "%P%F: このバグを報告してください\n"
+
+#. Output for noisy == 2 is intended to follow the GNU standards.
+#: ldver.c:39
+#, c-format
+msgid "GNU ld %s\n"
+msgstr ""
+
+#: ldver.c:43
+#, c-format
+msgid "Copyright 2010 Free Software Foundation, Inc.\n"
+msgstr ""
+
+#: ldver.c:44
+#, c-format
+msgid ""
+"This program is free software; you may redistribute it under the terms of\n"
+"the GNU General Public License version 3 or (at your option) a later version.\n"
+"This program has absolutely no warranty.\n"
+msgstr ""
+
+#: ldver.c:54
+#, c-format
+msgid " Supported emulations:\n"
+msgstr ""
+
+#: ldwrite.c:62 ldwrite.c:207
+msgid "%P%F: bfd_new_link_order failed\n"
+msgstr ""
+
+#: ldwrite.c:365
+msgid "%F%P: cannot create split section name for %s\n"
+msgstr ""
+
+#: ldwrite.c:377
+msgid "%F%P: clone section failed: %E\n"
+msgstr ""
+
+#: ldwrite.c:418
+#, c-format
+msgid "%8x something else\n"
+msgstr ""
+
+#: ldwrite.c:588
+msgid "%F%P: final link failed: %E\n"
+msgstr ""
+
+#: lexsup.c:219 lexsup.c:368
+msgid "KEYWORD"
+msgstr ""
+
+#: lexsup.c:219
+msgid "Shared library control for HP/UX compatibility"
+msgstr ""
+
+#: lexsup.c:222
+msgid "ARCH"
+msgstr ""
+
+#: lexsup.c:222
+msgid "Set architecture"
+msgstr ""
+
+#: lexsup.c:224 lexsup.c:487
+msgid "TARGET"
+msgstr ""
+
+#: lexsup.c:224
+msgid "Specify target for following input files"
+msgstr ""
+
+#: lexsup.c:227 lexsup.c:278 lexsup.c:296 lexsup.c:309 lexsup.c:311
+#: lexsup.c:441 lexsup.c:501 lexsup.c:563 lexsup.c:576
+msgid "FILE"
+msgstr ""
+
+#: lexsup.c:227
+msgid "Read MRI format linker script"
+msgstr ""
+
+#: lexsup.c:229
+msgid "Force common symbols to be defined"
+msgstr ""
+
+#: lexsup.c:233 lexsup.c:545 lexsup.c:547 lexsup.c:549 lexsup.c:551
+msgid "ADDRESS"
+msgstr ""
+
+#: lexsup.c:233
+msgid "Set start address"
+msgstr ""
+
+#: lexsup.c:235
+msgid "Export all dynamic symbols"
+msgstr ""
+
+#: lexsup.c:237
+msgid "Undo the effect of --export-dynamic"
+msgstr ""
+
+#: lexsup.c:239
+msgid "Link big-endian objects"
+msgstr ""
+
+#: lexsup.c:241
+msgid "Link little-endian objects"
+msgstr ""
+
+#: lexsup.c:243 lexsup.c:246
+msgid "SHLIB"
+msgstr ""
+
+#: lexsup.c:243
+msgid "Auxiliary filter for shared object symbol table"
+msgstr ""
+
+#: lexsup.c:246
+msgid "Filter for shared object symbol table"
+msgstr ""
+
+#: lexsup.c:249
+msgid "Ignored"
+msgstr ""
+
+#: lexsup.c:251
+msgid "SIZE"
+msgstr ""
+
+#: lexsup.c:251
+msgid "Small data size (if no size, same as --shared)"
+msgstr ""
+
+#: lexsup.c:254
+msgid "FILENAME"
+msgstr ""
+
+#: lexsup.c:254
+msgid "Set internal name of shared library"
+msgstr ""
+
+#: lexsup.c:256
+msgid "PROGRAM"
+msgstr ""
+
+#: lexsup.c:256
+msgid "Set PROGRAM as the dynamic linker to use"
+msgstr ""
+
+#: lexsup.c:259
+msgid "LIBNAME"
+msgstr ""
+
+#: lexsup.c:259
+msgid "Search for library LIBNAME"
+msgstr ""
+
+#: lexsup.c:261
+msgid "DIRECTORY"
+msgstr ""
+
+#: lexsup.c:261
+msgid "Add DIRECTORY to library search path"
+msgstr ""
+
+#: lexsup.c:264
+msgid "Override the default sysroot location"
+msgstr ""
+
+#: lexsup.c:266
+msgid "EMULATION"
+msgstr ""
+
+#: lexsup.c:266
+msgid "Set emulation"
+msgstr ""
+
+#: lexsup.c:268
+msgid "Print map file on standard output"
+msgstr ""
+
+#: lexsup.c:270
+msgid "Do not page align data"
+msgstr ""
+
+#: lexsup.c:272
+msgid "Do not page align data, do not make text readonly"
+msgstr ""
+
+#: lexsup.c:275
+msgid "Page align data, make text readonly"
+msgstr ""
+
+#: lexsup.c:278
+msgid "Set output file name"
+msgstr ""
+
+#: lexsup.c:280
+msgid "Optimize output file"
+msgstr ""
+
+#: lexsup.c:283
+msgid "PLUGIN"
+msgstr ""
+
+#: lexsup.c:283
+msgid "Load named plugin"
+msgstr ""
+
+#: lexsup.c:285
+msgid "ARG"
+msgstr ""
+
+#: lexsup.c:285
+msgid "Send arg to last-loaded plugin"
+msgstr ""
+
+#: lexsup.c:288
+msgid "Ignored for SVR4 compatibility"
+msgstr ""
+
+#: lexsup.c:292
+msgid "Generate relocatable output"
+msgstr ""
+
+#: lexsup.c:296
+msgid "Just link symbols (if directory, same as --rpath)"
+msgstr ""
+
+#: lexsup.c:299
+msgid "Strip all symbols"
+msgstr ""
+
+#: lexsup.c:301
+msgid "Strip debugging symbols"
+msgstr ""
+
+#: lexsup.c:303
+msgid "Strip symbols in discarded sections"
+msgstr ""
+
+#: lexsup.c:305
+msgid "Do not strip symbols in discarded sections"
+msgstr ""
+
+#: lexsup.c:307
+msgid "Trace file opens"
+msgstr ""
+
+#: lexsup.c:309
+msgid "Read linker script"
+msgstr ""
+
+#: lexsup.c:311
+msgid "Read default linker script"
+msgstr ""
+
+#: lexsup.c:315 lexsup.c:333 lexsup.c:418 lexsup.c:439 lexsup.c:538
+#: lexsup.c:566 lexsup.c:605
+msgid "SYMBOL"
+msgstr ""
+
+#: lexsup.c:315
+msgid "Start with undefined reference to SYMBOL"
+msgstr ""
+
+#: lexsup.c:318
+msgid "[=SECTION]"
+msgstr ""
+
+#: lexsup.c:319
+msgid "Don't merge input [SECTION | orphan] sections"
+msgstr ""
+
+#: lexsup.c:321
+msgid "Build global constructor/destructor tables"
+msgstr ""
+
+#: lexsup.c:323
+msgid "Print version information"
+msgstr ""
+
+#: lexsup.c:325
+msgid "Print version and emulation information"
+msgstr ""
+
+#: lexsup.c:327
+msgid "Discard all local symbols"
+msgstr ""
+
+#: lexsup.c:329
+msgid "Discard temporary local symbols (default)"
+msgstr ""
+
+#: lexsup.c:331
+msgid "Don't discard any local symbols"
+msgstr ""
+
+#: lexsup.c:333
+msgid "Trace mentions of SYMBOL"
+msgstr ""
+
+#: lexsup.c:335 lexsup.c:503 lexsup.c:505
+msgid "PATH"
+msgstr ""
+
+#: lexsup.c:335
+msgid "Default search path for Solaris compatibility"
+msgstr ""
+
+#: lexsup.c:338
+msgid "Start a group"
+msgstr ""
+
+#: lexsup.c:340
+msgid "End a group"
+msgstr ""
+
+#: lexsup.c:344
+msgid "Accept input files whose architecture cannot be determined"
+msgstr ""
+
+#: lexsup.c:348
+msgid "Reject input files whose architecture is unknown"
+msgstr ""
+
+#: lexsup.c:361
+msgid "Only set DT_NEEDED for following dynamic libs if used"
+msgstr ""
+
+#: lexsup.c:364
+msgid ""
+"Always set DT_NEEDED for dynamic libraries mentioned on\n"
+" the command line"
+msgstr ""
+
+#: lexsup.c:368
+msgid "Ignored for SunOS compatibility"
+msgstr ""
+
+#: lexsup.c:370
+msgid "Link against shared libraries"
+msgstr ""
+
+#: lexsup.c:376
+msgid "Do not link against shared libraries"
+msgstr ""
+
+#: lexsup.c:384
+msgid "Bind global references locally"
+msgstr ""
+
+#: lexsup.c:386
+msgid "Bind global function references locally"
+msgstr ""
+
+#: lexsup.c:388
+msgid "Check section addresses for overlaps (default)"
+msgstr ""
+
+#: lexsup.c:391
+msgid "Do not check section addresses for overlaps"
+msgstr ""
+
+#: lexsup.c:395
+msgid "Copy DT_NEEDED links mentioned inside DSOs that follow"
+msgstr ""
+
+#: lexsup.c:399
+msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow"
+msgstr ""
+
+#: lexsup.c:403
+msgid "Output cross reference table"
+msgstr ""
+
+#: lexsup.c:405
+msgid "SYMBOL=EXPRESSION"
+msgstr ""
+
+#: lexsup.c:405
+msgid "Define a symbol"
+msgstr ""
+
+#: lexsup.c:407
+msgid "[=STYLE]"
+msgstr ""
+
+#: lexsup.c:407
+msgid "Demangle symbol names [using STYLE]"
+msgstr ""
+
+#: lexsup.c:410
+msgid "Generate embedded relocs"
+msgstr ""
+
+#: lexsup.c:412
+msgid "Treat warnings as errors"
+msgstr ""
+
+#: lexsup.c:415
+msgid "Do not treat warnings as errors (default)"
+msgstr ""
+
+#: lexsup.c:418
+msgid "Call SYMBOL at unload-time"
+msgstr ""
+
+#: lexsup.c:420
+msgid "Force generation of file with .exe suffix"
+msgstr ""
+
+#: lexsup.c:422
+msgid "Remove unused sections (on some targets)"
+msgstr ""
+
+#: lexsup.c:425
+msgid "Don't remove unused sections (default)"
+msgstr ""
+
+#: lexsup.c:428
+msgid "List removed unused sections on stderr"
+msgstr ""
+
+#: lexsup.c:431
+msgid "Do not list removed unused sections"
+msgstr ""
+
+#: lexsup.c:434
+msgid "Set default hash table size close to <NUMBER>"
+msgstr ""
+
+#: lexsup.c:437
+msgid "Print option help"
+msgstr ""
+
+#: lexsup.c:439
+msgid "Call SYMBOL at load-time"
+msgstr ""
+
+#: lexsup.c:441
+msgid "Write a map file"
+msgstr ""
+
+#: lexsup.c:443
+msgid "Do not define Common storage"
+msgstr ""
+
+#: lexsup.c:445
+msgid "Do not demangle symbol names"
+msgstr ""
+
+#: lexsup.c:447
+msgid "Use less memory and more disk I/O"
+msgstr ""
+
+#: lexsup.c:449
+msgid "Do not allow unresolved references in object files"
+msgstr ""
+
+#: lexsup.c:452
+msgid "Allow unresolved references in shared libaries"
+msgstr ""
+
+#: lexsup.c:456
+msgid "Do not allow unresolved references in shared libs"
+msgstr ""
+
+#: lexsup.c:460
+msgid "Allow multiple definitions"
+msgstr ""
+
+#: lexsup.c:462
+msgid "Disallow undefined version"
+msgstr ""
+
+#: lexsup.c:464
+msgid "Create default symbol version"
+msgstr ""
+
+#: lexsup.c:467
+msgid "Create default symbol version for imported symbols"
+msgstr ""
+
+#: lexsup.c:470
+msgid "Don't warn about mismatched input files"
+msgstr ""
+
+#: lexsup.c:473
+msgid "Don't warn on finding an incompatible library"
+msgstr ""
+
+#: lexsup.c:476
+msgid "Turn off --whole-archive"
+msgstr ""
+
+#: lexsup.c:478
+msgid "Create an output file even if errors occur"
+msgstr ""
+
+#: lexsup.c:483
+msgid ""
+"Only use library directories specified on\n"
+" the command line"
+msgstr ""
+
+#: lexsup.c:487
+msgid "Specify target of output file"
+msgstr ""
+
+#: lexsup.c:490
+msgid "Ignored for Linux compatibility"
+msgstr ""
+
+#: lexsup.c:493
+msgid "Reduce memory overheads, possibly taking much longer"
+msgstr ""
+
+#: lexsup.c:496
+msgid "Reduce code size by using target specific optimizations"
+msgstr ""
+
+#: lexsup.c:498
+msgid "Do not use relaxation techniques to reduce code size"
+msgstr ""
+
+#: lexsup.c:501
+msgid "Keep only symbols listed in FILE"
+msgstr ""
+
+#: lexsup.c:503
+msgid "Set runtime shared library search path"
+msgstr ""
+
+#: lexsup.c:505
+msgid "Set link time shared library search path"
+msgstr ""
+
+#: lexsup.c:508
+msgid "Create a shared library"
+msgstr ""
+
+#: lexsup.c:512
+msgid "Create a position independent executable"
+msgstr ""
+
+#: lexsup.c:516
+msgid "[=ascending|descending]"
+msgstr ""
+
+#: lexsup.c:517
+msgid "Sort common symbols by alignment [in specified order]"
+msgstr ""
+
+#: lexsup.c:522
+msgid "name|alignment"
+msgstr ""
+
+#: lexsup.c:523
+msgid "Sort sections by name or maximum alignment"
+msgstr ""
+
+#: lexsup.c:525
+msgid "COUNT"
+msgstr ""
+
+#: lexsup.c:525
+msgid "How many tags to reserve in .dynamic section"
+msgstr ""
+
+#: lexsup.c:528
+msgid "[=SIZE]"
+msgstr ""
+
+#: lexsup.c:528
+msgid "Split output sections every SIZE octets"
+msgstr ""
+
+#: lexsup.c:531
+msgid "[=COUNT]"
+msgstr ""
+
+#: lexsup.c:531
+msgid "Split output sections every COUNT relocs"
+msgstr ""
+
+#: lexsup.c:534
+msgid "Print memory usage statistics"
+msgstr ""
+
+#: lexsup.c:536
+msgid "Display target specific options"
+msgstr ""
+
+#: lexsup.c:538
+msgid "Do task level linking"
+msgstr ""
+
+#: lexsup.c:540
+msgid "Use same format as native linker"
+msgstr ""
+
+#: lexsup.c:542
+msgid "SECTION=ADDRESS"
+msgstr ""
+
+#: lexsup.c:542
+msgid "Set address of named section"
+msgstr "named セクションのアドレスを設定する"
+
+#: lexsup.c:545
+msgid "Set address of .bss section"
+msgstr ".bss セクションのアドレスを設定する"
+
+#: lexsup.c:547
+msgid "Set address of .data section"
+msgstr ".data セクションのアドレスを設定する"
+
+#: lexsup.c:549
+msgid "Set address of .text section"
+msgstr ".text セクションのアドレスを設定する"
+
+#: lexsup.c:551
+msgid "Set address of text segment"
+msgstr "text セグメントのアドレスを設定する"
+
+#: lexsup.c:554
+msgid ""
+"How to handle unresolved symbols. <method> is:\n"
+" ignore-all, report-all, ignore-in-object-files,\n"
+" ignore-in-shared-libs"
+msgstr ""
+"解決されなかったシンボルをどのように扱うかを指定する。 <method> は以下の通り:\n"
+" ignore-all, report-all, ignore-in-object-files,\n"
+" ignore-in-shared-libs"
+
+#: lexsup.c:559
+msgid "Output lots of information during link"
+msgstr "リンク中に多数の情報を表示する"
+
+#: lexsup.c:563
+msgid "Read version information script"
+msgstr "バージョン情報スクリプトを読み込む"
+
+#: lexsup.c:566
+msgid ""
+"Take export symbols list from .exports, using\n"
+" SYMBOL as the version."
+msgstr ""
+
+#: lexsup.c:570
+msgid "Add data symbols to dynamic list"
+msgstr ""
+
+#: lexsup.c:572
+msgid "Use C++ operator new/delete dynamic list"
+msgstr ""
+
+#: lexsup.c:574
+msgid "Use C++ typeinfo dynamic list"
+msgstr ""
+
+#: lexsup.c:576
+msgid "Read dynamic list"
+msgstr "動的リストを読み込む"
+
+#: lexsup.c:578
+msgid "Warn about duplicate common symbols"
+msgstr ""
+
+#: lexsup.c:580
+msgid "Warn if global constructors/destructors are seen"
+msgstr "大域コンストラクタ/デストラクタが見つかったときに警告する"
+
+#: lexsup.c:583
+msgid "Warn if the multiple GP values are used"
+msgstr "複数の GP 値が使用されているときに警告する"
+
+#: lexsup.c:585
+msgid "Warn only once per undefined symbol"
+msgstr "定義されていないシンボルがあるごとに一回のみ警告する"
+
+#: lexsup.c:587
+msgid "Warn if start of section changes due to alignment"
+msgstr "整列によりセクションの開始が変更されたときに警告する"
+
+#: lexsup.c:590
+msgid "Warn if shared object has DT_TEXTREL"
+msgstr "共有オブジェクトに DT_TEXTREL が含まれるときに警告する"
+
+#: lexsup.c:593
+msgid "Warn if an object has alternate ELF machine code"
+msgstr ""
+
+#: lexsup.c:597
+msgid "Report unresolved symbols as warnings"
+msgstr "解決できないシンボルを警告として報告する"
+
+#: lexsup.c:600
+msgid "Report unresolved symbols as errors"
+msgstr "解決できないシンボルをエラーとして報告する"
+
+#: lexsup.c:602
+msgid "Include all objects from following archives"
+msgstr "これ以降の書庫からは全てのオブジェクトを含める"
+
+#: lexsup.c:605
+msgid "Use wrapper functions for SYMBOL"
+msgstr ""
+
+#: lexsup.c:754
+msgid "%P: unrecognized option '%s'\n"
+msgstr "%P: 認識できないオプション '%s' です\n"
+
+#: lexsup.c:758
+msgid "%P%F: use the --help option for usage information\n"
+msgstr "%P%F: 使用法に関する情報については --help オプションを使用してください\n"
+
+#: lexsup.c:776
+msgid "%P%F: unrecognized -a option `%s'\n"
+msgstr ""
+
+#: lexsup.c:789
+msgid "%P%F: unrecognized -assert option `%s'\n"
+msgstr ""
+
+#: lexsup.c:832
+msgid "%F%P: unknown demangling style `%s'"
+msgstr "%F%P: 不明な名前復元 (demangle) 形式 `%s' です"
+
+#: lexsup.c:898
+msgid "%P%F: invalid number `%s'\n"
+msgstr "%P%F: 無効な数値 `%s' です\n"
+
+#: lexsup.c:996
+msgid "%P%F: bad --unresolved-symbols option: %s\n"
+msgstr "%P%F: 誤った --unresolved-symbols オプションです: %s\n"
+
+#: lexsup.c:1059
+msgid "%P%F: bad -plugin option\n"
+msgstr "%P%F: 誤った -plugin オプションです\n"
+
+#: lexsup.c:1063
+msgid "%P%F: bad -plugin-opt option\n"
+msgstr "%P%F: 誤った -plugin-opt オプションです\n"
+
+#. This can happen if the user put "-rpath,a" on the command
+#. line. (Or something similar. The comma is important).
+#. Getopt becomes confused and thinks that this is a -r option
+#. but it cannot parse the text after the -r so it refuses to
+#. increment the optind counter. Detect this case and issue
+#. an error message here. We cannot just make this a warning,
+#. increment optind, and continue because getopt is too confused
+#. and will seg-fault the next time around.
+#: lexsup.c:1080
+msgid "%P%F: bad -rpath option\n"
+msgstr "%P%F: 誤った -rpath オプションです\n"
+
+#: lexsup.c:1194
+msgid "%P%F: -shared not supported\n"
+msgstr "%P%F: -shared はサポートされていません\n"
+
+#: lexsup.c:1203
+msgid "%P%F: -pie not supported\n"
+msgstr "%P%F: -pie はサポートされていません\n"
+
+#: lexsup.c:1211
+msgid "descending"
+msgstr "descending"
+
+#: lexsup.c:1213
+msgid "ascending"
+msgstr "ascending"
+
+#: lexsup.c:1216
+msgid "%P%F: invalid common section sorting option: %s\n"
+msgstr ""
+
+#: lexsup.c:1220
+msgid "name"
+msgstr ""
+
+#: lexsup.c:1222
+msgid "alignment"
+msgstr ""
+
+#: lexsup.c:1225
+msgid "%P%F: invalid section sorting option: %s\n"
+msgstr ""
+
+#: lexsup.c:1259
+msgid "%P%F: invalid argument to option \"--section-start\"\n"
+msgstr ""
+
+#: lexsup.c:1266
+msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
+msgstr ""
+
+#: lexsup.c:1490
+msgid "%P%F: group ended before it began (--help for usage)\n"
+msgstr ""
+
+#: lexsup.c:1518
+msgid "%P%X: --hash-size needs a numeric argument\n"
+msgstr ""
+
+#: lexsup.c:1547
+msgid "%P%F: %s: error loading plugin\n"
+msgstr "%P%F: %s: プラグインの読み込み中にエラーが発生しました\n"
+
+#: lexsup.c:1578 lexsup.c:1591
+msgid "%P%F: invalid hex number `%s'\n"
+msgstr "%P%F: 無効な十六進数 `%s' です\n"
+
+#: lexsup.c:1627
+#, c-format
+msgid "Usage: %s [options] file...\n"
+msgstr "使用法: %s [options] file...\n"
+
+#: lexsup.c:1629
+#, c-format
+msgid "Options:\n"
+msgstr "オプション:\n"
+
+#: lexsup.c:1707
+#, c-format
+msgid " @FILE"
+msgstr ""
+
+#: lexsup.c:1710
+#, c-format
+msgid "Read options from FILE\n"
+msgstr "オプションを FILE から読み込む\n"
+
+#. Note: Various tools (such as libtool) depend upon the
+#. format of the listings below - do not change them.
+#: lexsup.c:1715
+#, c-format
+msgid "%s: supported targets:"
+msgstr "%s: supported targets:"
+
+#: lexsup.c:1723
+#, c-format
+msgid "%s: supported emulations: "
+msgstr "%s: supported emulations: "
+
+#: lexsup.c:1728
+#, c-format
+msgid "%s: emulation specific options:\n"
+msgstr "%s: emulation specific options:\n"
+
+#: lexsup.c:1733
+#, c-format
+msgid "Report bugs to %s\n"
+msgstr ""
+"バグを発見したら <%s> に報告して下さい。\n"
+"翻訳に関するバグは<translation-team-ja@lists.sourceforge.net>に報告してください。\n"
+
+#: mri.c:292
+msgid "%P%F: unknown format type %s\n"
+msgstr ""
+
+#: pe-dll.c:430
+#, c-format
+msgid "%XUnsupported PEI architecture: %s\n"
+msgstr ""
+
+#: pe-dll.c:788
+#, c-format
+msgid "%XCannot export %s: invalid export name\n"
+msgstr ""
+
+#: pe-dll.c:844
+#, c-format
+msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
+msgstr ""
+
+#: pe-dll.c:851
+#, c-format
+msgid "Warning, duplicate EXPORT: %s\n"
+msgstr ""
+
+#: pe-dll.c:938
+#, c-format
+msgid "%XCannot export %s: symbol not defined\n"
+msgstr ""
+
+#: pe-dll.c:944
+#, c-format
+msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
+msgstr ""
+
+#: pe-dll.c:951
+#, c-format
+msgid "%XCannot export %s: symbol not found\n"
+msgstr ""
+
+#: pe-dll.c:1065
+#, c-format
+msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
+msgstr ""
+
+#: pe-dll.c:1446
+#, c-format
+msgid "%XError: %d-bit reloc in dll\n"
+msgstr ""
+
+#: pe-dll.c:1574
+#, c-format
+msgid "%s: Can't open output def file %s\n"
+msgstr ""
+
+#: pe-dll.c:1725
+#, c-format
+msgid "; no contents available\n"
+msgstr ""
+
+#: pe-dll.c:2652
+msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
+msgstr ""
+
+#: pe-dll.c:2682
+#, c-format
+msgid "%XCan't open .lib file: %s\n"
+msgstr ""
+
+#: pe-dll.c:2687
+#, c-format
+msgid "Creating library file: %s\n"
+msgstr ""
+
+#: pe-dll.c:2716
+#, c-format
+msgid "%Xbfd_openr %s: %E\n"
+msgstr ""
+
+#: pe-dll.c:2728
+#, c-format
+msgid "%X%s(%s): can't find member in non-archive file"
+msgstr ""
+
+#: pe-dll.c:2740
+#, c-format
+msgid "%X%s(%s): can't find member in archive"
+msgstr ""
+
+#: pe-dll.c:3177
+#, c-format
+msgid "%XError: can't use long section names on this arch\n"
+msgstr ""
+
+#: plugin.c:178 plugin.c:212
+msgid "<no plugin>"
+msgstr ""
+
+#: plugin.c:308
+msgid "%P%F: %s: non-ELF symbol in ELF BFD!"
+msgstr ""
+
+#: plugin.c:800
+msgid "%P%X: %s: hash table failure adding symbol %s"
+msgstr ""
+
+#: plugin.c:833
+msgid "%P%X: %s: can't find IR symbol '%s'"
+msgstr ""
+
+#: plugin.c:836
+msgid "%P%x: %s: bad IR symbol type %d"
+msgstr ""