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