aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2001-09-30 09:20:55 +0000
committerStephane Carrez <stcarrez@nerim.fr>2001-09-30 09:20:55 +0000
commit27302d639bda09c0a8812fcbf6b584a29a2912e9 (patch)
treedd26c0bf2f37a5b380326480354a62a3383e7371
parentfc847f15909726b3659ec495e9cf3ff9c76e545b (diff)
downloadfsf-binutils-gdb-27302d639bda09c0a8812fcbf6b584a29a2912e9.zip
fsf-binutils-gdb-27302d639bda09c0a8812fcbf6b584a29a2912e9.tar.gz
fsf-binutils-gdb-27302d639bda09c0a8812fcbf6b584a29a2912e9.tar.bz2
* 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 1718bc1..db601d0 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-27 Nick Clifton <nickc@cambridge.redhat.com>
* config/tc-arm.c: Add missing prototypes.
diff --git a/gas/config/tc-m68hc11.c b/gas/config/tc-m68hc11.c
index 7ac37c2..43fe878 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