2010-01-13 Chao-ying Fu <fu@mips.com>
authorChao-ying Fu <fu@mips.com>
Wed, 13 Jan 2010 22:30:53 +0000 (22:30 +0000)
committerChao-ying Fu <fu@mips.com>
Wed, 13 Jan 2010 22:30:53 +0000 (22:30 +0000)
commit38a7df635ca7d3db1986ed4397ab5bb4b23dc1a2
tree00362ebf91b6ffeb0006f66be27c790da08ce56f
parent44272192844d2f863f04c7addf39302dca38ef33
2010-01-13  Chao-ying Fu  <fu@mips.com>

* elfxx-mips.c (JR_TO_B_P): New define to transform JR to B.
It is true for all CPUs.
(jal_reloc_p): New function.
(mips_elf_calculate_relocation): Rename require_jalxp to
cross_mode_jump_p.
Update comment for CROSS_MODE_JUMP_P.
Set up cross_mode_jump_p based on the mode change.
(mips_elf_perform_relocation): Rename require_jalx to cross_mode_jump_p.
Update comment for CROSS_MODE_JUMP_P.
Test cross_mode_jump_p and jal_reloc_p to turn jal to jalx.
Use !cross_mode_jump_p to guard conversion.
Convert "jr t9" to "b", if possible.
(_bfd_mips_elf_relocate_section): Rename require_jalx to
cross_mode_jump_p.
Pass &cross_mode_jump_p to call mips_elf_calculate_relocation.
Pass cross_mode_jump_p to call mips_elf_perform_relocation.
bfd/ChangeLog
bfd/elfxx-mips.c