[binutils-gdb] gas bfd_put and bfd_get arg casts

Alan Modra amodra@sourceware.org
Wed Jul 9 00:06:31 GMT 2025


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3dcea21160ede74436f05aa519032337caa57241

commit 3dcea21160ede74436f05aa519032337caa57241
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jul 9 09:02:05 2025 +0930

    gas bfd_put and bfd_get arg casts
    
    bfd_{h_,}put_* and bfd_{h_,}get_* have "void *" pointer params
    nowadays.  We don't need casts on their pointer args.  We also don't
    need to cast values passed to bfd_put.

Diff:
---
 gas/config/obj-coff.c   |   4 +-
 gas/config/obj-som.c    |   4 +-
 gas/config/tc-avr.c     |  66 +++++++++++++-------------
 gas/config/tc-cr16.c    |   2 +-
 gas/config/tc-crx.c     |   2 +-
 gas/config/tc-d10v.c    |  10 ++--
 gas/config/tc-d30v.c    |  36 +++++++-------
 gas/config/tc-m68hc11.c |  20 ++++----
 gas/config/tc-mips.c    |   8 ++--
 gas/config/tc-msp430.c  | 122 ++++++++++++++++++++++++------------------------
 gas/config/tc-pru.c     |   4 +-
 gas/config/tc-s12z.c    |  14 +++---
 gas/config/tc-s390.c    |  20 ++++----
 gas/config/tc-sparc.c   |  20 ++++----
 gas/config/tc-v850.c    |  24 +++++-----
 gas/config/tc-visium.c  |   4 +-
 gas/config/tc-xgate.c   |  10 ++--
 17 files changed, 185 insertions(+), 185 deletions(-)

diff --git a/gas/config/obj-coff.c b/gas/config/obj-coff.c
index 93f1a8bbe0e..a926548af74 100644
--- a/gas/config/obj-coff.c
+++ b/gas/config/obj-coff.c
@@ -1812,8 +1812,8 @@ coff_frob_section (segT sec)
 
   /* Store the values.  */
   p = fragp->fr_literal;
-  bfd_h_put_16 (stdoutput, n_entries, (bfd_byte *) p + 6);
-  bfd_h_put_32 (stdoutput, size, (bfd_byte *) p + 8);
+  bfd_h_put_16 (stdoutput, n_entries, p + 6);
+  bfd_h_put_32 (stdoutput, size, p + 8);
 }
 
 void
diff --git a/gas/config/obj-som.c b/gas/config/obj-som.c
index 1a77176413a..7cfc9cbe635 100644
--- a/gas/config/obj-som.c
+++ b/gas/config/obj-som.c
@@ -284,8 +284,8 @@ adjust_stab_sections (bfd *abfd, asection *sec, void *xxx ATTRIBUTE_UNUSED)
   p = seg_info (sec)->stabu.p;
   gas_assert (p != 0);
 
