Browse Source

x86: Enable Intel CET

When Intel CET is enabled, we need to include <cet.h> in assembly codes
to mark Intel CET support and place _CET_ENDBR at the function entry.
tags/v0.3.15
H.J. Lu 4 years ago
parent
commit
53ee0b76bb
3 changed files with 13 additions and 2 deletions
  1. +9
    -0
      common.h
  2. +2
    -1
      common_x86.h
  3. +2
    -1
      common_x86_64.h

+ 9
- 0
common.h View File

@@ -416,6 +416,15 @@ please https://github.com/xianyi/OpenBLAS/issues/246
#include "common_alpha.h"
#endif

#if (defined(ARCH_X86) || defined(ARCH_X86_64)) && defined(__CET__) && defined(__has_include)
#if __has_include(<cet.h>)
#include <cet.h>
#endif
#endif
#ifndef _CET_ENDBR
#define _CET_ENDBR
#endif

#ifdef ARCH_X86
#include "common_x86.h"
#endif


+ 2
- 1
common_x86.h View File

@@ -340,7 +340,8 @@ REALNAME:
.align 16; \
.globl REALNAME ;\
.type REALNAME, @function; \
REALNAME:
REALNAME: \
_CET_ENDBR

#ifdef PROFILE
#define PROFCODE call mcount


+ 2
- 1
common_x86_64.h View File

@@ -451,7 +451,8 @@ REALNAME:
.align 512; \
.globl REALNAME ;\
.type REALNAME, @function; \
REALNAME:
REALNAME: \
_CET_ENDBR

#ifdef PROFILE
#define PROFCODE call *mcount@GOTPCREL(%rip)


Loading…
Cancel
Save