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

Yufeng Zhang Yufeng.Zhang@arm.com
Mon Nov 5 19:24:00 GMT 2012


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?



2012-11-05  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.


2012-11-05  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 
          the auto-generation of lteral in pool.
          * gas/aarch64/programmer-friendly.d: Update.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: load-literal.patch
Type: text/x-patch
Size: 4875 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20121105/bb46ee65/attachment.bin>

More information about the Binutils mailing list