-  bfd_h_put_16 (abfd, (bfd_vma) nsyms, (bfd_byte *) p + 6);
-  bfd_h_put_32 (abfd, (bfd_vma) strsz, (bfd_byte *) p + 8);
+  bfd_h_put_16 (abfd, nsyms, p + 6);
+  bfd_h_put_32 (abfd, strsz, p + 8);
 }
 
 /* Called late in the assembly phase to adjust the special
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index fbadf373944..62f01bc4940 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -1423,10 +1423,10 @@ avr_operands (struct avr_opcodes_s *opcode, char **line)
 	  && AVR_SKIP_P (frag_now->tc_frag_data.prev_opcode))
 	as_warn (_("skipping two-word instruction"));
 
-      bfd_putl32 ((bfd_vma) bin, frag);
+      bfd_putl32 (bin, frag);
     }
   else
-    bfd_putl16 ((bfd_vma) bin, frag);
+    bfd_putl16 (bin, frag);
 
   frag_now->tc_frag_data.prev_opcode = bin;
   *line = str;
@@ -1588,10 +1588,10 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
       *where = value;
 	  break;
     case BFD_RELOC_AVR_DIFF16:
-      bfd_putl16 ((bfd_vma) value, where);
+      bfd_putl16 (value, where);
       break;
     case BFD_RELOC_AVR_DIFF32:
-      bfd_putl32 ((bfd_vma) value, where);
+      bfd_putl32 (value, where);
       break;
     case BFD_RELOC_AVR_CALL:
       break;
@@ -1619,7 +1619,7 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
 	  value = (value << 3) & 0x3f8;
-	  bfd_putl16 ((bfd_vma) (value | insn), where);
+	  bfd_putl16 (value | insn, where);
 	  break;
 
 	case BFD_RELOC_AVR_13_PCREL:
@@ -1640,15 +1640,15 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 	    }
 
 	  value &= 0xfff;
-	  bfd_putl16 ((bfd_vma) (value | insn), where);
+	  bfd_putl16 (value | insn, where);
 	  break;
 
 	case BFD_RELOC_32:
-	  bfd_putl32 ((bfd_vma) value, where);
+	  bfd_putl32 (value, where);
 	  break;
 
 	case BFD_RELOC_16:
-	  bfd_putl16 ((bfd_vma) value, where);
+	  bfd_putl16 (value, where);
 	  break;
 
 	case BFD_RELOC_8:
@@ -1659,14 +1659,14 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 	  break;
 
 	case BFD_RELOC_AVR_16_PM:
-	  bfd_putl16 ((bfd_vma) (value >> 1), where);
+	  bfd_putl16 (value >> 1, where);
 	  break;
 
 	case BFD_RELOC_AVR_LDI:
 	  if (value > 255)
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value), where);
 	  break;
 
 	case BFD_RELOC_AVR_LDS_STS_16:
@@ -1675,78 +1675,78 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 			   _("operand out of range: 0x%lx"),
 			   (unsigned long)value);
 	  insn |= ((value & 0xF) | ((value & 0x30) << 5) | ((value & 0x40) << 2));
-	  bfd_putl16 ((bfd_vma) insn, where);
+	  bfd_putl16 (insn, where);
 	  break;
 
 	case BFD_RELOC_AVR_6:
 	  if ((value > 63) || (value < 0))
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
-	  bfd_putl16 ((bfd_vma) insn | ((value & 7) | ((value & (3 << 3)) << 7)
-					| ((value & (1 << 5)) << 8)), where);
+	  bfd_putl16 (insn | ((value & 7) | ((value & (3 << 3)) << 7)
+			      | ((value & (1 << 5)) << 8)), where);
 	  break;
 
 	case BFD_RELOC_AVR_6_ADIW:
 	  if ((value > 63) || (value < 0))
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
-	  bfd_putl16 ((bfd_vma) insn | (value & 0xf) | ((value & 0x30) << 2), where);
+	  bfd_putl16 (insn | (value & 0xf) | ((value & 0x30) << 2), where);
 	  break;
 
 	case BFD_RELOC_AVR_LO8_LDI:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value), where);
 	  break;
 
 	case BFD_RELOC_AVR_HI8_LDI:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 8), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 8), where);
 	  break;
 
 	case BFD_RELOC_AVR_MS8_LDI:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 24), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 24), where);
 	  break;
 
 	case BFD_RELOC_AVR_HH8_LDI:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 16), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 16), where);
 	  break;
 
 	case BFD_RELOC_AVR_LO8_LDI_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value), where);
 	  break;
 
 	case BFD_RELOC_AVR_HI8_LDI_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 8), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 8), where);
 	  break;
 
 	case BFD_RELOC_AVR_MS8_LDI_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 24), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 24), where);
 	  break;
 
 	case BFD_RELOC_AVR_HH8_LDI_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 16), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 16), where);
 	  break;
 
 	case BFD_RELOC_AVR_LO8_LDI_PM:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 1), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 1), where);
 	  break;
 
 	case BFD_RELOC_AVR_HI8_LDI_PM:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 9), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 9), where);
 	  break;
 
 	case BFD_RELOC_AVR_HH8_LDI_PM:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (value >> 17), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (value >> 17), where);
 	  break;
 
 	case BFD_RELOC_AVR_LO8_LDI_PM_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 1), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 1), where);
 	  break;
 
 	case BFD_RELOC_AVR_HI8_LDI_PM_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 9), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 9), where);
 	  break;
 
 	case BFD_RELOC_AVR_HH8_LDI_PM_NEG:
-	  bfd_putl16 ((bfd_vma) insn | LDI_IMMEDIATE (-value >> 17), where);
+	  bfd_putl16 (insn | LDI_IMMEDIATE (-value >> 17), where);
 	  break;
 
 	case BFD_RELOC_AVR_CALL:
@@ -1759,8 +1759,8 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 			    _("odd address operand: %ld"), value);
 	    value >>= 1;
 	    x |= ((value & 0x10000) | ((value << 3) & 0x1f00000)) >> 16;
-	    bfd_putl16 ((bfd_vma) x, where);
-	    bfd_putl16 ((bfd_vma) (value & 0xffff), where + 2);
+	    bfd_putl16 (x, where);
+	    bfd_putl16 (value & 0xffff, where + 2);
 	  }
 	  break;
 
@@ -1785,14 +1785,14 @@ md_apply_fix (fixS *fixP, valueT * valP, segT seg)
 	  if (value > 63)
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
-	  bfd_putl16 ((bfd_vma) insn | ((value & 0x30) << 5) | (value & 0x0f), where);
+	  bfd_putl16 (insn | ((value & 0x30) << 5) | (value & 0x0f), where);
 	  break;
 
 	case BFD_RELOC_AVR_PORT5:
 	  if (value > 31)
 	    as_bad_where (fixP->fx_file, fixP->fx_line,
 			  _("operand out of range: %ld"), value);
-	  bfd_putl16 ((bfd_vma) insn | ((value & 0x1f) << 3), where);
+	  bfd_putl16 (insn | ((value & 0x1f) << 3), where);
 	  break;
 	}
     }
@@ -2546,7 +2546,7 @@ avr_emit_insn (const char *insn, int reg, char **pwhere)
 		|| 0 == strcmp ("mov", op->name)
 		|| 0 == strcmp ("ldi", op->name));
 
-  bfd_putl16 ((bfd_vma) bin, *pwhere);
+  bfd_putl16 (bin, *pwhere);
   (*pwhere) += 2 * op->insn_size;
 }
 
diff --git a/gas/config/tc-cr16.c b/gas/config/tc-cr16.c
index 62a7deb613a..20c108f5e45 100644
--- a/gas/config/tc-cr16.c
+++ b/gas/config/tc-cr16.c
@@ -760,7 +760,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
       switch (fixP->fx_r_type)
 	{
 	case BFD_RELOC_CR16_NUM8:
-	  bfd_put_8 (stdoutput, (unsigned char) val, buf);
+	  bfd_put_8 (stdoutput, val, buf);
 	  break;
 	case BFD_RELOC_CR16_NUM16:
 	  bfd_put_16 (stdoutput, val, buf);
diff --git a/gas/config/tc-crx.c b/gas/config/tc-crx.c
index da153fed986..e57b660e89e 100644
--- a/gas/config/tc-crx.c
+++ b/gas/config/tc-crx.c
@@ -456,7 +456,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg)
   switch (fixP->fx_r_type)
     {
     case BFD_RELOC_CRX_NUM8:
-      bfd_put_8 (stdoutput, (unsigned char) val, buf);
+      bfd_put_8 (stdoutput, val, buf);
       break;
     case BFD_RELOC_CRX_NUM16:
       bfd_put_16 (stdoutput, val, buf);
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index ff1bedbf2af..448c9f35880 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1527,7 +1527,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
   /* Fetch the instruction, insert the fully resolved operand
      value, and stuff the instruction back again.  */
   where = fixP->fx_frag->fr_literal + fixP->fx_where;
