diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-mips.c | 20 |
2 files changed, 25 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bd98cfe..6c3dd56 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2008-08-18 Richard Sandiford <rdsandiford@googlemail.com> + + * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Copy MIPS16 + stub information. + 2008-08-17 Nick Clifton <nickc@redhat.com> * elf32-arm.c: Tidy up the code. 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) |