# SPDX-License-Identifier: GPL-2.0 # # Makefile for the linux kernel. # ifdef [31mCONFIG_FUNCTION_TRACER[0m # Do not trace tracer code CFLAGS_REMOVE_ftrace.o = $(CC_FLAGS_FTRACE) # Do not trace early setup code CFLAGS_REMOVE_early.o = $(CC_FLAGS_FTRACE) endif GCOV_PROFILE_early.o := n KCOV_INSTRUMENT_early.o := n UBSAN_SANITIZE_early.o := n KASAN_SANITIZE_ipl.o := n KASAN_SANITIZE_machine_kexec.o := n # # Passing null pointers is ok for smp code, since we access the lowcore here. # CFLAGS_smp.o := -Wno-nonnull # # Disable tailcall optimizations for stack / callchain walking functions # since this might generate broken code when accessing register 15 and # passing its content to other functions. # CFLAGS_stacktrace.o += -fno-optimize-sibling-calls CFLAGS_dumpstack.o += -fno-optimize-sibling-calls CFLAGS_unwind_bc.o += -fno-optimize-sibling-calls # # Pass UTS_MACHINE for user_regset definition # CFLAGS_ptrace.o += -DUTS_MACHINE='"$(UTS_MACHINE)"' obj-y := traps.o time.o process.o base.o early.o setup.o idle.o vtime.o obj-y += processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o obj-y += debug.o irq.o ipl.o dis.o diag.o vdso.o obj-y += sysinfo.o lgr.o os_info.o machine_kexec.o pgm_check.o obj-y += runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o obj-y += entry.o reipl.o relocate_kernel.o kdebugfs.o alternative.o obj-y += nospec-branch.o ipl_vmparm.o machine_kexec_reloc.o unwind_bc.o obj-y += smp.o extra-y += head64.o vmlinux.lds obj-$([31mCONFIG_SYSFS[0m) += nospec-sysfs.o CFLAGS_REMOVE_nospec-branch.o += $(CC_FLAGS_EXPOLINE) obj-$([31mCONFIG_MODULES[0m) += module.o obj-$([31mCONFIG_SCHED_TOPOLOGY[0m) += topology.o obj-$([31mCONFIG_HIBERNATION[0m) += suspend.o swsusp.o obj-$([31mCONFIG_AUDIT[0m) += audit.o compat-obj-$([31mCONFIG_AUDIT[0m) += compat_audit.o obj-$([31mCONFIG_COMPAT[0m) += compat_linux.o compat_signal.o obj-$([31mCONFIG_COMPAT[0m) += $(compat-obj-y) obj-$([31mCONFIG_EARLY_PRINTK[0m) += early_printk.o obj-$([31mCONFIG_STACKTRACE[0m) += stacktrace.o obj-$([31mCONFIG_KPROBES[0m) += kprobes.o obj-$([31mCONFIG_FUNCTION_TRACER[0m) += mcount.o ftrace.o obj-$([31mCONFIG_CRASH_DUMP[0m) += crash_dump.o obj-$([31mCONFIG_UPROBES[0m) += uprobes.o obj-$([31mCONFIG_JUMP_LABEL[0m) += jump_label.o obj-$([31mCONFIG_KEXEC_FILE[0m) += machine_kexec_file.o kexec_image.o obj-$([31mCONFIG_KEXEC_FILE[0m) += kexec_elf.o obj-$([31mCONFIG_IMA[0m) += ima_arch.o obj-$([31mCONFIG_PERF_EVENTS[0m) += perf_event.o perf_cpum_cf_common.o obj-$([31mCONFIG_PERF_EVENTS[0m) += perf_cpum_cf.o perf_cpum_sf.o obj-$([31mCONFIG_PERF_EVENTS[0m) += perf_cpum_cf_events.o perf_regs.o obj-$([31mCONFIG_PERF_EVENTS[0m) += perf_cpum_cf_diag.o obj-$([31mCONFIG_TRACEPOINTS[0m) += trace.o # vdso obj-y += vdso64/ obj-$([31mCONFIG_COMPAT_VDSO[0m) += vdso32/ |