diff options
author | Nick Clifton <nickc@redhat.com> | 2003-07-04 10:25:14 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2003-07-04 10:25:14 +0000 |
commit | 8c17da6e594c61837ef20620791a2e55d323d3d2 (patch) | |
tree | 3164d2a2c5bac945f499b238f31d79c71085e6b3 /bfd | |
parent | 35cad4c475cf2bb3c7a99fa2d2c1303a5d2cb00e (diff) | |
download | gdb-8c17da6e594c61837ef20620791a2e55d323d3d2.zip gdb-8c17da6e594c61837ef20620791a2e55d323d3d2.tar.gz gdb-8c17da6e594c61837ef20620791a2e55d323d3d2.tar.bz2 |
* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
<R_H8_DIR32A16>: Fix type of relocation.
* ld-h8300/h8300.exp: Replace loop with explicit list. Run relax.d
unconditionally. Run relax-2.d for *-elf targets.
* ld-h8300/relax.d: Fix typo.
* ld-h8300/relax.s: Add 0x prefixes.
* ld-h8300/relad-2.[sd]: New test.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-h8300.c | 7 |
2 files changed, 11 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index be245f0..712976c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2003-07-04 Paul <paulc@senet.com.au> + + * elf32-h8300.c (R_H8_DIR32A16): Fix name field. + (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation. + <R_H8_DIR32A16>: Fix type of relocation. + 2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp> * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c index 1b623f2..386c92f 100644 --- a/bfd/elf32-h8300.c +++ b/bfd/elf32-h8300.c @@ -183,7 +183,7 @@ static reloc_howto_type h8_elf_howto_table[] = { 0, /* bitpos */ complain_overflow_dont,/* complain_on_overflow */ special, /* special_function */ - "R_H8_DIR32", /* name */ + "R_H8_DIR32A16", /* name */ FALSE, /* partial_inplace */ 0, /* src_mask */ 0xffffffff, /* dst_mask */ @@ -1076,6 +1076,9 @@ elf32_h8_relax_section (abfd, sec, link_info, again) irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), R_H8_DIR8); + /* Move the relocation. */ + irel->r_offset--; + /* Delete two bytes of data. */ if (!elf32_h8_relax_delete_bytes (abfd, sec, irel->r_offset + 1, 2)) @@ -1187,7 +1190,7 @@ elf32_h8_relax_section (abfd, sec, link_info, again) /* Fix the relocation's type. */ irel->r_info = ELF32_R_INFO (ELF32_R_SYM (irel->r_info), - R_H8_DIR16A8); + R_H8_DIR16); /* Delete two bytes of data. */ if (!elf32_h8_relax_delete_bytes (abfd, sec, |