* config/tc-z8k.c (cons, obj_coff_section): Delete declarations.

(whatreg, parse_reg, parse_exp): Make static, prototype.
	(checkfor, regword, regaddr, get_ctrl_operand): Prototype.
	(get_flags_operand, get_interrupt_operand, get_cc_operand): Likewise.
	(get_operand, get_operands, get_specific, newfix): Likewise.
	(apply_fix, build_bytes): Likewise.
	(md_atof): Remove declaration of atof_ieee.
	(tc_aout_fix_to_chars): Delete.
	(md_begin): Constify "opcode".  Don't try to init opcode->idx.
	Fix s_unseg call.
	(md_parse_option): Fix s_segm and s_unseg calls.

	* z8kgen.c: Include "libiberty.h".
	(opt, args, toks): Fix initializer warnings.
	(chewname): Make "name" a char **.  Return mnemonic trimmed of
	operands.
	(gas): Improve emitted "DO NOT EDIT" warning.  Format emitted
	opcode_entry_type, and make "nicename" and "name" const.  Make
	z8k_table const too.  Formatting.  Generate idx as gas needs it.
	* z8k-opc.h: Regenerate.
This commit is contained in:
Alan Modra 2002-12-12 21:27:58 +00:00
parent 55b9cdf15a
commit 78a33af2ee
5 changed files with 1538 additions and 2332 deletions

View File

@ -1,3 +1,17 @@
2002-12-13 Alan Modra <amodra@bigpond.net.au>
* config/tc-z8k.c (cons, obj_coff_section): Delete declarations.
(whatreg, parse_reg, parse_exp): Make static, prototype.
(checkfor, regword, regaddr, get_ctrl_operand): Prototype.
(get_flags_operand, get_interrupt_operand, get_cc_operand): Likewise.
(get_operand, get_operands, get_specific, newfix): Likewise.
(apply_fix, build_bytes): Likewise.
(md_atof): Remove declaration of atof_ieee.
(tc_aout_fix_to_chars): Delete.
(md_begin): Constify "opcode". Don't try to init opcode->idx.
Fix s_unseg call.
(md_parse_option): Fix s_segm and s_unseg calls.
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
* tc-mips.c (RELAX_BRANCH_ENCODE): Remove reloc_s2 argument.
@ -14,8 +28,7 @@
(md_convert_frag): Use only BFD_RELOC_16_PCREL_S2 for branches.
2002-12-12 Alexandre Oliva <aoliva@redhat.com>,
Alan Modra <amodra@bigpond.net.au>
Alan Modra <amodra@bigpond.net.au>
* config/tc-mn10300.h (TC_VALIDATE_FIX_SUB): Define.
(TC_LINKRELAX_FIXUP): Add comments.

View File

