blob: 9ed065fb3d97aebb9f1e6b34eda10a2323ed8dc8 [file] [log] [blame]
Imre Kis3b32e7b2020-11-24 00:33:01 +01001/* SPDX-License-Identifier: BSD-2-Clause */
2/*
Gabor Tothc9d54f62024-06-06 14:09:14 +02003 * Copyright (c) 2024, Arm Limited and Contributors. All rights reserved.
Imre Kis3b32e7b2020-11-24 00:33:01 +01004 * Copyright (c) 2014, STMicroelectronics International N.V.
5 */
6
Gabor Tothc9d54f62024-06-06 14:09:14 +02007#if defined(BTI_ENABLED)
8#include <arm64_bti.S>
9
10#define BTI(...) __VA_ARGS__
11#else
12#define BTI(...)
13#endif
14
Imre Kis3b32e7b2020-11-24 00:33:01 +010015 .macro FUNC name colon section=default
16 .ifc \section\(),default
17 .section .text.\name
18 .else
19 .section \section , "ax" , %progbits
20 .endif
21 .global \name
22 .type \name , %function
23 .balign 4
24 \name \colon
Gabor Tothc9d54f62024-06-06 14:09:14 +020025 BTI(bti c)
Imre Kis3b32e7b2020-11-24 00:33:01 +010026 .endm
27
28 .macro DATA name colon
29 .global \name
30 .type \name , %object
31 \name \colon
32 .endm
33
34 .macro LOCAL_FUNC name colon section=default
35 .ifc \section\(),default
36 .section .text.\name
37 .else
38 .section \section , "ax" , %progbits
39 .endif
40 .type \name , %function
41 .balign 4
42 \name \colon
Gabor Tothc9d54f62024-06-06 14:09:14 +020043 BTI(bti c)
Imre Kis3b32e7b2020-11-24 00:33:01 +010044 .endm
45
46 .macro LOCAL_DATA name colon
47 .type \name , %object
48 \name \colon
49 .endm
50
51 .macro END_DATA name
52 .size \name , .-\name
53 .endm
54
55 .macro END_FUNC name
56 .size \name , .-\name
57 .endm