asm/page.h 的文件内容

本文介绍在高版本Linux内核中,由于已移除asm/page.h,如何通过自定义page.h文件来实现内存页操作功能的方法。包括内存页大小定义、内存清理及复制宏定义等关键内容。

linux下高版本的内核已经没有 asm/page.h了

如果导入了这个头文件会报错。

解决方法,去掉 #include <asm/page.h>即可

或者是自己写个 page.h,然后 #include "page.h"

编译就好.

page.h的内容为:

#ifndef _I386_PAGE_H #define _I386_PAGE_H /* PAGE_SHIFT determines the page size */ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) #define LARGE_PAGE_MASK (~(LARGE_PAGE_SIZE-1)) #define LARGE_PAGE_SIZE (1UL << PMD_SHIFT) #ifdef __KERNEL__ #ifndef __ASSEMBLY__ #include <linux/config.h> #ifdef CONFIG_X86_USE_3DNOW #include <asm/mmx.h> #define clear_page(page) mmx_clear_page((void *)(page)) #define copy_page(to,from) mmx_copy_page(to,from) #else /* * On older X86 processors it's not a win to use MMX here it seems. * Maybe the K6-III ? */ #define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) #define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE) #endif #define clear_user_page(page, vaddr, pg) clear_page(page) #define copy_user_page(to, from, vaddr, pg) copy_page(to, from) /* * These are used to make use of C type-checking.. */ #ifdef CONFIG_X86_PAE typedef struct { unsigned long pte_low, pte_high; } pte_t; typedef struct { unsigned long long pmd; } pmd_t; typedef struct { unsigned long long pgd; } pgd_t; #define pte_val(x) ((x).pte_low | ((unsigned long long)(x).pte_high << 32)) #define HPAGE_SHIFT 21 #else typedef struct { unsigned long pte_low; } pte_t; typedef struct { unsigned long pmd; } pmd_t; typedef struct { unsigned long pgd; } pgd_t; #define boot_pte_t pte_t /* or would you rather have a typedef */ #define pte_val(x) ((x).pte_low) #define HPAGE_SHIFT 22 #endif #define PTE_MASK PAGE_MASK #ifdef CONFIG_HUGETLB_PAGE #define HPAGE_SIZE ((1UL) << HPAGE_SHIFT) #define HPAGE_MASK (~(HPAGE_SIZE - 1)) #define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) #endif typedef struct { unsigned long pgprot; } pgprot_t; #define pmd_val(x) ((x).pmd) #define pgd_val(x) ((x).pgd) #define pgprot_val(x) ((x).pgprot) #define __pte(x) ((pte_t) { (x) } ) #define __pmd(x) ((pmd_t) { (x) } ) #define __pgd(x) ((pgd_t) { (x) } ) #define __pgprot(x) ((pgprot_t) { (x) } ) #endif /* !__ASSEMBLY__ */ /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) /* * This handles the memory map.. We could make this a config * option, but too many people screw it up, and too few need * it. * * A __PAGE_OFFSET of 0xC0000000 means that the kernel has * a virtual address space of one gigabyte, which limits the * amount of physical memory you can use to about 950MB. * * If you want more physical memory than this then see the CONFIG_HIGHMEM4G * and CONFIG_HIGHMEM64G options in the kernel configuration. */ /* * This much address space is reserved for vmalloc() and iomap() * as well as fixmap mappings. */ #define __VMALLOC_RESERVE (128 << 20) #ifndef __ASSEMBLY__ /* Pure 2^n version of get_order */ static __inline__ int get_order(unsigned long size) { int order; size = (size-1) >> (PAGE_SHIFT-1); order = -1; do { size >>= 1; order++; } while (size); return order; } #endif /* __ASSEMBLY__ */ #ifdef __ASSEMBLY__ #define __PAGE_OFFSET (0xC0000000) #else #define __PAGE_OFFSET (0xC0000000UL) #endif #define PAGE_OFFSET ((unsigned long)__PAGE_OFFSET) #define VMALLOC_RESERVE ((unsigned long)__VMALLOC_RESERVE) #define MAXMEM (-__PAGE_OFFSET-__VMALLOC_RESERVE) #define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) #define __va(x) ((void *)((unsigned long)(x)+PAGE_OFFSET)) #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) #ifndef CONFIG_DISCONTIGMEM #define pfn_to_page(pfn) (mem_map + (pfn)) #define page_to_pfn(page) ((unsigned long)((page) - mem_map)) #define pfn_valid(pfn) ((pfn) < max_mapnr) #endif /* !CONFIG_DISCONTIGMEM */ #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | / VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) #endif /* __KERNEL__ */ #endif /* _I386_PAGE_H */

