* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
authorAlan Modra <amodra@gmail.com>
Tue, 30 Jul 2002 05:40:20 +0000 (05:40 +0000)
committerAlan Modra <amodra@gmail.com>
Tue, 30 Jul 2002 05:40:20 +0000 (05:40 +0000)
bfd/ChangeLog
bfd/elfxx-ia64.c

index 284f2755d7d2f80ddfdc70d71ff3cba38df7a7aa..76933991b256fc7e1ea5a9ba5b35419f9b005fa0 100644 (file)
@@ -1,3 +1,7 @@
+2002-07-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
+
 2002-07-26  Chris Demetriou  <cgd@broadcom.com>
 
        * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
index eda0a05d76073cf7d52db2b0ebf9d8a6c7dfad8a..4de90dffc424cc7684d04f440ad1354d1760e95f 100644 (file)
@@ -1187,6 +1187,19 @@ elfNN_ia64_final_write_processing (abfd, linker)
          break;
        }
     }
+
+  if (! elf_flags_init (abfd))
+    {
+      unsigned long flags = 0;
+
+      if (abfd->xvec->byteorder == BFD_ENDIAN_BIG)
+       flags |= EF_IA_64_BE;
+      if (bfd_get_mach (abfd) == bfd_mach_ia64_elf64)
+       flags |= EF_IA_64_ABI64;
+
+      elf_elfheader(abfd)->e_flags = flags;
+      elf_flags_init (abfd) = true;
+    }
 }
 
 /* Hook called by the linker routine which adds symbols from an object