Re: [PATCH] aarch64: increase alias candidate limit in aarch64-gen

"Richard Earnshaw (foss)" <[email protected]>
Newsgroups gmane.comp.gnu.binutils
Message-ID <[email protected]>
On 21/08/2026 11:45, Muhammad Kamran wrote:
> 
> 
> 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
> 

OK, thanks. Patch pushed.

R.

>>
>>> 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;
>>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.