elf: Strip zero-sized dynamic sections
[deliverable/binutils-gdb.git] / bfd / elf64-gen.c
index 2077fe53335c5b8da1a9f655331f6e26a97abefb..a437f946547e288703360d87589c42a960c8cf9e 100644 (file)
@@ -1,12 +1,11 @@
 /* Generic support for 64-bit ELF
 /* Generic support for 64-bit ELF
-   Copyright 1993, 1995, 1998, 1999, 2001, 2002, 2004, 2005, 2007
-   Free Software Foundation, Inc.
+   Copyright (C) 1993-2020 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
    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
 
    This file is part of BFD, the Binary File Descriptor library.
 
    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 2 of the License, or
+   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,
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
 
    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
 
    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.  */
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
 
 
-#include "bfd.h"
 #include "sysdep.h"
 #include "sysdep.h"
+#include "bfd.h"
 #include "libbfd.h"
 #include "elf-bfd.h"
 
 #include "libbfd.h"
 #include "elf-bfd.h"
 
@@ -41,20 +41,22 @@ static reloc_howto_type dummy =
         0,                     /* dst_mask */
         FALSE);                /* pcrel_offset */
 
         0,                     /* dst_mask */
         FALSE);                /* pcrel_offset */
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
                           arelent *bfd_reloc,
                           Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
 elf_generic_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED,
                           arelent *bfd_reloc,
                           Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
 }
 
-static void
+static bfd_boolean
 elf_generic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
                               arelent *bfd_reloc,
                               Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
 elf_generic_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
                               arelent *bfd_reloc,
                               Elf_Internal_Rela *elf_reloc ATTRIBUTE_UNUSED)
 {
   bfd_reloc->howto = &dummy;
+  return TRUE;
 }
 
 static void
 }
 
 static void
@@ -65,7 +67,8 @@ check_for_relocs (bfd * abfd, asection * o, void * failed)
       Elf_Internal_Ehdr *ehdrp;
 
       ehdrp = elf_elfheader (abfd);
       Elf_Internal_Ehdr *ehdrp;
 
       ehdrp = elf_elfheader (abfd);
-      _bfd_error_handler (_("%B: Relocations in generic ELF (EM: %d)"),
+      /* xgettext:c-format */
+      _bfd_error_handler (_("%pB: Relocations in generic ELF (EM: %d)"),
                          abfd, ehdrp->e_machine);
 
       bfd_set_error (bfd_error_wrong_format);
                          abfd, ehdrp->e_machine);
 
       bfd_set_error (bfd_error_wrong_format);
@@ -86,9 +89,9 @@ elf64_generic_link_add_symbols (bfd *abfd, struct bfd_link_info *info)
   return bfd_elf_link_add_symbols (abfd, info);
 }
 
   return bfd_elf_link_add_symbols (abfd, info);
 }
 
-#define TARGET_LITTLE_SYM              bfd_elf64_little_generic_vec
+#define TARGET_LITTLE_SYM              elf64_le_vec
 #define TARGET_LITTLE_NAME             "elf64-little"
 #define TARGET_LITTLE_NAME             "elf64-little"
-#define TARGET_BIG_SYM                 bfd_elf64_big_generic_vec
+#define TARGET_BIG_SYM                 elf64_be_vec
 #define TARGET_BIG_NAME                        "elf64-big"
 #define ELF_ARCH                       bfd_arch_unknown
 #define ELF_MACHINE_CODE               EM_NONE
 #define TARGET_BIG_NAME                        "elf64-big"
 #define ELF_ARCH                       bfd_arch_unknown
 #define ELF_MACHINE_CODE               EM_NONE
This page took 0.025597 seconds and 4 git commands to generate.