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