On Tue, Mar 16, 2021 at 01:05:30PM -0700, Yu, Yu-cheng wrote: > On 3/16/2021 12:57 PM, Peter Zijlstra wrote: > > On Tue, Mar 16, 2021 at 10:12:39AM -0700, Yu, Yu-cheng wrote: > > > Alternatively, there is another compiler-defined macro _CET_ENDBR that can > > > be used. We can put the following in calling.h: > > > > > > #ifdef __CET__ > > > #include <cet.h> > > > #else > > > #define _CET_ENDBR > > > #endif > > > > > > and then use _CET_ENDBR in other files. How is that? > > > > > > In the future, in case we have kernel-mode IBT, ENDBR macros are also needed > > > for other assembly files. > > > > Can we please call it IBT_ENDBR or just ENDBR. CET is a horrible name, > > seeing how it is not specific. > > > > _CET_ENDBR is from the compiler and we cannot change it. We can do: > > #define ENDBR _CET_ENDBR > > How is that? Do we really want to include compiler headers? AFAICT it's not a built-in. Also what about clang? This thing seems trivial enough to build our own, it's a single damn instruction. That also means we don't have to worry about changes to header files we don't control.