[Patch, AArch64] Bug fix in pc-relative literal load instruction handling

Yufeng Zhang Yufeng.Zhang@arm.com
Mon Nov 12 10:06:00 GMT 2012


My bad!  Send to the wrong mailing list by mistake.  Sorry!

Yufeng

On 11/05/12 19:12, Yufeng Zhang wrote:
> Hi,
>
> This patch fixes a bug in the AArch64 GAS in handling pc-relative
> literal load instructions where 16-byte literal is involved, e.g.
>
> LDR Q0, =0xdeadbeef
>
> The literal pool generator silently rejected the generation of 16-byte
> literals, and then the generic part of GAS got confused and issued error
> message of "redefined symbol cannot be used on reloc".
>
> Is it OK to commit?
>
> Thanks,
> Yufeng
>
>
> gas/
>
> 2012-10-18  Yufeng Zhang<yufeng.zhang@arm.com>
>
>           * config/tc-aarch64.c (exp_has_bignum_p): Remove.
>           (my_get_expression): Not get rid bignums.
>           (s_ltorg): Increase the range of 'align'.
>           (programmer_friendly_fixup): Allow bignum expression.
>
> gas/testsuite/
>
> 2012-10-18  Yufeng Zhang<yufeng.zhang@arm.com>
>
>           * gas/aarch64/illegal.s: Add test for unaccepted LDR literal.
>           * gas/aarch64/illegal.l: Update.
>           * gas/aarch64/programmer-friendly.s: Add tests for LDR literal with
>           the auto-generation of lteral in pool.
>           * gas/aarch64/programmer-friendly.d: Update.




More information about the Newlib mailing list