| 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 | |