diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2002-02-06 21:34:17 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2002-02-06 21:34:17 +0000 |
commit | 259d18a35da6a9f0474eeee3459ad5dfe62a37f6 (patch) | |
tree | e37f83ba95fde6542363d022628de35fd3fb48d5 | |
parent | 095778a05ed02821c9c55e443c1ea0d2ead3bac0 (diff) | |
download | fsf-binutils-gdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.zip fsf-binutils-gdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.tar.gz fsf-binutils-gdb-259d18a35da6a9f0474eeee3459ad5dfe62a37f6.tar.bz2 |
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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-mips.c | 15 |
2 files changed, 19 insertions, 1 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 6f2764b..c3bf16d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/elf32-mips.c b/bfd/elf32-mips.c index a84112e..479ab75 100644 --- a/bfd/elf32-mips.c +++ b/bfd/elf32-mips.c @@ -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) |