mirror of
https://gcc.gnu.org/git/gcc.git
synced 2025-01-26 14:24:18 +08:00
switchcontext.S: Include <cet.h> and use _CET_ENDBR
When __CET__ is defined, <cet.h> should be included to add Intel CET marker to object file and _CET_ENDBR should be placed at function entry to indicate indirect branch target. * libdruntime/config/x86/switchcontext.S: Include <cet.h> if __CET__ is defined. (_CET_ENDBR): New. Define if __CET__ is not defined. (fiber_switchContext): Add _CET_ENDBR after .cfi_startproc.
This commit is contained in:
parent
08c1d39d3a
commit
9e20d0f0ce
@ -1,3 +1,10 @@
|
||||
2020-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* libdruntime/config/x86/switchcontext.S: Include <cet.h> if
|
||||
__CET__ is defined.
|
||||
(_CET_ENDBR): New. Define if __CET__ is not defined.
|
||||
(fiber_switchContext): Add _CET_ENDBR after .cfi_startproc.
|
||||
|
||||
2020-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* Makefile.am (AM_MAKEFLAGS): Add $(CET_FLAGS) to GCC FLAGS.
|
||||
|
@ -24,6 +24,12 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
|
||||
#include "../common/threadasm.S"
|
||||
|
||||
#ifdef __CET__
|
||||
# include <cet.h>
|
||||
#else
|
||||
# define _CET_ENDBR
|
||||
#endif
|
||||
|
||||
#if defined(__i386__)
|
||||
|
||||
.text
|
||||
@ -32,6 +38,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
||||
.align 16
|
||||
CSYM(fiber_switchContext):
|
||||
.cfi_startproc
|
||||
_CET_ENDBR
|
||||
// save current stack state
|
||||
push %ebp
|
||||
mov %esp, %ebp
|
||||
@ -66,6 +73,7 @@ CSYM(fiber_switchContext):
|
||||
.align 16
|
||||
CSYM(fiber_switchContext):
|
||||
.cfi_startproc
|
||||
_CET_ENDBR
|
||||
// Save current stack state.save current stack state
|
||||
push %rbp
|
||||
mov %rsp, %rbp
|
||||
|
Loading…
Reference in New Issue
Block a user