This is the mail archive of the
binutils-cvs@sourceware.cygnus.com
mailing list for the binutils project.
src/ fd/ChangeLog fd/elf32-mips.c as/ChangeLog ...
- To: binutils-cvs at sourceware dot cygnus dot com
- Subject: src/ fd/ChangeLog fd/elf32-mips.c as/ChangeLog ...
- From: geoffk at sourceware dot cygnus dot com
- Date: 11 Mar 2000 02:16:25 -0000
CVSROOT: /cvs/src
Module name: src
Changes by: geoffk@sourceware.cygnus.com 00/03/10 18:16:25
Modified files:
bfd : ChangeLog elf32-mips.c
gas : ChangeLog
gas/config : tc-mips.c
gas/testsuite : ChangeLog
gas/testsuite/gas/mips: mips.exp
include/elf : ChangeLog mips.h
Added files:
gas/testsuite/gas/mips: empic.d empic.s mips16-e.d mips16-e.s
mips16-f.d mips16-f.s
Log message:
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.
Patches:
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.355&r2=1.356
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/bfd/elf32-mips.c.diff?cvsroot=src&r1=1.58&r2=1.59
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/ChangeLog.diff?cvsroot=src&r1=1.281&r2=1.282
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/config/tc-mips.c.diff?cvsroot=src&r1=1.12&r2=1.13
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/ChangeLog.diff?cvsroot=src&r1=1.50&r2=1.51
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/empic.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/empic.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/mips16-e.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/mips16-e.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/mips16-f.d.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/mips16-f.s.diff?cvsroot=src&r1=NONE&r2=1.1
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/gas/testsuite/gas/mips/mips.exp.diff?cvsroot=src&r1=1.2&r2=1.3
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/include/elf/ChangeLog.diff?cvsroot=src&r1=1.40&r2=1.41
http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/src/include/elf/mips.h.diff?cvsroot=src&r1=1.3&r2=1.4