1b2441318SGreg Kroah-Hartman# SPDX-License-Identifier: GPL-2.0 2f89b7755SAlexei Starovoitovobj-y := core.o 3080b6f40SArd Biesheuvelifneq ($(CONFIG_BPF_JIT_ALWAYS_ON),y) 4080b6f40SArd Biesheuvel# ___bpf_prog_run() needs GCSE disabled on x86; see 3193c0836f203 for details 5080b6f40SArd Biesheuvelcflags-nogcse-$(CONFIG_X86)$(CONFIG_CC_IS_GCC) := -fno-gcse 6080b6f40SArd Biesheuvelendif 7c40845e3SArnd BergmannCFLAGS_core.o += -Wno-override-init $(cflags-nogcse-yy) 8b2197755SDaniel Borkmann 9f1606dd0SAlexei Starovoitovobj-$(CONFIG_BPF_SYSCALL) += syscall.o verifier.o inode.o helpers.o tnum.o log.o token.o liveness.o const_fold.o 104294a0a7SAndrii Nakryikoobj-$(CONFIG_BPF_SYSCALL) += bpf_iter.o map_iter.o task_iter.o prog_iter.o link_iter.o 119330986cSJoanne Koongobj-$(CONFIG_BPF_SYSCALL) += hashtab.o arraymap.o percpu_freelist.o bpf_lru_list.o lpm_trie.o map_in_map.o bloom_filter.o 12b4ce5923SAnton Protopopovobj-$(CONFIG_BPF_SYSCALL) += local_storage.o queue_stack_maps.o ringbuf.o bpf_insn_array.o 13a10787e6SSong Liuobj-$(CONFIG_BPF_SYSCALL) += bpf_local_storage.o bpf_task_storage.o 14*99a832a2SAlexei Starovoitovobj-$(CONFIG_BPF_SYSCALL) += fixups.o cfg.o states.o backtrack.o check_btf.o 158ea63684SKP Singhobj-${CONFIG_BPF_LSM} += bpf_inode_storage.o 16053c8e1fSDaniel Borkmannobj-$(CONFIG_BPF_SYSCALL) += disasm.o mprog.o 17fec56f58SAlexei Starovoitovobj-$(CONFIG_BPF_JIT) += trampoline.o 185ab154f1SKumar Kartikeya Dwivediobj-$(CONFIG_BPF_SYSCALL) += btf.o memalloc.o rqspinlock.o stream.o 1931746031SAlexei Starovoitovifeq ($(CONFIG_MMU)$(CONFIG_64BIT),yy) 20b7953797SAlexei Starovoitovobj-$(CONFIG_BPF_SYSCALL) += arena.o range_tree.o 2131746031SAlexei Starovoitovendif 2275ccbef6SBjörn Töpelobj-$(CONFIG_BPF_JIT) += dispatcher.o 23546ac1ffSJohn Fastabendifeq ($(CONFIG_NET),y) 246bdc9c4cSJohn Fastabendobj-$(CONFIG_BPF_SYSCALL) += devmap.o 256710e112SJesper Dangaard Brouerobj-$(CONFIG_BPF_SYSCALL) += cpumap.o 26ab3f0063SJakub Kicinskiobj-$(CONFIG_BPF_SYSCALL) += offload.o 27b27f7bb5SJakub Sitnickiobj-$(CONFIG_BPF_SYSCALL) += net_namespace.o 28e420bed0SDaniel Borkmannobj-$(CONFIG_BPF_SYSCALL) += tcx.o 295f103c5dSJohn Fastabendendif 30d5a3b1f6SAlexei Starovoitovifeq ($(CONFIG_PERF_EVENTS),y) 31d5a3b1f6SAlexei Starovoitovobj-$(CONFIG_BPF_SYSCALL) += stackmap.o 32d5a3b1f6SAlexei Starovoitovendif 33d4ccaf58SHao Luoifeq ($(CONFIG_CGROUPS),y) 34c4bcfb38SYonghong Songobj-$(CONFIG_BPF_SYSCALL) += cgroup_iter.o bpf_cgrp_storage.o 35d4ccaf58SHao Luoendif 3630070984SDaniel Mackobj-$(CONFIG_CGROUP_BPF) += cgroup.o 375dc4c4b7SMartin KaFai Lauifeq ($(CONFIG_INET),y) 385dc4c4b7SMartin KaFai Lauobj-$(CONFIG_BPF_SYSCALL) += reuseport_array.o 395dc4c4b7SMartin KaFai Lauendif 40341dfcf8SAndrii Nakryikoifeq ($(CONFIG_SYSFS),y) 41341dfcf8SAndrii Nakryikoobj-$(CONFIG_DEBUG_INFO_BTF) += sysfs_btf.o 42341dfcf8SAndrii Nakryikoendif 4327ae7997SMartin KaFai Lauifeq ($(CONFIG_BPF_JIT),y) 4427ae7997SMartin KaFai Lauobj-$(CONFIG_BPF_SYSCALL) += bpf_struct_ops.o 45516f4d33SDavid Vernetobj-$(CONFIG_BPF_SYSCALL) += cpumask.o 4694e948b7SMatt Bobrowski# bpf_lsm_proto.o must precede bpf_lsm.o. The current pahole logic 4794e948b7SMatt Bobrowski# deduplicates function prototypes within 4894e948b7SMatt Bobrowski# btf_encoder__add_saved_func() by keeping the first instance seen. We 4994e948b7SMatt Bobrowski# need the function prototype(s) in bpf_lsm_proto.o to take precedence 5094e948b7SMatt Bobrowski# over those within bpf_lsm.o. Having bpf_lsm_proto.o precede 5194e948b7SMatt Bobrowski# bpf_lsm.o ensures its DWARF CU is processed early, forcing the 5294e948b7SMatt Bobrowski# generated BTF to contain the overrides. 5394e948b7SMatt Bobrowski# 5494e948b7SMatt Bobrowski# Notably, this is a temporary workaround whilst the deduplication 5594e948b7SMatt Bobrowski# semantics within pahole are revisited accordingly. 5694e948b7SMatt Bobrowskiobj-${CONFIG_BPF_LSM} += bpf_lsm_proto.o bpf_lsm.o 5727ae7997SMartin KaFai Lauendif 58ac2f438cSVadim Fedorenkoifneq ($(CONFIG_CRYPTO),) 593e1c6f35SVadim Fedorenkoobj-$(CONFIG_BPF_SYSCALL) += crypto.o 603e1c6f35SVadim Fedorenkoendif 61d71fa5c9SAlexei Starovoitovobj-$(CONFIG_BPF_PRELOAD) += preload/ 6229db4beaSAlexei Starovoitov 6329db4beaSAlexei Starovoitovobj-$(CONFIG_BPF_SYSCALL) += relo_core.o 648646db23SAlan Maguireobj-$(CONFIG_BPF_SYSCALL) += btf_iter.o 658646db23SAlan Maguireobj-$(CONFIG_BPF_SYSCALL) += btf_relocate.o 664971266eSNamhyung Kimobj-$(CONFIG_BPF_SYSCALL) += kmem_cache_iter.o 6776ea9553ST.J. Mercierifeq ($(CONFIG_DMA_SHARED_BUFFER),y) 6876ea9553ST.J. Mercierobj-$(CONFIG_BPF_SYSCALL) += dmabuf_iter.o 6976ea9553ST.J. Mercierendif 70c83508daSPriya Bala Govindasamy 71c83508daSPriya Bala GovindasamyCFLAGS_REMOVE_percpu_freelist.o = $(CC_FLAGS_FTRACE) 72c83508daSPriya Bala GovindasamyCFLAGS_REMOVE_bpf_lru_list.o = $(CC_FLAGS_FTRACE) 73c83508daSPriya Bala GovindasamyCFLAGS_REMOVE_queue_stack_maps.o = $(CC_FLAGS_FTRACE) 74c83508daSPriya Bala GovindasamyCFLAGS_REMOVE_lpm_trie.o = $(CC_FLAGS_FTRACE) 75c83508daSPriya Bala GovindasamyCFLAGS_REMOVE_ringbuf.o = $(CC_FLAGS_FTRACE) 760d80e7f9SKumar Kartikeya DwivediCFLAGS_REMOVE_rqspinlock.o = $(CC_FLAGS_FTRACE) 77