]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - ld/emultempl/cr16elf.em
Update year range in copyright notice of binutils files
[thirdparty/binutils-gdb.git] / ld / emultempl / cr16elf.em
index 9c07b35f1b52481d3397277f39f21c82316adb42..5bbc170364c7b2d7a5d3a03e1079e93171b4ad92 100644 (file)
@@ -1,5 +1,5 @@
 # This shell script emits a C file. -*- C -*-
-# Copyright (C) 2007-2015 Free Software Foundation, Inc.
+# Copyright (C) 2007-2020 Free Software Foundation, Inc.
 # Contributed by M R Swami Reddy <MR.Swami.Reddy@nsc.com>
 #
 # This file is part of the GNU Binutils.
 # MA 02110-1301, USA.
 #
 
-# This file is sourced from elf32.em, and defines extra cr16-elf
+# This file is sourced from elf.em, and defines extra cr16-elf
 # specific routines.
 #
 fragment <<EOF
 
 #include "ldctor.h"
+#include "elf32-cr16.h"
 
 static void check_sections (bfd *, asection *, void *);
 
@@ -38,10 +39,10 @@ cr16_elf_after_open (void)
   /* Call the standard elf routine.  */
   gld${EMULATION_NAME}_after_open ();
 
-   if (command_line.embedded_relocs
-       && (! link_info.relocatable))
-     {
-       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
@@ -57,7 +58,8 @@ cr16_elf_after_open (void)
             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%P: %pB: all input objects must be COFF or ELF "
+                    "for --embedded-relocs\n"));
 
          datasec = bfd_get_section_by_name (abfd, ".data.rel");
 
@@ -74,15 +76,13 @@ cr16_elf_after_open (void)
 
              relsec = bfd_make_section (abfd, ".emreloc");
              if (relsec == NULL
-                 || ! bfd_set_section_flags (abfd, relsec,
-                                             (SEC_ALLOC
-                                              | SEC_LOAD
-                                              | SEC_HAS_CONTENTS
-                                              | SEC_IN_MEMORY))
-                 || ! 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");
+                 || !bfd_set_section_flags (relsec, (SEC_ALLOC
+                                                     | SEC_LOAD
+                                                     | SEC_HAS_CONTENTS
+                                                     | SEC_IN_MEMORY))
+                 || !bfd_set_section_alignment (relsec, 2)
+                 || !bfd_set_section_size (relsec, datasec->reloc_count * 8))
+               einfo (_("%F%P: %pB: can not create .emreloc section: %E\n"));
            }
 
          /* Double check that all other data sections are empty, as is
@@ -98,11 +98,11 @@ cr16_elf_after_open (void)
 static void
 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",
-          abfd, bfd_get_section_name (abfd, sec));
+  if ((strncmp (bfd_section_name (sec), ".data.rel", 9) == 0)
+      && sec != datasec
+      && sec->reloc_count == 0 )
+    einfo (_("%X%P: %pB: section %s has relocs; can not use --embedded-relocs\n"),
+          abfd, bfd_section_name (sec));
 }
 
 static void
@@ -119,7 +119,7 @@ cr16elf_after_parse (void)
      is true the link sometimes fails.  */
   config.magic_demand_paged = FALSE;
 
-  after_parse_default ();
+  ldelf_after_parse ();
 }
 
 /* This is called after the sections have been attached to output
@@ -131,16 +131,16 @@ cr16elf_before_allocation (void)
   /* Call the default first.  */
   gld${EMULATION_NAME}_before_allocation ();
 
-   if (command_line.embedded_relocs
-       && (! link_info.relocatable))
-     {
+  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;
 
@@ -153,18 +153,18 @@ cr16elf_before_allocation (void)
          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 (_("%X%P: %pB: can not create runtime reloc information: %E\n"),
+                      abfd);
+             else
+               einfo (_("%X%P: %pB: 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