This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [AArch64] Print spaces after commas in addresses
- From: "Richard Earnshaw (lists)" <Richard dot Earnshaw at arm dot com>
- To: binutils at sourceware dot org, richard dot sandiford at arm dot com
- Date: Tue, 20 Sep 2016 14:55:41 +0100
- Subject: Re: [AArch64] Print spaces after commas in addresses
- Authentication-results: sourceware.org; auth=none
- References: <87bmzo598z.fsf@e105548-lin.cambridge.arm.com>
On 16/09/16 13:17, Richard Sandiford wrote:
> I got an off-list request to make the AArch64 disassembler print
> spaces after commas in addresses. This patch does that.
>
> The same code is used to print operands in "did you mean" errors,
> so to keep things consistent, the patch also prints spaces between
> operands in those messages.
>
> Due to the large size, I've compressed the patch and included just
> the opcodes/ and gas/config parts as plain text.
>
> Tested on aarch64-linux-gnu. OK to install?
>
OK.
R.
> Thanks,
> Richard
>
>
> opcodes/
> * aarch64-opc.c (print_immediate_offset_address): Print spaces
> after commas in addresses.
> (aarch64_print_operand): Likewise.
>
> gas/
> * config/tc-aarch64.c (print_operands): Print spaces between
> operands.
> * testsuite/gas/aarch64/ilp32-basic.d: Expect spaces after ","
> in addresses.
> * testsuite/gas/aarch64/ldst-reg-imm-post-ind.d: Likewise.
> * testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d: Likewise.
> * testsuite/gas/aarch64/ldst-reg-pair.d: Likewise.
> * testsuite/gas/aarch64/ldst-reg-reg-offset.d: Likewise.
> * testsuite/gas/aarch64/ldst-reg-uns-imm.d: Likewise.
> * testsuite/gas/aarch64/ldst-reg-unscaled-imm.d: Likewise.
> * testsuite/gas/aarch64/reloc-insn.d: Likewise.
> * testsuite/gas/aarch64/sve.d: Likewise.
> * testsuite/gas/aarch64/symbol.d: Likewise.
> * testsuite/gas/aarch64/system.d: Likewise.
> * testsuite/gas/aarch64/tls-desc.d: Likewise.
> * testsuite/gas/aarch64/sve-invalid.l: Expect spaces after ","
> in suggested alternatives.
> * testsuite/gas/aarch64/verbose-error.l: Likewise.
>
> ld/
> * testsuite/ld-aarch64/emit-relocs-28.d: Expect spaces after ","
> in addresses.
> * testsuite/ld-aarch64/emit-relocs-301-be.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-301.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-302-be.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-302.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-310-be.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-310.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-313.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-515-be.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-515.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-516-be.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-516.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-531.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-532.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-533.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-534.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-535.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-536.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-537.d: Likewise.
> * testsuite/ld-aarch64/emit-relocs-538.d: Likewise.
> * testsuite/ld-aarch64/erratum835769.d: Likewise.
> * testsuite/ld-aarch64/erratum843419.d: Likewise.
> * testsuite/ld-aarch64/farcall-b-plt.d: Likewise.
> * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise.
> * testsuite/ld-aarch64/gc-plt-relocs.d: Likewise.
> * testsuite/ld-aarch64/ifunc-21.d: Likewise.
> * testsuite/ld-aarch64/ifunc-7c.d: Likewise.
> * testsuite/ld-aarch64/tls-desc-ie.d: Likewise.
> * testsuite/ld-aarch64/tls-large-desc-be.d: Likewise.
> * testsuite/ld-aarch64/tls-large-desc.d: Likewise.
> * testsuite/ld-aarch64/tls-large-ie-be.d: Likewise.
> * testsuite/ld-aarch64/tls-large-ie.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-all.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-gd-ie.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-gdesc-ie-2.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-gdesc-ie.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-large-desc-ie-be.d: Likewise.
> * testsuite/ld-aarch64/tls-relax-large-desc-ie.d: Likewise.
> * testsuite/ld-aarch64/tls-tiny-desc.d: Likewise.
> * testsuite/ld-aarch64/tls-tiny-gd.d: Likewise.
>
> diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
> index 9963c61..5d53064 100644
> --- a/gas/config/tc-aarch64.c
> +++ b/gas/config/tc-aarch64.c
> @@ -4478,7 +4478,7 @@ print_operands (char *buf, const aarch64_opcode *opcode,
>
> /* Delimiter. */
> if (str[0] != '\0')
> - strcat (buf, i == 0 ? " " : ",");
> + strcat (buf, i == 0 ? " " : ", ");
>
> /* Append the operand string. */
> strcat (buf, str);
> diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
> index 0f0795b..adc34e2 100644
> --- a/opcodes/aarch64-opc.c
> +++ b/opcodes/aarch64-opc.c
> @@ -2864,20 +2864,20 @@ print_immediate_offset_address (char *buf, size_t size,
> if (opnd->addr.writeback)
> {
> if (opnd->addr.preind)
> - snprintf (buf, size, "[%s,#%d]!", base, opnd->addr.offset.imm);
> + snprintf (buf, size, "[%s, #%d]!", base, opnd->addr.offset.imm);
> else
> - snprintf (buf, size, "[%s],#%d", base, opnd->addr.offset.imm);
> + snprintf (buf, size, "[%s], #%d", base, opnd->addr.offset.imm);
> }
> else
> {
> if (opnd->shifter.operator_present)
> {
> assert (opnd->shifter.kind == AARCH64_MOD_MUL_VL);
> - snprintf (buf, size, "[%s,#%d,mul vl]",
> + snprintf (buf, size, "[%s, #%d, mul vl]",
> base, opnd->addr.offset.imm);
> }
> else if (opnd->addr.offset.imm)
> - snprintf (buf, size, "[%s,#%d]", base, opnd->addr.offset.imm);
> + snprintf (buf, size, "[%s, #%d]", base, opnd->addr.offset.imm);
> else
> snprintf (buf, size, "[%s]", base);
> }
> @@ -2912,15 +2912,15 @@ print_register_offset_address (char *buf, size_t size,
> if (print_extend_p)
> {
> if (print_amount_p)
> - snprintf (tb, sizeof (tb), ",%s #%" PRIi64, shift_name,
> + snprintf (tb, sizeof (tb), ", %s #%" PRIi64, shift_name,
> opnd->shifter.amount);
> else
> - snprintf (tb, sizeof (tb), ",%s", shift_name);
> + snprintf (tb, sizeof (tb), ", %s", shift_name);
> }
> else
> tb[0] = '\0';
>
> - snprintf (buf, size, "[%s,%s%s]", base, offset, tb);
> + snprintf (buf, size, "[%s, %s%s]", base, offset, tb);
> }
>
> /* Generate the string representation of the operand OPNDS[IDX] for OPCODE
> @@ -3433,7 +3433,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
> case AARCH64_OPND_ADDR_UIMM12:
> name = get_64bit_int_reg_name (opnd->addr.base_regno, 1);
> if (opnd->addr.offset.imm)
> - snprintf (buf, size, "[%s,#%d]", name, opnd->addr.offset.imm);
> + snprintf (buf, size, "[%s, #%d]", name, opnd->addr.offset.imm);
> else
> snprintf (buf, size, "[%s]", name);
> break;
>