-  insn = bfd_getb32 ((unsigned char *) where);
+  insn = bfd_getb32 (where);
 
   switch (fixP->fx_r_type)
     {
@@ -1551,7 +1551,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
       /* Instruction addresses are always right-shifted by 2.  */
       value >>= AT_WORD_RIGHT_SHIFT;
       if (fixP->fx_size == 2)
-	bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+	bfd_putb16 (value, where);
       else
 	{
 	  struct d10v_opcode *rep, *repi;
@@ -1569,14 +1569,14 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	       fixP->fx_line);
 	  insn =
 	    d10v_insert_operand (insn, op_type, (offsetT) value, left, fixP);
-	  bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+	  bfd_putb32 (insn, where);
 	}
       break;
     case BFD_RELOC_32:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb32 (value, where);
       break;
     case BFD_RELOC_16:
-      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb16 (value, where);
       break;
     case BFD_RELOC_8:
       *where = value;
diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c
index 4a25da2f58b..4b4e73d9656 100644
--- a/gas/config/tc-d30v.c
+++ b/gas/config/tc-d30v.c
@@ -1911,27 +1911,27 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
   /* Fetch the instruction, insert the fully resolved operand
      value, and stuff the instruction back again.  */
   where = fixP->fx_frag->fr_literal + fixP->fx_where;
-  insn = bfd_getb32 ((unsigned char *) where);
+  insn = bfd_getb32 (where);
 
   switch (fixP->fx_r_type)
     {
     case BFD_RELOC_8:
-      *(unsigned char *) where = value;
+      *where = value;
       break;
 
     case BFD_RELOC_16:
-      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb16 (value, where);
       break;
 
     case BFD_RELOC_64:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
-      bfd_putb32 (0, ((unsigned char *) where) + 4);
+      bfd_putb32 (value, where);
+      bfd_putb32 (0, where + 4);
       break;
 
     case BFD_RELOC_D30V_6:
       check_size (value, 6, fixP->fx_file, fixP->fx_line);
       insn |= value & 0x3F;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_9_PCREL:
@@ -1944,13 +1944,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	}
       check_size (value, 9, fixP->fx_file, fixP->fx_line);
       insn |= ((value >> 3) & 0x3F) << 12;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_15:
       check_size (value, 15, fixP->fx_file, fixP->fx_line);
       insn |= (value >> 3) & 0xFFF;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_15_PCREL:
@@ -1963,13 +1963,13 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	}
       check_size (value, 15, fixP->fx_file, fixP->fx_line);
       insn |= (value >> 3) & 0xFFF;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_21:
       check_size (value, 21, fixP->fx_file, fixP->fx_line);
       insn |= (value >> 3) & 0x3FFFF;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_21_PCREL:
@@ -1982,29 +1982,29 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	}
       check_size (value, 21, fixP->fx_file, fixP->fx_line);
       insn |= (value >> 3) & 0x3FFFF;
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
+      bfd_putb32 (insn, where);
       break;
 
     case BFD_RELOC_D30V_32:
-      insn2 = bfd_getb32 ((unsigned char *) where + 4);
+      insn2 = bfd_getb32 (where + 4);
       insn |= (value >> 26) & 0x3F;		/* Top 6 bits.  */
       insn2 |= ((value & 0x03FC0000) << 2);	/* Next 8 bits.  */
       insn2 |= value & 0x0003FFFF;		/* Bottom 18 bits.  */
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
-      bfd_putb32 ((bfd_vma) insn2, (unsigned char *) where + 4);
+      bfd_putb32 (insn, where);
+      bfd_putb32 (insn2, where + 4);
       break;
 
     case BFD_RELOC_D30V_32_PCREL:
-      insn2 = bfd_getb32 ((unsigned char *) where + 4);
+      insn2 = bfd_getb32 (where + 4);
       insn |= (value >> 26) & 0x3F;		/* Top 6 bits.  */
       insn2 |= ((value & 0x03FC0000) << 2);	/* Next 8 bits.  */
       insn2 |= value & 0x0003FFFF;		/* Bottom 18 bits.  */
