Description of problem: the latest 4.4 kernels won't build anymore on ppc64le: + make -f ./scripts/Makefile.modpost vmlinux.o WARNING: modpost: Found 4 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' FATAL: modpost: Section mismatches detected. Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them. With CONFIG_SECTION_MISMATCH_WARN_ONLY=y : + make -f ./scripts/Makefile.modpost vmlinux.o WARNING: vmlinux.o(.text+0x8994): Section mismatch in reference from the variable __boot_from_prom to the function .init.text:prom_init() The function __boot_from_prom() references the function __init prom_init(). This is often because __boot_from_prom lacks a __init annotation or the annotation of prom_init is wrong. WARNING: vmlinux.o(.text+0x8c30): Section mismatch in reference from the variable start_here_multiplatform to the function .init.text:early_setup() The function start_here_multiplatform() references the function __init early_setup(). This is often because start_here_multiplatform lacks a __init annotation or the annotation of early_setup is wrong. WARNING: vmlinux.o(.text+0x8c54): Section mismatch in reference from the variable start_here_common to the function .init.text:setup_system() The function start_here_common() references the function __init setup_system(). This is often because start_here_common lacks a __init annotation or the annotation of setup_system is wrong. WARNING: vmlinux.o(.text+0x8c68): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. FATAL: modpost: Section mismatches detected. Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them. scripts/Makefile.modpost:97: recipe for target 'vmlinux.o' failed Version-Release number of selected component (if applicable): kernel-4.4.0-0.rc0.git6.1.fc24 kernel-4.4.0-0.rc0.git7.2.fc24 How reproducible: always Steps to Reproduce: 1. ppc-kernel build --scratch --arch-override ppc64le f24 kernel-4.4.0-0.rc0.git6.1.fc24.src.rpm 2. 3. Actual results: http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2896128 http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2898203 Additional info: This issue is on ppc64le only, ppc64 and ppc64p7 build just fine.
Might be the same issue that caused the troubles to build emacs in RHEL with latest binutils. It was also something related to ELF section ordering (bug 1223033).
The same error occurs on a fully updated F22 ppc64le machine with binutils-2.25-9.fc22.ppc64le and elfutils-0.163-4.fc22.ppc64le
I think the section mismatch errors were always there but I accidentally turned on an option which makes them fatal. I've switched the Kconfig and this should be fixed in tonight's rawhide.
Corrected the Kconfig. Should be in rawhide right now.