summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2001-09-30 09:22:10 +0000
committerStephane Carrez <stcarrez@nerim.fr>2001-09-30 09:22:10 +0000
commit882b762d69641d8573d820483722c089872a5106 (patch)
treedf9c9404580248d81591a6f2952dd123b9e6012e
parent85546c93a79587c9908c9c9c17e96bb09deae21f (diff)
downloadbinutils-redhat-882b762d69641d8573d820483722c089872a5106.tar.gz
* config/tc-m68hc11.c (cmp_opcode): Define prototype.
(print_opcode_format, skip_whites): Likewise. (convert_branch, m68hc11_new_insn): Likewise. (build_dbranch_insn, build_indexed_byte): Likewise. (build_reg_mode, find, find_opcode): Likewise. (print_insn_format): Fix call to print_opcode_format. (md_assemble): Fix call to build_dbranch_insn.
-rw-r--r--gas/ChangeLog10
-rw-r--r--gas/config/tc-m68hc11.c18
2 files changed, 26 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index bf7b6b2e77..c400c24ce7 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,13 @@
+2001-09-30 Stephane Carrez <Stephane.Carrez@worldnet.fr>
+
+ * config/tc-m68hc11.c (cmp_opcode): Define prototype.
+ (print_opcode_format, skip_whites): Likewise.
+ (convert_branch, m68hc11_new_insn): Likewise.
+ (build_dbranch_insn, build_indexed_byte): Likewise.
+ (build_reg_mode, find, find_opcode): Likewise.
+ (print_insn_format): Fix call to print_opcode_format.
+ (md_assemble): Fix call to build_dbranch_insn.
+
2001-09-19 Andreas Schwab <schwab@suse.de>
* config/tc-m68k.c: Include "dwarf2dbg.h".
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index 23ef33577f..16c3fd69a1 100644
--- a/gas/config/tc-m68hc11.c
+++ b/gas/config/tc-m68hc11.c
@@ -152,6 +152,10 @@ static alias alias_opcodes[] = {
/* Local functions. */
static register_id reg_name_search PARAMS ((char *));
static register_id register_name PARAMS ((void));
+static int cmp_opcode PARAMS ((struct m68hc11_opcode *,
+ struct m68hc11_opcode *));
+static char *print_opcode_format PARAMS ((struct m68hc11_opcode *, int));
+static char *skip_whites PARAMS ((char *));
static int check_range PARAMS ((long, int));
static void print_opcode_list PARAMS ((void));
static void get_default_target PARAMS ((void));
@@ -159,12 +163,22 @@ static void print_insn_format PARAMS ((char *));
static int get_operand PARAMS ((operand *, int, long));
static void fixup8 PARAMS ((expressionS *, int, int));
static void fixup16 PARAMS ((expressionS *, int, int));
+static unsigned char convert_branch PARAMS ((unsigned char));
+static char *m68hc11_new_insn PARAMS ((int));
+static void build_dbranch_insn PARAMS ((struct m68hc11_opcode *,
+ operand *, int, int));
+static int build_indexed_byte PARAMS ((operand *, int, int));
+static int build_reg_mode PARAMS ((operand *, int));
+
+static struct m68hc11_opcode *find
+ PARAMS ((struct m68hc11_opcode_def *, operand *, int));
static struct m68hc11_opcode *find_opcode
PARAMS ((struct m68hc11_opcode_def *, operand *, int *));
static void build_jump_insn
PARAMS ((struct m68hc11_opcode *, operand *, int, int));
static void build_insn
PARAMS ((struct m68hc11_opcode *, operand *, int));
+static int relaxable_symbol PARAMS ((symbolS *));
/* Controls whether relative branches can be turned into long branches.
When the relative offset is too large, the insn are changed:
@@ -803,7 +817,7 @@ print_insn_format (name)
{
char *fmt;
- fmt = print_opcode_format (opcode, 0, 0);
+ fmt = print_opcode_format (opcode, 0);
sprintf (buf, "\t%-5.5s %s", opcode->name, fmt);
as_bad ("%s", buf);
@@ -2359,7 +2373,7 @@ md_assemble (str)
relative and must be in the range -256..255 (9-bits). */
if ((opcode->format & M6812_XBCC_MARKER)
&& (opcode->format & M6811_OP_JUMP_REL))
- build_dbranch_insn (opcode, operands, nb_operands);
+ build_dbranch_insn (opcode, operands, nb_operands, branch_optimize);
/* Relative jumps instructions are taken care of separately. We have to make
sure that the relative branch is within the range -128..127. If it's out