-      bfd_putb32 ((bfd_vma) insn, (unsigned char *) where);
-      bfd_putb32 ((bfd_vma) insn2, (unsigned char *) where + 4);
+      bfd_putb32 (insn, where);
+      bfd_putb32 (insn2, where + 4);
       break;
 
     case BFD_RELOC_32:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb32 (value, where);
       break;
 
     default:
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index e80c6dfd052..17856390c23 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -4347,19 +4347,19 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
   switch (fixP->fx_r_type)
     {
     case BFD_RELOC_32:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb32 (value, where);
       break;
 
     case BFD_RELOC_24:
     case BFD_RELOC_M68HC11_24:
-      bfd_putb16 ((bfd_vma) (value & 0x0ffff), (unsigned char *) where);
-      ((bfd_byte*) where)[2] = ((value >> 16) & 0x0ff);
+      bfd_putb16 (value & 0x0ffff, where);
+      where[2] = (value >> 16) & 0xff;
       break;
 
     case BFD_RELOC_16:
     case BFD_RELOC_16_PCREL:
     case BFD_RELOC_M68HC11_LO16:
-      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb16 (value, where);
       if (value < -65537 || value > 65535)
 	as_bad_where (fixP->fx_file, fixP->fx_line,
 		      _("Value out of 16-bit range."));
@@ -4376,11 +4376,11 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
     case BFD_RELOC_M68HC11_LO8:
     case BFD_RELOC_8:
     case BFD_RELOC_M68HC11_PAGE:
-      ((bfd_byte *) where)[0] = (bfd_byte) value;
+      where[0] = value & 0xff;
       break;
 
     case BFD_RELOC_8_PCREL:
-      ((bfd_byte *) where)[0] = (bfd_byte) value;
+      where[0] = value & 0xff;
 
       if (value < -128 || value > 127)
 	as_bad_where (fixP->fx_file, fixP->fx_line,
@@ -4390,8 +4390,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 
     /* These next two are for XGATE. */
     case BFD_RELOC_M68HC12_9_PCREL:
-     ((bfd_byte *) where)[0] |= (bfd_byte) ((value >>9) & 0x01);
-     ((bfd_byte *) where)[1] = (bfd_byte) ((value>>1) & 0xff);
+     where[0] |= (value >> 9) & 0x01;
+     where[1] = (value >> 1) & 0xff;
       if (value < -512 || value > 511)
         as_bad_where (fixP->fx_file, fixP->fx_line,
 		      _("Value %ld too large for 9-bit PC-relative branch."),
@@ -4399,8 +4399,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
       break;
 
     case BFD_RELOC_M68HC12_10_PCREL:
-     ((bfd_byte *) where)[0] |= (bfd_byte) ((value >>9) & 0x03);
-     ((bfd_byte *) where)[1] = (bfd_byte) ((value>>1) & 0xff);
+     where[0] |= (value >> 9) & 0x03;
+     where[1] = (value>> 1) & 0xff;
       if (value < -1024 || value > 1023)
         as_bad_where (fixP->fx_file, fixP->fx_line,
 		      _("Value %ld too large for 10-bit PC-relative branch."),
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 9c0f2687bab..9b1ee22ee70 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -2407,9 +2407,9 @@ static unsigned long
 read_insn (char *buf)
 {
   if (target_big_endian)
-    return bfd_getb32 ((bfd_byte *) buf);
+    return bfd_getb32 (buf);
   else
-    return bfd_getl32 ((bfd_byte *) buf);
+    return bfd_getl32 (buf);
 }
 
 /* Write standard MIPS instruction INSN to BUF.  Return a pointer to
@@ -2436,9 +2436,9 @@ read_compressed_insn (char *buf, unsigned int length)
     {
       insn <<= 16;
       if (target_big_endian)
-	insn |= bfd_getb16 ((char *) buf);
+	insn |= bfd_getb16 (buf);
       else
-	insn |= bfd_getl16 ((char *) buf);
+	insn |= bfd_getl16 (buf);
       buf += 2;
     }
   return insn;
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index d5a11f84bbc..4b37c310c19 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -2454,15 +2454,15 @@ try_encode_mova (bool imm_op,
 	      if (op1->exp.X_op == O_constant)
 		{
 		  bin |= ((op1->exp.X_add_number >> 16) & 0xf) << 8;
-		  bfd_putl16 ((bfd_vma) bin, frag);
+		  bfd_putl16 (bin, frag);
 		  bfd_putl16 (op1->exp.X_add_number & 0xffff, frag + 2);
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) bin, frag);
+		  bfd_putl16 (bin, frag);
 		  fix_new_exp (frag_now, where, 4, &(op1->exp), false,
 			       BFD_RELOC_MSP430X_ABS20_ADR_SRC);
-		  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+		  bfd_putl16 (ZEROS, frag + 2);
 		}
 
 	      return 4;
@@ -2473,7 +2473,7 @@ try_encode_mova (bool imm_op,
 	      bin |= 0x30 | (op1->reg << 8) | op2->reg;
 	      frag = frag_more (4);
 	      where = frag - frag_now->fr_literal;
-	      bfd_putl16 ((bfd_vma) bin, frag);
+	      bfd_putl16 (bin, frag);
 	      if (op1->exp.X_op == O_constant)
 		{
 		  if (op1->exp.X_add_number > 0xffff
@@ -2487,7 +2487,7 @@ try_encode_mova (bool imm_op,
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+		  bfd_putl16 (ZEROS, frag + 2);
 		  fix_new_exp (frag_now, where + 2, 2, &(op1->exp), false,
 			       op1->reg == 0 ?
 			       BFD_RELOC_MSP430X_PCR16 :
@@ -2508,7 +2508,7 @@ try_encode_mova (bool imm_op,
 	      bin |= 0xc0 | (op1->reg << 8) | op2->reg;
 	      frag = frag_more (2);
 	      where = frag - frag_now->fr_literal;
-	      bfd_putl16 ((bfd_vma) bin, frag);
+	      bfd_putl16 (bin, frag);
 	      return 2;
 	    }
 	  else if (op2->am == 1)
@@ -2522,13 +2522,13 @@ try_encode_mova (bool imm_op,
 		  if (op2->exp.X_op == O_constant)
 		    {
 		      bin |= (op2->exp.X_add_number >> 16) & 0xf;
-		      bfd_putl16 ((bfd_vma) bin, frag);
+		      bfd_putl16 (bin, frag);
 		      bfd_putl16 (op2->exp.X_add_number & 0xffff, frag + 2);
 		    }
 		  else
 		    {
-		      bfd_putl16 ((bfd_vma) bin, frag);
-		      bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+		      bfd_putl16 (bin, frag);
+		      bfd_putl16 (ZEROS, frag + 2);
 		      fix_new_exp (frag_now, where, 4, &(op2->exp), false,
 				   BFD_RELOC_MSP430X_ABS20_ADR_DST);
 		    }
@@ -2539,7 +2539,7 @@ try_encode_mova (bool imm_op,
 	      bin |= 0x70 | (op1->reg << 8) | op2->reg;
 	      frag = frag_more (4);
 	      where = frag - frag_now->fr_literal;
-	      bfd_putl16 ((bfd_vma) bin, frag);
+	      bfd_putl16 (bin, frag);
 	      if (op2->exp.X_op == O_constant)
 		{
 		  if (op2->exp.X_add_number > 0xffff
@@ -2553,7 +2553,7 @@ try_encode_mova (bool imm_op,
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+		  bfd_putl16 (ZEROS, frag + 2);
 		  fix_new_exp (frag_now, where + 2, 2, &(op2->exp), false,
 			       op2->reg == 0 ?
 			       BFD_RELOC_MSP430X_PCR16 :
@@ -2593,13 +2593,13 @@ try_encode_mova (bool imm_op,
       if (op1->exp.X_op == O_constant)
 	{
 	  bin |= ((op1->exp.X_add_number >> 16) & 0xf) << 8;
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  bfd_putl16 (op1->exp.X_add_number & 0xffff, frag + 2);
 	}
       else
 	{
-	  bfd_putl16 ((bfd_vma) bin, frag);
-	  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+	  bfd_putl16 (bin, frag);
+	  bfd_putl16 (ZEROS, frag + 2);
 	  fix_new_exp (frag_now, where, 4, &(op1->exp), false,
 		       BFD_RELOC_MSP430X_ABS20_ADR_SRC);
 	}
@@ -2634,7 +2634,7 @@ try_encode_mova (bool imm_op,
 	  bin |= 0x10 | (op1->reg << 8) | op2->reg;
 	  frag = frag_more (2);
 	  where = frag - frag_now->fr_literal;
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  return 2;
 	}
       else if (op1->am == 2)
@@ -2664,7 +2664,7 @@ try_encode_mova (bool imm_op,
 	  bin |= (op1->reg << 8) | op2->reg;
 	  frag = frag_more (2);
 	  where = frag - frag_now->fr_literal;
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  return 2;
 	}
     }
@@ -2715,7 +2715,7 @@ gen_nop (void)
 {
   char *frag;
   frag = frag_more (2);
-  bfd_putl16 ((bfd_vma) 0x4303 /* NOP */, frag);
+  bfd_putl16 (0x4303 /* NOP */, frag);
   dwarf2_emit_insn (2);
 }
 
@@ -3046,7 +3046,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 
 	  insn_length += 2;
 	  frag = frag_more (2);
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  dwarf2_emit_insn (insn_length);
 	  break;
 
@@ -3124,7 +3124,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      where += 2;
 	    }
 
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  frag += 2;
 	  where += 2;
 
@@ -3136,7 +3136,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) ZEROS, frag);
+		  bfd_putl16 (ZEROS, frag);
 
 		  if (!extended_op)
 		    {
@@ -3241,7 +3241,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	    }
 
 	  bin |= (op2.reg | (op1.reg << 8) | (op1.am << 4) | (op2.am << 7));
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  frag += 2;
 	  where += 2;
 
