mirror of
https://github.com/bminor/binutils-gdb.git
synced 2025-12-26 01:07:52 +00:00
RISC-V: Print comma and tabs as the "text" style
On the RISC-V disassembler, some separators have non-text style when printed with another word with another style. This commit splits those, making sure that those comma and tabs are printed with the "text" style. opcodes/ChangeLog: * riscv-dis.c (print_insn_args): Split and print the comma as text. (riscv_disassemble_insn): Split and print tabs as text. (riscv_disassemble_data): Likewise.
This commit is contained in:
@@ -382,9 +382,12 @@ print_insn_args (const char *oparg, insn_t l, bfd_vma pc, disassemble_info *info
|
||||
(int)EXTRACT_RVV_OFFSET (l));
|
||||
break;
|
||||
case 'm':
|
||||
if (! EXTRACT_OPERAND (VMASK, l))
|
||||
print (info->stream, dis_style_register, ",%s",
|
||||
riscv_vecm_names_numeric[0]);
|
||||
if (!EXTRACT_OPERAND (VMASK, l))
|
||||
{
|
||||
print (info->stream, dis_style_text, ",");
|
||||
print (info->stream, dis_style_register, "%s",
|
||||
riscv_vecm_names_numeric[0]);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
@@ -766,7 +769,8 @@ riscv_disassemble_insn (bfd_vma memaddr, insn_t word, disassemble_info *info)
|
||||
case 4:
|
||||
case 8:
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".%dbyte\t", insnlen);
|
||||
(info->stream, dis_style_assembler_directive, ".%dbyte", insnlen);
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_immediate,
|
||||
"0x%llx", (unsigned long long) word);
|
||||
break;
|
||||
@@ -774,7 +778,8 @@ riscv_disassemble_insn (bfd_vma memaddr, insn_t word, disassemble_info *info)
|
||||
{
|
||||
int i;
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".byte\t");
|
||||
(info->stream, dis_style_assembler_directive, ".byte");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
for (i = 0; i < insnlen; ++i)
|
||||
{
|
||||
if (i > 0)
|
||||
@@ -962,21 +967,24 @@ riscv_disassemble_data (bfd_vma memaddr ATTRIBUTE_UNUSED,
|
||||
case 1:
|
||||
info->bytes_per_line = 6;
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".byte\t");
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_immediate, "0x%02x", (unsigned) data);
|
||||
(info->stream, dis_style_assembler_directive, ".byte");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_immediate,
|
||||
"0x%02x", (unsigned)data);
|
||||
break;
|
||||
case 2:
|
||||
info->bytes_per_line = 8;
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".short\t");
|
||||
(info->stream, dis_style_assembler_directive, ".short");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_immediate, "0x%04x", (unsigned) data);
|
||||
break;
|
||||
case 4:
|
||||
info->bytes_per_line = 8;
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".word\t");
|
||||
(info->stream, dis_style_assembler_directive, ".word");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_immediate, "0x%08lx",
|
||||
(unsigned long) data);
|
||||
@@ -984,7 +992,8 @@ riscv_disassemble_data (bfd_vma memaddr ATTRIBUTE_UNUSED,
|
||||
case 8:
|
||||
info->bytes_per_line = 8;
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_assembler_directive, ".dword\t");
|
||||
(info->stream, dis_style_assembler_directive, ".dword");
|
||||
(*info->fprintf_styled_func) (info->stream, dis_style_text, "\t");
|
||||
(*info->fprintf_styled_func)
|
||||
(info->stream, dis_style_immediate, "0x%016llx",
|
||||
(unsigned long long) data);
|
||||
|
||||
Reference in New Issue
Block a user