clang
20.0.0git
Toggle main menu visibility
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
z
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
u
v
w
Enumerations
_
a
b
c
f
g
i
l
m
n
o
p
r
s
t
v
Enumerator
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
Examples
lib
Headers
cet.h
Go to the documentation of this file.
1
/*===------ cet.h -Control-flow Enforcement Technology feature ------------===
2
* Add x86 feature with IBT and/or SHSTK bits to ELF program property if they
3
* are enabled. Otherwise, contents in this header file are unused. This file
4
* is mainly design for assembly source code which want to enable CET.
5
*
6
* Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
7
* See https://llvm.org/LICENSE.txt for license information.
8
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
9
*
10
*===-----------------------------------------------------------------------===
11
*/
12
#ifndef __CET_H
13
#define __CET_H
14
15
#ifdef __ASSEMBLER__
16
17
#ifndef __CET__
18
# define _CET_ENDBR
19
#endif
20
21
#ifdef __CET__
22
23
# ifdef __LP64__
24
# if __CET__ & 0x1
25
# define _CET_ENDBR endbr64
26
# else
27
# define _CET_ENDBR
28
# endif
29
# else
30
# if __CET__ & 0x1
31
# define _CET_ENDBR endbr32
32
# else
33
# define _CET_ENDBR
34
# endif
35
# endif
36
37
38
# ifdef __LP64__
39
# define __PROPERTY_ALIGN 3
40
# else
41
# define __PROPERTY_ALIGN 2
42
# endif
43
44
.pushsection
".note.gnu.property"
,
"a"
45
.p2align __PROPERTY_ALIGN
46
.long 1f - 0f
/* name length. */
47
.long 4f - 1f
/* data length. */
48
/* NT_GNU_PROPERTY_TYPE_0. */
49
.long 5
/* note type. */
50
0:
51
.asciz
"GNU"
/* vendor name. */
52
1:
53
.p2align __PROPERTY_ALIGN
54
/* GNU_PROPERTY_X86_FEATURE_1_AND. */
55
.long 0xc0000002
/* pr_type. */
56
.long 3f - 2f
/* pr_datasz. */
57
2:
58
/* GNU_PROPERTY_X86_FEATURE_1_XXX. */
59
.long __CET__
60
3:
61
.p2align __PROPERTY_ALIGN
62
4:
63
.popsection
64
#endif
65
#endif
66
#endif
Generated on Mon Mar 31 2025 21:06:52 for clang by
1.9.6