On Mon, Nov 30, 2020 at 10:34 AM Yu, Yu-cheng <yu-cheng.yu@xxxxxxxxx> wrote: > > On 11/30/2020 10:26 AM, Nick Desaulniers wrote: > > (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). > > > > I have not built with LLVM, but think it probably will work as well. I > will test it. > > >> 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. > > > > I will add that to the document. > > Thanks, > Yu-cheng The baseline LLVM version is 10.0.1, which is good enough for clang -fcf-protection=full, llvm-readelf -n, LLD's .note.gnu.property handling (the LLD option is `-z force-ibt`, though) -- 宋方睿