* [PATCH 1/2] opcodes/loongarch: Remove unused code @ 2022-07-19 3:03 WANG Xuerui 2022-07-19 3:03 ` [PATCH 2/2] opcodes/loongarch: Implement style support in the disassembler WANG Xuerui 2022-08-01 7:07 ` [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui 0 siblings, 2 replies; 6+ messages in thread From: WANG Xuerui @ 2022-07-19 3:03 UTC (permalink / raw) To: binutils; +Cc: Chenghua Xu, Zhensong Liu, Xi Ruoyao, WANG Xuerui From: WANG Xuerui <git@xen0n.name> include/ChangeLog * opcode/loongarch.h (loongarch_parse_dis_options): Remove unused declarations. (loongarch_disassemble_one): Likewise. opcodes/ChangeLog * loongarch-dis.c (loongarch_parse_dis_options): Remove unused code. (my_print_address_func): Likewise. (loongarch_disassemble_one): Likewise. Signed-off-by: WANG Xuerui <git@xen0n.name> --- include/ChangeLog | 6 ++++++ include/opcode/loongarch.h | 5 ----- opcodes/ChangeLog | 7 +++++++ opcodes/loongarch-dis.c | 35 ----------------------------------- 4 files changed, 13 insertions(+), 40 deletions(-) diff --git a/include/ChangeLog b/include/ChangeLog index f8f7747640e..40cb717906c 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,9 @@ +2022-07-19 WANG Xuerui <git@xen0n.name> + + * opcode/loongarch.h (loongarch_parse_dis_options): Remove + unused declarations. + (loongarch_disassemble_one): Likewise. + 2022-07-08 Nick Clifton <nickc@redhat.com> * 2.39 branch created. diff --git a/include/opcode/loongarch.h b/include/opcode/loongarch.h index c3922348a56..448e5e0bbc4 100644 --- a/include/opcode/loongarch.h +++ b/include/opcode/loongarch.h @@ -172,11 +172,6 @@ dec2 : [1-9][0-9]? extern void loongarch_eliminate_adjacent_repeat_char (char *dest, char c); - extern int loongarch_parse_dis_options (const char *opts_in); - extern void loongarch_disassemble_one ( - int64_t pc, insn_t insn, - int (*fprintf_func) (void *stream, const char *format, ...), void *stream); - extern const char *const loongarch_r_normal_name[32]; extern const char *const loongarch_r_lp64_name[32]; extern const char *const loongarch_r_lp64_name1[32]; diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 3889a80f427..0ad9b5a53f8 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2022-07-19 WANG Xuerui <git@xen0n.name> + + * loongarch-dis.c (loongarch_parse_dis_options): Remove + unused code. + (my_print_address_func): Likewise. + (loongarch_disassemble_one): Likewise. + 2022-07-18 Claudiu Zissulescu <claziss@synopsys.com> * disassemble.c (disassemble_init_for_target): Set diff --git a/opcodes/loongarch-dis.c b/opcodes/loongarch-dis.c index 9dcf989d0df..c7c95e9e90f 100644 --- a/opcodes/loongarch-dis.c +++ b/opcodes/loongarch-dis.c @@ -305,38 +305,3 @@ with the -M switch (multiple options should be separated by commas):\n")); numeric Print numeric register names, rather than ABI names.\n")); fprintf (stream, _("\n")); } - -int -loongarch_parse_dis_options (const char *opts_in) -{ - return parse_loongarch_dis_options (opts_in); -} - -static void -my_print_address_func (bfd_vma addr, struct disassemble_info *dinfo) -{ - dinfo->fprintf_func (dinfo->stream, "0x%llx", (long long) addr); -} - -void -loongarch_disassemble_one (int64_t pc, insn_t insn, - int (*fprintf_func) (void *stream, - const char *format, ...), - void *stream) -{ - static struct disassemble_info my_disinfo = - { - .print_address_func = my_print_address_func, - }; - static int not_init_yet = 1; - if (not_init_yet) - { - loongarch_parse_dis_options (NULL); - not_init_yet = 0; - } - - my_disinfo.fprintf_func = fprintf_func; - my_disinfo.stream = stream; - my_disinfo.target = pc; - disassemble_one (insn, &my_disinfo); -} -- 2.35.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 2/2] opcodes/loongarch: Implement style support in the disassembler 2022-07-19 3:03 [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui @ 2022-07-19 3:03 ` WANG Xuerui 2022-08-01 7:07 ` [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui 1 sibling, 0 replies; 6+ messages in thread From: WANG Xuerui @ 2022-07-19 3:03 UTC (permalink / raw) To: binutils; +Cc: Chenghua Xu, Zhensong Liu, Xi Ruoyao, WANG Xuerui From: WANG Xuerui <git@xen0n.name> Update the LoongArch disassembler to supply style information to the disassembler output. The output formatting remains unchanged. opcodes/ChangeLog: * disassemble.c (disassemble_init_for_target): Set created_styled_output for LoongArch targets. * loongarch-dis.c (dis_one_arg): Use fprintf_styled_func instead of fprintf_func throughout. (disassemble_one): Likewise. Signed-off-by: WANG Xuerui <git@xen0n.name> --- opcodes/ChangeLog | 8 ++++++++ opcodes/disassemble.c | 5 +++++ opcodes/loongarch-dis.c | 41 ++++++++++++++++++++++------------------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 0ad9b5a53f8..41fd5a7f6ec 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,11 @@ +2022-07-19 WANG Xuerui <git@xen0n.name> + + * disassemble.c (disassemble_init_for_target): Set + created_styled_output for LoongArch targets. + * loongarch-dis.c (dis_one_arg): Use fprintf_styled_func + instead of fprintf_func throughout. + (disassemble_one): Likewise. + 2022-07-19 WANG Xuerui <git@xen0n.name> * loongarch-dis.c (loongarch_parse_dis_options): Remove diff --git a/opcodes/disassemble.c b/opcodes/disassemble.c index e2e5a2608d6..b12b12f24f1 100644 --- a/opcodes/disassemble.c +++ b/opcodes/disassemble.c @@ -645,6 +645,11 @@ disassemble_init_for_target (struct disassemble_info * info) info->skip_zeroes = 16; break; #endif +#ifdef ARCH_loongarch + case bfd_arch_loongarch: + info->created_styled_output = true; + break; +#endif #ifdef ARCH_tic4x case bfd_arch_tic4x: info->skip_zeroes = 32; diff --git a/opcodes/loongarch-dis.c b/opcodes/loongarch-dis.c index c7c95e9e90f..1624313d25a 100644 --- a/opcodes/loongarch-dis.c +++ b/opcodes/loongarch-dis.c @@ -130,7 +130,7 @@ dis_one_arg (char esc1, char esc2, const char *bit_field, if (esc1) { if (need_comma) - info->fprintf_func (info->stream, ", "); + info->fprintf_styled_func (info->stream, dis_style_text, ", "); need_comma = 1; imm = loongarch_decode_imm (bit_field, insn, 1); u_imm = loongarch_decode_imm (bit_field, insn, 0); @@ -139,35 +139,38 @@ dis_one_arg (char esc1, char esc2, const char *bit_field, switch (esc1) { case 'r': - info->fprintf_func (info->stream, "%s", loongarch_r_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_r_disname[u_imm]); break; case 'f': - info->fprintf_func (info->stream, "%s", loongarch_f_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_f_disname[u_imm]); break; case 'c': switch (esc2) { case 'r': - info->fprintf_func (info->stream, "%s", loongarch_cr_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_cr_disname[u_imm]); break; default: - info->fprintf_func (info->stream, "%s", loongarch_c_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_c_disname[u_imm]); } break; case 'v': - info->fprintf_func (info->stream, "%s", loongarch_v_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_v_disname[u_imm]); break; case 'x': - info->fprintf_func (info->stream, "%s", loongarch_x_disname[u_imm]); + info->fprintf_styled_func (info->stream, dis_style_register, "%s", loongarch_x_disname[u_imm]); break; case 'u': - info->fprintf_func (info->stream, "0x%x", u_imm); + info->fprintf_styled_func (info->stream, dis_style_immediate, "0x%x", u_imm); break; case 's': if (imm == 0) - info->fprintf_func (info->stream, "%d", imm); + info->fprintf_styled_func (info->stream, dis_style_immediate, "%d", imm); else - info->fprintf_func (info->stream, "%d(0x%x)", imm, u_imm); + { + info->fprintf_styled_func (info->stream, dis_style_immediate, "%d", imm); + info->fprintf_styled_func (info->stream, dis_style_text, "(0x%x)", u_imm); + } switch (esc2) { case 'b': @@ -221,32 +224,32 @@ disassemble_one (insn_t insn, struct disassemble_info *info) for (i = 31; 0 <= i; i--) { if (t & insn) - info->fprintf_func (info->stream, "1"); + info->fprintf_styled_func (info->stream, dis_style_text, "1"); else - info->fprintf_func (info->stream, "0"); + info->fprintf_styled_func (info->stream, dis_style_text, "0"); if (have_space[i]) - info->fprintf_func (info->stream, " "); + info->fprintf_styled_func (info->stream, dis_style_text, " "); t = t >> 1; } - info->fprintf_func (info->stream, "\t"); + info->fprintf_styled_func (info->stream, dis_style_text, "\t"); #endif if (!opc) { info->insn_type = dis_noninsn; - info->fprintf_func (info->stream, "0x%08x", insn); + info->fprintf_styled_func (info->stream, dis_style_immediate, "0x%08x", insn); return; } info->insn_type = dis_nonbranch; - info->fprintf_func (info->stream, "%-12s", opc->name); + info->fprintf_styled_func (info->stream, dis_style_mnemonic, "%-12s", opc->name); { char *fake_args = xmalloc (strlen (opc->format) + 1); const char *fake_arg_strs[MAX_ARG_NUM_PLUS_2]; strcpy (fake_args, opc->format); if (0 < loongarch_split_args_by_comma (fake_args, fake_arg_strs)) - info->fprintf_func (info->stream, "\t"); + info->fprintf_styled_func (info->stream, dis_style_text, "\t"); info->private_data = &insn; loongarch_foreach_args (opc->format, fake_arg_strs, dis_one_arg, info); free (fake_args); @@ -254,11 +257,11 @@ disassemble_one (insn_t insn, struct disassemble_info *info) if (info->insn_type == dis_branch || info->insn_type == dis_condbranch /* Someother if we have extra info to print. */) - info->fprintf_func (info->stream, "\t#"); + info->fprintf_styled_func (info->stream, dis_style_text, "\t#"); if (info->insn_type == dis_branch || info->insn_type == dis_condbranch) { - info->fprintf_func (info->stream, " "); + info->fprintf_styled_func (info->stream, dis_style_text, " "); info->print_address_func (info->target, info); } } -- 2.35.1 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] opcodes/loongarch: Remove unused code 2022-07-19 3:03 [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui 2022-07-19 3:03 ` [PATCH 2/2] opcodes/loongarch: Implement style support in the disassembler WANG Xuerui @ 2022-08-01 7:07 ` WANG Xuerui 2022-08-02 7:02 ` liuzhensong 1 sibling, 1 reply; 6+ messages in thread From: WANG Xuerui @ 2022-08-01 7:07 UTC (permalink / raw) To: WANG Xuerui, binutils; +Cc: Chenghua Xu, Zhensong Liu, Xi Ruoyao, WANG Xuerui On 2022/7/19 11:03, WANG Xuerui wrote: > From: WANG Xuerui <git@xen0n.name> > > include/ChangeLog > * opcode/loongarch.h (loongarch_parse_dis_options): Remove > unused declarations. > (loongarch_disassemble_one): Likewise. > > opcodes/ChangeLog > * loongarch-dis.c (loongarch_parse_dis_options): Remove > unused code. > (my_print_address_func): Likewise. > (loongarch_disassemble_one): Likewise. > > Signed-off-by: WANG Xuerui <git@xen0n.name> > --- > include/ChangeLog | 6 ++++++ > include/opcode/loongarch.h | 5 ----- > opcodes/ChangeLog | 7 +++++++ > opcodes/loongarch-dis.c | 35 ----------------------------------- > 4 files changed, 13 insertions(+), 40 deletions(-) A gentle ping for this patchset. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] opcodes/loongarch: Remove unused code 2022-08-01 7:07 ` [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui @ 2022-08-02 7:02 ` liuzhensong 2022-08-02 7:11 ` WANG Xuerui 0 siblings, 1 reply; 6+ messages in thread From: liuzhensong @ 2022-08-02 7:02 UTC (permalink / raw) To: WANG Xuerui, binutils; +Cc: Chenghua Xu, Xi Ruoyao, WANG Xuerui 在 2022/8/1 下午3:07, WANG Xuerui 写道: > On 2022/7/19 11:03, WANG Xuerui wrote: >> From: WANG Xuerui <git@xen0n.name> >> >> include/ChangeLog >> * opcode/loongarch.h (loongarch_parse_dis_options): Remove >> unused declarations. >> (loongarch_disassemble_one): Likewise. >> >> opcodes/ChangeLog >> * loongarch-dis.c (loongarch_parse_dis_options): Remove >> unused code. >> (my_print_address_func): Likewise. >> (loongarch_disassemble_one): Likewise. >> >> Signed-off-by: WANG Xuerui <git@xen0n.name> >> --- >> include/ChangeLog | 6 ++++++ >> include/opcode/loongarch.h | 5 ----- >> opcodes/ChangeLog | 7 +++++++ >> opcodes/loongarch-dis.c | 35 ----------------------------------- >> 4 files changed, 13 insertions(+), 40 deletions(-) > > A gentle ping for this patchset. This patchsethas been verified that there is no problem but cannot be directly patched. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] opcodes/loongarch: Remove unused code 2022-08-02 7:02 ` liuzhensong @ 2022-08-02 7:11 ` WANG Xuerui 2022-08-02 7:33 ` liuzhensong 0 siblings, 1 reply; 6+ messages in thread From: WANG Xuerui @ 2022-08-02 7:11 UTC (permalink / raw) To: liuzhensong, WANG Xuerui, binutils; +Cc: Chenghua Xu, Xi Ruoyao, WANG Xuerui On 2022/8/2 15:02, liuzhensong wrote: > > > 在 2022/8/1 下午3:07, WANG Xuerui 写道: >> On 2022/7/19 11:03, WANG Xuerui wrote: >>> From: WANG Xuerui <git@xen0n.name> >>> >>> include/ChangeLog >>> * opcode/loongarch.h (loongarch_parse_dis_options): Remove >>> unused declarations. >>> (loongarch_disassemble_one): Likewise. >>> >>> opcodes/ChangeLog >>> * loongarch-dis.c (loongarch_parse_dis_options): Remove >>> unused code. >>> (my_print_address_func): Likewise. >>> (loongarch_disassemble_one): Likewise. >>> >>> Signed-off-by: WANG Xuerui <git@xen0n.name> >>> --- >>> include/ChangeLog | 6 ++++++ >>> include/opcode/loongarch.h | 5 ----- >>> opcodes/ChangeLog | 7 +++++++ >>> opcodes/loongarch-dis.c | 35 ----------------------------------- >>> 4 files changed, 13 insertions(+), 40 deletions(-) >> >> A gentle ping for this patchset. > > This patchsethas been verified that there is no problem but cannot be > directly patched. Do you mean I should rebase it by "cannot be directly patched"? Or is there any other places that I have missed (e.g. testsuite)? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] opcodes/loongarch: Remove unused code 2022-08-02 7:11 ` WANG Xuerui @ 2022-08-02 7:33 ` liuzhensong 0 siblings, 0 replies; 6+ messages in thread From: liuzhensong @ 2022-08-02 7:33 UTC (permalink / raw) To: WANG Xuerui, binutils; +Cc: Chenghua Xu, Xi Ruoyao, WANG Xuerui 在 2022/8/2 下午3:11, WANG Xuerui 写道: > On 2022/8/2 15:02, liuzhensong wrote: >> >> >> 在 2022/8/1 下午3:07, WANG Xuerui 写道: >>> On 2022/7/19 11:03, WANG Xuerui wrote: >>>> From: WANG Xuerui <git@xen0n.name> >>>> >>>> include/ChangeLog >>>> * opcode/loongarch.h (loongarch_parse_dis_options): Remove >>>> unused declarations. >>>> (loongarch_disassemble_one): Likewise. >>>> >>>> opcodes/ChangeLog >>>> * loongarch-dis.c (loongarch_parse_dis_options): Remove >>>> unused code. >>>> (my_print_address_func): Likewise. >>>> (loongarch_disassemble_one): Likewise. >>>> >>>> Signed-off-by: WANG Xuerui <git@xen0n.name> >>>> --- >>>> include/ChangeLog | 6 ++++++ >>>> include/opcode/loongarch.h | 5 ----- >>>> opcodes/ChangeLog | 7 +++++++ >>>> opcodes/loongarch-dis.c | 35 ----------------------------------- >>>> 4 files changed, 13 insertions(+), 40 deletions(-) >>> >>> A gentle ping for this patchset. >> >> This patchsethas been verified that there is no problem but cannot be >> directly patched. > Do you mean I should rebase it by "cannot be directly patched"? Or is > there any other places that I have missed (e.g. testsuite)? May be rebased only. (Some errors caused by non-conflicting issues.) ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-08-02 7:33 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-07-19 3:03 [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui 2022-07-19 3:03 ` [PATCH 2/2] opcodes/loongarch: Implement style support in the disassembler WANG Xuerui 2022-08-01 7:07 ` [PATCH 1/2] opcodes/loongarch: Remove unused code WANG Xuerui 2022-08-02 7:02 ` liuzhensong 2022-08-02 7:11 ` WANG Xuerui 2022-08-02 7:33 ` liuzhensong
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).