From db43dfdfa8bc2b938582aef3d87e43594c13ee50 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Wed, 9 Oct 2024 03:36:26 +0000 Subject: automatic import of glibc --- LoongArch-Redefine-macro-LEAF-ENTRY.patch | 65 +++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 LoongArch-Redefine-macro-LEAF-ENTRY.patch (limited to 'LoongArch-Redefine-macro-LEAF-ENTRY.patch') diff --git a/LoongArch-Redefine-macro-LEAF-ENTRY.patch b/LoongArch-Redefine-macro-LEAF-ENTRY.patch new file mode 100644 index 0000000..414ba83 --- /dev/null +++ b/LoongArch-Redefine-macro-LEAF-ENTRY.patch @@ -0,0 +1,65 @@ +From 8dcd8c837df2e3cf81675522487697522f1542f8 Mon Sep 17 00:00:00 2001 +From: dengjianbo +Date: Tue, 8 Aug 2023 14:15:42 +0800 +Subject: [PATCH 01/29] 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 + +Signed-off-by: Peng Fan +Signed-off-by: ticat_fp +--- + sysdeps/loongarch/sys/asm.h | 36 ++++++++++++++++++++++++++---------- + 1 file changed, 26 insertions(+), 10 deletions(-) + +diff --git a/sysdeps/loongarch/sys/asm.h b/sysdeps/loongarch/sys/asm.h +index d1a279b8..c5eb8afa 100644 +--- a/sysdeps/loongarch/sys/asm.h ++++ b/sysdeps/loongarch/sys/asm.h +@@ -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: +- +-#define ENTRY(symbol) LEAF (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) ++ + + /* Mark end of function. */ + #undef END +-- +2.33.0 + -- cgit v1.2.3