@@ -3253,7 +3253,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) ZEROS, frag);
+		  bfd_putl16 (ZEROS, frag);
 
 		  if (!extended_op)
 		    {
@@ -3277,7 +3277,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		}
 	      else
 		{
-		  bfd_putl16 ((bfd_vma) ZEROS, frag);
+		  bfd_putl16 (ZEROS, frag);
 
 		  if (!extended_op)
 		    {
@@ -3313,7 +3313,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	  op_length = 2 + 2 * op1.ol;
 	  frag = frag_more (op_length);
 	  where = frag - frag_now->fr_literal;
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 
 	  if (op1.mode == OP_EXP)
 	    {
@@ -3325,7 +3325,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		{
 		  where += 2;
 
-		  bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+		  bfd_putl16 (ZEROS, frag + 2);
 
 		  if (op1.reg || op1.am == 3)
 		    fix_new_exp (frag_now, where, 2,
@@ -3396,7 +3396,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	  else if (op1.am == 3)
 	    bin |= 0x70 | op1.reg;
 
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 
 	  if (op1.mode == OP_EXP)
 	    {
@@ -3406,7 +3406,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		  break;
 		}
 
-	      bfd_putl16 ((bfd_vma) ZEROS, frag + 2);
+	      bfd_putl16 (ZEROS, frag + 2);
 
 	      if (! fix_emitted)
 		fix_new_exp (frag_now, where + 2, 2,
@@ -3481,7 +3481,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 		bin |= (reg - n + 1);
 	      }
 
-	    bfd_putl16 ((bfd_vma) bin, frag);
+	    bfd_putl16 (bin, frag);
 	    dwarf2_emit_insn (op_length);
 	    break;
 	  }
@@ -3549,7 +3549,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	    bin |= (n - 1) << 10;
 	    bin |= reg;
 
-	    bfd_putl16 ((bfd_vma) bin, frag);
+	    bfd_putl16 (bin, frag);
 	    dwarf2_emit_insn (op_length);
 	    break;
 	  }
@@ -3634,9 +3634,9 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      fix_new_exp (frag_now, where, 4, &(op1.exp), false,
 			   BFD_RELOC_MSP430X_ABS20_ADR_SRC);
 
-	    bfd_putl16 ((bfd_vma) bin, frag);
+	    bfd_putl16 (bin, frag);
 	    if (op_length == 4)
-	      bfd_putl16 ((bfd_vma) (n & 0xffff), frag + 2);
+	      bfd_putl16 (n & 0xffff, frag + 2);
 	    dwarf2_emit_insn (op_length);
 	    break;
 	  }
@@ -3926,7 +3926,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	  frag += 2;
 	}
 
-      bfd_putl16 ((bfd_vma) bin, frag);
+      bfd_putl16 (bin, frag);
       where += 2;
       frag += 2;
 
@@ -3938,7 +3938,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	    }
 	  else
 	    {
-	      bfd_putl16 ((bfd_vma) ZEROS, frag);
+	      bfd_putl16 (ZEROS, frag);
 
 	      if (!extended_op)
 		{
@@ -3963,7 +3963,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	    }
 	  else
 	    {
-	      bfd_putl16 ((bfd_vma) ZEROS, frag);
+	      bfd_putl16 (ZEROS, frag);
 
 	      if (!extended_op)
 		{
@@ -3992,7 +3992,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	  /* reti instruction.  */
 	  insn_length += 2;
 	  frag = frag_more (2);
-	  bfd_putl16 ((bfd_vma) bin, frag);
+	  bfd_putl16 (bin, frag);
 	  dwarf2_emit_insn (insn_length);
 	  break;
 	}
@@ -4079,7 +4079,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	}
 
       bin |= op1.reg | (op1.am << 4);
-      bfd_putl16 ((bfd_vma) bin, frag);
+      bfd_putl16 (bin, frag);
       frag += 2;
       where += 2;
 
@@ -4091,7 +4091,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	    }
 	  else
 	    {
-	      bfd_putl16 ((bfd_vma) ZEROS, frag);
+	      bfd_putl16 (ZEROS, frag);
 
 	      if (!extended_op)
 		{
@@ -4172,7 +4172,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      frag = frag_more (2);	/* Instr size is 1 word.  */
 
 	      bin |= x & 0x3ff;
-	      bfd_putl16 ((bfd_vma) bin, frag);
+	      bfd_putl16 (bin, frag);
 	    }
 	  else if (exp.X_op == O_symbol && *l1 != '$')
 	    {
@@ -4182,7 +4182,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      fix_new_exp (frag_now, where, 2,
 			   &exp, true, BFD_RELOC_MSP430_10_PCREL);
 
-	      bfd_putl16 ((bfd_vma) bin, frag);
+	      bfd_putl16 (bin, frag);
 	    }
 	  else if (*l1 == '$')
 	    {
@@ -4239,7 +4239,7 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      insn_length += 8;
 	      frag = frag_more (8);
 	      dwarf2_emit_insn (0);
-	      bfd_putl16 ((bfd_vma) rc.sop, frag);
+	      bfd_putl16 (rc.sop, frag);
 	      frag = frag_variant (rs_machine_dependent, 8, 2,
 				    /* Wild guess.  */
 				   ENCODE_RELAX (rc.lpos, STATE_BITS10),
@@ -4286,8 +4286,8 @@ msp430_operands (struct msp430_opcode_s * opcode, char * line)
 	      insn_length += 8;
 	      frag = frag_more (8);
 	      dwarf2_emit_insn (0);
-	      bfd_putl16 ((bfd_vma) hc.op0, frag);
-	      bfd_putl16 ((bfd_vma) hc.op1, frag+2);
+	      bfd_putl16 (hc.op0, frag);
+	      bfd_putl16 (hc.op1, frag + 2);
 
 	      frag = frag_variant (rs_machine_dependent, 8, 2,
 				   ENCODE_RELAX (STATE_EMUL_BRANCH, STATE_BITS10), /* Wild guess.  */
@@ -4512,7 +4512,7 @@ md_apply_fix (fixS * fixp, valueT * valuep, segT seg)
 			  _("operand out of range: %ld"), value);
 
 	  value &= 0x3ff;	/* get rid of extended sign */
-	  bfd_putl16 ((bfd_vma) (value | insn), where);
+	  bfd_putl16 (value | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_PCR16:
@@ -4535,66 +4535,66 @@ md_apply_fix (fixS * fixp, valueT * valuep, segT seg)
 	case BFD_RELOC_16:
 	case BFD_RELOC_MSP430_16_BYTE:
 	  value &= 0xffff;	/* Get rid of extended sign.  */
-	  bfd_putl16 ((bfd_vma) value, where);
+	  bfd_putl16 (value, where);
 	  break;
 
 	case BFD_RELOC_MSP430_ABS_HI16:
 	  value >>= 16;
 	  value &= 0xffff;	/* Get rid of extended sign.  */
-	  bfd_putl16 ((bfd_vma) value, where);
+	  bfd_putl16 (value, where);
 	  break;
 
 	case BFD_RELOC_32:
-	  bfd_putl32 ((bfd_vma) value, where);
+	  bfd_putl32 (value, where);
 	  break;
 
 	case BFD_RELOC_MSP430_ABS8:
 	case BFD_RELOC_8:
-	  bfd_put_8 (NULL, (bfd_vma) value, where);
+	  bfd_put_8 (NULL, value, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_ABS20_EXT_SRC:
 	case BFD_RELOC_MSP430X_PCR20_EXT_SRC:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 4);
+	  bfd_putl16 (value & 0xffff, where + 4);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) (((value & 0xf) << 7) | insn), where);
+	  bfd_putl16 (((value & 0xf) << 7) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_ABS20_ADR_SRC:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 2);
+	  bfd_putl16 (value & 0xffff, where + 2);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) (((value & 0xf) << 8) | insn), where);
+	  bfd_putl16 (((value & 0xf) << 8) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_ABS20_EXT_ODST:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 6);
+	  bfd_putl16 (value & 0xffff, where + 6);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) ((value & 0xf) | insn), where);
+	  bfd_putl16 ((value & 0xf) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_PCR20_CALL:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 2);
+	  bfd_putl16 (value & 0xffff, where + 2);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) ((value & 0xf) | insn), where);
+	  bfd_putl16 ((value & 0xf) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_ABS20_EXT_DST:
 	case BFD_RELOC_MSP430X_PCR20_EXT_DST:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 4);
