OSDN Git Service

2002-02-06 H.J. Lu (hjl@gnu.org)
authorhjl <hjl>
Wed, 6 Feb 2002 21:34:15 +0000 (21:34 +0000)
committerhjl <hjl>
Wed, 6 Feb 2002 21:34:15 +0000 (21:34 +0000)
* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
the mach and ISA fields if necessary.

bfd/ChangeLog
bfd/elf32-mips.c

index 6f2764b..c3bf16d 100644 (file)
@@ -1,3 +1,8 @@
+2002-02-06  H.J. Lu  (hjl@gnu.org)
+
+       * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
+       the mach and ISA fields if necessary.
+
 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * coffcode.h (coff_set_arch_mach_hook): Select the highest known
index a84112e..479ab75 100644 (file)
@@ -3169,8 +3169,21 @@ _bfd_mips_elf_merge_private_bfd_data (ibfd, obfd)
                bfd_archive_filename (ibfd), new_isa, old_isa);
              ok = false;
            }
-       }
+         else
+           {
+             /* Do we need to update the mach field?  */
+             if (old_mach == 0 && new_mach != 0) 
+               elf_elfheader (obfd)->e_flags |= new_mach;
 
+             /* Do we need to update the ISA field?  */
+             if (new_isa > old_isa)
+               {
+                 elf_elfheader (obfd)->e_flags &= ~EF_MIPS_ARCH;
+                 elf_elfheader (obfd)->e_flags
+                   |= new_flags & EF_MIPS_ARCH;
+               }
+           }
+       }
       else
        {
          (*_bfd_error_handler)