mirror of
git://sourceware.org/git/glibc.git
synced 2025-03-06 20:58:33 +01:00
LoongArch: Redefine macro LEAF/ENTRY.
The following usage of macro LEAF/ENTRY are all feasible: 1. LEAF(fcn) -- the align value of fcn is .align 3(default value) 2. LEAF(fcn, 6) -- the align value of fcn is .align 6
This commit is contained in:
parent
084fb31bc2
commit
57b2c14272
1 changed files with 25 additions and 9 deletions
|
@ -39,16 +39,32 @@
|
|||
#define FREG_L fld.d
|
||||
#define FREG_S fst.d
|
||||
|
||||
/* Declare leaf routine. */
|
||||
#define LEAF(symbol) \
|
||||
.text; \
|
||||
.globl symbol; \
|
||||
.align 3; \
|
||||
cfi_startproc; \
|
||||
.type symbol, @function; \
|
||||
symbol:
|
||||
/* Declare leaf routine.
|
||||
The usage of macro LEAF/ENTRY is as follows:
|
||||
1. LEAF(fcn) -- the align value of fcn is .align 3 (default value)
|
||||
2. LEAF(fcn, 6) -- the align value of fcn is .align 6
|
||||
*/
|
||||
#define LEAF_IMPL(symbol, aln, ...) \
|
||||
.text; \
|
||||
.globl symbol; \
|
||||
.align aln; \
|
||||
.type symbol, @function; \
|
||||
symbol: \
|
||||
cfi_startproc;
|
||||
|
||||
|
||||
#define LEAF(...) LEAF_IMPL(__VA_ARGS__, 3)
|
||||
#define ENTRY(...) LEAF(__VA_ARGS__)
|
||||
|
||||
#define LEAF_NO_ALIGN(symbol) \
|
||||
.text; \
|
||||
.globl symbol; \
|
||||
.type symbol, @function; \
|
||||
symbol: \
|
||||
cfi_startproc;
|
||||
|
||||
#define ENTRY_NO_ALIGN(symbol) LEAF_NO_ALIGN(symbol)
|
||||
|
||||
#define ENTRY(symbol) LEAF (symbol)
|
||||
|
||||
/* Mark end of function. */
|
||||
#undef END
|
||||
|
|
Loading…
Add table
Reference in a new issue