[PATCH] Delete AArch64II::MO_CONSTPOOL.
Rafael Espíndola via llvm-commits
llvm-commits at lists.llvm.org
Fri May 27 04:57:14 PDT 2016
On 27 May 2016 at 04:11, Keith Walker <Keith.Walker at arm.com> wrote:
> The use of a GOT is not something that is supported for all addressing/linking models; the "Base Platform ABI for the ARM Architecture" sections 2.4/2.5 mentions some alternative addressing/linking models (that specification is for ARM not AArch64 .... but the concepts are still valid for AArch64). Obviously testing the change on a platform which is based on a SVr4 linking model which uses a GOT is going to work.
> I can confirm that armlink when linking for bare-metal does not allow a GOT as it is not part of the linking model for bare-metal that it supports.
> Would the generation of GOT entries work for a Windows style addressing/linking model (if we had an AArch64 Windows)?
Windows has explicit import/export and no weak symbols.
> I am therefore thinking that the use of MO_CONSTPOOL or GOT should be a selectable option depending on what addressing/linking model you are generating code for (i.e. it is not something special to armlink but rather the addressing/linking model).
I don't think so. It is a really odd restriction to not support got
entries in some cases. I am actually tempted to ask for this to be a
local change, after all, not having this makes for better results for
other linkers and easier to maintain code for us.
A rebased patch is attached. Tim, what do you think? If we have to
keep it I will move it behind a flag.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 9216 bytes
Desc: not available
More information about the llvm-commits