# This shell script emits a C file. -*- C -*-
-# Copyright (C) 2013-2017 Free Software Foundation, Inc.
+# Copyright (C) 2013-2021 Free Software Foundation, Inc.
#
# This file is part of GNU Binutils.
#
# MA 02110-1301, USA.
#
-# This file is sourced from elf32.em, and defines extra Nios II ELF
+# This file is sourced from elf.em, and defines extra Nios II ELF
# specific routines. Taken from metagelf.em.
#
fragment <<EOF
bfd_get_arch (link_info.output_bfd),
bfd_get_mach (link_info.output_bfd)))
{
- einfo ("%X%P: can not create BFD %E\n");
+ einfo (_("%F%P: can not create BFD: %E\n"));
return;
}
/* Traverse the linker tree to find the spot where the stub goes. */
-static bfd_boolean
+static bool
hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp,
- bfd_boolean afterp)
+ bool afterp)
{
lang_statement_union_type *l;
- bfd_boolean ret;
+ bool ret;
for (; (l = *lp) != NULL; lp = &l->header.next)
{
*lp = info->add.head;
*(info->add.tail) = l;
}
- return TRUE;
+ return true;
}
break;
break;
}
}
- return FALSE;
+ return false;
}
/* Call-back for elf32_nios2_size_stubs. */
static asection *
nios2elf_add_stub_section (const char *stub_sec_name, asection *input_section,
- bfd_boolean afterp)
+ bool afterp)
{
asection *stub_sec;
flagword flags;
goto err_ret;
output_section = input_section->output_section;
- secname = bfd_get_section_name (output_section->owner, output_section);
+ secname = bfd_section_name (output_section);
os = lang_output_section_find (secname);
info.input_section = input_section;
lang_list_init (&info.add);
- lang_add_section (&info.add, stub_sec, NULL, os);
+ lang_add_section (&info.add, stub_sec, NULL, NULL, os);
if (info.add.head == NULL)
goto err_ret;
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;
}
/* If we have changed sizes of the stub sections, then we need
to recalculate all the section offsets. This may mean we need to
add even more stubs. */
- gld${EMULATION_NAME}_map_segments (TRUE);
+ ldelf_map_segments (true);
need_laying_out = -1;
}
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 (need_laying_out != -1)
- gld${EMULATION_NAME}_map_segments (need_laying_out);
+ ldelf_map_segments (need_laying_out);
if (!bfd_link_relocatable (&link_info) && RELAXATION_ENABLED)
{
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"));
}
}
}
-
-/* Avoid processing the fake stub_file in vercheck, stat_needed and
- check_needed routines. */
-
-static void (*real_func) (lang_input_statement_type *);
-
-static void nios2_for_each_input_file_wrapper (lang_input_statement_type *l)
-{
- if (l != stub_file)
- (*real_func) (l);
-}
-
-static void
-nios2_lang_for_each_input_file (void (*func) (lang_input_statement_type *))
-{
- real_func = func;
- lang_for_each_input_file (&nios2_for_each_input_file_wrapper);
-}
-
-#define lang_for_each_input_file nios2_lang_for_each_input_file
-
EOF