diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2002-07-26 18:56:25 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2002-07-26 18:56:25 +0000 |
commit | fb39dac1ef45db850a7647f4bf1da52ee5900543 (patch) | |
tree | b92922e90b25ac2c8212ac41cba70f20a2ff24c6 | |
parent | 7dcd22c2769e452b30edfadba3d98e93ec99aedd (diff) | |
download | gdb-fb39dac1ef45db850a7647f4bf1da52ee5900543.zip gdb-fb39dac1ef45db850a7647f4bf1da52ee5900543.tar.gz gdb-fb39dac1ef45db850a7647f4bf1da52ee5900543.tar.bz2 |
[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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 9 | ||||
-rw-r--r-- | ld/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips-elf.exp | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-1.d | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-1a.s | 2 | ||||
-rw-r--r-- | ld/testsuite/ld-mips-elf/mips16-1b.s | 2 |
7 files changed, 31 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index e513afc..284f275 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-07-26 Chris Demetriou <cgd@broadcom.com> + + * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE + flags into resulting BFD. + 2002-07-26 Alan Modra <amodra@bigpond.net.au> From John Reiser <jreiser@BitWagon.com> diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index 3084885..78b3310 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) { diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 0cacce3..28d551e 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2002-07-26 Richard Sandiford <rsandifo@redhat.com> + + * ld-mips-elf/mips16-1.d, + * ld-mips-elf/mips16-1[ab].s: New test. + * ld-mips-elf/mips-elf.exp: Run it. + 2002-07-19 Hans-Peter Nilsson <hp@bitrange.com> * ld-mmix/sec-1.d: Adjust for changes in padding. diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp index 798cb79..03f4e32 100644 --- a/ld/testsuite/ld-mips-elf/mips-elf.exp +++ b/ld/testsuite/ld-mips-elf/mips-elf.exp @@ -39,6 +39,8 @@ if { [istarget mips*-*-*] } then { run_dump_test "emrelocs-eb" run_dump_test "emrelocs-el" + run_dump_test "mips16-1" + run_dump_test "region1" } } diff --git a/ld/testsuite/ld-mips-elf/mips16-1.d b/ld/testsuite/ld-mips-elf/mips16-1.d new file mode 100644 index 0000000..2b99668 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-1.d @@ -0,0 +1,5 @@ +#source: mips16-1a.s -no-mips16 +#source: mips16-1b.s -mips16 +#ld: -r +#objdump: -d +#pass diff --git a/ld/testsuite/ld-mips-elf/mips16-1a.s b/ld/testsuite/ld-mips-elf/mips16-1a.s new file mode 100644 index 0000000..a361a65 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-1a.s @@ -0,0 +1,2 @@ + .text +foo1: jr $31 diff --git a/ld/testsuite/ld-mips-elf/mips16-1b.s b/ld/testsuite/ld-mips-elf/mips16-1b.s new file mode 100644 index 0000000..11e36f7 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/mips16-1b.s @@ -0,0 +1,2 @@ + .text +foo2: jr $31 |