* emultempl/aarch64elf.em: Wrap einfo strings in _(). Formatting.
* emultempl/aix.em: Likewise.
* emultempl/armcoff.em: Likewise.
* emultempl/armelf.em: Likewise.
* emultempl/avrelf.em: Likewise.
* emultempl/beos.em: Likewise.
* emultempl/cr16elf.em: Likewise.
* emultempl/elf-generic.em: Likewise.
* emultempl/elf32.em: Likewise.
* emultempl/genelf.em: Likewise.
* emultempl/hppaelf.em: Likewise.
* emultempl/linux.em: Likewise.
* emultempl/lnk960.em: Likewise.
* emultempl/m68hc1xelf.em: Likewise.
* emultempl/m68kcoff.em: Likewise.
* emultempl/m68kelf.em: Likewise.
* emultempl/metagelf.em: Likewise.
* emultempl/mipself.em: Likewise.
* emultempl/mmix-elfnmmo.em: Likewise.
* emultempl/mmo.em: Likewise.
* emultempl/msp430.em: Likewise.
* emultempl/nds32elf.em: Likewise.
* emultempl/nios2elf.em: Likewise.
* emultempl/pe.em: Likewise.
* emultempl/pep.em: Likewise.
* emultempl/ppc32elf.em: Likewise.
* emultempl/ppc64elf.em: Likewise.
* emultempl/riscvelf.em: Likewise.
* emultempl/s390.em: Likewise.
* emultempl/scoreelf.em: Likewise.
* emultempl/spuelf.em: Likewise.
* emultempl/sunos.em: Likewise.
* emultempl/tic6xdsbt.em: Likewise.
* emultempl/v850elf.em: Likewise.
* emultempl/vms.em: Likewise.
* emultempl/vxworks.em: Likewise.
* ldcref.c: Likewise.
* ldlang.c: Likewise.
* ldlex.l: Likewise.
* ldmain.c: Likewise.
* pe-dll.c: Likewise.
* plugin.c: Likewise.
+2017-10-11 Alan Modra <amodra@gmail.com>
+
+ * emultempl/aarch64elf.em: Wrap einfo strings in _(). Formatting.
+ * emultempl/aix.em: Likewise.
+ * emultempl/armcoff.em: Likewise.
+ * emultempl/armelf.em: Likewise.
+ * emultempl/avrelf.em: Likewise.
+ * emultempl/beos.em: Likewise.
+ * emultempl/cr16elf.em: Likewise.
+ * emultempl/elf-generic.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/genelf.em: Likewise.
+ * emultempl/hppaelf.em: Likewise.
+ * emultempl/linux.em: Likewise.
+ * emultempl/lnk960.em: Likewise.
+ * emultempl/m68hc1xelf.em: Likewise.
+ * emultempl/m68kcoff.em: Likewise.
+ * emultempl/m68kelf.em: Likewise.
+ * emultempl/metagelf.em: Likewise.
+ * emultempl/mipself.em: Likewise.
+ * emultempl/mmix-elfnmmo.em: Likewise.
+ * emultempl/mmo.em: Likewise.
+ * emultempl/msp430.em: Likewise.
+ * emultempl/nds32elf.em: Likewise.
+ * emultempl/nios2elf.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+ * emultempl/ppc32elf.em: Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/riscvelf.em: Likewise.
+ * emultempl/s390.em: Likewise.
+ * emultempl/scoreelf.em: Likewise.
+ * emultempl/spuelf.em: Likewise.
+ * emultempl/sunos.em: Likewise.
+ * emultempl/tic6xdsbt.em: Likewise.
+ * emultempl/v850elf.em: Likewise.
+ * emultempl/vms.em: Likewise.
+ * emultempl/vxworks.em: Likewise.
+ * ldcref.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldlex.l: Likewise.
+ * ldmain.c: Likewise.
+ * pe-dll.c: Likewise.
+ * plugin.c: Likewise.
+
2017-10-10 Renlin Li <renlin.li@arm.com>
PR ld/21402
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
+ einfo (_("%X%P: could not compute sections lists "
+ "for stub generation: %E\n"));
return;
}
& elf${ELFSIZE}_aarch64_add_stub_section,
& gldaarch64_layout_sections_again))
{
- einfo ("%X%P: cannot size stub section: %E\n");
+ einfo (_("%X%P: cannot size stub section: %E\n"));
return;
}
}
if (stub_file->the_bfd->sections != NULL)
{
if (! elf${ELFSIZE}_aarch64_build_stubs (& link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: Cannot change output format whilst linking AArch64 binaries.\n");
+ einfo (_("%F%X%P: error: Cannot change output format "
+ "whilst linking AArch64 binaries.\n"));
return;
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
f = fopen (filename, FOPEN_RT);
if (f == NULL)
{
- einfo ("%F%P: cannot open %s\n", filename);
+ einfo (_("%F%P: cannot open %s\n"), filename);
return;
}
if (fseek (f, 0L, SEEK_END) == -1)
return;
error:
- einfo ("%F%P: cannot read %s\n", optarg);
+ einfo (_("%F%P: cannot read %s\n"), optarg);
fclose (f);
}
case 'D':
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -D number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -D number %s\n"), optarg);
else if (val != -1)
lang_section_start (".data", exp_intop (val), NULL);
break;
case 'H':
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0' || (val & (val - 1)) != 0)
- einfo ("%P: warning: ignoring invalid -H number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -H number %s\n"), optarg);
else
file_align = val;
break;
case OPTION_MAXDATA:
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -bmaxdata number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -bmaxdata number %s\n"),
+ optarg);
else
maxdata = val;
break;
case OPTION_MAXSTACK:
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -bmaxstack number %s\n",
+ einfo (_("%P: warning: ignoring invalid -bmaxstack number %s\n"),
optarg);
else
maxstack = val;
++optarg;
}
if (*optarg == '\0' || optarg[1] == '\0')
- einfo ("%P: warning: ignoring invalid module type %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid module type %s\n"), optarg);
else
modtype = (*optarg << 8) | optarg[1];
break;
expression. */
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -pD number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -pD number %s\n"), optarg);
else
{
etree_type *t;
within the file. */
val = bfd_scan_vma (optarg, &end, 0);
if (*end != '\0')
- einfo ("%P: warning: ignoring invalid -pT number %s\n", optarg);
+ einfo (_("%P: warning: ignoring invalid -pT number %s\n"), optarg);
else
{
etree_type *t;
size = (p->count + 2) * 4;
if (!bfd_xcoff_link_record_set (link_info.output_bfd, &link_info,
p->h, size))
- einfo ("%F%P: bfd_xcoff_link_record_set failed: %E\n");
+ einfo (_("%F%P: bfd_xcoff_link_record_set failed: %E\n"));
}
}
h = bfd_link_hash_lookup (link_info.hash, el->name, FALSE, FALSE, FALSE);
if (h == NULL)
- einfo ("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n");
+ einfo (_("%P%F: bfd_link_hash_lookup of export symbol failed: %E\n"));
if (!bfd_xcoff_export_symbol (link_info.output_bfd, &link_info, h))
- einfo ("%P%F: bfd_xcoff_export_symbol failed: %E\n");
+ einfo (_("%P%F: bfd_xcoff_export_symbol failed: %E\n"));
}
/* Track down all relocations called for by the linker script (these
maxstack, maxdata, gc && !unix_ld ? TRUE : FALSE,
modtype, textro ? TRUE : FALSE, flags, special_sections,
rtld ? TRUE : FALSE))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
/* Look through the special sections, and put them in the right
place in the link ordering. This is especially magic. */
is = NULL;
os = lang_output_section_get (sec->output_section);
if (os == NULL)
- einfo ("%P%F: can't find output section %s\n",
+ einfo (_("%P%F: can't find output section %s\n"),
sec->output_section->name);
for (pls = &os->children.head; *pls != NULL; pls = &(*pls)->header.next)
if (is == NULL)
{
- einfo ("%P%F: can't find %s in output section\n",
+ einfo (_("%P%F: can't find %s in output section\n"),
bfd_get_section_name (sec->owner, sec));
}
sec = bfd_get_section_by_name (link_info.output_bfd,
must_keep_sections[i]);
if (sec == NULL)
- einfo ("%P: can't find required output section %s\n", must_keep_sections[i]);
+ einfo (_("%P: can't find required output section %s\n"),
+ must_keep_sections[i]);
else
sec->flags |= SEC_KEEP;
}
obstack_free (o, obstack_base (o));
}
else if (*s == '(')
- einfo ("%F%s%d: #! ([member]) is not supported in import files\n",
+ einfo (_("%F%s%d: #! ([member]) is not supported "
+ "in import files\n"),
filename, lineno);
else
{
*s = '\0';
if (!bfd_xcoff_split_import_path (link_info.output_bfd,
start, &imppath, &impfile))
- einfo ("%F%P: Could not parse import path: %E\n");
+ einfo (_("%F%P: Could not parse import path: %E\n"));
while (ISSPACE (cs))
{
++s;
{
impmember = "";
if (cs != '\0')
- einfo ("%s:%d: warning: syntax error in import file\n",
+ einfo (_("%s:%d: warning: syntax error in import file\n"),
filename, lineno);
}
else
if (*s == ')')
*s = '\0';
else
- einfo ("%s:%d: warning: syntax error in import file\n",
+ einfo (_("%s:%d: warning: syntax error in import file\n"),
filename, lineno);
}
}
while (ISSPACE (*se))
++se;
if (*se != '\0')
- einfo ("%s%d: warning: syntax error in import/export file\n",
+ einfo (_("%s%d: warning: syntax error in "
+ "import/export file\n"),
filename, lineno);
}
address = bfd_scan_vma (s, &end, 0);
if (*end != '\0')
{
- einfo ("%s:%d: warning: syntax error in import/export file\n",
+ einfo (_("%s:%d: warning: syntax error in "
+ "import/export file\n"),
filename, lineno);
}
&link_info, h,
address, imppath, impfile,
impmember, syscall_flag))
- einfo ("%X%s:%d: failed to import symbol %s: %E\n",
+ einfo (_("%X%s:%d: failed to import symbol %s: %E\n"),
filename, lineno, symname);
}
}
if (obstack_object_size (o) > 0)
{
- einfo ("%s:%d: warning: ignoring unterminated last line\n",
+ einfo (_("%s:%d: warning: ignoring unterminated last line\n"),
filename, lineno);
obstack_free (o, obstack_base (o));
}
rs = &s->reloc_statement;
if (rs->name == NULL)
- einfo ("%F%P: only relocations against symbols are permitted\n");
+ einfo (_("%F%P: only relocations against symbols are permitted\n"));
if (!bfd_xcoff_link_count_reloc (link_info.output_bfd, &link_info,
rs->name))
- einfo ("%F%P: bfd_xcoff_link_count_reloc failed: %E\n");
+ einfo (_("%F%P: bfd_xcoff_link_count_reloc failed: %E\n"));
}
if (s->header.type == lang_assignment_statement_enum)
if (!bfd_xcoff_record_link_assignment (link_info.output_bfd,
&link_info,
exp->assign.dst))
- einfo ("%P%F: failed to record assignment to %s: %E\n",
+ einfo (_("%P%F: failed to record assignment to %s: %E\n"),
exp->assign.dst);
}
gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
link_info.fini_function,
rtld))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: cannot change output format whilst linking ARM binaries\n");
+ einfo (_("%F%X%P: error: cannot change output format "
+ "whilst linking ARM binaries\n"));
return;
}
}
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
+ einfo (_("%X%P: could not compute sections lists "
+ "for stub generation: %E\n"));
return;
}
& elf32_arm_add_stub_section,
& gldarm_layout_sections_again))
{
- einfo ("%X%P: cannot size stub section: %E\n");
+ einfo (_("%X%P: cannot size stub section: %E\n"));
return;
}
}
if (stub_file->the_bfd->sections != NULL)
{
if (! elf32_arm_build_stubs (& link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: Cannot change output format whilst linking ARM binaries.\n");
+ einfo (_("%F%X%P: error: Cannot change output format "
+ "whilst linking ARM binaries.\n"));
return;
}
bfd_get_target (link_info.output_bfd));
if (params.in_implib_bfd == NULL)
- einfo ("%F%s: Can't open: %E\n", in_implib_filename);
+ einfo (_("%F%s: Can't open: %E\n"), in_implib_filename);
if (!bfd_check_format (params.in_implib_bfd, bfd_object))
- einfo ("%F%s: Not a relocatable file: %E\n", in_implib_filename);
+ einfo (_("%F%s: Not a relocatable file: %E\n"), in_implib_filename);
}
bfd_elf32_arm_set_target_params (link_info.output_bfd, &link_info, ¶ms);
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
ret = elf32_avr_setup_section_lists (link_info.output_bfd, &link_info);
if (ret < 0)
- einfo ("%X%P: can not setup the input section list: %E\n");
+ einfo (_("%X%P: can not setup the input section list: %E\n"));
if (ret <= 0)
return;
/* Call into the BFD backend to do the real "stub"-work. */
if (! elf32_avr_size_stubs (link_info.output_bfd, &link_info, TRUE))
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
}
/* This is called before the input files are opened. We create a new
if (bfd_get_flavour (link_info.output_bfd) != bfd_target_elf_flavour)
{
- einfo ("%X%P: changing output format whilst linking is not supported\n");
+ einfo (_("%X%P: changing output format whilst linking "
+ "is not supported\n"));
return;
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create stub BFD %E\n");
+ einfo (_("%X%P: can not create stub BFD %E\n"));
return;
}
return;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return;
}
/* If relaxing, elf32_avr_size_stubs will be called from
elf32_avr_relax_section. */
if (!elf32_avr_size_stubs (link_info.output_bfd, &link_info, TRUE))
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
}
gld${EMULATION_NAME}_after_allocation ();
if (!avr_no_stubs)
{
if (!elf32_avr_build_stubs (&link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
set_pe_name ("__minor_subsystem_version__",
strtoul (end + 1, &end, 0));
if (*end != '\0')
- einfo ("%P: warning: bad version number in -subsystem option\n");
+ einfo (_("%P: warning: bad version number in -subsystem option\n"));
}
for (i = 0; v[i].name; i++)
return;
}
}
- einfo ("%P%F: invalid subsystem type %s\n", optarg);
+ einfo (_("%P%F: invalid subsystem type %s\n"), optarg);
}
set_pe_name (name, strtoul (optarg, &end, 0));
if (end == optarg)
{
- einfo ("%P%F: invalid hex number for PE parameter '%s'\n", optarg);
+ einfo (_("%P%F: invalid hex number for PE parameter '%s'\n"), optarg);
}
optarg = end;
}
else if (*optarg)
{
- einfo ("%P%F: strange hex info for PE parameter '%s'\n", optarg);
+ einfo (_("%P%F: strange hex info for PE parameter '%s'\n"), optarg);
}
}
if (pe.FileAlignment >
pe.SectionAlignment)
{
- einfo ("%P: warning, file alignment > section alignment.\n");
+ einfo (_("%P: warning, file alignment > section alignment.\n"));
}
}
including an internal BFD header. */
if (!coff_data(link_info.output_bfd)->pe)
{
- einfo ("%F%P: PE operations on non PE file.\n");
+ einfo (_("%F%P: PE operations on non PE file.\n"));
}
pe_data(link_info.output_bfd)->pe_opthdr = pe;
and HNT properly. if no reloc this one is import by ordinal
so we have to sort by section contents */
- if ( ((*ra)->input_section.section->reloc_count + (*rb)->input_section.section->reloc_count) )
+ if ((*ra)->input_section.section->reloc_count
+ + (*rb)->input_section.section->reloc_count)
{
- i = (((*ra)->input_section.section->reloc_count >
- (*rb)->input_section.section->reloc_count) ? -1 : 0);
- if ( i != 0)
- return i;
+ i = ((*ra)->input_section.section->reloc_count
+ > (*rb)->input_section.section->reloc_count) ? -1 : 0;
+ if (i != 0)
+ return i;
- return (((*ra)->input_section.section->reloc_count >
- (*rb)->input_section.section->reloc_count) ? 0 : 1);
+ return ((*ra)->input_section.section->reloc_count
+ > (*rb)->input_section.section->reloc_count) ? 0 : 1;
}
else
{
- if ( (strcmp( (*ra)->input_section.section->name, ".idata$6") == 0) )
- return 0; /* don't sort .idata$6 or .idata$7 FIXME dlltool eliminate .idata$7 */
-
- if (! bfd_get_section_contents ((*ra)->input_section.section->owner,
- (*ra)->input_section.section, &a_sec, (file_ptr) 0, (bfd_size_type)sizeof(a_sec)))
- einfo ("%F%B: Can't read contents of section .idata: %E\n",
- (*ra)->input_section.section->owner);
-
- if (! bfd_get_section_contents ((*rb)->input_section.section->owner,
- (*rb)->input_section.section, &b_sec, (file_ptr) 0, (bfd_size_type)sizeof(b_sec) ))
- einfo ("%F%B: Can't read contents of section .idata: %E\n",
- (*rb)->input_section.section->owner);
-
- i = ((a_sec < b_sec) ? -1 : 0);
- if ( i != 0)
- return i;
- return ((a_sec < b_sec) ? 0 : 1);
- }
-return 0;
+ /* don't sort .idata$6 or .idata$7 FIXME dlltool eliminate .idata$7 */
+ if ((strcmp ((*ra)->input_section.section->name, ".idata$6") == 0))
+ return 0;
+
+ if (!bfd_get_section_contents ((*ra)->input_section.section->owner,
+ (*ra)->input_section.section, &a_sec,
+ (file_ptr) 0,
+ (bfd_size_type) sizeof(a_sec)))
+ einfo (_("%F%B: Can't read contents of section .idata: %E\n"),
+ (*ra)->input_section.section->owner);
+
+ if (!bfd_get_section_contents ((*rb)->input_section.section->owner,
+ (*rb)->input_section.section, &b_sec,
+ (file_ptr) 0,
+ (bfd_size_type) sizeof(b_sec)))
+ einfo (_("%F%B: Can't read contents of section .idata: %E\n"),
+ (*rb)->input_section.section->owner);
+
+ i = a_sec < b_sec ? -1 : 0;
+ if (i != 0)
+ return i;
+ return a_sec < b_sec ? 0 : 1;
+ }
+ return 0;
}
static int
if (i != 0)
{
if ((CONST_STRNEQ ((*ra)->input_section.section->name, ".stab"))
- && (! CONST_STRNEQ ((*rb)->input_section.section->name, ".stab")))
- return 1;
+ && (! CONST_STRNEQ ((*rb)->input_section.section->name, ".stab")))
+ return 1;
}
return i;
}
/* Here we rummage through the found bfds to collect toc information */
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
- {
- if (!ppc_process_before_allocation(is->the_bfd, &link_info))
- {
- einfo("Errors encountered processing file %s\n", is->filename);
- }
- }
+ {
+ if (!ppc_process_before_allocation(is->the_bfd, &link_info))
+ {
+ einfo (_("Errors encountered processing file %s\n"), is->filename);
+ }
+ }
}
/* We have seen it all. Allocate it, and carry on */
option? krk@cygnus.com */
{
LANG_FOR_EACH_INPUT_STATEMENT (is)
- {
- if (!arm_process_before_allocation (is->the_bfd, & link_info))
- {
- einfo ("Errors encountered processing file %s", is->filename);
- }
- }
+ {
+ if (!arm_process_before_allocation (is->the_bfd, & link_info))
+ {
+ einfo (_("Errors encountered processing file %s"), is->filename);
+ }
+ }
}
/* We have seen it all. Allocate it, and carry on */
/* Everything from the '\$' on gets deleted so don't allow '\$' as the
first character. */
if (*secname == '\$')
- einfo ("%P%F: section %s has '\$' as first character\n", secname);
+ einfo (_("%P%F: section %s has '\$' as first character\n"), secname);
if (strchr (secname + 1, '\$') == NULL)
return NULL;
}
ps[0] = 0;
if (l == NULL)
- einfo ("%P%F: *(%s\$) missing from linker script\n", output_secname);
+ einfo (_("%P%F: *(%s\$) missing from linker script\n"), output_secname);
/* Link the input section in and we're done for now.
The sections still have to be sorted, but that has to wait until
/* Call the standard elf routine. */
gld${EMULATION_NAME}_after_open ();
- if (command_line.embedded_relocs
- && !bfd_link_relocatable (&link_info))
- {
- bfd *abfd;
+ if (command_line.embedded_relocs
+ && !bfd_link_relocatable (&link_info))
+ {
+ bfd *abfd;
/* In the embedded relocs mode we create a .emreloc section for each
input file with a nonzero .data section. The BFD backend will fill in
COFF and ELF. */
if (bfd_get_flavour (abfd) != bfd_target_coff_flavour
&& bfd_get_flavour (abfd) != bfd_target_elf_flavour)
- einfo ("%F%B: all input objects must be COFF or ELF for --embedded-relocs\n");
+ einfo (_("%F%B: all input objects must be COFF or ELF "
+ "for --embedded-relocs\n"));
datasec = bfd_get_section_by_name (abfd, ".data.rel");
|| ! bfd_set_section_alignment (abfd, relsec, 2)
|| ! bfd_set_section_size (abfd, relsec,
datasec->reloc_count * 8))
- einfo ("%F%B: can not create .emreloc section: %E\n");
+ einfo (_("%F%B: can not create .emreloc section: %E\n"));
}
/* Double check that all other data sections are empty, as is
check_sections (bfd *abfd, asection *sec, void *datasec)
{
if ((strncmp (bfd_get_section_name (abfd, sec), ".data.rel", 9) == 0)
- && sec != datasec
- && sec->reloc_count == 0 )
- einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
+ && sec != datasec
+ && sec->reloc_count == 0 )
+ einfo (_("%B%X: section %s has relocs; can not use --embedded-relocs\n"),
abfd, bfd_get_section_name (abfd, sec));
}
/* Call the default first. */
gld${EMULATION_NAME}_before_allocation ();
- if (command_line.embedded_relocs
- && (!bfd_link_relocatable (&link_info)))
- {
+ if (command_line.embedded_relocs
+ && (!bfd_link_relocatable (&link_info)))
+ {
- bfd *abfd;
+ bfd *abfd;
- /* If we are generating embedded relocs, call a special BFD backend
+ /* If we are generating embedded relocs, call a special BFD backend
routine to do the work. */
- for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
- {
+ for (abfd = link_info.input_bfds; abfd != NULL; abfd = abfd->link.next)
+ {
asection *datasec, *relsec;
char *errmsg;
ASSERT (relsec != NULL);
if (! bfd_cr16_elf32_create_embedded_relocs (abfd, &link_info,
- datasec, relsec,
- &errmsg))
- {
- if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
- abfd);
- else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
- abfd, errmsg);
- }
- }
- }
+ datasec, relsec,
+ &errmsg))
+ {
+ if (errmsg == NULL)
+ einfo (_("%B%X: can not create runtime reloc information: %E\n"),
+ abfd);
+ else
+ einfo (_("%X%B: can not create runtime reloc information: %s\n"),
+ abfd, errmsg);
+ }
+ }
+ }
/* Enable relaxation by default if the "--no-relax" option was not
specified. This is done here instead of in the before_parse hook
elf_seg_map (link_info.output_bfd) = NULL;
if (!_bfd_elf_map_sections_to_segments (link_info.output_bfd,
&link_info))
- einfo ("%F%P: map sections to segments failed: %E\n");
+ einfo (_("%F%P: map sections to segments failed: %E\n"));
if (phdr_size != elf_program_header_size (link_info.output_bfd))
{
if (bfd_stat (s->the_bfd, &st) != 0)
{
- einfo ("%P:%B: bfd_stat failed: %E\n", s->the_bfd);
+ einfo (_("%P:%B: bfd_stat failed: %E\n"), s->the_bfd);
return;
}
soname = lbasename (s->filename);
if (filename_ncmp (soname, global_needed->name, suffix - global_needed->name) == 0)
- einfo ("%P: warning: %s, needed by %B, may conflict with %s\n",
+ einfo (_("%P: warning: %s, needed by %B, may conflict with %s\n"),
global_needed->name, global_needed->by, soname);
}
struct bfd_link_needed_list *needs;
if (! bfd_elf_get_bfd_needed_list (abfd, &needs))
- einfo ("%F%P:%B: bfd_elf_get_bfd_needed_list failed: %E\n", abfd);
+ einfo (_("%F%P:%B: bfd_elf_get_bfd_needed_list failed: %E\n"), abfd);
if (needs != NULL)
{
can only check that using stat. */
if (bfd_stat (abfd, &global_stat) != 0)
- einfo ("%F%P:%B: bfd_stat failed: %E\n", abfd);
+ einfo (_("%F%P:%B: bfd_stat failed: %E\n"), abfd);
/* First strip off everything before the last '/'. */
soname = lbasename (abfd->filename);
/* Add this file into the symbol table. */
if (! bfd_link_add_symbols (abfd, &link_info))
- einfo ("%F%B: error adding symbols: %E\n", abfd);
+ einfo (_("%F%B: error adding symbols: %E\n"), abfd);
return TRUE;
}
size = id_note_section_size (ibfd);
if (size == 0)
{
- einfo ("%P: warning: unrecognized --build-id style ignored.\n");
+ einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
return FALSE;
}
return TRUE;
}
- einfo ("%P: warning: Cannot create .note.gnu.build-id section,"
- " --build-id ignored.\n");
+ einfo (_("%P: warning: Cannot create .note.gnu.build-id section,"
+ " --build-id ignored.\n"));
return FALSE;
}
if (link_info.out_implib_bfd == NULL)
{
- einfo ("%F%s: Can't open for writing: %E\n",
+ einfo (_("%F%s: Can't open for writing: %E\n"),
command_line.out_implib_filename);
}
}
else if (seen_type != type)
{
einfo (_("%P%F: compact frame descriptions incompatible with"
- " DWARF2 .eh_frame from %B\n"),
+ " DWARF2 .eh_frame from %B\n"),
type == DWARF2_EH_HDR ? abfd : elfbfd);
break;
}
}
}
if (warn_eh_frame)
- einfo ("%P: warning: Cannot create .eh_frame_hdr section,"
- " --eh-frame-hdr ignored.\n");
+ einfo (_("%P: warning: Cannot create .eh_frame_hdr section,"
+ " --eh-frame-hdr ignored.\n"));
}
/* Get the list of files which appear in DT_NEEDED entries in
if (force < 2)
continue;
- einfo ("%P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link)\n",
+ einfo (_("%P: warning: %s, needed by %B, not found "
+ "(try using -rpath or -rpath-link)\n"),
l->name, l->by);
}
&link_info,
exp->assign.dst, provide,
exp->assign.hidden))
- einfo ("%P%F: failed to record assignment to %s: %E\n",
+ einfo (_("%P%F: failed to record assignment to %s: %E\n"),
exp->assign.dst);
}
gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
command_line.filter_shlib, audit, depaudit,
(const char * const *) command_line.auxiliary_filters,
&link_info, &sinterp)))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
${ELF_INTERPRETER_SET_DEFAULT}
/* Let the user override the dynamic linker we are using. */
msg = (char *) xmalloc ((size_t) (sz + 1));
if (! bfd_get_section_contents (is->the_bfd, s, msg,
(file_ptr) 0, sz))
- einfo ("%F%B: Can't read contents of section .gnu.warning: %E\n",
+ einfo (_("%F%B: Can't read contents of section .gnu.warning: %E\n"),
is->the_bfd);
msg[sz] = '\0';
(*link_info.callbacks->warning) (&link_info, msg,
before_allocation_default ();
if (!bfd_elf_size_dynsym_hash_dynstr (link_info.output_bfd, &link_info))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
if (ehdr_start != NULL)
{
int need_layout = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (need_layout < 0)
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
else
gld${EMULATION_NAME}_map_segments (need_layout);
}
{
if (bfd_link_relocatable (&link_info)
&& !_bfd_elf_size_group_sections (&link_info))
- einfo ("%X%P: can not size group sections: %E\n");
+ einfo (_("%X%P: can not size group sections: %E\n"));
before_allocation_default ();
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
&hppaelf_add_stub_section,
&hppaelf_layout_sections_again))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
}
/* Set the global data pointer. */
if (! elf32_hppa_set_gp (link_info.output_bfd, &link_info))
{
- einfo ("%X%P: can not set gp\n");
+ einfo (_("%X%P: can not set gp\n"));
return;
}
if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
{
if (! elf32_hppa_build_stubs (&link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
}
dynamic linking. */
if (! bfd_${EMULATION_NAME}_size_dynamic_sections (link_info.output_bfd,
&link_info))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
before_allocation_default ();
}
{
name = getenv("G960BASE");
if (name == (char *) NULL)
- einfo ("%P%F I960BASE and G960BASE not set\n");
+ einfo (_("%P%F I960BASE and G960BASE not set\n"));
}
ldfile_add_library_path (concat (name, "/lib", (const char *) NULL), FALSE);
{
if (ret < 0)
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
&link_info,
&m68hc11elf_add_stub_section))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
}
{
if (bfd_get_flavour (link_info.output_bfd) != bfd_target_elf_flavour)
{
- einfo ("%X%P: changing output format whilst linking is not supported\n");
+ einfo (_("%X%P: changing output format whilst linking "
+ "is not supported\n"));
return;
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
stub_file->the_bfd,
&link_info, 0))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
if (!elf32_m68hc11_build_stubs (link_info.output_bfd, &link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
/* As first-order business, make sure that each input BFD is COFF. It
better be, as we are directly calling a COFF backend function. */
if (bfd_get_flavour (abfd) != bfd_target_coff_flavour)
- einfo ("%F%B: all input objects must be COFF for --embedded-relocs\n");
+ einfo (_("%F%B: all input objects must be COFF "
+ "for --embedded-relocs\n"));
datasec = bfd_get_section_by_name (abfd, ".data");
|| ! bfd_set_section_alignment (abfd, relsec, 2)
|| ! bfd_set_section_size (abfd, relsec,
datasec->reloc_count * 12))
- einfo ("%F%B: can not create .emreloc section: %E\n");
+ einfo (_("%F%B: can not create .emreloc section: %E\n"));
}
/* Double check that all other data sections are empty, as is
if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
&& sec != datasec
&& sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
+ einfo (_("%B%X: section %s has relocs; can not use --embedded-relocs\n"),
abfd, bfd_get_section_name (abfd, sec));
}
&errmsg))
{
if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
+ einfo (_("%B%X: can not create runtime reloc information: %E\n"),
abfd);
else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
+ einfo (_("%X%B: can not create runtime reloc information: %s\n"),
abfd, errmsg);
}
}
COFF and ELF. */
if (bfd_get_flavour (abfd) != bfd_target_coff_flavour
&& bfd_get_flavour (abfd) != bfd_target_elf_flavour)
- einfo ("%F%B: all input objects must be COFF or ELF for --embedded-relocs\n");
+ einfo (_("%F%B: all input objects must be COFF or ELF "
+ "for --embedded-relocs\n"));
datasec = bfd_get_section_by_name (abfd, ".data");
|| ! bfd_set_section_alignment (abfd, relsec, 2)
|| ! bfd_set_section_size (abfd, relsec,
datasec->reloc_count * 12))
- einfo ("%F%B: can not create .emreloc section: %E\n");
+ einfo (_("%F%B: can not create .emreloc section: %E\n"));
}
/* Double check that all other data sections are empty, as is
if ((bfd_get_section_flags (abfd, sec) & SEC_DATA)
&& sec != datasec
&& sec->reloc_count != 0)
- einfo ("%B%X: section %s has relocs; can not use --embedded-relocs\n",
+ einfo (_("%B%X: section %s has relocs; can not use --embedded-relocs\n"),
abfd, bfd_get_section_name (abfd, sec));
}
&errmsg))
{
if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
+ einfo (_("%B%X: can not create "
+ "runtime reloc information: %E\n"),
abfd);
else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
+ einfo (_("%X%B: can not create "
+ "runtime reloc information: %s\n"),
abfd, errmsg);
}
}
&errmsg))
{
if (errmsg == NULL)
- einfo ("%B%X: can not create runtime reloc information: %E\n",
+ einfo (_("%B%X: can not create "
+ "runtime reloc information: %E\n"),
abfd);
else
- einfo ("%X%B: can not create runtime reloc information: %s\n",
+ einfo (_("%X%B: can not create "
+ "runtime reloc information: %s\n"),
abfd, errmsg);
}
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
&metagelf_add_stub_section,
&metagelf_layout_sections_again))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
}
if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
{
if (! elf_metag_build_stubs (&link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
}
MIPS ABI requires a mapping between the GOT and the symbol table. */
if (link_info.emit_gnu_hash)
{
- einfo ("%X%P: .gnu.hash is incompatible with the MIPS ABI\n");
+ einfo (_("%X%P: .gnu.hash is incompatible with the MIPS ABI\n"));
link_info.emit_hash = TRUE;
link_info.emit_gnu_hash = FALSE;
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%F%P: can not create BFD %E\n");
+ einfo (_("%F%P: can not create BFD %E\n"));
return NULL;
}
stub_bfd->flags |= BFD_LINKER_CREATED;
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ENABLE_RELAXATION;
if (!_bfd_mmix_before_linker_allocation (link_info.output_bfd, &link_info))
- einfo ("%X%P: Internal problems setting up section %s",
+ einfo (_("%X%P: Internal problems setting up section %s"),
MMIX_LD_ALLOCATED_REG_CONTENTS_SECTION_NAME);
}
as an undefined symbol. */
if (regvma < 32 * 8)
{
- einfo ("%X%P: Too many global registers: %u, max 223\n",
+ einfo (_("%X%P: Too many global registers: %u, max 223\n"),
(unsigned) sec->size / 8);
regvma = 32 * 8;
}
if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
{
/* This is a fatal error; make einfo call not return. */
- einfo ("%F%P: Can't finalize linker-allocated global registers\n");
+ einfo (_("%F%P: Can't finalize linker-allocated global registers\n"));
}
}
EOF
{
if (bfd_get_flavour (is->the_bfd) == bfd_target_elf_flavour
&& !_bfd_mmix_check_all_relocs (is->the_bfd, &link_info))
- einfo ("%X%P: Internal problems scanning %B after opening it",
+ einfo (_("%X%P: Internal problems scanning %B after opening it"),
is->the_bfd);
}
}
size = BYTE_SIZE;
break;
default:
- einfo ("%P: error: unhandled data_statement size\n");
+ einfo (_("%P: error: unhandled data_statement size\n"));
FAIL ();
}
return size;
if (lower == NULL && upper == NULL)
{
- einfo ("%P: error: no section named %s or %s in linker script\n",
+ einfo (_("%P: error: no section named %s or %s in linker script\n"),
lower_name, upper_name);
goto end;
}
lower = lang_output_section_find (name);
if (lower == NULL)
{
- einfo ("%P: error: no section named %s in linker script\n", name);
+ einfo (_("%P: error: no section named %s in linker script\n"), name);
goto end;
}
}
move_prefixed_section (s, new_input_sec_name, upper);
}
else
- einfo ("%P: error: no section named %s in linker script\n",
+ einfo (_("%P: error: no section named %s in linker script\n"),
new_output_sec_name);
break;
case REGION_LOWER:
move_prefixed_section (s, new_input_sec_name, lower);
}
else
- einfo ("%P: error: no section named %s in linker script\n",
+ einfo (_("%P: error: no section named %s in linker script\n"),
new_output_sec_name);
break;
case REGION_EITHER:
if (strstr (bfd_get_target (link_info.output_bfd), "nds32") == NULL)
{
/* Check the output target is nds32. */
- einfo ("%F%X%P: error: Cannot change output format whilst "
- "linking NDS32 binaries.\n");
+ einfo (_("%F%X%P: error: Cannot change output format whilst "
+ "linking NDS32 binaries.\n"));
return;
}
'
PARSE_AND_LIST_ARGS_CASES='
case OPTION_BASELINE:
- einfo ("%P: --mbaseline is not used anymore.\n");
+ einfo (_("%P: --mbaseline is not used anymore.\n"));
break;
case OPTION_ELIM_GC_RELOCS:
eliminate_gc_relocs = 1;
break;
case OPTION_REDUCE_FP_UPDATE:
case OPTION_NO_REDUCE_FP_UPDATE:
- einfo ("%P: --relax-[no-]reduce-fp-updat is not used anymore.\n");
+ einfo (_("%P: --relax-[no-]reduce-fp-updat is not used anymore.\n"));
break;
case OPTION_EXPORT_SYMBOLS:
if (!optarg)
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%X%P: can not create BFD %E\n"));
return;
}
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
{
if (ret < 0)
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
&nios2elf_add_stub_section,
&nios2elf_layout_sections_again))
{
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
return;
}
}
if (stub_file != NULL && stub_file->the_bfd->sections != NULL)
{
if (! nios2_elf32_build_stubs (&link_info))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
}
}
}
if (!validate_build_id_style (emit_build_id))
{
- einfo ("%P: warning: unrecognized --build-id style ignored.\n");
+ einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
return FALSE;
}
return TRUE;
}
- einfo ("%P: warning: Cannot create .buildid section,"
- " --build-id ignored.\n");
+ einfo (_("%P: warning: Cannot create .buildid section,"
+ " --build-id ignored.\n"));
return FALSE;
}
These will only be created if the output format is an arm format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: cannot change output format whilst linking ARM binaries\n");
+ einfo (_("%F%X%P: error: cannot change output format "
+ "whilst linking ARM binaries\n"));
return;
}
{
if (nrelocs < 0)
{
free (relocs);
- einfo ("%X%P: unable to process relocs: %E\n");
+ einfo (_("%X%P: unable to process relocs: %E\n"));
return;
}
if (!validate_build_id_style (emit_build_id))
{
- einfo ("%P: warning: unrecognized --build-id style ignored.\n");
+ einfo (_("%P: warning: unrecognized --build-id style ignored.\n"));
return FALSE;
}
return TRUE;
}
- einfo ("%P: warning: Cannot create .buildid section,"
- " --build-id ignored.\n");
+ einfo (_("%P: warning: Cannot create .buildid section,"
+ " --build-id ignored.\n"));
return FALSE;
}
if (nrelocs < 0)
{
free (relocs);
- einfo ("%X%P: unable to process relocs: %E\n");
+ einfo (_("%X%P: unable to process relocs: %E\n"));
return;
}
new_plt = ppc_elf_select_plt_layout (link_info.output_bfd, &link_info);
if (new_plt < 0)
- einfo ("%X%P: select_plt_layout problem %E\n");
+ einfo (_("%X%P: select_plt_layout problem %E\n"));
num_got = 0;
num_plt = 0;
{
if (!ppc_elf_tls_optimize (link_info.output_bfd, &link_info))
{
- einfo ("%X%P: TLS problem %E\n");
+ einfo (_("%X%P: TLS problem %E\n"));
return;
}
}
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%F%P: can not create BFD: %E\n");
+ einfo (_("%F%P: can not create BFD: %E\n"));
return;
}
if (params.save_restore_funcs < 0)
params.save_restore_funcs = !bfd_link_relocatable (&link_info);
if (!ppc64_elf_init_stub_bfd (&link_info, ¶ms))
- einfo ("%F%P: can not init BFD: %E\n");
+ einfo (_("%F%P: can not init BFD: %E\n"));
}
/* Called after opening files but before mapping sections. */
{
if (!no_opd_opt
&& !ppc64_elf_edit_opd (&link_info))
- einfo ("%X%P: can not edit %s: %E\n", "opd");
+ einfo (_("%X%P: can not edit %s: %E\n"), "opd");
if (ppc64_elf_tls_setup (&link_info)
&& !no_tls_opt)
prelim_size_sections ();
if (!ppc64_elf_tls_optimize (&link_info))
- einfo ("%X%P: TLS problem %E\n");
+ einfo (_("%X%P: TLS problem %E\n"));
}
if (!no_toc_opt
prelim_size_sections ();
if (!ppc64_elf_edit_toc (&link_info))
- einfo ("%X%P: can not edit %s: %E\n", "toc");
+ einfo (_("%X%P: can not edit %s: %E\n"), "toc");
}
if (!no_toc_sort)
return stub_sec;
err_ret:
- einfo ("%X%P: can not make stub section: %E\n");
+ einfo (_("%X%P: can not make stub section: %E\n"));
return NULL;
}
&& i->output_section == toc_section)
{
if (!ppc64_elf_next_toc_section (&link_info, i))
- einfo ("%X%P: linker script separates .got and .toc\n");
+ einfo (_("%X%P: linker script separates .got and .toc\n"));
}
}
}
&& i->output_section->owner == link_info.output_bfd)
{
if (!ppc64_elf_next_input_section (&link_info, i))
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
}
}
}
{
ret = ppc64_elf_setup_section_lists (&link_info);
if (ret < 0)
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
else
{
ppc64_elf_start_multitoc_partition (&link_info);
lang_for_each_statement (build_section_lists);
if (!ppc64_elf_check_init_fini (&link_info))
- einfo ("%P: .init/.fini fragments use differing TOC pointers\n");
+ einfo (_("%P: .init/.fini fragments use differing TOC pointers\n"));
/* Call into the BFD backend to do the real work. */
if (!ppc64_elf_size_stubs (&link_info))
- einfo ("%X%P: can not size stub section: %E\n");
+ einfo (_("%X%P: can not size stub section: %E\n"));
}
}
ret = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
if (stub_file != NULL
&& !bfd_link_relocatable (&link_info)
&& !ppc64_elf_build_stubs (&link_info, config.stats ? &msg : NULL))
- einfo ("%X%P: can not build stubs: %E\n");
+ einfo (_("%X%P: can not build stubs: %E\n"));
fflush (stdout);
for (line = msg; line != NULL; line = endline)
need_layout = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (need_layout < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
}
s390_elf_create_output_section_statements (void)
{
if (!bfd_elf_s390_set_options (&link_info, ¶ms))
- einfo ("%F%P: can not init BFD: %E\n");
+ einfo (_("%F%P: can not init BFD: %E\n"));
}
EOF
These will only be created if the output format is an score format,
hence we do not support linking and changing output formats at the
same time. Use a link followed by objcopy to change output formats. */
- einfo ("%F%X%P: error: cannot change output format whilst linking S+core binaries\n");
+ einfo (_("%F%X%P: error: cannot change output format "
+ "whilst linking S+core binaries\n"));
return;
}
if (!bfd_link_relocatable (&link_info)
&& link_info.input_bfds != NULL
&& !spu_elf_create_sections (&link_info))
- einfo ("%X%P: can not create note section: %E\n");
+ einfo (_("%X%P: can not create note section: %E\n"));
}
gld${EMULATION_NAME}_after_open ();
/* User supplied __ovly_load. */
}
else if (mgr_stream->start == mgr_stream->end)
- einfo ("%F%P: no built-in overlay manager\n");
+ einfo (_("%F%P: no built-in overlay manager\n"));
else
{
lang_input_statement_type *ovl_is;
NULL);
if (!spu_elf_open_builtin_lib (&ovl_is->the_bfd, mgr_stream))
- einfo ("%X%P: can not open built-in overlay manager: %E\n");
+ einfo (_("%X%P: can not open built-in overlay manager: %E\n"));
else
{
asection *in;
if (!load_symbols (ovl_is, NULL))
- einfo ("%X%P: can not load built-in overlay manager: %E\n");
+ einfo (_("%X%P: can not load built-in overlay manager: %E\n"));
/* Map overlay manager sections to output sections.
First try for a matching output section name, if that
/* Find overlays by inspecting section vmas. */
ret = spu_elf_find_overlays (&link_info);
if (ret == 0)
- einfo ("%X%P: can not find overlays: %E\n");
+ einfo (_("%X%P: can not find overlays: %E\n"));
else if (ret == 2)
{
lang_output_section_statement_type *os;
if (params.auto_overlay != 0)
{
- einfo ("%P: --auto-overlay ignored with user overlay script\n");
+ einfo (_("%P: --auto-overlay ignored with user overlay script\n"));
params.auto_overlay = 0;
}
ret = spu_elf_size_stubs (&link_info);
if (ret == 0)
- einfo ("%X%P: can not size overlay stubs: %E\n");
+ einfo (_("%X%P: can not size overlay stubs: %E\n"));
else if (ret == 2)
spu_elf_load_ovl_mgr ();
if (script == NULL)
{
file_err:
- einfo ("%F%P: can not open script: %E\n");
+ einfo (_("%F%P: can not open script: %E\n"));
}
return script;
}
s = spu_elf_check_vma (&link_info);
if (s != NULL && !params.auto_overlay)
- einfo ("%X%P: %A exceeds local store range\n", s);
+ einfo (_("%X%P: %A exceeds local store range\n"), s);
}
else if (params.auto_overlay)
- einfo ("%P: --auto-overlay ignored with zero local store range\n");
+ einfo (_("%P: --auto-overlay ignored with zero local store range\n"));
}
finish_default ();
{
/* We've found the needed dynamic object. */
if (! bfd_link_add_symbols (abfd, &link_info))
- einfo ("%F%B: error adding symbols: %E\n", abfd);
+ einfo (_("%F%B: error adding symbols: %E\n"), abfd);
}
else
{
- einfo ("%P: warning: %s, needed by %B, not found\n",
+ einfo (_("%P: warning: %s, needed by %B, not found\n"),
lname, l->by);
}
continue;
}
- einfo ("%P: warning: %s, needed by %B, not found\n",
+ einfo (_("%P: warning: %s, needed by %B, not found\n"),
l->name, l->by);
}
}
/* Add this file into the symbol table. */
if (! bfd_link_add_symbols (abfd, &link_info))
- einfo ("%F%B: error adding symbols: %E\n", abfd);
+ einfo (_("%F%B: error adding symbols: %E\n"), abfd);
return TRUE;
}
hdyn = bfd_link_hash_lookup (link_info.hash, "__DYNAMIC", TRUE, FALSE,
FALSE);
if (hdyn == NULL)
- einfo ("%P%F: bfd_link_hash_lookup: %E\n");
+ einfo (_("%P%F: bfd_link_hash_lookup: %E\n"));
if (! bfd_sunos_record_link_assignment (link_info.output_bfd, &link_info,
"__DYNAMIC"))
- einfo ("%P%F: failed to record assignment to __DYNAMIC: %E\n");
+ einfo (_("%P%F: failed to record assignment to __DYNAMIC: %E\n"));
}
/* If we are going to make any variable assignments, we need to let
required by dynamic linking. */
if (! bfd_sunos_size_dynamic_sections (link_info.output_bfd, &link_info,
&sdyn, &sneed, &srules))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
if (sneed != NULL)
{
if (! bfd_sunos_record_link_assignment (link_info.output_bfd,
&link_info,
exp->assign.dst))
- einfo ("%P%F: failed to record assignment to %s: %E\n",
+ einfo (_("%P%F: failed to record assignment to %s: %E\n"),
exp->assign.dst);
}
gld${EMULATION_NAME}_find_exp_assignment (exp->assign.src);
ret = bfd_elf_discard_info (link_info.output_bfd, & link_info);
if (ret < 0)
{
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
return;
}
else if (ret > 0)
&& !bfd_link_relocatable (&link_info)
&& link_info.input_bfds != NULL
&& ! v850_elf_create_sections (& link_info))
- einfo ("%X%P: can not create note section: %E\n");
+ einfo (_("%X%P: can not create note section: %E\n"));
gld${EMULATION_NAME}_after_open ();
}
&& bed->elf_backend_size_dynamic_sections
&& ! (*bed->elf_backend_size_dynamic_sections) (link_info.output_bfd,
&link_info))
- einfo ("%P%F: failed to set dynamic section sizes: %E\n");
+ einfo (_("%P%F: failed to set dynamic section sizes: %E\n"));
before_allocation_default ();
}
int need_layout = bfd_elf_discard_info (link_info.output_bfd, &link_info);
if (need_layout < 0)
- einfo ("%X%P: .eh_frame/.stab edit: %E\n");
+ einfo (_("%X%P: .eh_frame/.stab edit: %E\n"));
else
gld${EMULATION_NAME}_map_segments (need_layout);
}
&& bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour
&& !_bfd_elf_link_create_dynamic_sections (link_info.input_bfds,
&link_info))
- einfo ("%X%P: Cannot create dynamic sections %E\n");
+ einfo (_("%X%P: Cannot create dynamic sections %E\n"));
if (!force_dynamic
&& !bfd_link_pic (&link_info)
&& bfd_get_flavour (link_info.output_bfd) == bfd_target_elf_flavour
&& elf_hash_table (&link_info)->dynamic_sections_created)
- einfo ("%X%P: Dynamic sections created in non-dynamic link\n");
+ einfo (_("%X%P: Dynamic sections created in non-dynamic link\n"));
}
EOF
hl = bfd_link_hash_lookup (link_info.hash, h->root.string, FALSE,
FALSE, TRUE);
if (hl == NULL)
- einfo ("%P: symbol `%T' missing from main hash table\n",
+ einfo (_("%P: symbol `%T' missing from main hash table\n"),
h->root.string);
else
{
int constraint = 0;
if (config.orphan_handling == orphan_handling_error)
- einfo ("%X%P: error: unplaced orphan section `%A' from `%B'.\n",
+ einfo (_("%X%P: error: unplaced orphan section `%A' from `%B'.\n"),
s, s->owner);
if (config.unique_orphan_sections || unique_section_p (s, NULL))
}
if (config.orphan_handling == orphan_handling_warn)
- einfo ("%P: warning: orphan section `%A' from `%B' being "
- "placed in section `%s'.\n",
+ einfo (_("%P: warning: orphan section `%A' from `%B' being "
+ "placed in section `%s'.\n"),
s, s->owner, os->name);
}
}
{
if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
{
- einfo ("%F:includes nested too deeply\n");
+ einfo (_("%F:includes nested too deeply\n"));
}
file_name_stack[include_stack_ptr] = name;
lineno_stack[include_stack_ptr] = lineno;
yy_init = 0;
if (include_stack_ptr >= MAX_INCLUDE_DEPTH)
{
- einfo("%F: macros nested too deeply\n");
+ einfo (_("%F: macros nested too deeply\n"));
}
file_name_stack[include_stack_ptr] = fake_filename;
lineno_stack[include_stack_ptr] = lineno;
{
result = fread (buf, 1, max_size, yyin);
if (result < max_size && ferror (yyin))
- einfo ("%F%P: read in flex scanner failed\n");
+ einfo (_("%F%P: read in flex scanner failed\n"));
}
}
return result;
int c;
while (1)
- {
- c = input();
- while (c != '*' && c != EOF)
{
- if (c == '\n')
- lineno++;
c = input();
- }
+ while (c != '*' && c != EOF)
+ {
+ if (c == '\n')
+ lineno++;
+ c = input();
+ }
- if (c == '*')
- {
- c = input();
- while (c == '*')
- c = input();
- if (c == '/')
- break; /* found the end */
- }
+ if (c == '*')
+ {
+ c = input();
+ while (c == '*')
+ c = input();
+ if (c == '/')
+ break; /* found the end */
+ }
- if (c == '\n')
- lineno++;
+ if (c == '\n')
+ lineno++;
- if (c == EOF)
- {
- einfo( "%F%P: EOF in comment\n");
- break;
+ if (c == EOF)
+ {
+ einfo (_("%F%P: EOF in comment\n"));
+ break;
+ }
}
- }
}
/* Warn the user about a garbage character WHAT in the input
if (ldfile_assumed_script)
{
bfd_set_error (bfd_error_file_not_recognized);
- einfo ("%F%s: file not recognized: %E\n", ldlex_filename ());
+ einfo (_("%F%s: file not recognized: %E\n"), ldlex_filename ());
}
if (! ISPRINT (*what))
what = buf;
}
- einfo ("%P:%S: ignoring invalid character `%s'%s\n", NULL, what, where);
+ einfo (_("%P:%S: ignoring invalid character `%s'%s\n"), NULL, what, where);
}
&& bfd_hash_lookup (info->notice_hash, name, FALSE, FALSE) != NULL)
{
if (bfd_is_und_section (section))
- einfo ("%B: reference to %s\n", abfd, name);
+ einfo (_("%B: reference to %s\n"), abfd, name);
else
- einfo ("%B: definition of %s\n", abfd, name);
+ einfo (_("%B: definition of %s\n"), abfd, name);
}
if (command_line.cref || nocrossref_list != NULL)
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD: %E\n");
+ einfo (_("%X%P: can not create BFD: %E\n"));
return;
}
| SEC_KEEP
| SEC_IN_MEMORY)))
{
- einfo ("%X%P: can not create .edata section: %E\n");
+ einfo (_("%X%P: can not create .edata section: %E\n"));
return;
}
bfd_set_section_size (filler_bfd, edata_s, edata_sz);
| SEC_KEEP
| SEC_IN_MEMORY)))
{
- einfo ("%X%P: can not create .reloc section: %E\n");
+ einfo (_("%X%P: can not create .reloc section: %E\n"));
return;
}
if (s->output_section->vma == 0)
{
/* Huh? Shouldn't happen, but punt if it does. */
- einfo ("DJ: zero vma section reloc detected: `%s' #%d f=%d\n",
+ einfo (_("zero vma section reloc detected: `%s' #%d f=%d\n"),
s->output_section->name, s->output_section->index,
s->output_section->flags);
continue;
ldlang_add_file (fake_file);
if (!bfd_link_add_symbols (abfd, linfo))
- einfo ("%P%X: addsym %s: %E\n", name);
+ einfo (_("%P%X: add symbols %s: %E\n"), name);
}
void
dll = bfd_openr (filename, pe_details->target_name);
if (!dll)
{
- einfo ("%P%X: open %s: %E\n", filename);
+ einfo (_("%P%X: open %s: %E\n"), filename);
return FALSE;
}
/* PEI dlls seem to be bfd_objects. */
if (!bfd_check_format (dll, bfd_object))
{
- einfo ("%P%X: %s: this doesn't appear to be a DLL\n", filename);
+ einfo (_("%P%X: %s: this doesn't appear to be a DLL\n"), filename);
return FALSE;
}
&& blhe->type != bfd_link_hash_common)
{
/* We should not have a new, indirect or warning symbol here. */
- einfo ("%P%F: %s: plugin symbol table corrupt (sym type %d)\n",
+ einfo (_("%P%F: %s: plugin symbol table corrupt (sym type %d)\n"),
called_plugin->name, blhe->type);
}