11bb92983SJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */ 2a0fdab65SJens Wiklander/* 3a0fdab65SJens Wiklander * Copyright (c) 2014, STMicroelectronics International N.V. 4*762a5553SJens Wiklander * Copyright (c) 2020, Linaro Limited 5a0fdab65SJens Wiklander */ 6a0fdab65SJens Wiklander 73513f961SJerome Forissier#if defined(CFG_UNWIND) && defined(__arm__) 8827be46cSJerome Forissier#define UNWIND(...) __VA_ARGS__ 9827be46cSJerome Forissier#else 10827be46cSJerome Forissier#define UNWIND(...) 11827be46cSJerome Forissier#endif 12827be46cSJerome Forissier 13*762a5553SJens Wiklander .macro FUNC name colon section=default align=4 140095acfcSJens Wiklander .ifc \section\(),default 158473540dSJens Wiklander .section .text.\name 160095acfcSJens Wiklander .else 170095acfcSJens Wiklander .section \section , "ax" , %progbits 180095acfcSJens Wiklander .endif 19a0fdab65SJens Wiklander .global \name 20a0fdab65SJens Wiklander .type \name , %function 21*762a5553SJens Wiklander .balign \align 22a0fdab65SJens Wiklander \name \colon 233513f961SJerome ForissierUNWIND( .fnstart) 24a0fdab65SJens Wiklander .endm 25a0fdab65SJens Wiklander 26a0fdab65SJens Wiklander .macro DATA name colon 27a0fdab65SJens Wiklander .global \name 28a0fdab65SJens Wiklander .type \name , %object 29a0fdab65SJens Wiklander \name \colon 30a0fdab65SJens Wiklander .endm 31a0fdab65SJens Wiklander 32*762a5553SJens Wiklander .macro LOCAL_FUNC name colon section=default align=4 330095acfcSJens Wiklander .ifc \section\(),default 348473540dSJens Wiklander .section .text.\name 350095acfcSJens Wiklander .else 360095acfcSJens Wiklander .section \section , "ax" , %progbits 370095acfcSJens Wiklander .endif 38a0fdab65SJens Wiklander .type \name , %function 39*762a5553SJens Wiklander .balign \align 40a0fdab65SJens Wiklander \name \colon 413513f961SJerome ForissierUNWIND( .fnstart) 42a0fdab65SJens Wiklander .endm 43a0fdab65SJens Wiklander 44a0fdab65SJens Wiklander .macro LOCAL_DATA name colon 45a0fdab65SJens Wiklander .type \name , %object 46a0fdab65SJens Wiklander \name \colon 47a0fdab65SJens Wiklander .endm 48a0fdab65SJens Wiklander 49a0fdab65SJens Wiklander .macro END_DATA name 50a0fdab65SJens Wiklander .size \name , .-\name 51a0fdab65SJens Wiklander .endm 52a0fdab65SJens Wiklander 53a0fdab65SJens Wiklander .macro END_FUNC name 543513f961SJerome ForissierUNWIND( .fnend) 55a0fdab65SJens Wiklander .size \name , .-\name 56a0fdab65SJens Wiklander .endm 57