diff options
author | Thiemo Seufer <ths@networkno.de> | 2006-07-20 16:46:30 +0000 |
---|---|---|
committer | Thiemo Seufer <ths@networkno.de> | 2006-07-20 16:46:30 +0000 |
commit | 35d3d567ccaa9db98392c3787e4d5409c13701e8 (patch) | |
tree | e90c78ea28529139751b908299140fb3ef9dd25b /bfd/elfn32-mips.c | |
parent | 5fa2b1af8c1307e4f5dd1ad74059d815dbd2de4c (diff) | |
download | gdb-35d3d567ccaa9db98392c3787e4d5409c13701e8.zip gdb-35d3d567ccaa9db98392c3787e4d5409c13701e8.tar.gz gdb-35d3d567ccaa9db98392c3787e4d5409c13701e8.tar.bz2 |
[ bfd/ChangeLog ]
* elf32-mips.c (mips16_jump_reloc): Remove function.
(elf_mips16_howto_table_rel): Use _bfd_mips_elf_generic_reloc
instead of mips16_jump_reloc.
* elf64_mips.c, wlfn32-mips.c (mips16_jump_reloc): Remove function.
(elf_mips16_howto_table_rel, elf_mips16_howto_table_rela): Use
_bfd_mips_elf_generic_reloc instead of mips16_jump_reloc.
[ gas/ChangeLog ]
* config/tc-mips.c (mips_fix_adjustable): Handle BFD_RELOC_MIPS16_JMP.
(tc_gen_reloc): Handle mips16 jumps to section symbol offsets.
[ ld/testsuite/ChangeLog ]
* ld-mips-elf/mips16-call-global-1.s,
ld-mips-elf/mips16-call-global-2.s,
ld-mips-elf/mips16-call-global-3.s, ld-mips-elf/mips16-call-global.d:
Test linking of external mips16 jumps.
* ld-mips-elf/mips-elf.exp: Run new test.
Diffstat (limited to 'bfd/elfn32-mips.c')
-rw-r--r-- | bfd/elfn32-mips.c | 28 |
1 files changed, 2 insertions, 26 deletions
diff --git a/bfd/elfn32-mips.c b/bfd/elfn32-mips.c index 367bcf3..275e83c 100644 --- a/bfd/elfn32-mips.c +++ b/bfd/elfn32-mips.c @@ -61,8 +61,6 @@ static bfd_reloc_status_type gprel32_with_gp (bfd *, asymbol *, arelent *, asection *, bfd_boolean, void *, bfd_vma); static bfd_reloc_status_type mips_elf_shift6_reloc (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); -static bfd_reloc_status_type mips16_jump_reloc - (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); static bfd_reloc_status_type mips16_gprel_reloc (bfd *, arelent *, asymbol *, void *, asection *, bfd *, char **); static reloc_howto_type *bfd_elf32_bfd_reloc_type_lookup @@ -1444,7 +1442,7 @@ static reloc_howto_type elf_mips16_howto_table_rel[] = /* This needs complex overflow detection, because the upper four bits must match the PC. */ - mips16_jump_reloc, /* special_function */ + _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS16_26", /* name */ TRUE, /* partial_inplace */ 0x3ffffff, /* src_mask */ @@ -1516,7 +1514,7 @@ static reloc_howto_type elf_mips16_howto_table_rela[] = /* This needs complex overflow detection, because the upper four bits must match the PC. */ - mips16_jump_reloc, /* special_function */ + _bfd_mips_elf_generic_reloc, /* special_function */ "R_MIPS16_26", /* name */ FALSE, /* partial_inplace */ 0x3ffffff, /* src_mask */ @@ -1901,28 +1899,6 @@ mips_elf_shift6_reloc (bfd *abfd, arelent *reloc_entry, asymbol *symbol, error_message); } -/* Handle a mips16 jump. */ - -static bfd_reloc_status_type -mips16_jump_reloc (bfd *abfd ATTRIBUTE_UNUSED, - arelent *reloc_entry ATTRIBUTE_UNUSED, - asymbol *symbol ATTRIBUTE_UNUSED, - void *data ATTRIBUTE_UNUSED, - asection *input_section, bfd *output_bfd ATTRIBUTE_UNUSED, - char **error_message ATTRIBUTE_UNUSED) -{ - static bfd_boolean warned = FALSE; - - /* FIXME. */ - if (! warned) - (*_bfd_error_handler) - (_("Linking mips16 objects into %s format is not supported"), - bfd_get_target (input_section->output_section->owner)); - warned = TRUE; - - return bfd_reloc_undefined; -} - /* Handle a mips16 GP relative reloc. */ static bfd_reloc_status_type |