783dd1f
--- ../binutils-2.26.orig/bfd/coff-i386.c	2016-02-04 10:31:44.684793142 +0000
783dd1f
+++ bfd/coff-i386.c	2016-02-04 10:32:02.106891045 +0000
783dd1f
@@ -139,41 +139,41 @@ coff_i386_reloc (bfd *abfd,
783dd1f
 #define DOIT(x) \
783dd1f
   x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
783dd1f
 
783dd1f
-    if (diff != 0)
783dd1f
-      {
783dd1f
-	reloc_howto_type *howto = reloc_entry->howto;
783dd1f
-	unsigned char *addr = (unsigned char *) data + reloc_entry->address;
783dd1f
+  if (diff != 0)
783dd1f
+    {
783dd1f
+      reloc_howto_type *howto = reloc_entry->howto;
783dd1f
+      unsigned char *addr = (unsigned char *) data + reloc_entry->address;
783dd1f
+
783dd1f
+      switch (howto->size)
783dd1f
+	{
783dd1f
+	case 0:
783dd1f
+	  {
783dd1f
+	    char x = bfd_get_8 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_8 (abfd, x, addr);
783dd1f
+	  }
783dd1f
+	  break;
783dd1f
 
783dd1f
-	switch (howto->size)
783dd1f
+	case 1:
783dd1f
 	  {
783dd1f
-	  case 0:
783dd1f
-	    {
783dd1f
-	      char x = bfd_get_8 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_8 (abfd, x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-
783dd1f
-	  case 1:
783dd1f
-	    {
783dd1f
-	      short x = bfd_get_16 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_16 (abfd, (bfd_vma) x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-
783dd1f
-	  case 2:
783dd1f
-	    {
783dd1f
-	      long x = bfd_get_32 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_32 (abfd, (bfd_vma) x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
+	    short x = bfd_get_16 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_16 (abfd, (bfd_vma) x, addr);
783dd1f
+	  }
783dd1f
+	  break;
783dd1f
 
783dd1f
-	  default:
783dd1f
-	    abort ();
783dd1f
+	case 2:
783dd1f
+	  {
783dd1f
+	    long x = bfd_get_32 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_32 (abfd, (bfd_vma) x, addr);
783dd1f
 	  }
783dd1f
-      }
783dd1f
+	  break;
783dd1f
+
783dd1f
+	default:
783dd1f
+	  abort ();
783dd1f
+	}
783dd1f
+    }
783dd1f
 
783dd1f
   /* Now let bfd_perform_relocation finish everything up.  */
783dd1f
   return bfd_reloc_continue;
783dd1f
--- ../binutils-2.26.orig/bfd/coff-x86_64.c	2016-02-04 10:31:44.686793153 +0000
783dd1f
+++ bfd/coff-x86_64.c	2016-02-04 10:33:02.044227862 +0000
783dd1f
@@ -138,59 +138,61 @@ coff_amd64_reloc (bfd *abfd,
783dd1f
 #define DOIT(x) \
783dd1f
   x = ((x & ~howto->dst_mask) | (((x & howto->src_mask) + diff) & howto->dst_mask))
783dd1f
 
783dd1f
-    if (diff != 0)
783dd1f
-      {
783dd1f
-	reloc_howto_type *howto = reloc_entry->howto;
783dd1f
-	unsigned char *addr = (unsigned char *) data + reloc_entry->address;
783dd1f
-
783dd1f
-	/* FIXME: We do not have an end address for data, so we cannot
783dd1f
-	   accurately range check any addresses computed against it.
783dd1f
-	   cf: PR binutils/17512: file: 1085-1761-0.004.
783dd1f
-	   For now we do the best that we can.  */
783dd1f
-	if (addr < (unsigned char *) data || addr > ((unsigned char *) data) + input_section->size)
783dd1f
+  if (diff != 0)
783dd1f
+    {
783dd1f
+      reloc_howto_type *howto = reloc_entry->howto;
783dd1f
+      unsigned char *addr = (unsigned char *) data + reloc_entry->address;
783dd1f
+
783dd1f
+      /* FIXME: We do not have an end address for data, so we cannot
783dd1f
+	 accurately range check any addresses computed against it.
783dd1f
+	 cf: PR binutils/17512: file: 1085-1761-0.004.
783dd1f
+	 For now we do the best that we can.  */
783dd1f
+      if (addr < (unsigned char *) data
783dd1f
+	  || addr > ((unsigned char *) data) + input_section->size)
783dd1f
+	{
783dd1f
+	  bfd_set_error (bfd_error_bad_value);
783dd1f
+	  return bfd_reloc_notsupported;
783dd1f
+	}
783dd1f
+
783dd1f
+      switch (howto->size)
783dd1f
+	{
783dd1f
+	case 0:
783dd1f
 	  {
783dd1f
-	    bfd_set_error (bfd_error_bad_value);
783dd1f
-	    return bfd_reloc_notsupported;
783dd1f
+	    char x = bfd_get_8 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_8 (abfd, x, addr);
783dd1f
 	  }
783dd1f
+	  break;
783dd1f
 
783dd1f
-	switch (howto->size)
783dd1f
+	case 1:
783dd1f
 	  {
783dd1f
-	  case 0:
783dd1f
-	    {
783dd1f
-	      char x = bfd_get_8 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_8 (abfd, x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-
783dd1f
-	  case 1:
783dd1f
-	    {
783dd1f
-	      short x = bfd_get_16 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_16 (abfd, (bfd_vma) x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-
783dd1f
-	  case 2:
783dd1f
-	    {
783dd1f
-	      long x = bfd_get_32 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_32 (abfd, (bfd_vma) x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-	  case 4:
783dd1f
-	    {
783dd1f
-	      long long x = bfd_get_64 (abfd, addr);
783dd1f
-	      DOIT (x);
783dd1f
-	      bfd_put_64 (abfd, (bfd_vma) x, addr);
783dd1f
-	    }
783dd1f
-	    break;
783dd1f
-
783dd1f
-	  default:
783dd1f
-	    bfd_set_error (bfd_error_bad_value);
783dd1f
-	    return bfd_reloc_notsupported;
783dd1f
+	    short x = bfd_get_16 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_16 (abfd, (bfd_vma) x, addr);
783dd1f
 	  }
783dd1f
-      }
783dd1f
+	  break;
783dd1f
+
783dd1f
+	case 2:
783dd1f
+	  {
783dd1f
+	    long x = bfd_get_32 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_32 (abfd, (bfd_vma) x, addr);
783dd1f
+	  }
783dd1f
+	  break;
783dd1f
+
783dd1f
+	case 4:
783dd1f
+	  {
783dd1f
+	    long long x = bfd_get_64 (abfd, addr);
783dd1f
+	    DOIT (x);
783dd1f
+	    bfd_put_64 (abfd, (bfd_vma) x, addr);
783dd1f
+	  }
783dd1f
+	  break;
783dd1f
+
783dd1f
+	default:
783dd1f
+	  bfd_set_error (bfd_error_bad_value);
783dd1f
+	  return bfd_reloc_notsupported;
783dd1f
+	}
783dd1f
+    }
783dd1f
 
783dd1f
   /* Now let bfd_perform_relocation finish everything up.  */
783dd1f
   return bfd_reloc_continue;