+	  bfd_putl16 (value & 0xffff, where + 4);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) ((value & 0xf) | insn), where);
+	  bfd_putl16 ((value & 0xf) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_PCR20_EXT_ODST:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 6);
+	  bfd_putl16 (value & 0xffff, where + 6);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) ((value & 0xf) | insn), where);
+	  bfd_putl16 ((value & 0xf) | insn, where);
 	  break;
 
 	case BFD_RELOC_MSP430X_ABS20_ADR_DST:
-	  bfd_putl16 ((bfd_vma) (value & 0xffff), where + 2);
+	  bfd_putl16 (value & 0xffff, where + 2);
 	  value >>= 16;
-	  bfd_putl16 ((bfd_vma) ((value & 0xf) | insn), where);
+	  bfd_putl16 ((value & 0xf) | insn, where);
 	  break;
 
 	default:
diff --git a/gas/config/tc-pru.c b/gas/config/tc-pru.c
index 6200461440e..a51c3d4b72a 100644
--- a/gas/config/tc-pru.c
+++ b/gas/config/tc-pru.c
@@ -765,11 +765,11 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
       break;
     case BFD_RELOC_PRU_GNU_DIFF16:
     case BFD_RELOC_PRU_GNU_DIFF16_PMEM:
-      bfd_putl16 ((bfd_vma) value, where);
+      bfd_putl16 (value, where);
       break;
     case BFD_RELOC_PRU_GNU_DIFF32:
     case BFD_RELOC_PRU_GNU_DIFF32_PMEM:
-      bfd_putl32 ((bfd_vma) value, where);
+      bfd_putl32 (value, where);
       break;
     default:
       break;
