aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog35
-rw-r--r--gas/cgen.c14
-rw-r--r--gas/config/tc-arc.c2
-rw-r--r--gas/config/tc-arm.c4
-rw-r--r--gas/config/tc-avr.c5
-rw-r--r--gas/config/tc-d10v.c14
-rw-r--r--gas/config/tc-d30v.c13
-rw-r--r--gas/config/tc-frv.c6
-rw-r--r--gas/config/tc-frv.h4
-rw-r--r--gas/config/tc-h8300.c7
-rw-r--r--gas/config/tc-h8500.c12
-rw-r--r--gas/config/tc-i370.c6
-rw-r--r--gas/config/tc-i960.c8
-rw-r--r--gas/config/tc-ia64.c21
-rw-r--r--gas/config/tc-ip2k.c6
-rw-r--r--gas/config/tc-m68hc11.c11
-rw-r--r--gas/config/tc-maxq.c8
-rw-r--r--gas/config/tc-mcore.c4
-rw-r--r--gas/config/tc-mips.c38
-rw-r--r--gas/config/tc-msp430.c2
-rw-r--r--gas/config/tc-pj.c11
-rw-r--r--gas/config/tc-ppc.c4
-rw-r--r--gas/config/tc-ppc.h4
-rw-r--r--gas/config/tc-s390.c12
-rw-r--r--gas/config/tc-sh.c6
-rw-r--r--gas/config/tc-sh64.c4
-rw-r--r--gas/config/tc-tic4x.c29
-rw-r--r--gas/config/tc-tic80.c5
-rw-r--r--gas/config/tc-v850.c4
-rw-r--r--gas/config/tc-vax.c3
-rw-r--r--gas/config/tc-w65.c5
-rw-r--r--gas/config/tc-xstormy16.c10
-rw-r--r--gas/config/tc-z8k.c7
33 files changed, 186 insertions, 138 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index fc664d4..275bd1c 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,38 @@
+2005-02-23 Alan Modra <amodra@bigpond.net.au>
+
+ * cgen.c: Warning fixes.
+ * config/tc-arc.c: Likewise.
+ * config/tc-arm.c: Likewise.
+ * config/tc-avr.c: Likewise.
+ * config/tc-d10v.c: Likewise.
+ * config/tc-d30v.c: Likewise.
+ * config/tc-frv.c: Likewise.
+ * config/tc-frv.h: Likewise.
+ * config/tc-h8300.c: Likewise.
+ * config/tc-h8500.c: Likewise.
+ * config/tc-i370.c: Likewise.
+ * config/tc-i960.c: Likewise.
+ * config/tc-ia64.c: Likewise.
+ * config/tc-ip2k.c: Likewise.
+ * config/tc-m68hc11.c: Likewise.
+ * config/tc-maxq.c: Likewise.
+ * config/tc-mcore.c: Likewise.
+ * config/tc-mips.c: Likewise.
+ * config/tc-msp430.c: Likewise.
+ * config/tc-pj.c: Likewise.
+ * config/tc-ppc.c: Likewise.
+ * config/tc-ppc.h: Likewise.
+ * config/tc-s390.c: Likewise.
+ * config/tc-sh.c: Likewise.
+ * config/tc-sh64.c: Likewise.
+ * config/tc-tic4x.c: Likewise.
+ * config/tc-tic80.c: Likewise.
+ * config/tc-v850.c: Likewise.
+ * config/tc-vax.c: Likewise.
+ * config/tc-w65.c: Likewise.
+ * config/tc-xstormy16.c: Likewise.
+ * config/tc-z8k.c: Likewise.
+
2005-02-22 Catherine Moore <clm@cm00re.com>
* read.c (read_a_source_file): Reinstate TC_EQUAL_IN_INSN test.
diff --git a/gas/cgen.c b/gas/cgen.c
index 4a4d988..ab30778 100644
--- a/gas/cgen.c
+++ b/gas/cgen.c
@@ -1,5 +1,5 @@
/* GAS interface for targets using CGEN: Cpu tools GENerator.
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -522,7 +522,7 @@ gas_cgen_finish_insn (insn, buf, length, relax_p, result)
/* If we're recording insns as numbers (rather than a string of bytes),
target byte order handling is deferred until now. */
#if CGEN_INT_INSN_P
- cgen_put_insn_value (gas_cgen_cpu_desc, f, length, *buf);
+ cgen_put_insn_value (gas_cgen_cpu_desc, (unsigned char *) f, length, *buf);
#else
memcpy (f, buf, byte_len);
#endif
@@ -616,17 +616,19 @@ gas_cgen_md_apply_fix3 (fixP, valP, seg)
#if CGEN_INT_INSN_P
{
CGEN_INSN_INT insn_value =
- cgen_get_insn_value (cd, where, CGEN_INSN_BITSIZE (insn));
+ cgen_get_insn_value (cd, (unsigned char *) where,
+ CGEN_INSN_BITSIZE (insn));
/* ??? 0 is passed for `pc'. */
errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields,
&insn_value, (bfd_vma) 0);
- cgen_put_insn_value (cd, where, CGEN_INSN_BITSIZE (insn),
- insn_value);
+ cgen_put_insn_value (cd, (unsigned char *) where,
+ CGEN_INSN_BITSIZE (insn), insn_value);
}
#else
/* ??? 0 is passed for `pc'. */
- errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields, where,
+ errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields,
+ (unsigned char *) where,
(bfd_vma) 0);
#endif
if (errmsg)
diff --git a/gas/config/tc-arc.c b/gas/config/tc-arc.c
index 445ea48..f5583a3 100644
--- a/gas/config/tc-arc.c
+++ b/gas/config/tc-arc.c
@@ -1121,7 +1121,7 @@ static void
arc_extinst (ignore)
int ignore ATTRIBUTE_UNUSED;
{
- unsigned char syntax[129];
+ char syntax[129];
char *name;
char *p;
char c;
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 7a7c41e..6976d88 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -13816,7 +13816,7 @@ create_unwind_entry (int have_data)
{
int size;
addressT where;
- unsigned char *ptr;
+ char *ptr;
/* The current word of data. */
valueT data;
/* The number of bytes left in this word. */
@@ -14025,7 +14025,7 @@ static void
s_arm_unwind_fnend (int ignored ATTRIBUTE_UNUSED)
{
long where;
- unsigned char *ptr;
+ char *ptr;
valueT val;
demand_empty_rest_of_line ();
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index c884151..6bce110 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -1,6 +1,7 @@
/* tc-avr.c -- Assembler code for the ATMEL AVR
- Copyright 1999, 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2004, 2005
+ Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This file is part of GAS, the GNU Assembler.
@@ -906,7 +907,7 @@ md_apply_fix3 (fixP, valP, seg)
{
/* Fetch the instruction, insert the fully resolved operand
value, and stuff the instruction back again. */
- where = fixP->fx_frag->fr_literal + fixP->fx_where;
+ where = (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where;
insn = bfd_getl16 (where);
switch (fixP->fx_r_type)
diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c
index 639fdc0..a5360a9 100644
--- a/gas/config/tc-d10v.c
+++ b/gas/config/tc-d10v.c
@@ -1,5 +1,5 @@
/* tc-d10v.c -- Assembler code for the Mitsubishi D10V
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -1313,8 +1313,8 @@ do_assemble (str, opcode)
char *str;
struct d10v_opcode **opcode;
{
- unsigned char *op_start, *save;
- unsigned char *op_end;
+ unsigned char *op_start, *op_end;
+ char *save;
char name[20];
int nlen = 0;
expressionS myops[6];
@@ -1325,10 +1325,8 @@ do_assemble (str, opcode)
str++;
/* Find the opcode end. */
- for (op_start = op_end = (unsigned char *) (str);
- *op_end
- && nlen < 20
- && !is_end_of_line[*op_end] && *op_end != ' ';
+ for (op_start = op_end = (unsigned char *) str;
+ *op_end && nlen < 20 && !is_end_of_line[*op_end] && *op_end != ' ';
op_end++)
{
name[nlen] = TOLOWER (op_start[nlen]);
@@ -1345,7 +1343,7 @@ do_assemble (str, opcode)
as_fatal (_("unknown opcode: %s"), name);
save = input_line_pointer;
- input_line_pointer = op_end;
+ input_line_pointer = (char *) op_end;
*opcode = find_opcode (*opcode, myops);
if (*opcode == 0)
return -1;
diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c
index c79a45c..9a736c6 100644
--- a/gas/config/tc-d30v.c
+++ b/gas/config/tc-d30v.c
@@ -1,5 +1,6 @@
/* tc-d30v.c -- Assembler code for the Mitsubishi D30V
- Copyright 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2005
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -1428,9 +1429,9 @@ do_assemble (str, opcode, shortp, is_parallel)
int shortp;
int is_parallel;
{
- unsigned char *op_start;
- unsigned char *save;
- unsigned char *op_end;
+ char *op_start;
+ char *save;
+ char *op_end;
char name[NAME_BUF_LEN];
int cmp_hack;
int nlen = 0;
@@ -1443,11 +1444,11 @@ do_assemble (str, opcode, shortp, is_parallel)
str++;
/* Find the opcode end. */
- for (op_start = op_end = (unsigned char *) (str);
+ for (op_start = op_end = str;
*op_end
&& nlen < (NAME_BUF_LEN - 1)
&& *op_end != '/'
- && !is_end_of_line[*op_end] && *op_end != ' ';
+ && !is_end_of_line[(unsigned char) *op_end] && *op_end != ' ';
op_end++)
{
name[nlen] = TOLOWER (op_start[nlen]);
diff --git a/gas/config/tc-frv.c b/gas/config/tc-frv.c
index c737dcd..fde63a4 100644
--- a/gas/config/tc-frv.c
+++ b/gas/config/tc-frv.c
@@ -745,7 +745,7 @@ frv_tomcat_shuffle (this_nop_type, vliw_to_split, insert_before_insn)
/* Set the packing bit on the previous insn. */
if (pack_prev)
{
- unsigned char *buffer = prev_insn->address;
+ char *buffer = prev_insn->address;
buffer[0] |= 0x80;
}
/* The branch is in the middle. Split this vliw insn into first
@@ -784,7 +784,7 @@ frv_tomcat_shuffle (this_nop_type, vliw_to_split, insert_before_insn)
/* Set the packing bit on the previous insn. */
if (pack_prev)
{
- unsigned char *buffer = prev_insn->address;
+ char *buffer = prev_insn->address;
buffer[0] |= 0x80;
}
@@ -830,7 +830,7 @@ frv_tomcat_shuffle (this_nop_type, vliw_to_split, insert_before_insn)
/* Set the packing bit on the previous insn. */
if (pack_prev)
{
- unsigned char *buffer = prev_insn->address;
+ char *buffer = prev_insn->address;
buffer[0] |= 0x80;
}
diff --git a/gas/config/tc-frv.h b/gas/config/tc-frv.h
index fb887a0..a07fc81 100644
--- a/gas/config/tc-frv.h
+++ b/gas/config/tc-frv.h
@@ -1,5 +1,5 @@
/* tc-frv.h -- Header file for tc-frv.c.
- Copyright 2002 Free Software Foundation, Inc.
+ Copyright 2002, 2004, 2005 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -109,7 +109,7 @@ extern void frv_frob_file PARAMS ((void));
{ \
valueT count = ((FRAGP)->fr_next->fr_address \
- ((FRAGP)->fr_address + (FRAGP)->fr_fix)); \
- unsigned char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
+ char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
if ((count & 3) != 0) \
{ \
memset (dest, 0, (count & 3)); \
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index 8879402..103e605 100644
--- a/gas/config/tc-h8300.c
+++ b/gas/config/tc-h8300.c
@@ -1,6 +1,6 @@
/* tc-h8300.c -- Assemble code for the Renesas H8/300
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 2000,
- 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -978,7 +978,8 @@ get_mova_operands (char *op_end, struct h8_op *operand)
static void
get_rtsl_operands (char *ptr, struct h8_op *operand)
{
- int mode, num, num2, len, type = 0;
+ int mode, len, type = 0;
+ unsigned int num, num2;
ptr++;
if (*ptr == '(')
@@ -1004,7 +1005,7 @@ get_rtsl_operands (char *ptr, struct h8_op *operand)
ptr += len;
/* CONST_xxx are used as placeholders in the opcode table. */
num = num2 - num;
- if (num < 0 || num > 3)
+ if (num > 3)
{
as_bad (_("invalid register list"));
return;
diff --git a/gas/config/tc-h8500.c b/gas/config/tc-h8500.c
index 20c0a8a..bdbaa2d 100644
--- a/gas/config/tc-h8500.c
+++ b/gas/config/tc-h8500.c
@@ -1,5 +1,5 @@
/* tc-h8500.c -- Assemble code for the Renesas H8/500
- Copyright 1993, 1994, 1995, 1998, 2000, 2001, 2002, 2003
+ Copyright 1993, 1994, 1995, 1998, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -155,7 +155,7 @@ static expressionS absolute; /* absolute expression */
typedef struct
{
int type;
- int reg;
+ unsigned int reg;
expressionS exp;
int page;
}
@@ -164,13 +164,13 @@ h8500_operand_info;
/* Try to parse a reg name. Return the number of chars consumed. */
-static int parse_reg PARAMS ((char *, int *, int *));
+static int parse_reg PARAMS ((char *, int *, unsigned int *));
static int
parse_reg (src, mode, reg)
char *src;
int *mode;
- int *reg;
+ unsigned int *reg;
{
char *end;
int len;
@@ -372,9 +372,9 @@ parse_reglist (src, op)
h8500_operand_info *op;
{
int mode;
- int rn;
+ unsigned int rn;
int mask = 0;
- int rm;
+ unsigned int rm;
int idx = 1; /* skip ( */
while (src[idx] && src[idx] != ')')
diff --git a/gas/config/tc-i370.c b/gas/config/tc-i370.c
index 3681da0..29b4095 100644
--- a/gas/config/tc-i370.c
+++ b/gas/config/tc-i370.c
@@ -1,7 +1,7 @@
/* tc-i370.c -- Assembler for the IBM 360/370/390 instruction set.
Loosely based on the ppc files by Linas Vepstas <linas@linas.org> 1998, 99
- Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
- Free Software Foundation, Inc.
+ Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
+ 2005 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -2055,7 +2055,7 @@ md_assemble (str)
/* If there are fewer operands in the line then are called
for by the instruction, we want to skip the optional
operand. */
- nwanted = strlen (opcode->operands);
+ nwanted = strlen ((char *) opcode->operands);
if (have_optional_index)
{
if (opcount < nwanted)
diff --git a/gas/config/tc-i960.c b/gas/config/tc-i960.c
index c9aa06b..8b0a538 100644
--- a/gas/config/tc-i960.c
+++ b/gas/config/tc-i960.c
@@ -1,6 +1,6 @@
/* tc-i960.c - All the i80960-specific stuff
Copyright 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002, 2003
+ 1999, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
This file is part of GAS.
@@ -732,11 +732,11 @@ md_number_to_chars (buf, value, n)
md_chars_to_number: convert from target byte order to host byte order.
*************************************************************************** */
-static int md_chars_to_number PARAMS ((unsigned char *, int));
+static int md_chars_to_number PARAMS ((char *, int));
static int
md_chars_to_number (val, n)
- unsigned char *val; /* Value in target byte order */
+ char *val; /* Value in target byte order */
int n; /* Number of bytes in the input */
{
int retval;
@@ -744,7 +744,7 @@ md_chars_to_number (val, n)
for (retval = 0; n--;)
{
retval <<= 8;
- retval |= val[n];
+ retval |= (unsigned char) val[n];
}
return retval;
}
diff --git a/gas/config/tc-ia64.c b/gas/config/tc-ia64.c
index 5b7f3ee..7984133 100644
--- a/gas/config/tc-ia64.c
+++ b/gas/config/tc-ia64.c
@@ -1152,7 +1152,7 @@ ia64_cons_align (nbytes)
}
/* Output COUNT bytes to a memory location. */
-static unsigned char *vbyte_mem_ptr = NULL;
+static char *vbyte_mem_ptr = NULL;
void
output_vbyte_mem (count, ptr, comment)
@@ -1329,7 +1329,7 @@ output_P4_format (f, imask, imask_size)
unsigned long imask_size;
{
imask[0] = UNW_P4;
- (*f) (imask_size, imask, NULL);
+ (*f) (imask_size, (char *) imask, NULL);
}
static void
@@ -3917,7 +3917,8 @@ static void
dot_spillreg (dummy)
int dummy ATTRIBUTE_UNUSED;
{
- int sep, ab, xy, reg, treg;
+ int sep;
+ unsigned int ab, xy, reg, treg;
expressionS e1, e2;
if (!in_procedure ("spillreg"))
@@ -3952,7 +3953,8 @@ dot_spillmem (psprel)
int psprel;
{
expressionS e1, e2;
- int sep, ab, reg;
+ int sep;
+ unsigned int ab, reg;
if (!in_procedure ("spillmem"))
return;
@@ -3990,7 +3992,8 @@ static void
dot_spillreg_p (dummy)
int dummy ATTRIBUTE_UNUSED;
{
- int sep, ab, xy, reg, treg;
+ int sep;
+ unsigned int ab, xy, reg, treg;
expressionS e1, e2, e3;
unsigned int qp;
@@ -4041,7 +4044,8 @@ dot_spillmem_p (psprel)
int psprel;
{
expressionS e1, e2, e3;
- int sep, ab, reg;
+ int sep;
+ unsigned int ab, reg;
unsigned int qp;
if (!in_procedure ("spillmem.p"))
@@ -4361,7 +4365,7 @@ dot_endp (dummy)
int dummy ATTRIBUTE_UNUSED;
{
expressionS e;
- unsigned char *ptr;
+ char *ptr;
int bytes_per_address;
long where;
segT saved_seg;
@@ -6348,7 +6352,8 @@ build_insn (slot, insnp)
{
const struct ia64_operand *odesc, *o2desc;
struct ia64_opcode *idesc = slot->idesc;
- bfd_signed_vma insn, val;
+ bfd_vma insn;
+ bfd_signed_vma val;
const char *err;
int i;
diff --git a/gas/config/tc-ip2k.c b/gas/config/tc-ip2k.c
index a57bc96..8a3befb 100644
--- a/gas/config/tc-ip2k.c
+++ b/gas/config/tc-ip2k.c
@@ -1,5 +1,5 @@
/* tc-ip2k.c -- Assembler for the Scenix IP2xxx.
- Copyright (C) 2000, 2002, 2003 Free Software Foundation.
+ Copyright (C) 2000, 2002, 2003, 2005 Free Software Foundation.
This file is part of GAS, the GNU Assembler.
@@ -173,7 +173,7 @@ md_assemble (str)
the PCL (pc + 2) >> 1 is odd or even. */
{
enum cgen_parse_operand_result result_type;
- long value;
+ bfd_vma value;
const char *curpc_plus_2 = ".+2";
const char *err;
@@ -436,7 +436,7 @@ ip2k_apply_fix3 (fixP, valueP, seg)
/* Canonical name, since used a lot. */
CGEN_CPU_DESC cd = gas_cgen_cpu_desc;
CGEN_INSN_INT insn_value
- = cgen_get_insn_value (cd, where,
+ = cgen_get_insn_value (cd, (unsigned char *) where,
CGEN_INSN_BITSIZE (fixP->fx_cgen.insn));
/* Preserve (DP) or (SP) specification. */
*valueP += (insn_value & 0x180);
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index 41c2f15..19d9c24 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -1,5 +1,6 @@
/* tc-m68hc11.c -- Assembler code for the Motorola 68HC11 & 68HC12.
- Copyright 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ Free Software Foundation, Inc.
Written by Stephane Carrez (stcarrez@nerim.fr)
This file is part of GAS, the GNU Assembler.
@@ -2449,8 +2450,8 @@ md_assemble (char *str)
struct m68hc11_opcode_def *opc;
struct m68hc11_opcode *opcode;
- unsigned char *op_start, *save;
- unsigned char *op_end;
+ unsigned char *op_start, *op_end;
+ char *save;
char name[20];
int nlen = 0;
operand operands[M6811_MAX_OPERANDS];
@@ -2464,7 +2465,7 @@ md_assemble (char *str)
/* Find the opcode end and get the opcode in 'name'. The opcode is forced
lower case (the opcode table only has lower case op-codes). */
- for (op_start = op_end = (unsigned char *) (str);
+ for (op_start = op_end = (unsigned char *) str;
*op_end && nlen < 20 && !is_end_of_line[*op_end] && *op_end != ' ';
op_end++)
{
@@ -2544,7 +2545,7 @@ md_assemble (char *str)
return;
}
save = input_line_pointer;
- input_line_pointer = op_end;
+ input_line_pointer = (char *) op_end;
if (opc)
{
diff --git a/gas/config/tc-maxq.c b/gas/config/tc-maxq.c
index dda7ca4..8c54763 100644
--- a/gas/config/tc-maxq.c
+++ b/gas/config/tc-maxq.c
@@ -494,7 +494,7 @@ md_convert_frag (object_headers * headers ATTRIBUTE_UNUSED,
fragS * fragP)
#endif
{
- unsigned char *opcode;
+ char *opcode;
offsetT target_address;
offsetT opcode_address;
offsetT displacement_from_opcode_start;
@@ -521,9 +521,7 @@ md_convert_frag (object_headers * headers ATTRIBUTE_UNUSED,
|| fragP->fr_subtype == NO_PREFIX))
{
/* Its a displacement. */
- char *p = (char *) &opcode[0];
-
- *p = (char) displacement_from_opcode_start;
+ *opcode = (char) displacement_from_opcode_start;
}
else
{
@@ -542,7 +540,6 @@ md_convert_frag (object_headers * headers ATTRIBUTE_UNUSED,
if (fragP->fr_subtype != SHORT_PREFIX)
{
RELOC_ENUM reloc_type;
- unsigned char *opcode;
int old_fr_fix;
int size = 2;
@@ -557,7 +554,6 @@ md_convert_frag (object_headers * headers ATTRIBUTE_UNUSED,
if (reloc_type == 1)
size = 0;
old_fr_fix = fragP->fr_fix;
- opcode = (unsigned char *) fragP->fr_opcode;
fragP->fr_fix += (size);
diff --git a/gas/config/tc-mcore.c b/gas/config/tc-mcore.c
index 02f2139..7a14997 100644
--- a/gas/config/tc-mcore.c
+++ b/gas/config/tc-mcore.c
@@ -1845,10 +1845,10 @@ md_convert_frag (abfd, sec, fragP)
segT sec ATTRIBUTE_UNUSED;
register fragS * fragP;
{
- unsigned char * buffer;
+ char *buffer;
int targ_addr = S_GET_VALUE (fragP->fr_symbol) + fragP->fr_offset;
- buffer = (unsigned char *) (fragP->fr_fix + fragP->fr_literal);
+ buffer = fragP->fr_fix + fragP->fr_literal;
switch (fragP->fr_subtype)
{
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index ffc44cb..02ff10a 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -11075,7 +11075,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
if (fixP->fx_done)
{
if (8 <= sizeof (valueT))
- md_number_to_chars (buf, *valP, 8);
+ md_number_to_chars ((char *) buf, *valP, 8);
else
{
valueT hiv;
@@ -11098,14 +11098,14 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
value now. This can happen if we have a .word which is not
resolved when it appears but is later defined. */
if (fixP->fx_done)
- md_number_to_chars (buf, *valP, 4);
+ md_number_to_chars ((char *) buf, *valP, 4);
break;
case BFD_RELOC_16:
/* If we are deleting this reloc entry, we must fill in the
value now. */
if (fixP->fx_done)
- md_number_to_chars (buf, *valP, 2);
+ md_number_to_chars ((char *) buf, *valP, 2);
break;
case BFD_RELOC_LO16:
@@ -11121,7 +11121,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
_("relocation overflow"));
if (target_big_endian)
buf += 2;
- md_number_to_chars (buf, *valP, 2);
+ md_number_to_chars ((char *) buf, *valP, 2);
}
break;
@@ -11147,7 +11147,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
if (*valP + 0x20000 <= 0x3ffff)
{
insn |= (*valP >> 2) & 0xffff;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
}
else if (mips_pic == NO_PIC
&& fixP->fx_done
@@ -11169,7 +11169,7 @@ md_apply_fix3 (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
fixP->fx_done = 0;
fixP->fx_addsy = section_symbol (text_section);
*valP += md_pcrel_from (fixP);
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
}
else
{
@@ -12945,7 +12945,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
fixp->fx_file = fragp->fr_file;
fixp->fx_line = fragp->fr_line;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
}
else
@@ -13017,11 +13017,11 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
i--;
insn |= i;
/* Branch over the jump. */
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
/* Nop */
- md_number_to_chars (buf, 0, 4);
+ md_number_to_chars ((char *) buf, 0, 4);
buf += 4;
if (RELAX_BRANCH_LIKELY (fragp->fr_subtype))
@@ -13040,10 +13040,10 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
delay slot. */
insn |= i;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
- md_number_to_chars (buf, 0, 4);
+ md_number_to_chars ((char *) buf, 0, 4);
buf += 4;
}
@@ -13062,7 +13062,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
fixp->fx_file = fragp->fr_file;
fixp->fx_line = fragp->fr_line;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
}
else
@@ -13084,13 +13084,13 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
fixp->fx_file = fragp->fr_file;
fixp->fx_line = fragp->fr_line;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
if (mips_opts.isa == ISA_MIPS1)
{
/* nop */
- md_number_to_chars (buf, 0, 4);
+ md_number_to_chars ((char *) buf, 0, 4);
buf += 4;
}
@@ -13102,7 +13102,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
fixp->fx_file = fragp->fr_file;
fixp->fx_line = fragp->fr_line;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
/* j(al)r $at. */
@@ -13111,7 +13111,7 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
else
insn = 0x00200008;
- md_number_to_chars (buf, insn, 4);
+ md_number_to_chars ((char *) buf, insn, 4);
buf += 4;
}
}
@@ -13204,12 +13204,12 @@ md_convert_frag (bfd *abfd ATTRIBUTE_UNUSED, segT asec, fragS *fragp)
if (use_extend)
{
- md_number_to_chars (buf, 0xf000 | extend, 2);
+ md_number_to_chars ((char *) buf, 0xf000 | extend, 2);
fragp->fr_fix += 2;
buf += 2;
}
- md_number_to_chars (buf, insn, 2);
+ md_number_to_chars ((char *) buf, insn, 2);
fragp->fr_fix += 2;
buf += 2;
}
@@ -13605,6 +13605,7 @@ s_mips_end (int x ATTRIBUTE_UNUSED)
else
as_warn (_(".end directive missing or unknown symbol"));
+#ifdef OBJ_ELF
/* Create an expression to calculate the size of the function. */
if (p && cur_proc_ptr)
{
@@ -13620,7 +13621,6 @@ s_mips_end (int x ATTRIBUTE_UNUSED)
cur_proc_ptr->func_end_sym = exp->X_add_symbol;
}
-#ifdef OBJ_ELF
/* Generate a .pdr section. */
if (OUTPUT_FLAVOR == bfd_target_elf_flavour && ! ECOFF_DEBUGGING
&& mips_flag_pdr)
diff --git a/gas/config/tc-msp430.c b/gas/config/tc-msp430.c
index 43cc537..e75347d 100644
--- a/gas/config/tc-msp430.c
+++ b/gas/config/tc-msp430.c
@@ -1887,7 +1887,7 @@ md_apply_fix3 (fixS * fixp, valueT * valuep, segT seg)
/* Fetch the instruction, insert the fully resolved operand
value, and stuff the instruction back again. */
- where = fixp->fx_frag->fr_literal + fixp->fx_where;
+ where = (unsigned char *) fixp->fx_frag->fr_literal + fixp->fx_where;
insn = bfd_getl16 (where);
diff --git a/gas/config/tc-pj.c b/gas/config/tc-pj.c
index 8092d3b..2a7951e 100644
--- a/gas/config/tc-pj.c
+++ b/gas/config/tc-pj.c
@@ -1,6 +1,6 @@
/*-
tc-pj.c -- Assemble code for Pico Java
- Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1999, 2000, 2001, 2002, 2005 Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -253,8 +253,8 @@ void
md_assemble (str)
char *str;
{
- unsigned char *op_start;
- unsigned char *op_end;
+ char *op_start;
+ char *op_end;
pj_opc_info_t *opcode;
char *output;
@@ -268,8 +268,9 @@ md_assemble (str)
str++;
/* Find the op code end. */
- for (op_start = op_end = (unsigned char *) (str);
- *op_end && !is_end_of_line[*op_end] && *op_end != ' ';
+ op_start = str;
+ for (op_end = str;
+ *op_end && !is_end_of_line[*op_end & 0xff] && *op_end != ' ';
op_end++)
nlen++;
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 410c0f2..6f0b717 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1,6 +1,6 @@
/* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004 Free Software Foundation, Inc.
+ 2004, 2005 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -5819,7 +5819,7 @@ md_apply_fix3 (fixP, valP, seg)
if (fixP->fx_pcrel)
abort ();
{
- unsigned char *where = fixP->fx_frag->fr_literal + fixP->fx_where;
+ char *where = fixP->fx_frag->fr_literal + fixP->fx_where;
unsigned long val, mask;
if (target_big_endian)
diff --git a/gas/config/tc-ppc.h b/gas/config/tc-ppc.h
index e08b12d..950d06f 100644
--- a/gas/config/tc-ppc.h
+++ b/gas/config/tc-ppc.h
@@ -1,6 +1,6 @@
/* tc-ppc.h -- Header file for tc-ppc.c.
Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
- 2004 Free Software Foundation, Inc.
+ 2004, 2005 Free Software Foundation, Inc.
Written by Ian Lance Taylor, Cygnus Support.
This file is part of GAS, the GNU Assembler.
@@ -90,7 +90,7 @@ extern char *ppc_target_format PARAMS ((void));
- ((FRAGP)->fr_address + (FRAGP)->fr_fix)); \
if (count != 0 && (count & 3) == 0) \
{ \
- unsigned char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
+ char *dest = (FRAGP)->fr_literal + (FRAGP)->fr_fix; \
\
(FRAGP)->fr_var = 4; \
if (target_big_endian) \
diff --git a/gas/config/tc-s390.c b/gas/config/tc-s390.c
index 13ced8b..243910e 100644
--- a/gas/config/tc-s390.c
+++ b/gas/config/tc-s390.c
@@ -1602,7 +1602,7 @@ s390_insn (ignore)
&& (addressT) exp.X_add_number < (1ULL << 32))
|| ( opformat->oplen == 2
&& (addressT) exp.X_add_number < (1ULL << 16)))
- md_number_to_chars (insn, exp.X_add_number, opformat->oplen);
+ md_number_to_chars ((char *) insn, exp.X_add_number, opformat->oplen);
else
as_bad (_("Invalid .insn format\n"));
}
@@ -1612,9 +1612,9 @@ s390_insn (ignore)
&& opformat->oplen == 6
&& generic_bignum[3] == 0)
{
- md_number_to_chars (insn, generic_bignum[2], 2);
- md_number_to_chars (&insn[2], generic_bignum[1], 2);
- md_number_to_chars (&insn[4], generic_bignum[0], 2);
+ md_number_to_chars ((char *) insn, generic_bignum[2], 2);
+ md_number_to_chars ((char *) &insn[2], generic_bignum[1], 2);
+ md_number_to_chars ((char *) &insn[4], generic_bignum[0], 2);
}
else
as_bad (_("Invalid .insn format\n"));
@@ -1992,8 +1992,8 @@ md_apply_fix3 (fixP, valP, seg)
if (fixP->fx_done)
{
/* Insert the fully resolved operand value. */
- s390_insert_operand (where, operand, (offsetT) value,
- fixP->fx_file, fixP->fx_line);
+ s390_insert_operand ((unsigned char *) where, operand,
+ (offsetT) value, fixP->fx_file, fixP->fx_line);
return;
}
diff --git a/gas/config/tc-sh.c b/gas/config/tc-sh.c
index 2628ff7..74f02aa 100644
--- a/gas/config/tc-sh.c
+++ b/gas/config/tc-sh.c
@@ -2400,7 +2400,7 @@ find_cooked_opcode (char **str_p)
The pre-processor will eliminate whitespace in front of
any '@' after the first argument; we may be called from
assemble_ppi, so the opcode might be terminated by an '@'. */
- for (op_start = op_end = (unsigned char *) (str);
+ for (op_start = op_end = (unsigned char *) str;
*op_end
&& nlen < 20
&& !is_end_of_line[*op_end] && *op_end != ' ' && *op_end != '@';
@@ -2419,7 +2419,7 @@ find_cooked_opcode (char **str_p)
}
name[nlen] = 0;
- *str_p = op_end;
+ *str_p = (char *) op_end;
if (nlen == 0)
as_bad (_("can't find opcode "));
@@ -2734,7 +2734,7 @@ assemble_ppi (char *op_end, sh_opcode_info *opcode)
void
md_assemble (char *str)
{
- unsigned char *op_end;
+ char *op_end;
sh_operand_info operand[3];
sh_opcode_info *opcode;
unsigned int size = 0;
diff --git a/gas/config/tc-sh64.c b/gas/config/tc-sh64.c
index 6ac4967..a95589e 100644
--- a/gas/config/tc-sh64.c
+++ b/gas/config/tc-sh64.c
@@ -1,5 +1,5 @@
/* tc-sh64.c -- Assemble code for the SuperH SH SHcompact and SHmedia.
- Copyright 2000, 2001, 2002, 2003 Free Software Foundation.
+ Copyright 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation.
This file is part of GAS, the GNU Assembler.
@@ -691,7 +691,7 @@ shmedia_md_apply_fix3 (fixS *fixP, valueT *valp)
if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0)
{
/* Emit error for an out-of-range value. */
- shmedia_check_limits (valp, fixP->fx_r_type, fixP);
+ shmedia_check_limits ((offsetT *) valp, fixP->fx_r_type, fixP);
switch (fixP->fx_r_type)
{
diff --git a/gas/config/tc-tic4x.c b/gas/config/tc-tic4x.c
index 77f2ec6..334444e 100644
--- a/gas/config/tc-tic4x.c
+++ b/gas/config/tc-tic4x.c
@@ -157,7 +157,7 @@ static void tic4x_insert_sym
static char *tic4x_expression
PARAMS ((char *, expressionS *));
static char *tic4x_expression_abs
- PARAMS ((char *, int *));
+ PARAMS ((char *, offsetT *));
static void tic4x_emit_char
PARAMS ((char, int));
static void tic4x_seg_alloc
@@ -747,7 +747,7 @@ tic4x_expression (str, exp)
static char *
tic4x_expression_abs (str, value)
char *str;
- int *value;
+ offsetT *value;
{
char *s;
char *t;
@@ -843,7 +843,7 @@ tic4x_bss (x)
char c;
char *name;
char *p;
- int size;
+ offsetT size;
segT current_seg;
subsegT current_subseg;
symbolS *symbolP;
@@ -864,7 +864,7 @@ tic4x_bss (x)
tic4x_expression_abs (++input_line_pointer, &size);
if (size < 0)
{
- as_bad (".bss size %d < 0!", size);
+ as_bad (".bss size %ld < 0!", (long) size);
return;
}
subseg_set (bss_section, 0);
@@ -1024,7 +1024,7 @@ tic4x_eval (x)
int x ATTRIBUTE_UNUSED;
{
char c;
- int value;
+ offsetT value;
char *name;
SKIP_WHITESPACE ();
@@ -1060,7 +1060,7 @@ tic4x_sect (x)
char *subsection_name;
char *name;
segT seg;
- int num;
+ offsetT num;
SKIP_WHITESPACE ();
if (*input_line_pointer == '"')
@@ -1163,7 +1163,7 @@ tic4x_usect (x)
char *name;
char *section_name;
segT seg;
- int size, alignment_flag;
+ offsetT size, alignment_flag;
segT current_seg;
subsegT current_subseg;
@@ -1226,15 +1226,15 @@ static void
tic4x_version (x)
int x ATTRIBUTE_UNUSED;
{
- unsigned int temp;
+ offsetT temp;
input_line_pointer =
tic4x_expression_abs (input_line_pointer, &temp);
if (!IS_CPU_TIC3X (temp) && !IS_CPU_TIC4X (temp))
- as_bad ("This assembler does not support processor generation %d",
- temp);
+ as_bad ("This assembler does not support processor generation %ld",
+ (long) temp);
- if (tic4x_cpu && temp != tic4x_cpu)
+ if (tic4x_cpu && temp != (offsetT) tic4x_cpu)
as_warn ("Changing processor generation on fly not supported...");
tic4x_cpu = temp;
demand_empty_rest_of_line ();
@@ -2675,7 +2675,7 @@ md_atof (type, litP, sizeP)
int ieee;
LITTLENUM_TYPE words[MAX_LITTLENUMS];
LITTLENUM_TYPE *wordP;
- unsigned char *t;
+ char *t;
switch (type)
{
@@ -2718,7 +2718,7 @@ md_atof (type, litP, sizeP)
if (t)
input_line_pointer = t;
*sizeP = prec * sizeof (LITTLENUM_TYPE);
- t = litP;
+
/* This loops outputs the LITTLENUMs in REVERSE order; in accord with
little endian byte order. */
/* SES: However it is required to put the words (32-bits) out in the
@@ -3072,9 +3072,10 @@ long
md_pcrel_from (fixP)
fixS *fixP;
{
- unsigned char *buf = fixP->fx_where + fixP->fx_frag->fr_literal;
+ unsigned char *buf;
unsigned int op;
+ buf = (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where;
op = (buf[3] << 24) | (buf[2] << 16) | (buf[1] << 8) | buf[0];
return ((fixP->fx_where + fixP->fx_frag->fr_address) >> 2) +
diff --git a/gas/config/tc-tic80.c b/gas/config/tc-tic80.c
index af4ceb4..3c4c303 100644
--- a/gas/config/tc-tic80.c
+++ b/gas/config/tc-tic80.c
@@ -1,5 +1,6 @@
/* tc-tic80.c -- Assemble for the TI TMS320C80 (MV)
- Copyright 1996, 1997, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1996, 1997, 2000, 2001, 2002, 2005
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -685,7 +686,7 @@ md_assemble (str)
char *str;
{
char *scan;
- unsigned char *input_line_save;
+ char *input_line_save;
struct tic80_opcode *opcode;
expressionS myops[16];
diff --git a/gas/config/tc-v850.c b/gas/config/tc-v850.c
index dd61e1a..ed59e04 100644
--- a/gas/config/tc-v850.c
+++ b/gas/config/tc-v850.c
@@ -1,5 +1,5 @@
/* tc-v850.c -- Assembler code for the NEC V850
- Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
+ Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -1291,7 +1291,7 @@ md_convert_frag (abfd, sec, fragP)
/* Now create the unconditional branch + fixup to the final
target. */
- md_number_to_chars (buffer + 2, 0x00000780, 4);
+ md_number_to_chars ((char *) buffer + 2, 0x00000780, 4);
fix_new (fragP, fragP->fr_fix + 2, 4, fragP->fr_symbol,
fragP->fr_offset, 1, BFD_RELOC_UNUSED +
(int) fragP->fr_opcode + 1);
diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c
index 4cf9e15..1b4e6f1 100644
--- a/gas/config/tc-vax.c
+++ b/gas/config/tc-vax.c
@@ -667,7 +667,8 @@ md_assemble (instruction_string)
/* Remember where it is, in case we want to modify the op-code later. */
opcode_low_byteP = frag_more (v.vit_opcode_nbytes);
memcpy (opcode_low_byteP, v.vit_opcode, v.vit_opcode_nbytes);
- opcode_as_number = md_chars_to_number (opcode_as_chars = v.vit_opcode, 4);
+ opcode_as_chars = v.vit_opcode;
+ opcode_as_number = md_chars_to_number ((unsigned char *) opcode_as_chars, 4);
for (operandP = v.vit_operand,
expP = exp_of_operand,
segP = seg_of_operand,
diff --git a/gas/config/tc-w65.c b/gas/config/tc-w65.c
index 9a313b2..f290354 100644
--- a/gas/config/tc-w65.c
+++ b/gas/config/tc-w65.c
@@ -1,5 +1,6 @@
/* tc-w65.c -- Assemble code for the W65816
- Copyright 1995, 1998, 2000, 2001, 2002 Free Software Foundation, Inc.
+ Copyright 1995, 1998, 2000, 2001, 2002, 2005
+ Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler.
@@ -894,7 +895,7 @@ md_convert_frag (headers, seg, fragP)
fragP->fr_offset);
int disp = targ_addr - next_inst;
- md_number_to_chars (buffer + inst_size, disp, disp_size);
+ md_number_to_chars ((char *) buffer + inst_size, disp, disp_size);
fragP->fr_fix += disp_size + inst_size;
fragP->fr_var = 0;
}
diff --git a/gas/config/tc-xstormy16.c b/gas/config/tc-xstormy16.c
index 7928634..e27c7a7 100644
--- a/gas/config/tc-xstormy16.c
+++ b/gas/config/tc-xstormy16.c
@@ -517,17 +517,19 @@ xstormy16_md_apply_fix3 (fixP, valueP, seg)
#if CGEN_INT_INSN_P
{
CGEN_INSN_INT insn_value =
- cgen_get_insn_value (cd, where, CGEN_INSN_BITSIZE (insn));
+ cgen_get_insn_value (cd, (unsigned char *) where,
+ CGEN_INSN_BITSIZE (insn));
/* ??? 0 is passed for `pc'. */
errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields,
&insn_value, (bfd_vma) 0);
- cgen_put_insn_value (cd, where, CGEN_INSN_BITSIZE (insn),
- insn_value);
+ cgen_put_insn_value (cd, (unsigned char *) where,
+ CGEN_INSN_BITSIZE (insn), insn_value);
}
#else
/* ??? 0 is passed for `pc'. */
- errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields, where,
+ errmsg = CGEN_CPU_INSERT_OPERAND (cd) (cd, opindex, fields,
+ (unsigned char *) where,
(bfd_vma) 0);
#endif
if (errmsg)
diff --git a/gas/config/tc-z8k.c b/gas/config/tc-z8k.c
index 9fd4523..97f1341 100644
--- a/gas/config/tc-z8k.c
+++ b/gas/config/tc-z8k.c
@@ -203,7 +203,7 @@ static int the_flags;
static int the_interrupt;
static char *
-whatreg (int *reg, char *src)
+whatreg (unsigned int *reg, char *src)
{
if (ISDIGIT (src[1]))
{
@@ -631,13 +631,14 @@ get_operand (char **ptr, struct z8k_op *mode, unsigned int dst ATTRIBUTE_UNUSED)
}
else
{
- int regn;
+ unsigned int regn;
end = parse_reg (src, &mode->mode, &regn);
if (end)
{
- int nw, nr;
+ int nw;
+ unsigned int nr;
src = end;
if (*src == '(')