Commit 2398050c authored by Seblu's avatar Seblu
Browse files

Enable Clang LTO

parent 171bf1c3
Loading
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ _stable=https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
source=("git+$_main#tag=v5.12"
        "config.$CARCH")
sha256sums=('SKIP'
            '76b6967cbf841a05f3df3b664e1b9ab143a18a51939a88208dfe9af6872e548f')
            'e7e44ca2662ea5eaaefe8510bf711480b200dc0b706dccab549414469490a51b')

prepare() {
  [[ -d linux-stable ]] && ln -snf linux-stable linux
@@ -66,13 +66,13 @@ build() {
  cd linux

  msg2 'Make prepare'
  make LLVM=1 prepare
  make LLVM=1 LLVM_IAS=1 prepare

  msg2 'Make bzImage'
  make LLVM=1 bzImage
  make LLVM=1 LLVM_IAS=1 bzImage

  msg2 'Make modules'
  make LLVM=1 modules
  make LLVM=1 LLVM_IAS=1 modules
}

package() {
+6 −1
Original line number Diff line number Diff line
@@ -786,9 +786,14 @@ CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_LTO=y
CONFIG_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_HAS_LTO_CLANG=y
# CONFIG_LTO_NONE is not set
# CONFIG_LTO_CLANG_FULL is not set
CONFIG_LTO_CLANG_THIN=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING=y
CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y
+2 −2
Original line number Diff line number Diff line
@@ -9,11 +9,11 @@ config_equal()
}

if config_equal; then
	(cd "$SRC" && make LLVM=1 menuconfig)
	(cd "$SRC" && make LLVM=1 LLVM_IAS=1 menuconfig)
else
	[[ -e "$SRC" ]] && rm -rf "$SRC"
	makepkg --nobuild --force
	(cd "$SRC" && make LLVM=1 oldconfig)
	(cd "$SRC" && make LLVM=1 LLVM_IAS=1 oldconfig)
fi

if ! config_equal; then