1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | |
3 | /* Various wrappers to make the kernel .S file build in user-space: */ |
4 | |
5 | // memcpy_orig is being defined as SYM_L_LOCAL but we need it |
6 | #define SYM_FUNC_START_LOCAL(name) \ |
7 | SYM_START(name, SYM_L_GLOBAL, SYM_A_ALIGN) |
8 | #define memcpy MEMCPY /* don't hide glibc's memcpy() */ |
9 | #define altinstr_replacement text |
10 | #define globl p2align 4; .globl |
11 | #define _ASM_EXTABLE_FAULT(x, y) |
12 | #define _ASM_EXTABLE(x, y) |
13 | |
14 | #include "../../arch/x86/lib/memcpy_64.S" |
15 | /* |
16 | * We need to provide note.GNU-stack section, saying that we want |
17 | * NOT executable stack. Otherwise the final linking will assume that |
18 | * the ELF stack should not be restricted at all and set it RWX. |
19 | */ |
20 | .section .note.GNU-stack,"" ,@progbits |
21 | |