11bb92983SJerome Forissier/* SPDX-License-Identifier: BSD-2-Clause */ 2a0fdab65SJens Wiklander/* 3a0fdab65SJens Wiklander * Copyright (c) 2014, STMicroelectronics International N.V. 4a0fdab65SJens Wiklander */ 5a0fdab65SJens Wiklander 6*3513f961SJerome Forissier#if defined(CFG_UNWIND) && defined(__arm__) 7827be46cSJerome Forissier#define UNWIND(...) __VA_ARGS__ 8827be46cSJerome Forissier#else 9827be46cSJerome Forissier#define UNWIND(...) 10827be46cSJerome Forissier#endif 11827be46cSJerome Forissier 120095acfcSJens Wiklander .macro FUNC name colon section=default 130095acfcSJens Wiklander .ifc \section\(),default 148473540dSJens Wiklander .section .text.\name 150095acfcSJens Wiklander .else 160095acfcSJens Wiklander .section \section , "ax" , %progbits 170095acfcSJens Wiklander .endif 18a0fdab65SJens Wiklander .global \name 19a0fdab65SJens Wiklander .type \name , %function 20ff7c2da6SJerome Forissier .balign 4 21a0fdab65SJens Wiklander \name \colon 22*3513f961SJerome ForissierUNWIND( .fnstart) 23a0fdab65SJens Wiklander .endm 24a0fdab65SJens Wiklander 25a0fdab65SJens Wiklander .macro DATA name colon 26a0fdab65SJens Wiklander .global \name 27a0fdab65SJens Wiklander .type \name , %object 28a0fdab65SJens Wiklander \name \colon 29a0fdab65SJens Wiklander .endm 30a0fdab65SJens Wiklander 310095acfcSJens Wiklander .macro LOCAL_FUNC name colon section=default 320095acfcSJens Wiklander .ifc \section\(),default 338473540dSJens Wiklander .section .text.\name 340095acfcSJens Wiklander .else 350095acfcSJens Wiklander .section \section , "ax" , %progbits 360095acfcSJens Wiklander .endif 37a0fdab65SJens Wiklander .type \name , %function 38ff7c2da6SJerome Forissier .balign 4 39a0fdab65SJens Wiklander \name \colon 40*3513f961SJerome ForissierUNWIND( .fnstart) 41a0fdab65SJens Wiklander .endm 42a0fdab65SJens Wiklander 43a0fdab65SJens Wiklander .macro LOCAL_DATA name colon 44a0fdab65SJens Wiklander .type \name , %object 45a0fdab65SJens Wiklander \name \colon 46a0fdab65SJens Wiklander .endm 47a0fdab65SJens Wiklander 48a0fdab65SJens Wiklander .macro END_DATA name 49a0fdab65SJens Wiklander .size \name , .-\name 50a0fdab65SJens Wiklander .endm 51a0fdab65SJens Wiklander 52a0fdab65SJens Wiklander .macro END_FUNC name 53*3513f961SJerome ForissierUNWIND( .fnend) 54a0fdab65SJens Wiklander .size \name , .-\name 55a0fdab65SJens Wiklander .endm 56