In bfd/:
authorGeoffrey Keating <geoffk@geoffk.org>
Sat, 11 Mar 2000 02:16:25 +0000 (02:16 +0000)
committerGeoffrey Keating <geoffk@geoffk.org>
Sat, 11 Mar 2000 02:16:25 +0000 (02:16 +0000)
commitbb2d6cd7b19cd82313963d2d878a94e6e85a38b6
tree1aa892d4bc8e425e4ef6495561cdb9db2c65abad
parent88b6bae086d357c92d250d13263feea1c02175a0
In bfd/:
* elf32-mips.c (mips_elf_next_relocation): Rename from
mips_elf_next_lo16_relocation, and generalize to look
for any relocation type.
(elf_mips_howto_table): Make R_MIPS_PC16 pcrel_offset.
(elf_mips_gnu_rel_hi16): Howto for R_MIPS_GNU_REL_HI16.
(elf_mips_gnu_rel_lo16): Howto for R_MIPS_GNU_REL_LO16.
(elf_mips_gnu_rel16_s2): Howto for R_MIPS_GNU_REL16_S2.
(elf_mips_gnu_pcrel64): Howto for R_MIPS_PC64.
(elf_mips_gnu_pcrel32): Howto for R_MIPS_PC32.
(bfd_elf32_bfd_reloc_type_lookup): Add new relocs.
(mips_rtype_to_howto): Likewise.
(mips_elf_calculate_relocation): Handle new relocs.
(_bfd_mips_elf_relocate_section): REL_HI16/REL_LO16 relocs
are paired.  The addend for R_MIPS_GNU_REL16_S2
is shifted right two bits.
In gas/:
* config/tc-mips.c (mips_ip): Don't put stuff in .rodata
when embedded-pic.

* config/tc-mips.c (SWITCH_TABLE): The ELF embedded-pic
  implementation doesn't have special handling for switch
  statements.
(macro_build): Allow for code in sections other than .text.
(macro): Likewise.
(mips_ip): Likewise.
(md_apply_fix): Do pc-relative relocation madness for MIPS ELF.
   Don't perform relocs if we will be outputting them.
(tc_gen_reloc): For ELF, just use fx_addnumber for pc-relative
  relocations.  Allow BFD_RELOC_16_PCREL_S2 relocs when
  embedded-pic.
In gas/testsuite/:
* gas/mips/empic.d: New file.
* gas/mips/empic.s: New file.
* gas/mips/mips16-e.d: New file.
* gas/mips/mips16-e.s: New file.
* gas/mips/mips16-f.d: New file.
* gas/mips/mips16-f.s: New file.
* gas/mips/mips.exp: Add empic, mips16-e.  Add mips16-f as an
expected failure.
In include/elf:
* mips.h: Add R_MIPS_GNU_REL_HI16, R_MIPS_GNU_REL_LO16,
  R_MIPS_GNU_REL16_S2, R_MIPS_PC64 and R_MIPS_PC32 relocation
  numbers.
14 files changed:
bfd/ChangeLog
bfd/elf32-mips.c
gas/ChangeLog
gas/config/tc-mips.c
gas/testsuite/ChangeLog
gas/testsuite/gas/mips/empic.d [new file with mode: 0644]
gas/testsuite/gas/mips/empic.s [new file with mode: 0644]
gas/testsuite/gas/mips/mips.exp
gas/testsuite/gas/mips/mips16-e.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-e.s [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-f.d [new file with mode: 0644]
gas/testsuite/gas/mips/mips16-f.s [new file with mode: 0644]
include/elf/ChangeLog
include/elf/mips.h