On Tue, Mar 11, 2025 at 11:37:59AM +0100, Ard Biesheuvel wrote: > There are many occurrences of > > ffffffff8373cb87: 49 c7 c6 20 c0 55 86 mov $0xffffffff8655c020,%r14 > ffffffff8373cb8a: R_X86_64_32S __ref_stack_chk_guard > > whereas the ordinary Clang uses R_X86_64_REX_GOTPCRELX here, which are > relaxed by the linker. > > I suspect that Ubuntu's Clang 15 has some additional patches that > trigger this behavior. ... and then we don't know what else out there does other "additional" patches ;-\ > We could add __no_stack_protector to __head to work around this. Yap, that fixes the build: diff --git a/arch/x86/include/asm/init.h b/arch/x86/include/asm/init.h index 0e82ebc5d1e1..6cf4ea847dc3 100644 --- a/arch/x86/include/asm/init.h +++ b/arch/x86/include/asm/init.h @@ -2,7 +2,7 @@ #ifndef _ASM_X86_INIT_H #define _ASM_X86_INIT_H -#define __head __section(".head.text") __no_sanitize_undefined +#define __head __section(".head.text") __no_sanitize_undefined __no_stack_protector struct x86_mapping_info { void *(*alloc_pgt_page)(void *); /* allocate buf for page table */ Thx. -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette