summaryrefslogtreecommitdiff
path: root/bfd/elfxx-mips.c
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@nildram.co.uk>2002-07-26 18:56:24 +0000
committerRichard Sandiford <rsandifo@nildram.co.uk>2002-07-26 18:56:24 +0000
commit030ef18267394cfd274165a6bc924aa54335af8a (patch)
treeed0cabde8dbfa11377ab1a313f459e1315166c14 /bfd/elfxx-mips.c
parent9ff641bf4f80d781cf30f4bbd2af816100bb726c (diff)
downloadgdb-030ef18267394cfd274165a6bc924aa54335af8a.tar.gz
[bfd/]
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE flags into resulting BFD. [ld/testsuite/] * ld-mips-elf/mips16-1.d, * ld-mips-elf/mips16-1[ab].s: New test. * ld-mips-elf/mips-elf.exp: Run it.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r--bfd/elfxx-mips.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 3084885d926..78b331053e3 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -7803,6 +7803,15 @@ _bfd_mips_elf_merge_private_bfd_data (ibfd, obfd)
old_flags &= ~EF_MIPS_ABI;
}
+ /* For now, allow arbitrary mixing of ASEs (retain the union). */
+ if ((new_flags & EF_MIPS_ARCH_ASE) != (old_flags & EF_MIPS_ARCH_ASE))
+ {
+ elf_elfheader (obfd)->e_flags |= new_flags & EF_MIPS_ARCH_ASE;
+
+ new_flags &= ~ EF_MIPS_ARCH_ASE;
+ old_flags &= ~ EF_MIPS_ARCH_ASE;
+ }
+
/* Warn about any other mismatches */
if (new_flags != old_flags)
{