diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2008-08-18 18:14:05 +0000 |
---|---|---|
committer | Richard Sandiford <rdsandiford@googlemail.com> | 2008-08-18 18:14:05 +0000 |
commit | 61b0a4af457fa3397f28be42b016fa0bdb939c40 (patch) | |
tree | a3f68a55c4d62bba644270d61305d0b226603155 /bfd/elfxx-mips.c | |
parent | 677c5bb1ab2a47e4d5169bdda40f6a49968d7b75 (diff) | |
download | fsf-binutils-gdb-61b0a4af457fa3397f28be42b016fa0bdb939c40.zip fsf-binutils-gdb-61b0a4af457fa3397f28be42b016fa0bdb939c40.tar.gz fsf-binutils-gdb-61b0a4af457fa3397f28be42b016fa0bdb939c40.tar.bz2 |
bfd/
* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16
stub information.
ld/testsuite/
* ld-mips-elf/mips16-pic-4a.s, ld-mips-elf/mips16-pic-4b.s,
ld-mips-elf/mips16-pic-4.ver, ld-mips-elf/mips16-pic-4a.dd,
ld-mips-elf/mips16-pic-4a.nd, ld-mips-elf/mips16-pic-4a.gd,
ld-mips-elf/mips16-pic-4c.s, ld-mips-elf/mips16-pic-4b.dd: New tests.
* ld-mips-elf/mips-elf.exp: Run them.
Diffstat (limited to 'bfd/elfxx-mips.c')
-rw-r--r-- | bfd/elfxx-mips.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c index eb6d55e..43a46046 100644 --- a/bfd/elfxx-mips.c +++ b/bfd/elfxx-mips.c @@ -10923,6 +10923,26 @@ _bfd_mips_elf_copy_indirect_symbol (struct bfd_link_info *info, dirmips->readonly_reloc = TRUE; if (indmips->no_fn_stub) dirmips->no_fn_stub = TRUE; + if (indmips->fn_stub) + { + dirmips->fn_stub = indmips->fn_stub; + indmips->fn_stub = NULL; + } + if (indmips->need_fn_stub) + { + dirmips->need_fn_stub = TRUE; + indmips->need_fn_stub = FALSE; + } + if (indmips->call_stub) + { + dirmips->call_stub = indmips->call_stub; + indmips->call_stub = NULL; + } + if (indmips->call_fp_stub) + { + dirmips->call_fp_stub = indmips->call_fp_stub; + indmips->call_fp_stub = NULL; + } if (indmips->global_got_area < dirmips->global_got_area) dirmips->global_got_area = indmips->global_got_area; if (indmips->global_got_area < GGA_NONE) |