* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
authorJeff Law <law@redhat.com>
Thu, 6 Jun 2002 21:33:11 +0000 (21:33 +0000)
committerJeff Law <law@redhat.com>
Thu, 6 Jun 2002 21:33:11 +0000 (21:33 +0000)
        relocations.

bfd/ChangeLog
bfd/elf32-h8300.c

index 10c26a92d3c069cfd920f24aeda9eea43c2b158f..f72607c208f0893fccd133f649819376b073f3eb 100644 (file)
@@ -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.
index 66e563edd75fb02bec8a4367d13afd03c56812a1..1a841a7e74e64a718a028598a2fa3455e2d19cc5 100644 (file)
@@ -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)
        {