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