/* SPDX-License-Identifier: GPL-2.0 */
/*
* Copyright (C) 2019 Arm Limited
* Original author: Dave Martin <Dave.Martin@arm.com>
*/
#ifndef ASSEMBLER_H
#define ASSEMBLER_H
#define NT_GNU_PROPERTY_TYPE_0 5
#define GNU_PROPERTY_AARCH64_FEATURE_1_AND 0 xc0000000
/* Bits for GNU_PROPERTY_AARCH64_FEATURE_1_BTI */
#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1 U << 0 )
#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC (1 U << 1 )
.macro startfn name:req
.globl \name
\name:
.macro endfn
.size \name, . - \name
.type \name, @function
.purgem endfn
.endm
.endm
.macro emit_aarch64_feature_1_and
.pushsection .note.gnu.property, "a"
.align 3
.long 2 f - 1 f
.long 6 f - 3 f
.long NT_GNU_PROPERTY_TYPE_0
1 : .string "GNU"
2 :
.align 3
3 : .long GNU_PROPERTY_AARCH64_FEATURE_1_AND
.long 5 f - 4 f
4 :
#if BTI
.long GNU_PROPERTY_AARCH64_FEATURE_1_PAC | \
GNU_PROPERTY_AARCH64_FEATURE_1_BTI
#else
.long 0
#endif
5 :
.align 3
6 :
.popsection
.endm
.macro paciasp
hint 0 x19
.endm
.macro autiasp
hint 0 x1d
.endm
.macro __bti_
hint 0 x20
.endm
.macro __bti_c
hint 0 x22
.endm
.macro __bti_j
hint 0 x24
.endm
.macro __bti_jc
hint 0 x26
.endm
.macro bti what=
__bti_\what
.endm
#endif /* ! ASSEMBLER_H */
Messung V0.5 in Prozent C=92 H=97 G=94
¤ Dauer der Verarbeitung: 0.7 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland