[PATCH] ARM: Wrap PIC GOT adjustment in unspec
Richard Earnshaw
rearnsha@buzzard.freeserve.co.uk
Thu Mar 20 22:20:00 GMT 2003
Combine sometimes tries to merge the pic base calculation instructions
with a single use of the pic base. It normally fails to do this and
restores everything as is. Unfortunately, sometimes when it fails it
tries to split the mess it has made up (by calling split_insns) and
manages to make something that appears to be reasonable, but isn't (since
it's dropped a label). This then causes the compiler to output a
reference to a missing label and causes the assembler to choke.
Fixed by wrapping the PIC adjustment insns in an UNSPEC.
Fixes PR 10066. Bootstrapped on arm-linux and installed on the trunk and
3.3 branch.
R.
2003-03-20 Richard Earnshaw <rearnsha@arm.com>
PR 10066
* arm.md (UNSPEC_PIC_BASE): New constant.
(pic_add_dot_plus_four): Wrap with unspec.
(pic_add_dot_plus_eight): Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: picwrap.patch
Type: text/x-patch
Size: 2622 bytes
Desc: picwrap.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20030320/d8e927d5/attachment.bin>
More information about the Gcc-patches
mailing list