@ -38,18 +38,24 @@ extern int coff_flags;
int segmented_mode;
const int md_reloc_size;
void cons ();
static void s_segm PARAMS ((int));
static void s_unseg PARAMS ((int));
static void even PARAMS ((int));
static int tohex PARAMS ((int));
static void sval PARAMS ((int));
void
s_segm ()
static void
s_segm (ignore)
int ignore ATTRIBUTE_UNUSED;
{
segmented_mode = 1;
machine = bfd_mach_z8001;
coff_flags = F_Z8001;
}
void
s_unseg ()
static void
s_unseg (ignore)
int ignore ATTRIBUTE_UNUSED;
{
segmented_mode = 0;
machine = bfd_mach_z8002;
@ -57,15 +63,14 @@ s_unseg ()
}
static void
even ()
even (ignore)
int ignore ATTRIBUTE_UNUSED;
{
frag_align (1, 0, 0);
record_alignment (now_seg, 1);
}
void obj_coff_section ();
int
static int
tohex (c)
int c;
{
@ -76,8 +81,9 @@ tohex (c)
return c - 'A' + 10;
}
void
sval ()
static void
sval (ignore)
int ignore ATTRIBUTE_UNUSED;
{
SKIP_WHITESPACE ();
if (*input_line_pointer == '\'')
@ -149,26 +155,21 @@ static struct hash_control *opcode_hash_control;
void
md_begin ()
{
opcode_entry_type *opcode;
char *prev_name = "";
int idx = 0;
const opcode_entry_type *opcode;
int idx = -1;
opcode_hash_control = hash_new ();
for (opcode = z8k_table; opcode->name; opcode++)
{
/* Only enter unique codes into the table. */
if (strcmp (opcode->name, prev_name))
{
hash_insert (opcode_hash_control, opcode->name, (char *) opcode);
idx++;
}
opcode->idx = idx;
prev_name = opcode->name;
if (idx != opcode->idx)
hash_insert (opcode_hash_control, opcode->name, (char *) opcode);
idx = opcode->idx;
}
/* Default to z8002. */
s_unseg ();
s_unseg (0);
/* Insert the pseudo ops, too. */
for (idx = 0; md_pseudo_table[idx].poc_name; idx++)
@ -215,7 +216,34 @@ int the_ctrl;
int the_flags;
int the_interrupt;
char *
static char *whatreg PARAMS ((int *, char *));
static char *parse_reg PARAMS ((char *, int *, unsigned int *));
static char *parse_exp PARAMS ((char *, expressionS *));
static char *checkfor PARAMS ((char *, char));
static void regword PARAMS ((int, char *));
static void regaddr PARAMS ((int, char *));
static void get_ctrl_operand
PARAMS ((char **, struct z8k_op *, unsigned int));
static void get_flags_operand
PARAMS ((char **, struct z8k_op *, unsigned int));
static void get_interrupt_operand
PARAMS ((char **, struct z8k_op *, unsigned int));
static void get_cc_operand
PARAMS ((char **, struct z8k_op *, unsigned int));
static void get_operand
PARAMS ((char **, struct z8k_op *, unsigned int));
static char *get_operands
PARAMS ((const opcode_entry_type *, char *, op_type *));
static opcode_entry_type *get_specific
PARAMS ((opcode_entry_type *, op_type *));
static void newfix
PARAMS ((int, int, expressionS *));
static char *apply_fix
PARAMS ((char *, int, expressionS *, int));
static void build_bytes
PARAMS ((opcode_entry_type *, struct z8k_op *));
static char *
whatreg (reg, src)
int *reg;
char *src;
@ -249,7 +277,7 @@ whatreg (reg, src)
/* Try to parse a reg name. Return a pointer to the first character
in SRC after the reg name. */
char *
static char *
parse_reg (src, mode, reg)
char *src;
int *mode;
@ -329,7 +357,7 @@ parse_reg (src, mode, reg)
return res;
}
char *
static char *
parse_exp (s, op)
char *s;
expressionS *op;
@ -724,7 +752,7 @@ get_operand (ptr, mode, dst)
static char *
get_operands (opcode, op_end, operand)
opcode_entry_type *opcode;
const opcode_entry_type *opcode;
char *op_end;
op_type *operand;
{
@ -825,7 +853,6 @@ static opcode_entry_type *
get_specific (opcode, operands)
opcode_entry_type *opcode;
op_type *operands;
{
opcode_entry_type *this_try = opcode;
int found = 0;
@ -1288,7 +1315,6 @@ md_atof (type, litP, sizeP)
LITTLENUM_TYPE words[MAX_LITTLENUMS];
LITTLENUM_TYPE *wordP;
char *t;
char *atof_ieee ();
switch (type)
{
@ -1351,9 +1377,9 @@ md_parse_option (c, arg)
{
case 'z':
if (!strcmp (arg, "8001"))
s_segm ();
s_segm (0);
else if (!strcmp (arg, "8002"))
s_unseg ();
s_unseg (0);
else
{
as_bad (_("invalid architecture -z%s"), arg);
@ -1378,13 +1404,6 @@ Z8K options:\n\
-z8002 generate unsegmented code\n"));
}
void
tc_aout_fix_to_chars ()
{
printf (_("call to tc_aout_fix_to_chars \n"));
abort ();
}
void
md_convert_frag (headers, seg, fragP)
object_headers *headers ATTRIBUTE_UNUSED;

View File

@ -1,3 +1,14 @@
2002-12-13 Alan Modra <amodra@bigpond.net.au>
* z8kgen.c: Include "libiberty.h".
(opt, args, toks): Fix initializer warnings.
(chewname): Make "name" a char **. Return mnemonic trimmed of
operands.
(gas): Improve emitted "DO NOT EDIT" warning. Format emitted
opcode_entry_type, and make "nicename" and "name" const. Make
z8k_table const too. Formatting. Generate idx as gas needs it.
* z8k-opc.h: Regenerate.
2002-12-08 Stephane Carrez <stcarrez@nerim.fr>
* m68hc11-dis.c (print_indexed_operand): Fix PC-relative address

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff