* reloc.c (bfd_perform_relocation): Apply the relocation even if
authorIan Lance Taylor <ian@airs.com>
Fri, 20 Sep 1996 15:44:49 +0000 (15:44 +0000)
committerIan Lance Taylor <ian@airs.com>
Fri, 20 Sep 1996 15:44:49 +0000 (15:44 +0000)
it is zero, in case src_mask matters.
(bfd_install_relocation): Likewise.
PR 10685.

bfd/ChangeLog
bfd/reloc.c

index a71f40618a8d4a659392f1b8ed92afb339021ddb..43b7ceb053226e8e65974c48527f5766dc10bead 100644 (file)
@@ -1,3 +1,9 @@
+Fri Sep 20 11:43:43 1996  Ian Lance Taylor  <ian@cygnus.com>
+
+       * reloc.c (bfd_perform_relocation): Apply the relocation even if
+       it is zero, in case src_mask matters.
+       (bfd_install_relocation): Likewise.
+
 Thu Sep 19 11:03:06 1996  Ian Lance Taylor  <ian@cygnus.com>
 
        * xcofflink.c (xcoff_link_add_symbols): Always initialize
index 4b3e0ee4b4aa3d3521504b46344ed5103f686c76..05d51e9bd568c49b959c5ad815c84d7c1d9302b9 100644 (file)
@@ -872,20 +872,18 @@ space consuming.  For each target:
       break;
 
     case 1:
-      if (relocation)
-       {
-         short x = bfd_get_16 (abfd, (bfd_byte *) data + addr);
-         DOIT (x);
-         bfd_put_16 (abfd, x, (unsigned char *) data + addr);
-       }
+      {
+       short x = bfd_get_16 (abfd, (bfd_byte *) data + addr);
+       DOIT (x);
+       bfd_put_16 (abfd, x, (unsigned char *) data + addr);
+      }
       break;
     case 2:
-      if (relocation)
-       {
-         long x = bfd_get_32 (abfd, (bfd_byte *) data + addr);
-         DOIT (x);
-         bfd_put_32 (abfd, x, (bfd_byte *) data + addr);
-       }
+      {
+       long x = bfd_get_32 (abfd, (bfd_byte *) data + addr);
+       DOIT (x);
+       bfd_put_32 (abfd, x, (bfd_byte *) data + addr);
+      }
       break;
     case -2:
       {
@@ -911,12 +909,11 @@ space consuming.  For each target:
 
     case 4:
 #ifdef BFD64
-      if (relocation)
-       {
-         bfd_vma x = bfd_get_64 (abfd, (bfd_byte *) data + addr);
-         DOIT (x);
-         bfd_put_64 (abfd, x, (bfd_byte *) data + addr);
-       }
+      {
+       bfd_vma x = bfd_get_64 (abfd, (bfd_byte *) data + addr);
+       DOIT (x);
+       bfd_put_64 (abfd, x, (bfd_byte *) data + addr);
+      }
 #else
       abort ();
 #endif
@@ -1332,20 +1329,18 @@ space consuming.  For each target:
       break;
 
     case 1:
-      if (relocation)
-       {
-         short x = bfd_get_16 (abfd, (bfd_byte *) data);
-         DOIT (x);
-         bfd_put_16 (abfd, x, (unsigned char *) data);
-       }
+      {
+       short x = bfd_get_16 (abfd, (bfd_byte *) data);
+       DOIT (x);
+       bfd_put_16 (abfd, x, (unsigned char *) data);
+      }
       break;
     case 2:
-      if (relocation)
-       {
-         long x = bfd_get_32 (abfd, (bfd_byte *) data);
-         DOIT (x);
-         bfd_put_32 (abfd, x, (bfd_byte *) data);
-       }
+      {
+       long x = bfd_get_32 (abfd, (bfd_byte *) data);
+       DOIT (x);
+       bfd_put_32 (abfd, x, (bfd_byte *) data);
+      }
       break;
     case -2:
       {
@@ -1361,12 +1356,11 @@ space consuming.  For each target:
       break;
 
     case 4:
-      if (relocation)
-       {
-         bfd_vma x = bfd_get_64 (abfd, (bfd_byte *) data);
-         DOIT (x);
-         bfd_put_64 (abfd, x, (bfd_byte *) data);
-       }
+      {
+       bfd_vma x = bfd_get_64 (abfd, (bfd_byte *) data);
+       DOIT (x);
+       bfd_put_64 (abfd, x, (bfd_byte *) data);
+      }
       break;
     default:
       return bfd_reloc_other;
@@ -2247,6 +2241,41 @@ ENUMDOC
 COMMENT
 {* end-sanitize-d10v *}
 
+COMMENT
+{* start-sanitize-m32r *}
+ENUM
+  BFD_RELOC_M32R_10_PCREL
+ENUMDOC
+  Mitsubishi M32R relocs.
+  This is a 10-bit reloc with the right 2 bits assumed to be 0.
+ENUM
+  BFD_RELOC_M32R_18_PCREL
+ENUMDOC
+  This is an 18-bit reloc with the right 2 bits assumed to be 0.
+ENUM
+  BFD_RELOC_M32R_26_PCREL
+ENUMDOC
+  This is an 26-bit reloc with the right 2 bits assumed to be 0.
+ENUM
+  BFD_RELOC_M32R_24
+ENUMDOC
+  This is a 24 bit reloc.
+COMMENT
+{* end-sanitize-m32r *}
+
+COMMENT
+{* start-sanitize-v850 *}
+ENUM
+  BFD_RELOC_V850_9_PCREL
+ENUMDOC
+  This is a 9-bit reloc
+ENUM
+  BFD_RELOC_V850_22_PCREL
+ENUMDOC
+  This is a 22-bit reloc
+COMMENT
+{* end-sanitize-v850 *}
+
 ENDSENUM
   BFD_RELOC_UNUSED
 CODE_FRAGMENT