[PATCH] D58102: Support X86 Control-flow Enforcement Technology (CET) in LLD
Rui Ueyama via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 27 10:42:12 PST 2019
ruiu added a comment.
is given, verify that each input file contains a .note section with an appropriate bit, and discard .note section after reading it (so we don't merge them or copy them to the output file). If there's a file that doesn't contain a proper .note, report an error and stop.
>> 3. When creating an input file, create a .note section with appropriate contents when `--intel-cet` was given.
>>
>> Specifically, I don't think you should add a new member `X86Feature1AND` to `Config` because with the above scheme you are no longer merging .note section so you don't need to collect bits. `mergeAggregateMetadata` should also be deleted from the patch.
>>
>> What do you think?
>
> This will not work because it makes it impossible to roll out CET support in a distribution incrementally. Each time a library is CET-enabled (because all its assembler files are properly annotated), all reverse dependencies would have to be patched and their build systems changed to pass a new flag to the linker.
>
> How does lld handle the non-executable stack flag? From a developer point of view, the CET processing is supposed to be very similar.
You made a good point: lld actually uses only the command line flag to enable non-executable stack flag for the same reason.
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