* elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function.
authorJakub Jelinek <jakub@redhat.com>
Fri, 9 Feb 2001 17:53:16 +0000 (17:53 +0000)
committerJakub Jelinek <jakub@redhat.com>
Fri, 9 Feb 2001 17:53:16 +0000 (17:53 +0000)
bfd/ChangeLog
bfd/elf64-sparc.c

index 0a61d2e0414f809af011b405a994d29457b864d1..2ce1c3c1efad837a5206941d50b4235e120c9bf4 100644 (file)
@@ -1,3 +1,7 @@
+2001-02-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * elf64-sparc.c (sparc64_elf_copy_private_bfd_data): New function.
+
 2001-02-09  Jakub Jelinek  <jakub@redhat.com>
 
        * elf64-sparc.c (sparc64_elf_check_relocs): Don't trust reloc_count.
index 59e9f49965761a3f2596dfbeab664e4c5adb6a98..77fc7e269f3042c0d587bf290db58fe26feab0eb 100644 (file)
@@ -63,6 +63,8 @@ static boolean sparc64_elf_add_symbol_hook
 static void sparc64_elf_symbol_processing
   PARAMS ((bfd *, asymbol *));
 
+static boolean sparc64_elf_copy_private_bfd_data
+  PARAMS ((bfd *, bfd *));
 static boolean sparc64_elf_merge_private_bfd_data
   PARAMS ((bfd *, bfd *));
 
@@ -2895,6 +2897,24 @@ sparc64_elf_finish_dynamic_sections (output_bfd, info)
 \f
 /* Functions for dealing with the e_flags field.  */
 
+/* Copy backend specific data from one object module to another */
+static boolean
+sparc64_elf_copy_private_bfd_data (ibfd, obfd)
+     bfd *ibfd, *obfd;
+{
+  if (   bfd_get_flavour (ibfd) != bfd_target_elf_flavour
+      || bfd_get_flavour (obfd) != bfd_target_elf_flavour)
+    return true;
+
+  BFD_ASSERT (!elf_flags_init (obfd)
+              || (elf_elfheader (obfd)->e_flags
+                  == elf_elfheader (ibfd)->e_flags));
+
+  elf_elfheader (obfd)->e_flags = elf_elfheader (ibfd)->e_flags;
+  elf_flags_init (obfd) = true;
+  return true;
+}
+
 /* Merge backend specific data from an object file to the output
    object file when linking.  */
 
@@ -3116,7 +3136,8 @@ const struct elf_size_info sparc64_elf_size_info =
   sparc64_elf_print_symbol_all
 #define elf_backend_output_arch_syms \
   sparc64_elf_output_arch_syms
-
+#define bfd_elf64_bfd_copy_private_bfd_data \
+  sparc64_elf_copy_private_bfd_data
 #define bfd_elf64_bfd_merge_private_bfd_data \
   sparc64_elf_merge_private_bfd_data