[root@test-node1 tools]# ./opensnoop In file included from /virtual/main.c:2: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/uapi/linux/ptrace.h:143: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/ptrace.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/segment.h:266:2: error: expected '(' after 'asm' alternative_io ("lsl %[seg],%[p]", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:12: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/page.h:12: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/page_64.h:49:2: error: expected '(' after 'asm' alternative_call_2(clear_page_orig, ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:256:2: note: expanded from macro 'alternative_call_2' asm_inline volatile (ALTERNATIVE_2("call %P[old]", "call %P[new1]", feature1,\ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:24: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/special_insns.h:207:2: error: expected '(' after 'asm' alternative_io(".byte " __stringify(NOP_DS_PREFIX) "; clflush %P0", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:786:2: error: expected '(' after 'asm' alternative_input(BASE_PREFETCH, "prefetchnta %P1", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:221:2: note: expanded from macro 'alternative_input' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:798:2: error: expected '(' after 'asm' alternative_input(BASE_PREFETCH, "prefetchw %P1", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:221:2: note: expanded from macro 'alternative_input' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:147:2: error: expected '(' after 'asm' WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:124:3: note: expanded from macro 'WARN' __WARN_printf(TAINT_WARN, format); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:93:3: note: expanded from macro '__WARN_printf' __WARN_FLAGS(BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:163:6: error: expected '(' after 'asm' if (WARN_ON_ONCE(bytes > INT_MAX)) ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:98:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:895:2: error: expected '(' after 'asm' WARN_ON_ONCE(func != (rcu_callback_t)~0L); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:98:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:15: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sem.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/uapi/linux/sem.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/ipc.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rhashtable-types.h:15: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/workqueue.h:9: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/timer.h:6: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/ktime.h:171:2: error: expected '(' after 'asm' WARN_ON(div < 0); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:115:3: note: expanded from macro 'WARN_ON' __WARN(); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:90:19: note: expanded from macro '__WARN' #define __WARN() __WARN_FLAGS(BUGFLAG_TAINT(TAINT_WARN)) ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:20: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/hrtimer.h:19: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/percpu.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/smp.h:68: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/smp.h:13: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/apic.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/fixmap.h:190: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/fixmap.h:19: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/mm_types.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/uprobes.h:49: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/uprobes.h:13: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/notifier.h:16: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/srcu.h:179:2: error: expected '(' after 'asm' WARN_ON_ONCE(idx & ~0x1); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:98:3: note: expanded from macro 'WARN_ON_ONCE' __WARN_FLAGS(BUGFLAG_ONCE | \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:20: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/hrtimer.h:19: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/percpu.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/smp.h:68: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/smp.h:13: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/apic.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/fixmap.h:190: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/fixmap.h:38:2: error: expected '(' after 'asm' BUG_ON(vaddr >= FIXADDR_TOP || vaddr < FIXADDR_START); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:62:57: note: expanded from macro 'BUG_ON' #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0) ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:73:2: note: expanded from macro 'BUG' _BUG_FLAGS(ASM_UD2, 0); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:4: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:20: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/hrtimer.h:19: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/percpu.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/smp.h:68: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/smp.h:13: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/apic.h:107:2: error: expected '(' after 'asm' alternative_io("movl %0, %P1", "xchgl %0, %P1", X86_BUG_11AP, ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ 12 errors generated. Traceback (most recent call last): File "./opensnoop", line 180, in <module> b = BPF(text=bpf_text) File "/usr/lib/python2.7/site-packages/bcc/__init__.py", line 325, in __init__ raise Exception("Failed to compile BPF text") Exception: Failed to compile BPF text
09-19
[root@test-node1 log]# ls /usr/share/bcc/tools/execsnoop /usr/share/bcc/tools/execsnoop [root@test-node1 log]# execsnoop -bash: execsnoop: command not found [root@test-node1 log]# /usr/share/bcc/tools/execsnoop In file included from /virtual/main.c:2: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/uapi/linux/ptrace.h:143: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/ptrace.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/segment.h:266:2: error: expected '(' after 'asm' alternative_io ("lsl %[seg],%[p]", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:3: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:12: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/page.h:12: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/page_64.h:49:2: error: expected '(' after 'asm' alternative_call_2(clear_page_orig, ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:256:2: note: expanded from macro 'alternative_call_2' asm_inline volatile (ALTERNATIVE_2("call %P[old]", "call %P[new1]", feature1,\ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:3: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:24: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/special_insns.h:207:2: error: expected '(' after 'asm' alternative_io(".byte " __stringify(NOP_DS_PREFIX) "; clflush %P0", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:3: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:786:2: error: expected '(' after 'asm' alternative_input(BASE_PREFETCH, "prefetchnta %P1", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:221:2: note: expanded from macro 'alternative_input' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:3: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:39: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/thread_info.h:53: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/cpufeature.h:5: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/processor.h:798:2: error: expected '(' after 'asm' alternative_input(BASE_PREFETCH, "prefetchw %P1", ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/alternative.h:221:2: note: expanded from macro 'alternative_input' asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature) \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^ In file included from /virtual/main.c:3: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/sched.h:14: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/pid.h:5: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rculist.h:11: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/rcupdate.h:27: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/preempt.h:78: In file included from /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/preempt.h:7: /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/thread_info.h:147:2: error: expected '(' after 'asm' WARN(1, "Buffer overflow detected (%d < %lu)!\n", size, count); ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:124:3: note: expanded from macro 'WARN' __WARN_printf(TAINT_WARN, format); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/asm-generic/bug.h:93:3: note: expanded from macro '__WARN_printf' __WARN_FLAGS(BUGFLAG_NO_CUT_HERE | BUGFLAG_TAINT(taint));\ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:79:2: note: expanded from macro '__WARN_FLAGS' _BUG_FLAGS(ASM_UD2, BUGFLAG_WARNING|(flags)); \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/arch/x86/include/asm/bug.h:35:2: note: expanded from macro '_BUG_FLAGS' asm_inline volatile("1:\t" ins "\n" \ ^ /lib/modules/5.4.203-1.el7.elrepo.x86_64/build/include/linux/compiler_types.h:214:24: note: expanded from macro 'asm_inline' #define asm_inline asm __inline ^
09-19
Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/staging_dir/toolchain-riscv64_c908_gcc-10.4.0-thead2.10.2_musl/include/asm/auxvec.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/sf_kernel/linux-5.10/arch/riscv/include/uapi" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/backports-5.15.162-1/backport-include/asm/barrier.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/sf_kernel/linux-5.10/arch/riscv/include" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/staging_dir/toolchain-riscv64_c908_gcc-10.4.0-thead2.10.2_musl/include/asm/errno.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/sf_kernel/linux-5.10/arch/riscv/include/generated/uapi" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/backports-5.15.162-1/backport-include/asm/unaligned.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/sf_kernel/linux-5.10/arch/riscv/include/generated" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/sf_wifi-1.0/umac/hal_desc.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/package/kernel/siflower/openwrt-x2880-driver/src/umac" Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/sf_wifi-1.0/fmac/umac" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/sf_wifi-1.0/umac/fullmac/siwifi_defs.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/build_dir/target-riscv64_c908_musl/linux-siflower_sf21a6826/sf_wifi-1.0/fmac/umac/fullmac" Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/package/kernel/siflower/openwrt-x2880-driver/src/umac/fullmac" Using: /home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/staging_dir/toolchain-riscv64_c908_gcc-10.4.0-thead2.10.2_musl/include/string.h Alternative: "/home/jianan.zhao/backups/code/px_pagepool/Openwrt-master/sf_kernel/linux-5.10/arch/riscv/include/asm"
03-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值