* elf32-h8300 (h8_relax_section): Add new relaxation of mov
authorNick Clifton <nickc@redhat.com>
Thu, 21 Mar 2013 16:08:07 +0000 (16:08 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 21 Mar 2013 16:08:07 +0000 (16:08 +0000)
commit81f5558e3d93654ed79b6ea28850a4798ea1404f
tree09a020b2f58cf3b34739e07297561af0184b61ba
parentb2f83c08372136fe9fe7d1df2feb5566c8b883fb
* elf32-h8300 (h8_relax_section): Add new relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx).
(R_H8_DISP32A16): New reloc.
Comments added and corrected.
* reloc.c (BFD_RELOC_H8_DISP32A16): New reloc.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.

* ld.texinfo (H8/300): Add description of relaxation of
mov @(disp:32,ERx) to mov @(disp:16,ERx).

* ld-h8300/h8300.exp: Add new relax-7 test on ELF.
* ld-h8300/relax-2.s: Add other direction and .w/.l variants of
mov insns.
* ld-h8300/relax-2.d: Update expected disassembly.
* ld-h8300/relax-7a.s: New: tests for mov @(disp:32,ERx) -> mov
@(disp:16,ERx).
* ld-h8300/relax-7b.s: New: Likewise.
* ld-h8300/relax-7.d: New: expected disassembly.

* config/tc-h8300.c (do_a_fix_imm): Add relaxation of mov
@(disp:32,ERx) to mov @(disp:16,ERx) insns by new reloc
R_H8_DISP32A16.
* config/tc-h8300.h: Remove duplicated defines.
22 files changed:
bfd/ChangeLog
bfd/bfd-in2.h
bfd/elf32-h8300.c
bfd/elflink.c
bfd/libbfd.h
bfd/reloc.c
gas/ChangeLog
gas/config/tc-h8300.c
gas/config/tc-h8300.h
include/elf/ChangeLog
include/elf/h8.h
include/opcode/ChangeLog
include/opcode/h8300.h
ld/ChangeLog
ld/ld.texinfo
ld/testsuite/ChangeLog
ld/testsuite/ld-h8300/h8300.exp
ld/testsuite/ld-h8300/relax-2.d
ld/testsuite/ld-h8300/relax-2.s
ld/testsuite/ld-h8300/relax-7.d [new file with mode: 0644]
ld/testsuite/ld-h8300/relax-7a.s [new file with mode: 0644]
ld/testsuite/ld-h8300/relax-7b.s [new file with mode: 0644]