This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [AArch64] Print spaces after commas in addresses


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;
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]