diff --git a/gas/config/tc-s12z.c b/gas/config/tc-s12z.c
index 8f7c5d1bc95..0299f97f223 100644
--- a/gas/config/tc-s12z.c
+++ b/gas/config/tc-s12z.c
@@ -3946,23 +3946,23 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
   switch (fixP->fx_r_type)
     {
     case BFD_RELOC_8:
-      ((bfd_byte *) where)[0] = (bfd_byte) value;
+      where[0] = value;
       break;
     case BFD_RELOC_16:
-      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb16 (value, where);
       break;
     case BFD_RELOC_24:
-      bfd_putb24 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb24 (value, where);
       break;
     case BFD_RELOC_S12Z_OPR:
       {
         switch (fixP->fx_size)
           {
           case 3:
-            bfd_putb24 ((bfd_vma) value, (unsigned char *) where);
+            bfd_putb24 (value, where);
             break;
           case 2:
-            bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+            bfd_putb16 (value, where);
             break;
           default:
             abort ();
@@ -3970,14 +3970,14 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
       }
       break;
     case BFD_RELOC_32:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb32 (value, where);
       break;
     case BFD_RELOC_16_PCREL:
       if (value < -0x4000 || value > 0x3FFF)
 	as_bad_where (fixP->fx_file, fixP->fx_line,
 		      _("Value out of 16-bit range."));
 
-      bfd_putb16 ((bfd_vma) value | 0x8000, (unsigned char *) where);
+      bfd_putb16 (value | 0x8000, where);
       break;
 
     default:
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 4ddee63dd9e..320ffecc208 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -2630,9 +2630,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	      if (fixP->fx_pcrel)
 		value >>= 1;
 
-	      mop = bfd_getb16 ((unsigned char *) where);
-	      mop |= (unsigned short) (value & 0xfff);
-	      bfd_putb16 ((bfd_vma) mop, (unsigned char *) where);
+	      mop = bfd_getb16 (where);
+	      mop |= value & 0xfff;
+	      bfd_putb16 (mop, where);
 	    }
 	  break;
 
@@ -2642,10 +2642,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	  if (fixP->fx_done)
 	    {
 	      unsigned int mop;
-	      mop = bfd_getb32 ((unsigned char *) where);
-	      mop |= (unsigned int) ((value & 0xfff) << 8 |
-				     (value & 0xff000) >> 12);
-	      bfd_putb32 ((bfd_vma) mop, (unsigned char *) where);
+	      mop = bfd_getb32 (where);
+	      mop |= ((value & 0xfff) << 8
+		      | (value & 0xff000) >> 12);
+	      bfd_putb32 (mop, where);
 	    }
 	  break;
 
@@ -2685,9 +2685,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
 	      unsigned int mop;
 	      value >>= 1;
 
-	      mop = bfd_getb32 ((unsigned char *) where - 1);
-	      mop |= (unsigned int) (value & 0xffffff);
-	      bfd_putb32 ((bfd_vma) mop, (unsigned char *) where - 1);
+	      mop = bfd_getb32 (where - 1);
+	      mop |= value & 0xffffff;
+	      bfd_putb32 (mop, where - 1);
 	    }
 	  break;
 
diff --git a/gas/config/tc-sparc.c b/gas/config/tc-sparc.c
index e7179f15d84..f71b743c64e 100644
--- a/gas/config/tc-sparc.c
+++ b/gas/config/tc-sparc.c
@@ -3544,9 +3544,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
       /* It's a relocation against an instruction.  */
 
       if (INSN_BIG_ENDIAN)
-	insn = bfd_getb32 ((unsigned char *) buf);
+	insn = bfd_getb32 (buf);
       else
-	insn = bfd_getl32 ((unsigned char *) buf);
+	insn = bfd_getl32 (buf);
 
       switch (fixP->fx_r_type)
 	{
@@ -3588,9 +3588,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
 		 then we can optimize if the call destination is near
 		 by changing the call into a branch always.  */
 	      if (INSN_BIG_ENDIAN)
-		delay = bfd_getb32 ((unsigned char *) buf + 4);
+		delay = bfd_getb32 (buf + 4);
 	      else
-		delay = bfd_getl32 ((unsigned char *) buf + 4);
+		delay = bfd_getl32 (buf + 4);
 	      if ((insn & OP (~0)) != OP (1) || (delay & OP (~0)) != OP (2))
 		break;
 	      if ((delay & OP3 (~0)) != OP3 (0x3d) /* Restore.  */
@@ -3624,9 +3624,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
 		  int reg;
 
 		  if (INSN_BIG_ENDIAN)
-		    setter = bfd_getb32 ((unsigned char *) buf - 4);
+		    setter = bfd_getb32 (buf - 4);
 		  else
-		    setter = bfd_getl32 ((unsigned char *) buf - 4);
+		    setter = bfd_getl32 (buf - 4);
 		  if ((setter & (0xffffffff ^ RD (~0)))
 		      != (INSN_OR | RS1 (O7) | RS2 (G0)))
 		    break;
@@ -3643,9 +3643,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
 		    break;
 
 		  if (INSN_BIG_ENDIAN)
-		    bfd_putb32 (INSN_NOP, (unsigned char *) buf + 4);
+		    bfd_putb32 (INSN_NOP, buf + 4);
 		  else
-		    bfd_putl32 (INSN_NOP, (unsigned char *) buf + 4);
+		    bfd_putl32 (INSN_NOP, buf + 4);
 		}
 	    }
 	  break;
@@ -3820,9 +3820,9 @@ md_apply_fix (fixS *fixP, valueT *valP, segT segment ATTRIBUTE_UNUSED)
 	}
 
       if (INSN_BIG_ENDIAN)
-	bfd_putb32 (insn, (unsigned char *) buf);
+	bfd_putb32 (insn, buf);
       else
-	bfd_putl32 (insn, (unsigned char *) buf);
+	bfd_putl32 (insn, buf);
     }
 
   /* Are we finished with this relocation now?  */
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index 8e1062b0330..7aa946175dc 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -3456,9 +3456,9 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
       where = fixP->fx_frag->fr_literal + fixP->fx_where;
 
       if (fixP->fx_size > 2)
-	insn = bfd_getl32 ((unsigned char *) where);
+	insn = bfd_getl32 (where);
       else
-	insn = bfd_getl16 ((unsigned char *) where);
+	insn = bfd_getl16 (where);
 
       /* When inserting loop offsets a backwards displacement
 	 is encoded as a positive value.  */
