diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-h8300.c | 12 |
2 files changed, 13 insertions, 4 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 10c26a9..f72607c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-06-06 Jeffrey Law <law@redhat.com + + * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting + relocations. + 2002-06-06 Nick Clifton <nickc@cambridge.redhat.com> * merge.c: Include libiberty.h. diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c index 66e563e..1a841a7 100644 --- a/bfd/elf32-h8300.c +++ b/bfd/elf32-h8300.c @@ -678,10 +678,7 @@ elf32_h8_merge_private_bfd_data (ibfd, obfd) mov.b:16 -> mov.b:8 2 bytes mov.b:24/32 -> mov.b:8 4 bytes - mov.[bwl]:24/32 -> mov.[bwl]:16 2 bytes - - -*/ + mov.[bwl]:24/32 -> mov.[bwl]:16 2 bytes */ static boolean elf32_h8_relax_section (abfd, sec, link_info, again) @@ -748,6 +745,13 @@ elf32_h8_relax_section (abfd, sec, link_info, again) if (irel != internal_relocs) last_reloc = irel - 1; + if (ELF32_R_TYPE (irel->r_info) != R_H8_DIR24R8 + && ELF32_R_TYPE (irel->r_info) != R_H8_PCREL16 + && ELF32_R_TYPE (irel->r_info) != R_H8_DIR16A8 + && ELF32_R_TYPE (irel->r_info) != R_H8_DIR24A8 + && ELF32_R_TYPE (irel->r_info) != R_H8_DIR32A16) + continue; + /* Get the section contents if we haven't done so already. */ if (contents == NULL) { |