(In response to https://lore.kernel.org/lkml/20201110162211.9207-2-yu-cheng.yu@xxxxxxxxx/)
These need to be enabled to build a CET-enabled kernel, and Binutils v2.31
and GCC v8.1 or later are required to build a CET kernel.
What about LLVM? Surely CrOS might be of interest to ship this on (we ship the
equivalent for aarch64 on Android).
An application's CET capability is marked in its ELF header and can be
verified from the following command output, in the NT_GNU_PROPERTY_TYPE_0
field:
readelf -n <application> | grep SHSTK
properties: x86 feature: IBT, SHSTK
Same for llvm-readelf.