diff options
author | Cooper Qu <cooper.qu@linux.alibaba.com> | 2020-08-31 11:27:54 +0800 |
---|---|---|
committer | Lifang Xia <lifang_xia@c-sky.com> | 2020-08-31 11:32:18 +0800 |
commit | e2e82b115cc0eed19dd88f87970e6c0417141baa (patch) | |
tree | 7741b2e70f9f4caceeaedb5d9466077fa7430955 /opcodes/csky-dis.c | |
parent | dd221981c470f4fcb3164ce6d47bcd7726b559a4 (diff) | |
download | gdb-e2e82b115cc0eed19dd88f87970e6c0417141baa.zip gdb-e2e82b115cc0eed19dd88f87970e6c0417141baa.tar.gz gdb-e2e82b115cc0eed19dd88f87970e6c0417141baa.tar.bz2 |
CSKY: Refine operand format error reporting.
Rename SET_ERROR_NUMBER to SET_ERROR_STRING, and add SET_ERROR_INTEGER
to report error message which pass an integer argument.
gas/
* config/tc-csky.c (csky_error_state): New member 'arg_int'.
(SET_ERROR_NUMBER): Rename to SET_ERROR_STRING.
(SET_ERROR_INTEGER): New.
(err_formats): Add error format for ERROR_FREG_OVER_RANGE and
ERROR_VREG_OVER_RANGE.
(csky_show_error): Pass an integer argument for some error
numbers.
(parse_exp): Call SET_ERROR_STRING instead of SET_ERROR_NUMBER.
(parse_rt): Likewise.
(parse_type_ctrlreg): Likewise.
(csky_get_reg_val): Likewise.
(is_reglist_legal): Likewise.
(is_freglist_legal): Likewise.
(is_reglist_dash_comma_legal): Likewise.
(is_reg_lshift_illegal): Likewise.
(is_psr_bit): Likewise.
(parse_type_cpreg): Likewise.
(parse_type_cpcreg): Likewise.
(parse_type_areg): Likewise.
(parse_type_freg): Likewise.
(parse_ldst_imm): Likewise and call SET_ERROR_INTEGER.
(get_operand_value): Likewise.
(parse_operands_op): Likewise and call is_imm_within_range,
is_imm_within_range_ext and is_oimm_within_range.
(md_assemble): Likewise.
(is_imm_within_range): New.
(is_imm_within_range_ext): Rename from is_imm_over_range.
(is_oimm_within_range): Rename from is_oimm_over_range.
(v2_work_add_sub): Call SET_ERROR_INTEGER.
(csky_rolc): call is_imm_within_range instead of
is_imm_over_range.
opcodes/
* csky-dis.c (csky_output_operand): Assign dis_info.value for
OPRND_TYPE_VREG.
Diffstat (limited to 'opcodes/csky-dis.c')
-rw-r--r-- | opcodes/csky-dis.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/opcodes/csky-dis.c b/opcodes/csky-dis.c index 6becad0..09eed4b 100644 --- a/opcodes/csky-dis.c +++ b/opcodes/csky-dis.c @@ -342,6 +342,7 @@ csky_output_operand (char *str, struct operand const *oprnd, strcat (str, buf); break; case OPRND_TYPE_VREG: + dis_info.value = value; sprintf (buf, "vr%d", (int)value); strcat (str, buf); break; |