1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 obj-y := core.o 2 obj-y := core.o 3 ifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y) 3 ifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y) 4 # ___bpf_prog_run() needs GCSE disabled on x86 4 # ___bpf_prog_run() needs GCSE disabled on x86; see 3193c0836f203 for details 5 cflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) 5 cflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) := -fno-gcse 6 endif 6 endif 7 CFLAGS_core.o += -Wno-override-init $(cflags-n !! 7 CFLAGS_core.o += $(call cc-disable-warning, override-init) $(cflags-nogcse-yy) 8 8 9 obj-$(CONFIG_BPF_SYSCALL) += syscall.o verifie !! 9 obj-$(CONFIG_BPF_SYSCALL) += syscall.o verifier.o inode.o helpers.o tnum.o log.o 10 obj-$(CONFIG_BPF_SYSCALL) += bpf_iter.o map_it 10 obj-$(CONFIG_BPF_SYSCALL) += bpf_iter.o map_iter.o task_iter.o prog_iter.o link_iter.o 11 obj-$(CONFIG_BPF_SYSCALL) += hashtab.o arrayma 11 obj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o lpm_trie.o map_in_map.o bloom_filter.o 12 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o q 12 obj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o 13 obj-$(CONFIG_BPF_SYSCALL) += bpf_local_storage 13 obj-$(CONFIG_BPF_SYSCALL) += bpf_local_storage.o bpf_task_storage.o 14 obj-${CONFIG_BPF_LSM} += bpf_inode_storage 14 obj-${CONFIG_BPF_LSM} += bpf_inode_storage.o 15 obj-$(CONFIG_BPF_SYSCALL) += disasm.o mprog.o !! 15 obj-$(CONFIG_BPF_SYSCALL) += disasm.o 16 obj-$(CONFIG_BPF_JIT) += trampoline.o 16 obj-$(CONFIG_BPF_JIT) += trampoline.o 17 obj-$(CONFIG_BPF_SYSCALL) += btf.o memalloc.o 17 obj-$(CONFIG_BPF_SYSCALL) += btf.o memalloc.o 18 ifeq ($(CONFIG_MMU)$(CONFIG_64BIT),yy) << 19 obj-$(CONFIG_BPF_SYSCALL) += arena.o << 20 endif << 21 obj-$(CONFIG_BPF_JIT) += dispatcher.o 18 obj-$(CONFIG_BPF_JIT) += dispatcher.o 22 ifeq ($(CONFIG_NET),y) 19 ifeq ($(CONFIG_NET),y) 23 obj-$(CONFIG_BPF_SYSCALL) += devmap.o 20 obj-$(CONFIG_BPF_SYSCALL) += devmap.o 24 obj-$(CONFIG_BPF_SYSCALL) += cpumap.o 21 obj-$(CONFIG_BPF_SYSCALL) += cpumap.o 25 obj-$(CONFIG_BPF_SYSCALL) += offload.o 22 obj-$(CONFIG_BPF_SYSCALL) += offload.o 26 obj-$(CONFIG_BPF_SYSCALL) += net_namespace.o 23 obj-$(CONFIG_BPF_SYSCALL) += net_namespace.o 27 obj-$(CONFIG_BPF_SYSCALL) += tcx.o << 28 endif 24 endif 29 ifeq ($(CONFIG_PERF_EVENTS),y) 25 ifeq ($(CONFIG_PERF_EVENTS),y) 30 obj-$(CONFIG_BPF_SYSCALL) += stackmap.o 26 obj-$(CONFIG_BPF_SYSCALL) += stackmap.o 31 endif 27 endif 32 ifeq ($(CONFIG_CGROUPS),y) 28 ifeq ($(CONFIG_CGROUPS),y) 33 obj-$(CONFIG_BPF_SYSCALL) += cgroup_iter.o bpf 29 obj-$(CONFIG_BPF_SYSCALL) += cgroup_iter.o bpf_cgrp_storage.o 34 endif 30 endif 35 obj-$(CONFIG_CGROUP_BPF) += cgroup.o 31 obj-$(CONFIG_CGROUP_BPF) += cgroup.o 36 ifeq ($(CONFIG_INET),y) 32 ifeq ($(CONFIG_INET),y) 37 obj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o 33 obj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o 38 endif 34 endif 39 ifeq ($(CONFIG_SYSFS),y) 35 ifeq ($(CONFIG_SYSFS),y) 40 obj-$(CONFIG_DEBUG_INFO_BTF) += sysfs_btf.o 36 obj-$(CONFIG_DEBUG_INFO_BTF) += sysfs_btf.o 41 endif 37 endif 42 ifeq ($(CONFIG_BPF_JIT),y) 38 ifeq ($(CONFIG_BPF_JIT),y) 43 obj-$(CONFIG_BPF_SYSCALL) += bpf_struct_ops.o 39 obj-$(CONFIG_BPF_SYSCALL) += bpf_struct_ops.o 44 obj-$(CONFIG_BPF_SYSCALL) += cpumask.o 40 obj-$(CONFIG_BPF_SYSCALL) += cpumask.o 45 obj-${CONFIG_BPF_LSM} += bpf_lsm.o 41 obj-${CONFIG_BPF_LSM} += bpf_lsm.o 46 endif 42 endif 47 ifneq ($(CONFIG_CRYPTO),) << 48 obj-$(CONFIG_BPF_SYSCALL) += crypto.o << 49 endif << 50 obj-$(CONFIG_BPF_PRELOAD) += preload/ 43 obj-$(CONFIG_BPF_PRELOAD) += preload/ 51 44 52 obj-$(CONFIG_BPF_SYSCALL) += relo_core.o 45 obj-$(CONFIG_BPF_SYSCALL) += relo_core.o 53 obj-$(CONFIG_BPF_SYSCALL) += btf_iter.o !! 46 $(obj)/relo_core.o: $(srctree)/tools/lib/bpf/relo_core.c FORCE 54 obj-$(CONFIG_BPF_SYSCALL) += btf_relocate.o !! 47 $(call if_changed_rule,cc_o_c)
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.