aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog17
-rw-r--r--gas/config/tc-z8k.c93
2 files changed, 71 insertions, 39 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 4447873..3ffb9ca 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-z8k.c b/gas/config/tc-z8k.c
index bde058a..a5dfb58 100644
--- a/gas/config/tc-z8k.c
+++ b/gas/config/tc-z8k.c
@@ -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);
@@ -1379,13 +1405,6 @@ Z8K options:\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;
segT seg ATTRIBUTE_UNUSED;