OSDN Git Service

arm64/neon: add workaround for ambiguous C99 stdint.h types
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / arch / Kconfig
index a29c609..cd8d50e 100644 (file)
@@ -423,6 +423,51 @@ config CC_STACKPROTECTOR_STRONG
 
 endchoice
 
+config LTO
+       def_bool n
+
+config ARCH_SUPPORTS_LTO_CLANG
+       bool
+       help
+         An architecture should select this option if it supports:
+         - compiling with clang,
+         - compiling inline assembly with clang's integrated assembler,
+         - and linking with LLD.
+
+config THINLTO
+       bool "Use clang ThinLTO (EXPERIMENTAL)"
+       depends on LTO_CLANG
+       default y
+       help
+         Use ThinLTO to speed up Link Time Optimization.
+
+choice
+       prompt "Link-Time Optimization (LTO) (EXPERIMENTAL)"
+       default LTO_NONE
+       help
+         This option turns on Link-Time Optimization (LTO).
+
+config LTO_NONE
+       bool "None"
+
+config LTO_CLANG
+       bool "Use clang Link Time Optimization (LTO) (EXPERIMENTAL)"
+       depends on ARCH_SUPPORTS_LTO_CLANG
+       depends on !FTRACE_MCOUNT_RECORD || HAVE_C_RECORDMCOUNT
+       depends on !KASAN
+       select LTO
+       help
+          This option enables clang's Link Time Optimization (LTO), which allows
+          the compiler to optimize the kernel globally at link time. If you
+          enable this option, the compiler generates LLVM IR instead of object
+          files, and the actual compilation from IR occurs at the LTO link step,
+          which may take several minutes.
+
+          If you select this option, you must compile the kernel with clang and
+         LLD.
+
+endchoice
+
 config HAVE_ARCH_WITHIN_STACK_FRAMES
        bool
        help
@@ -492,12 +537,6 @@ config MODULES_USE_ELF_REL
          Modules only use ELF REL relocations.  Modules with ELF RELA
          relocations will give an error.
 
-config HAVE_UNDERSCORE_SYMBOL_PREFIX
-       bool
-       help
-         Some architectures generate an _ in front of C symbols; things like
-         module loading and assembly files need to know about this.
-
 config HAVE_IRQ_EXIT_ON_IRQ_STACK
        bool
        help