[PATCH] arm64: Remove AArch64 X30 redundant register alias

Robin Murphy robin.murphy at arm.com
Wed Jul 14 04:38:50 PDT 2021


On 2021-07-14 10:54, Marc Zyngier wrote:
> On Tue, 13 Jul 2021 14:29:45 +0100,
> Naohiro Tamura <naohirot at fujitsu.com> wrote:
>>
>> This trivial patch is my first one to the kernel community.
>> Please advice me if something is not right.
>>
>> -- >8 --
>> Subject: arm64: Remove AArch64 X30 redundant register alias
>>
>> This patch removes a redundant AArch64 register alias of X30.
>> According to the GNU as manual [1], "ip0, ip1, lr and fp are
>> automatically defined to alias to X16, X17, X30 and X29
>> respectively".
>>
>> [1] https://sourceware.org/binutils/docs/as/AArch64-Directives.html
>>
>> Signed-off-by: Naohiro Tamura <naohirot at fujitsu.com>
>> ---
>>   arch/arm64/include/asm/assembler.h | 5 -----
>>   1 file changed, 5 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/assembler.h b/arch/arm64/include/asm/assembler.h
>> index 89faca0e740d..c66efc1b5406 100644
>> --- a/arch/arm64/include/asm/assembler.h
>> +++ b/arch/arm64/include/asm/assembler.h
>> @@ -155,11 +155,6 @@ alternative_endif
>>   9999:	x;					\
>>   	_asm_extable	9999b, l
>>   
>> -/*
>> - * Register aliases.
>> - */
>> -lr	.req	x30		// link register
>> -
>>   /*
>>    * Vector entry
>>    */
> 
> I seem to vaguely remember that this isn't always defined, see [1] for
> a recent example. Dropping it altogether may end-up being pretty
> disruptive.

Right, the built-in alias was only introduced a few years ago in 
binutils 2.29 (where it initially caused problems itself by being a bit 
overzealous[2]), but our current minimum version is 2.23, so we still 
need this for older but still-supported toolchains (e.g. I expect the 
Linaro GCC 7-based releases with binutils 2.28 are still being used).

Robin.

[2] https://www.spinics.net/lists/arm-kernel/msg599929.html

> 
> Thanks,
> 
> 	M.
> 
> [1] https://lore.kernel.org/linux-arm-kernel/20210526213128.GB20442@willie-the-truck
> 



More information about the linux-arm-kernel mailing list