Makefile 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # SPDX-License-Identifier: GPL-2.0
  2. #
  3. # Makefile for ppc-specific library files..
  4. #
  5. CFLAGS_code-patching.o += -fno-stack-protector
  6. CFLAGS_feature-fixups.o += -fno-stack-protector
  7. CFLAGS_REMOVE_code-patching.o = $(CC_FLAGS_FTRACE)
  8. CFLAGS_REMOVE_feature-fixups.o = $(CC_FLAGS_FTRACE)
  9. KASAN_SANITIZE_code-patching.o := n
  10. KASAN_SANITIZE_feature-fixups.o := n
  11. # restart_table.o contains functions called in the NMI interrupt path
  12. # which can be in real mode. Disable KASAN.
  13. KASAN_SANITIZE_restart_table.o := n
  14. KCSAN_SANITIZE_code-patching.o := n
  15. KCSAN_SANITIZE_feature-fixups.o := n
  16. ifdef CONFIG_KASAN
  17. CFLAGS_code-patching.o += -DDISABLE_BRANCH_PROFILING
  18. CFLAGS_feature-fixups.o += -DDISABLE_BRANCH_PROFILING
  19. endif
  20. CFLAGS_code-patching.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
  21. CFLAGS_feature-fixups.o += $(DISABLE_LATENT_ENTROPY_PLUGIN)
  22. obj-y += code-patching.o feature-fixups.o pmem.o
  23. obj-$(CONFIG_CODE_PATCHING_SELFTEST) += test-code-patching.o
  24. ifndef CONFIG_KASAN
  25. obj-y += string.o memcmp_$(BITS).o
  26. obj-$(CONFIG_PPC32) += strlen_32.o
  27. endif
  28. obj-$(CONFIG_PPC32) += div64.o copy_32.o crtsavres.o
  29. obj-$(CONFIG_FUNCTION_ERROR_INJECTION) += error-inject.o
  30. # See corresponding test in arch/powerpc/Makefile
  31. # 64-bit linker creates .sfpr on demand for final link (vmlinux),
  32. # so it is only needed for modules, and only for older linkers which
  33. # do not support --save-restore-funcs
  34. ifndef CONFIG_LD_IS_BFD
  35. always-$(CONFIG_PPC64) += crtsavres.o
  36. endif
  37. obj-$(CONFIG_PPC_BOOK3S_64) += copyuser_power7.o copypage_power7.o \
  38. memcpy_power7.o restart_table.o
  39. obj64-y += copypage_64.o copyuser_64.o mem_64.o hweight_64.o \
  40. memcpy_64.o copy_mc_64.o
  41. ifdef CONFIG_PPC_QUEUED_SPINLOCKS
  42. obj-$(CONFIG_SMP) += qspinlock.o
  43. else
  44. obj64-$(CONFIG_SMP) += locks.o
  45. endif
  46. obj64-$(CONFIG_ALTIVEC) += vmx-helper.o
  47. obj64-$(CONFIG_KPROBES_SANITY_TEST) += test_emulate_step.o \
  48. test_emulate_step_exec_instr.o
  49. obj-y += checksum_$(BITS).o checksum_wrappers.o \
  50. string_$(BITS).o
  51. obj-y += sstep.o
  52. obj-$(CONFIG_PPC_FPU) += ldstfp.o
  53. obj64-y += quad.o
  54. obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o
  55. obj-$(CONFIG_FTR_FIXUP_SELFTEST) += feature-fixups-test.o
  56. obj-$(CONFIG_ALTIVEC) += xor_vmx.o xor_vmx_glue.o
  57. CFLAGS_xor_vmx.o += -mhard-float -maltivec $(call cc-option,-mabi=altivec)
  58. # Enable <altivec.h>
  59. CFLAGS_xor_vmx.o += -isystem $(shell $(CC) -print-file-name=include)
  60. obj-$(CONFIG_PPC64) += $(obj64-y)