[PATCH] aarch64: increase alias candidate limit in aarch64-gen
Muhammad Kamran
muhammad.kamran@arm.com
Fri Aug 21 10:45:11 GMT 2026
On 21/08/2026 11:36, Richard Earnshaw (foss) wrote:
> On 19/08/2026 09:23, Muhammad Kamran wrote:
>> Increase max_num_aliases from 32 to 64 so that aarch64-gen can
>> accommodate the additional HINT-space alias added for FEAT_PAuth_LR.
>>
>
> What were the symptoms of the overflow? A build time failure, a run-time assert, or crash, or just garbled output?
>
The overflow shows up as a build-time failure while regenerating the
generated AArch64 opcode files. The FEAT_PAuth_LR HINT-space alias
(yet to be posted) increases the number of aliases matching the same
encoding group, and find_alias_opcode trips:
assert (i < max_num_aliases)
For instance,
$ aarch64-gen --gen-dis > $(binutils)/opcodes/aarch64-dis-2.c
aarch64-gen: /work/src/binutils/opcodes/aarch64-gen.c:813:
find_alias_opcode: Assertion `i < max_num_aliases' failed.
Aborted
>
>> The generated disassembler alias preference list can otherwise exceed
>> the old fixed limit.
>> ---
>> opcodes/aarch64-gen.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/opcodes/aarch64-gen.c b/opcodes/aarch64-gen.c
>> index a387cd4a1e0..abe4147f2c4 100644
>> --- a/opcodes/aarch64-gen.c
>> +++ b/opcodes/aarch64-gen.c
>> @@ -789,8 +789,8 @@ opcode_node *
>> find_alias_opcode (const aarch64_opcode *opcode)
>> {
>> int i;
>> - /* Assume maximum of 32 disassemble preference candidates. */
>> - const int max_num_aliases = 32;
>> + /* Assume maximum of 64 disassemble preference candidates. */
>> + const int max_num_aliases = 64;
>> const aarch64_opcode *ent;
>> const aarch64_opcode *preferred[max_num_aliases + 1];
>> opcode_node head, **next;
>
More information about the Binutils
mailing list