RISC-V: Added ld testcases for the medlow and medany code models.
[binutils-gdb.git] / ld / emultempl / nios2elf.em
index 0fdbc95350e051c3dcfa868400775031dcbcd7c9..d0d5cc02a006f7f65cf26a912820a105a675a985 100644 (file)
@@ -1,5 +1,5 @@
 # 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.
 #
@@ -19,7 +19,7 @@
 # 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
@@ -64,7 +64,7 @@ nios2elf_create_output_section_statements (void)
                              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;
     }
 
@@ -81,12 +81,12 @@ struct hook_stub_info
 
 /* 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)
     {
@@ -133,7 +133,7 @@ hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp,
                  *lp = info->add.head;
                  *(info->add.tail) = l;
                }
-             return TRUE;
+             return true;
            }
          break;
 
@@ -154,7 +154,7 @@ hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp,
          break;
        }
     }
-  return FALSE;
+  return false;
 }
 
 /* Call-back for elf32_nios2_size_stubs.  */
@@ -164,7 +164,7 @@ hook_in_stub (struct hook_stub_info *info, lang_statement_union_type **lp,
 
 static asection *
 nios2elf_add_stub_section (const char *stub_sec_name, asection *input_section,
-                          bfd_boolean afterp)
+                          bool afterp)
 {
   asection *stub_sec;
   flagword flags;
@@ -181,12 +181,12 @@ nios2elf_add_stub_section (const char *stub_sec_name, asection *input_section,
     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;
@@ -195,7 +195,7 @@ nios2elf_add_stub_section (const char *stub_sec_name, asection *input_section,
     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;
 }
 
@@ -208,7 +208,7 @@ nios2elf_layout_sections_again (void)
   /* 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;
 }
 
@@ -245,7 +245,7 @@ gld${EMULATION_NAME}_after_allocation (void)
   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)
@@ -262,7 +262,7 @@ gld${EMULATION_NAME}_after_allocation (void)
        {
          if (ret < 0)
            {
-             einfo ("%X%P: can not size stub section: %E\n");
+             einfo (_("%X%P: can not size stub section: %E\n"));
              return;
            }
 
@@ -275,14 +275,14 @@ gld${EMULATION_NAME}_after_allocation (void)
                                        &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)
     {
@@ -290,32 +290,11 @@ gld${EMULATION_NAME}_after_allocation (void)
       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