select HAVE_MEMBLOCK
select HAVE_MEMBLOCK_NODE_MAP
select HAVE_MOD_ARCH_SPECIFIC
+ select HAVE_OPROFILE
select HAVE_PERF_EVENTS
select HAVE_SYSCALL_TRACEPOINTS
+ select HAVE_UNDERSCORE_SYMBOL_PREFIX
select IRQ_DOMAIN
select MODULES_USE_ELF_RELA
select OF
#define _LINUX_LINKAGE_H
#include <linux/compiler.h>
+#include <linux/stringify.h>
++#include <linux/export.h>
#include <asm/linkage.h>
#ifdef __cplusplus
#define asmlinkage CPP_ASMLINKAGE
#endif
- #ifdef CONFIG_SYMBOL_PREFIX
- #define __SYMBOL_NAME(x) CONFIG_SYMBOL_PREFIX __stringify(x)
- #else
- #define __SYMBOL_NAME(x) __stringify(x)
- #endif
-
+#ifndef cond_syscall
- #define cond_syscall(x) asm(".weak\t" __SYMBOL_NAME(x) \
- "\n\t.set\t" __SYMBOL_NAME(x) "," __SYMBOL_NAME(sys_ni_syscall));
++#define cond_syscall(x) asm( \
++ ".weak " VMLINUX_SYMBOL_STR(x) "\n\t" \
++ ".set " VMLINUX_SYMBOL_STR(x) "," \
++ VMLINUX_SYMBOL_STR(sys_ni_syscall))
+#endif
+
+#ifndef SYSCALL_ALIAS
- #define SYSCALL_ALIAS(alias, name) \
- asm ("\t.globl " __SYMBOL_NAME(alias) \
- "\n\t.set\t" __SYMBOL_NAME(alias) "," __SYMBOL_NAME(name))
++#define SYSCALL_ALIAS(alias, name) asm( \
++ ".globl " VMLINUX_SYMBOL_STR(alias) "\n\t" \
++ ".set " VMLINUX_SYMBOL_STR(alias) "," \
++ VMLINUX_SYMBOL_STR(name))
+#endif
+
#define __page_aligned_data __section(.data..page_aligned) __aligned(PAGE_SIZE)
#define __page_aligned_bss __section(.bss..page_aligned) __aligned(PAGE_SIZE)