diff options
author | Per Fogelstrom <pefo@cvs.openbsd.org> | 1996-09-29 20:26:46 +0000 |
---|---|---|
committer | Per Fogelstrom <pefo@cvs.openbsd.org> | 1996-09-29 20:26:46 +0000 |
commit | 42e654f9aa349230e47237252275c5e7ae79e3f8 (patch) | |
tree | ae3352542e85cf2160c8ae7ae04fd4b614990bc6 /gnu/usr.bin/binutils | |
parent | bcd92a6bae7ba0ee27664645a5e733875b059cf1 (diff) |
On popular demand: annoying kernel link messages fixed :-)
Diffstat (limited to 'gnu/usr.bin/binutils')
-rw-r--r-- | gnu/usr.bin/binutils/bfd/elf32-mips.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/gnu/usr.bin/binutils/bfd/elf32-mips.c b/gnu/usr.bin/binutils/bfd/elf32-mips.c index 1bc95b8d06f..d018c6901c8 100644 --- a/gnu/usr.bin/binutils/bfd/elf32-mips.c +++ b/gnu/usr.bin/binutils/bfd/elf32-mips.c @@ -1730,12 +1730,23 @@ _bfd_mips_elf_merge_private_bfd_data (ibfd, obfd) } /* Warn about any other mismatches */ - if (new_flags != old_flags) + if ((new_flags & ~(EF_MIPS_ARCH | EF_MIPS_NOREORDER)) != + (old_flags & ~(EF_MIPS_ARCH | EF_MIPS_NOREORDER))) (*_bfd_error_handler) ("%s: uses different e_flags (0x%lx) fields than previous modules (0x%lx)", bfd_get_filename (ibfd), (unsigned long) new_flags, (unsigned long) old_flags); + /* Warn about ISA LEVEL mismatch */ + if ((new_flags & EF_MIPS_ARCH) > (old_flags & EF_MIPS_ARCH)) { + (*_bfd_error_handler) + ("%s: increases ISA level to ISA%d from ISA%d", + bfd_get_filename (ibfd), (unsigned long) new_flags >> 28, + (unsigned long) old_flags >> 28); + elf_elfheader (obfd)->e_flags &= ~EF_MIPS_ARCH; + elf_elfheader (obfd)->e_flags |= new_flags & EF_MIPS_ARCH; + } + bfd_set_error (bfd_error_bad_value); return false; } |