[PATCH] D37407: WholeProgramDevirt: Add import/export support for targets without absolute symbol constants.

Peter Collingbourne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 5 16:36:33 PDT 2017


pcc added a comment.

In https://reviews.llvm.org/D37407#861548, @eugenis wrote:

> Ok, looks fine to me.
>  Could you elaborate on the linker issue - is it that some of the uses of these constants can not be represented with existing relocation types? Or is it missing functionality in the existing linkers?


Some of the former, some of the latter. For CFI for example, the ROT instruction encodes the immediate as 5 bits split in two, and as far as I know there is no relocation that can encode that. For WholeProgramDevirt we will want to use LDR to read from the vtable, and for at least one of the LDR forms it looks like there is a `R_ARM_THM_ABS5` relocation that could be relevant, but there is no toolchain support for it. http://llvm-cs.pcc.me.uk/?q=R_ARM_THM_ABS5


https://reviews.llvm.org/D37407





More information about the llvm-commits mailing list