@@ -3471,9 +3471,9 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
 	as_warn_where (fixP->fx_file, fixP->fx_line, "%s", errmsg);
 
       if (fixP->fx_size > 2)
-	bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
+	bfd_putl32 (insn, where);
       else
-	bfd_putl16 ((bfd_vma) insn, (unsigned char *) where);
+	bfd_putl16 (insn, where);
 
       if (fixP->fx_done)
 	/* Nothing else to do here.  */
@@ -3522,14 +3522,14 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
           else if (fixP->fx_size == 1)
             where -= 3;
 
-          insn = bfd_getl32 ((unsigned char *) where);
+          insn = bfd_getl32 (where);
 
           /* Use the operand's insertion procedure, if present, in order to
              make sure that the value is correctly stored in the insn.  */
           insn = operand->insert (insn, (offsetT) value, & message);
           /* Ignore message even if it is set.  */
 
-          bfd_putl32 ((bfd_vma) insn, (unsigned char *) where);
+          bfd_putl32 (insn, where);
         }
       else
         {
@@ -3537,17 +3537,17 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
 	    {
 	    case BFD_RELOC_V850_32_ABS:
 	    case BFD_RELOC_V850_32_PCREL:
-	      bfd_putl32 (value & 0xfffffffe, (unsigned char *) where);
+	      bfd_putl32 (value & 0xfffffffe, where);
 	      break;
 
 	    case BFD_RELOC_32:
-	      bfd_putl32 (value, (unsigned char *) where);
+	      bfd_putl32 (value, where);
 	      break;
 
 	    case BFD_RELOC_V850_23:
 	      bfd_putl32 (((value & 0x7f) << 4) | ((value & 0x7fff80) << (16-7))
 			  | (bfd_getl32 (where) & ~((0x7f << 4) | (0xffff << 16))),
-			  (unsigned char *) where);
+			  where);
 	    break;
 
 	    case BFD_RELOC_16:
@@ -3558,7 +3558,7 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
 	    case BFD_RELOC_V850_SDA_16_16_OFFSET:
 	    case BFD_RELOC_V850_TDA_16_16_OFFSET:
 	    case BFD_RELOC_V850_CALLT_16_16_OFFSET:
-	      bfd_putl16 (value & 0xffff, (unsigned char *) where);
+	      bfd_putl16 (value & 0xffff, where);
 	      break;
 
 	    case BFD_RELOC_8:
@@ -3577,7 +3577,7 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
 
 	    case BFD_RELOC_V850_16_PCREL:
 	      bfd_putl16 ((-value & 0xfffe) | (bfd_getl16 (where + 2) & 0x0001),
-			  (unsigned char *) (where + 2));
+			  where + 2);
 	      break;
 
 	    case BFD_RELOC_V850_22_PCREL:
@@ -3589,7 +3589,7 @@ md_apply_fix (fixS *fixP, valueT *valueP, segT seg ATTRIBUTE_UNUSED)
 	    case BFD_RELOC_V850_LO16_S1:
 	    case BFD_RELOC_V850_ZDA_15_16_OFFSET:
 	    case BFD_RELOC_V850_SDA_15_16_OFFSET:
-	      bfd_putl16 (value & 0xfffe, (unsigned char *) where);
+	      bfd_putl16 (value & 0xfffe, where);
 	      break;
 
 	    case BFD_RELOC_V850_16_SPLIT_OFFSET:
diff --git a/gas/config/tc-visium.c b/gas/config/tc-visium.c
index 6fadf409cf4..63c1ad8db16 100644
--- a/gas/config/tc-visium.c
+++ b/gas/config/tc-visium.c
@@ -634,7 +634,7 @@ md_apply_fix (fixS * fixP, valueT * value, segT segment)
       break;
     default:
       /* It's a relocation against an instruction.  */
-      insn = bfd_getb32 ((unsigned char *) buf);
+      insn = bfd_getb32 (buf);
 
       switch (fixP->fx_r_type)
 	{
@@ -687,7 +687,7 @@ md_apply_fix (fixS * fixP, valueT * value, segT segment)
 	  break;
 	}
 
-      bfd_putb32 (insn, (unsigned char *) buf);
+      bfd_putb32 (insn, buf);
       visium_update_parity_bit (buf);
       break;
     }
diff --git a/gas/config/tc-xgate.c b/gas/config/tc-xgate.c
index be9cac7ce80..9c77fefc312 100644
--- a/gas/config/tc-xgate.c
+++ b/gas/config/tc-xgate.c
@@ -705,7 +705,7 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
 		      _("Value out of 16-bit range."));
       value >>= 8;
       value &= 0x00ff;
-      bfd_putb16 ((bfd_vma) value | opcode, (void *) where);
+      bfd_putb16 (value | opcode, where);
       break;
     case BFD_RELOC_XGATE_24:
     case BFD_RELOC_XGATE_IMM8_LO:
@@ -713,7 +713,7 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
 	as_bad_where (fixP->fx_file, fixP->fx_line,
 		      _("Value out of 16-bit range."));
       value &= 0x00ff;
-      bfd_putb16 ((bfd_vma) value | opcode, (void *) where);
+      bfd_putb16 (value | opcode, where);
       break;
     case BFD_RELOC_XGATE_IMM3:
       if (value < 0 || value > 7)
@@ -737,13 +737,13 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg ATTRIBUTE_UNUSED)
       number_to_chars_bigendian (where, (opcode | value), 2);
       break;
     case BFD_RELOC_8:
-      ((bfd_byte *) where)[0] = (bfd_byte) value;
+      *where = value & 0xff;
       break;
     case BFD_RELOC_32:
-      bfd_putb32 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb32 (value, where);
       break;
     case BFD_RELOC_16:
-      bfd_putb16 ((bfd_vma) value, (unsigned char *) where);
+      bfd_putb16 (value, where);
       break;
     default:
       as_fatal (_("Line %d: unknown relocation type: 0x%x."), fixP->fx_line,


More information about the Binutils-cvs mailing list