Compile kernel using LLVM and enable rust support
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
name: linux-stable
|
||||
description: The stable version of the linux kernel
|
||||
version: 6.16.2
|
||||
revision: 2
|
||||
url: https://www.kernel.org/
|
||||
license: GPL2-only
|
||||
architecture: any
|
||||
make_depends: ["bash","bc","binutils","coreutils","diffutils","findutils","gcc","glibc","grep","gzip","kmod","libelf","make","ncurses","openssl","perl","sed"]
|
||||
make_depends: ["bc","clang","cpio","gettext","libelf","lld","perl","rustc","rust-bindgen","rust-src"]
|
||||
type: source
|
||||
|
||||
+34
-25
@@ -2,16 +2,17 @@
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/x86 6.12.43 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="gcc (GCC) 15.1.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=150100
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_AS_IS_GNU=y
|
||||
CONFIG_AS_VERSION=24500
|
||||
CONFIG_LD_IS_BFD=y
|
||||
CONFIG_LD_VERSION=24500
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_RUSTC_VERSION=108800
|
||||
CONFIG_CC_VERSION_TEXT="clang version 20.1.7"
|
||||
CONFIG_GCC_VERSION=0
|
||||
CONFIG_CC_IS_CLANG=y
|
||||
CONFIG_CLANG_VERSION=200107
|
||||
CONFIG_AS_IS_LLVM=y
|
||||
CONFIG_AS_VERSION=200107
|
||||
CONFIG_LD_VERSION=0
|
||||
CONFIG_LD_IS_LLD=y
|
||||
CONFIG_LLD_VERSION=200107
|
||||
CONFIG_RUSTC_VERSION=108900
|
||||
CONFIG_RUST_IS_AVAILABLE=y
|
||||
CONFIG_RUSTC_LLVM_VERSION=200107
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
@@ -21,7 +22,6 @@ CONFIG_TOOLS_SUPPORT_RELR=y
|
||||
CONFIG_CC_HAS_ASM_INLINE=y
|
||||
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
|
||||
CONFIG_CC_HAS_COUNTED_BY=y
|
||||
CONFIG_LD_CAN_USE_KEEP_IN_OVERLAY=y
|
||||
CONFIG_RUSTC_HAS_UNNECESSARY_TRANSMUTES=y
|
||||
CONFIG_PAHOLE_VERSION=0
|
||||
CONFIG_IRQ_WORK=y
|
||||
@@ -183,11 +183,9 @@ CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
|
||||
CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
|
||||
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
|
||||
CONFIG_CC_HAS_INT128=y
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
|
||||
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough"
|
||||
CONFIG_GCC10_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_CC_NO_ARRAY_BOUNDS=y
|
||||
CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
|
||||
CONFIG_CC_NO_STRINGOP_OVERFLOW=y
|
||||
CONFIG_ARCH_SUPPORTS_INT128=y
|
||||
# CONFIG_NUMA_BALANCING is not set
|
||||
CONFIG_SLAB_OBJ_EXT=y
|
||||
@@ -289,6 +287,9 @@ CONFIG_PERF_EVENTS=y
|
||||
|
||||
CONFIG_SYSTEM_DATA_VERIFICATION=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_RUST=y
|
||||
CONFIG_RUSTC_VERSION_TEXT="rustc 1.89.0 (29483883e 2025-08-04) (for Tide Linux)"
|
||||
CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.71.1"
|
||||
CONFIG_TRACEPOINTS=y
|
||||
|
||||
#
|
||||
@@ -502,9 +503,7 @@ CONFIG_MODIFY_LDT_SYSCALL=y
|
||||
CONFIG_HAVE_LIVEPATCH=y
|
||||
# end of Processor type and features
|
||||
|
||||
CONFIG_CC_HAS_NAMED_AS=y
|
||||
CONFIG_CC_HAS_NAMED_AS_FIXED_SANITIZERS=y
|
||||
CONFIG_USE_X86_SEG_SUPPORT=y
|
||||
CONFIG_CC_HAS_SLS=y
|
||||
CONFIG_CC_HAS_RETURN_THUNK=y
|
||||
CONFIG_CC_HAS_ENTRY_PADDING=y
|
||||
@@ -688,7 +687,6 @@ CONFIG_AMD_NB=y
|
||||
#
|
||||
CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_IA32_EMULATION_DEFAULT_DISABLED is not set
|
||||
# CONFIG_X86_X32_ABI is not set
|
||||
CONFIG_COMPAT_32=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
|
||||
@@ -815,8 +813,14 @@ CONFIG_STACKPROTECTOR=y
|
||||
CONFIG_STACKPROTECTOR_STRONG=y
|
||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
|
||||
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
|
||||
CONFIG_HAS_LTO_CLANG=y
|
||||
CONFIG_LTO_NONE=y
|
||||
# CONFIG_LTO_CLANG_FULL is not set
|
||||
# CONFIG_LTO_CLANG_THIN is not set
|
||||
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
|
||||
# CONFIG_CFI_CLANG is not set
|
||||
CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_CLANG=y
|
||||
CONFIG_HAVE_CFI_ICALL_NORMALIZE_INTEGERS_RUSTC=y
|
||||
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
|
||||
@@ -893,12 +897,9 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
|
||||
# end of GCOV-based kernel profiling
|
||||
|
||||
CONFIG_HAVE_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
|
||||
CONFIG_FUNCTION_ALIGNMENT_4B=y
|
||||
CONFIG_FUNCTION_ALIGNMENT_16B=y
|
||||
CONFIG_FUNCTION_ALIGNMENT=16
|
||||
CONFIG_CC_HAS_MIN_FUNCTION_ALIGNMENT=y
|
||||
CONFIG_CC_HAS_SANE_FUNCTION_ALIGNMENT=y
|
||||
# end of General architecture-dependent options
|
||||
|
||||
@@ -1864,6 +1865,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# Firmware loader
|
||||
#
|
||||
CONFIG_FW_LOADER=y
|
||||
# CONFIG_RUST_FW_LOADER_ABSTRACTIONS is not set
|
||||
CONFIG_FW_LOADER_PAGED_BUF=y
|
||||
CONFIG_EXTRA_FIRMWARE=""
|
||||
# CONFIG_FW_LOADER_USER_HELPER is not set
|
||||
@@ -2007,6 +2009,7 @@ CONFIG_BLK_DEV_RAM_SIZE=16384
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
# CONFIG_BLK_DEV_RUST_NULL is not set
|
||||
# CONFIG_BLK_DEV_RBD is not set
|
||||
# CONFIG_BLK_DEV_UBLK is not set
|
||||
|
||||
@@ -2586,6 +2589,7 @@ CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
# CONFIG_LED_TRIGGER_PHY is not set
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_RUST_PHYLIB_ABSTRACTIONS is not set
|
||||
# CONFIG_SFP is not set
|
||||
|
||||
#
|
||||
@@ -4014,7 +4018,10 @@ CONFIG_DRM_PANIC=y
|
||||
CONFIG_DRM_PANIC_FOREGROUND_COLOR=0xffffff
|
||||
CONFIG_DRM_PANIC_BACKGROUND_COLOR=0x000000
|
||||
# CONFIG_DRM_PANIC_DEBUG is not set
|
||||
CONFIG_DRM_PANIC_SCREEN="kmsg"
|
||||
CONFIG_DRM_PANIC_SCREEN="qr_code"
|
||||
CONFIG_DRM_PANIC_SCREEN_QR_CODE=y
|
||||
CONFIG_DRM_PANIC_SCREEN_QR_CODE_URL=""
|
||||
CONFIG_DRM_PANIC_SCREEN_QR_VERSION=40
|
||||
CONFIG_DRM_CLIENT_SELECTION=y
|
||||
CONFIG_DRM_CLIENT_SETUP=y
|
||||
CONFIG_DRM_FBDEV_EMULATION=y
|
||||
@@ -5989,7 +5996,6 @@ CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
|
||||
# CONFIG_INIT_STACK_NONE is not set
|
||||
# CONFIG_INIT_STACK_ALL_PATTERN is not set
|
||||
CONFIG_INIT_STACK_ALL_ZERO=y
|
||||
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
|
||||
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
|
||||
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
|
||||
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
|
||||
@@ -6003,9 +6009,9 @@ CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
|
||||
# CONFIG_BUG_ON_DATA_CORRUPTION is not set
|
||||
# end of Hardening of kernel data structures
|
||||
|
||||
CONFIG_CC_HAS_RANDSTRUCT=y
|
||||
CONFIG_RANDSTRUCT_NONE=y
|
||||
# CONFIG_RANDSTRUCT_FULL is not set
|
||||
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
|
||||
# end of Kernel hardening options
|
||||
# end of Security options
|
||||
|
||||
@@ -6436,9 +6442,7 @@ CONFIG_DEBUG_INFO_NONE=y
|
||||
# CONFIG_DEBUG_INFO_DWARF5 is not set
|
||||
CONFIG_FRAME_WARN=2048
|
||||
# CONFIG_STRIP_ASM_SYMS is not set
|
||||
# CONFIG_READABLE_ASM is not set
|
||||
# CONFIG_HEADERS_INSTALL is not set
|
||||
# CONFIG_DEBUG_SECTION_MISMATCH is not set
|
||||
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
|
||||
CONFIG_OBJTOOL=y
|
||||
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
|
||||
@@ -6515,6 +6519,8 @@ CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
|
||||
CONFIG_HAVE_ARCH_KFENCE=y
|
||||
# CONFIG_KFENCE is not set
|
||||
CONFIG_HAVE_ARCH_KMSAN=y
|
||||
CONFIG_HAVE_KMSAN_COMPILER=y
|
||||
# CONFIG_KMSAN is not set
|
||||
# end of Memory Debugging
|
||||
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
@@ -6748,5 +6754,8 @@ CONFIG_ARCH_USE_MEMTEST=y
|
||||
#
|
||||
# Rust hacking
|
||||
#
|
||||
# CONFIG_RUST_DEBUG_ASSERTIONS is not set
|
||||
CONFIG_RUST_OVERFLOW_CHECKS=y
|
||||
# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
|
||||
# end of Rust hacking
|
||||
# end of Kernel hacking
|
||||
|
||||
@@ -18,9 +18,9 @@ prepare() {
|
||||
# The build function is executed in the source directory
|
||||
# This function is used to compile the source code
|
||||
build() {
|
||||
make olddefconfig
|
||||
make
|
||||
make headers
|
||||
make LLVM=1 olddefconfig
|
||||
make LLVM=1
|
||||
make LLVM=1 headers
|
||||
}
|
||||
|
||||
# The package function is executed in the source directory
|
||||
|
||||
Reference in New Issue
Block a user