linux/arch/s390/kernel/Makefile
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0
   2#
   3# Makefile for the linux kernel.
   4#
   5
   6ifdef CONFIG_FUNCTION_TRACER
   7
   8# Do not trace tracer code
   9CFLAGS_REMOVE_ftrace.o          = $(CC_FLAGS_FTRACE)
  10
  11# Do not trace early setup code
  12CFLAGS_REMOVE_early.o           = $(CC_FLAGS_FTRACE)
  13CFLAGS_REMOVE_early_nobss.o     = $(CC_FLAGS_FTRACE)
  14
  15endif
  16
  17GCOV_PROFILE_early.o            := n
  18GCOV_PROFILE_early_nobss.o      := n
  19
  20KCOV_INSTRUMENT_early.o         := n
  21KCOV_INSTRUMENT_early_nobss.o   := n
  22
  23UBSAN_SANITIZE_early.o          := n
  24UBSAN_SANITIZE_early_nobss.o    := n
  25
  26KASAN_SANITIZE_early_nobss.o    := n
  27KASAN_SANITIZE_ipl.o            := n
  28KASAN_SANITIZE_machine_kexec.o  := n
  29
  30#
  31# Passing null pointers is ok for smp code, since we access the lowcore here.
  32#
  33CFLAGS_smp.o            := -Wno-nonnull
  34
  35#
  36# Disable tailcall optimizations for stack / callchain walking functions
  37# since this might generate broken code when accessing register 15 and
  38# passing its content to other functions.
  39#
  40CFLAGS_stacktrace.o     += -fno-optimize-sibling-calls
  41CFLAGS_dumpstack.o      += -fno-optimize-sibling-calls
  42
  43#
  44# Pass UTS_MACHINE for user_regset definition
  45#
  46CFLAGS_ptrace.o         += -DUTS_MACHINE='"$(UTS_MACHINE)"'
  47
  48obj-y   := traps.o time.o process.o base.o early.o setup.o idle.o vtime.o
  49obj-y   += processor.o sys_s390.o ptrace.o signal.o cpcmd.o ebcdic.o nmi.o
  50obj-y   += debug.o irq.o ipl.o dis.o diag.o vdso.o early_nobss.o
  51obj-y   += sysinfo.o jump_label.o lgr.o os_info.o machine_kexec.o pgm_check.o
  52obj-y   += runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o
  53obj-y   += entry.o reipl.o relocate_kernel.o kdebugfs.o alternative.o
  54obj-y   += nospec-branch.o ipl_vmparm.o
  55
  56extra-y                         += head64.o vmlinux.lds
  57
  58obj-$(CONFIG_SYSFS)             += nospec-sysfs.o
  59CFLAGS_REMOVE_nospec-branch.o   += $(CC_FLAGS_EXPOLINE)
  60
  61obj-$(CONFIG_MODULES)           += module.o
  62obj-$(CONFIG_SMP)               += smp.o
  63obj-$(CONFIG_SCHED_TOPOLOGY)    += topology.o
  64obj-$(CONFIG_HIBERNATION)       += suspend.o swsusp.o
  65obj-$(CONFIG_AUDIT)             += audit.o
  66compat-obj-$(CONFIG_AUDIT)      += compat_audit.o
  67obj-$(CONFIG_COMPAT)            += compat_linux.o compat_signal.o
  68obj-$(CONFIG_COMPAT)            += compat_wrapper.o $(compat-obj-y)
  69obj-$(CONFIG_EARLY_PRINTK)      += early_printk.o
  70obj-$(CONFIG_STACKTRACE)        += stacktrace.o
  71obj-$(CONFIG_KPROBES)           += kprobes.o
  72obj-$(CONFIG_FUNCTION_TRACER)   += mcount.o ftrace.o
  73obj-$(CONFIG_CRASH_DUMP)        += crash_dump.o
  74obj-$(CONFIG_UPROBES)           += uprobes.o
  75
  76obj-$(CONFIG_KEXEC_FILE)        += machine_kexec_file.o kexec_image.o
  77obj-$(CONFIG_KEXEC_FILE)        += kexec_elf.o
  78
  79obj-$(CONFIG_PERF_EVENTS)       += perf_event.o perf_cpum_cf.o perf_cpum_sf.o
  80obj-$(CONFIG_PERF_EVENTS)       += perf_cpum_cf_events.o perf_regs.o
  81
  82obj-$(CONFIG_TRACEPOINTS)       += trace.o
  83
  84# vdso
  85obj-y                           += vdso64/
  86obj-$(CONFIG_COMPAT)            += vdso32/
  87
  88chkbss := head64.o early_nobss.o
  89include $(srctree)/arch/s390/scripts/Makefile.chkbss
  90