[PATCH] D37580: Add Position Independent Pages (PIP) relocation model

Stephen Crane via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 12:38:58 PDT 2017


rinon added subscribers: vlad.tsyrklevich, kcc, pcc, eugenis, vishwath, yln, llvm-commits.
rinon added a comment.

This patch set (https://reviews.llvm.org/D37580, https://reviews.llvm.org/D37581, https://reviews.llvm.org/D37582, https://reviews.llvm.org/D37583, https://reviews.llvm.org/D37584, https://reviews.llvm.org/D37585, https://reviews.llvm.org/D37586, https://reviews.llvm.org/D37587) is a first draft of the pagerando implementation described in http://lists.llvm.org/pipermail/llvm-dev/2017-June/113794.html.

I'm not entirely sure that a new relocation model is the best way to approach this. Pagerando address references are similar to a couple of other ARM-specific reloc models (i.e. ROPI) and are definitely not PC-relative PIC, so I decided to start by specifying it as a new reloc model. However, pagerando modules are a mix of PIC and PIP models depending on the function, so a new reloc model may be too broad. Alternatives are just marking the function and teaching the backend how to lower references for functions marked for pagerando. Feedback on whether to use the new reloc model or a different approach would be appreciated.


https://reviews.llvm.org/D37580





More information about the llvm-commits mailing list