[PATCH] D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD

Xiang Zhang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 13 18:26:41 PST 2019


xiangzhangllvm added a comment.

Hi MaskRay:
I have checked your concerns, the SPLT really have problems to work with retpolineplt and IFUNC, because they all change the old PLT, I tend to deal with these conflicts in next time, because this patch is already big.
I'll disable the IBT which may generate SPLT to resolve these conflict temporarily when retpolineplt or IFUNC enabled.
And, yes, I have considered making a class for the SPLT, class PltSection : public SyntheticSection, it overrides the writeTo function.
In fact, The SPLT is standard for Second PLT, when the CET's IBT feature enabled, we split the old PLT to PLT + SPLT, dynamic call first call to SPLT then jump to PLT, the main reason we add a SPLT is that we need insert
ENDBRANCH instructions in the old PLT and we don't want to change PLT size at first.
Thank you very much!


Repository:
  rLLD LLVM Linker

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58102/new/

https://reviews.llvm.org/D58102





More information about the llvm-commits mailing list