diff options
author | Stephane Carrez <stcarrez@nerim.fr> | 2001-09-30 09:22:10 +0000 |
---|---|---|
committer | Stephane Carrez <stcarrez@nerim.fr> | 2001-09-30 09:22:10 +0000 |
commit | 882b762d69641d8573d820483722c089872a5106 (patch) | |
tree | df9c9404580248d81591a6f2952dd123b9e6012e | |
parent | 85546c93a79587c9908c9c9c17e96bb09deae21f (diff) | |
download | binutils-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/ChangeLog | 10 | ||||
-rw-r--r-- | gas/config/tc-m68hc11.c | 18 |
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 |