# git rev-parse -q --verify f2f6a8e8871725035959b90bac048cde555aa0e9^{commit} f2f6a8e8871725035959b90bac048cde555aa0e9 already have revision, skipping fetch # git checkout -q -f -B kisskb f2f6a8e8871725035959b90bac048cde555aa0e9 # git clean -qxdf # < git log -1 # commit f2f6a8e8871725035959b90bac048cde555aa0e9 # Author: Mark Rutland # Date: Thu Jul 18 13:06:47 2024 +0100 # # init/Kconfig: remove CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND # # Several versions of GCC mis-compile asm goto with outputs. We try to # workaround this, but our workaround is demonstrably incomplete and # liable to result in subtle bugs, especially on arm64 where get_user() # has recently been moved over to using asm goto with outputs. # # From discussion(s) with Linus at: # # https://lore.kernel.org/linux-arm-kernel/Zpfv2tnlQ-gOLGac@J2N7QTR9R3.cambridge.arm.com/ # https://lore.kernel.org/linux-arm-kernel/ZpfxLrJAOF2YNqCk@J2N7QTR9R3.cambridge.arm.com/ # # ... it sounds like the best thing to do for now is to remove the # workaround and make CC_HAS_ASM_GOTO_OUTPUT depend on working compiler # versions. # # The issue was originally reported to GCC by Sean Christopherson: # # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113921 # # ... and Jakub Jelinek fixed this for GCC 14, with the fix backported to # 13.3.0, 12.4.0, and 11.5.0. # # In the kernel, we tried to workaround broken compilers in commits: # # 4356e9f841f7 ("work around gcc bugs with 'asm goto' with outputs") # 68fb3ca0e408 ("update workarounds for gcc "asm goto" issue") # # ... but the workaround of adding an empty asm("") after the asm volatile # goto(...) demonstrably does not always avoid the problem, as can be seen # in the following test case: # # | #define asm_goto_output(x...) \ # | do { asm volatile goto(x); asm (""); } while (0) # | # | #define __good_or_bad(__val, __key) \ # | do { \ # | __label__ __failed; \ # | unsigned long __tmp; \ # | asm_goto_output( \ # | " cbnz %[key], %l[__failed]\n" \ # | " mov %[val], #0x900d\n" \ # | : [val] "=r" (__tmp) \ # | : [key] "r" (__key) \ # | : \ # | : __failed); \ # | (__val) = __tmp; \ # | break; \ # | __failed: \ # | (__val) = 0xbad; \ # | } while (0) # | # | unsigned long get_val(unsigned long key); # | unsigned long get_val(unsigned long key) # | { # | unsigned long val = 0xbad; # | # | __good_or_bad(val, key); # | # | return val; # | } # # GCC 13.2.0 (at -O2) compiles this to: # # | cbnz x0, .Lfailed # | mov x0, #0x900d # | .Lfailed: # | ret # # GCC 14.1.0 (at -O2) compiles this to: # # | cbnz x0, .Lfailed # | mov x0, #0x900d # | ret # | .Lfailed: # | mov x0, #0xbad # | ret # # Note that GCC 13.2.0 erroneously omits the assignment to 'val' in the # error path (even though this does not depend on an output of the asm # goto). GCC 14.1.0 correctly retains the assignment. # # This problem can be seen within the kernel with the following test case: # # | #include # | #include # | # | noinline unsigned long test_unsafe_get_user(unsigned long __user *ptr); # | noinline unsigned long test_unsafe_get_user(unsigned long __user *ptr) # | { # | unsigned long val; # | # | unsafe_get_user(val, ptr, Efault); # | return val; # | # | Efault: # | val = 0x900d; # | return val; # | } # # GCC 13.2.0 (arm64 defconfig) compiles this to: # # | and x0, x0, #0xff7fffffffffffff # | ldtr x0, [x0] # | .Lextable_fixup: # | ret # # GCC 13.2.0 (x86_64 defconfig + MITIGATION_RETPOLINE=n) compiles this to: # # | endbr64 # | mov (%rdi),%rax # | .Lextable_fixup: # | ret # # ... omitting the assignment to 'val' in the error path, and leaving # garbage in the result register returned by the function (which happens # to contain the faulting address in the generated code). # # GCC 14.1.0 (arm64 defconfig) compiles this to: # # | and x0, x0, #0xff7fffffffffffff # | ldtr x0, [x0] # | ret # | .Lextable_fixup: # | mov x0, #0x900d // #36877 # | ret # # GCC 14.1.0 (x86_64 defconfig + MITIGATION_RETPOLINE=n) compiles this to: # # | endbr64 # | mov (%rdi),%rax # | ret # | .Lextable_fixup: # | mov $0x900d,%eax # | ret # # ... retaining the expected assignment to 'val' in the error path. # # We don't have a complete and reasonable workaround. While placing empty # asm("") blocks after each goto label *might* be sufficient, we don't # know for certain, this is tedious and error-prone, and there doesn't # seem to be a neat way to wrap this up (which is especially painful for # cases with multiple goto labels). # # Avoid this issue by disabling CONFIG_CC_HAS_ASM_GOTO_OUTPUT for # known-broken compiler versions and removing the workaround (along with # the CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND config option). # # For the moment I've left the default implementation of asm_goto_output() # unchanged. This should now be redundant since any compiler with the fix # for the clobbering issue whould also have a fix for the (earlier) # volatile issue, but it's far less churny to leave it around, which makes # it easier to backport this patch if necessary. # # Signed-off-by: Mark Rutland # Cc: Alex Coplan # Cc: Catalin Marinas # Cc: Jakub Jelinek # Cc: Peter Zijlstra # Cc: Sean Christopherson # Cc: Szabolcs Nagy # Cc: Will Deacon # Cc: linux-arm-kernel@lists.infradead.org # Cc: linux-kernel@vger.kernel.org # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 f2f6a8e8871725035959b90bac048cde555aa0e9 # make -s -j 24 ARCH=powerpc O=/kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64_book3e_allmodconfig # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig # < make -s -j 24 ARCH=powerpc O=/kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 24 ARCH=powerpc O=/kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 24 ARCH=powerpc O=/kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/a3m071.dts:135.15-137.4 arch/powerpc/boot/dts/a3m071.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5121.dtsi:397.13-406.5: Warning (spi_bus_bridge): /soc@80000000/psc@11400: node name for SPI buses should be 'spi' also defined at /kisskb/src/arch/powerpc/boot/dts/ac14xx.dts:305.19-326.5 /kisskb/src/arch/powerpc/boot/dts/mpc5121.dtsi:409.13-418.5: Warning (spi_bus_bridge): /soc@80000000/psc@11500: node name for SPI buses should be 'spi' also defined at /kisskb/src/arch/powerpc/boot/dts/ac14xx.dts:329.19-344.5 arch/powerpc/boot/dts/ac14xx.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge' /kisskb/src/arch/powerpc/boot/dts/mpc5121.dtsi:508.20-525.4: Warning (interrupt_provider): /pci@80008500: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/ac14xx.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/amigaone.dts:57.9-163.5: Warning (interrupt_provider): /pci@80000000/isa@7: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/amigaone.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts:211.22-213.4: Warning (pci_bridge): /pcie@fef09000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:129.9-143.4: Warning (pci_bridge): /pcie@fef09000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/gef_ppc9a.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/gef_ppc9a.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/gef_ppc9a.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts:195.22-209.4: Warning (interrupt_provider): /pcie@fef08000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:92.7-117.3 /kisskb/src/arch/powerpc/boot/dts/fsl/gef_ppc9a.dts:211.22-213.4: Warning (interrupt_provider): /pcie@fef09000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 arch/powerpc/boot/dts/fsl/gef_ppc9a.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/gef_sbc310.dts:217.22-231.4: Warning (interrupt_provider): /pcie@fef09000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 arch/powerpc/boot/dts/fsl/gef_sbc310.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/bluestone.dts:272.13-277.7: Warning (i2c_bus_reg): /plb/opb/i2c@ef600700/sttm@4C: I2C bus unit address format error, expected "4c" /kisskb/src/arch/powerpc/boot/dts/fsl/gef_sbc610.dts:209.22-211.4: Warning (pci_bridge): /pcie@fef09000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:129.9-143.4: Warning (pci_bridge): /pcie@fef09000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/gef_sbc610.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/gef_sbc610.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/gef_sbc610.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/gef_sbc610.dts:193.22-207.4: Warning (interrupt_provider): /pcie@fef08000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:92.7-117.3 /kisskb/src/arch/powerpc/boot/dts/fsl/gef_sbc610.dts:209.22-211.4: Warning (interrupt_provider): /pcie@fef09000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 arch/powerpc/boot/dts/fsl/gef_sbc610.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/kmcoge4.dts:196.23-198.4: Warning (pci_bridge): /pcie@ffe201000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi:87.7-113.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p2041si-post.dtsi:97.9-112.4: Warning (pci_bridge): /pcie@ffe201000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/kmcoge4.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/kmcoge4.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/kmcoge4.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/cm5200.dts:70.15-72.4 arch/powerpc/boot/dts/cm5200.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8544ds.dtsi:154.11-204.6: Warning (interrupt_provider): /pcie@e000b000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8544ds.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/ep8248e.dts:101.13-190.5: Warning (interrupt_provider): /soc@f0000000/cpm@119c0: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/ep8248e.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:392.24-397.5: Warning (interrupt_provider): /plb4/plb6-system-hung-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:399.16-404.5: Warning (interrupt_provider): /plb4/l2-error-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:406.17-411.5: Warning (interrupt_provider): /plb4/plb6-plb4-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:413.16-418.5: Warning (interrupt_provider): /plb4/plb4-ahb-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:420.18-425.5: Warning (interrupt_provider): /plb4/opbd-error-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:427.17-432.5: Warning (interrupt_provider): /plb4/cmu-error-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:434.18-439.5: Warning (interrupt_provider): /plb4/conf-error-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:441.13-446.5: Warning (interrupt_provider): /plb4/mc-ue-irq: '#interrupt-cells' found, but node is not an interrupt provider /kisskb/src/arch/powerpc/boot/dts/fsp2.dts:448.21-453.5: Warning (interrupt_provider): /plb4/reset-warning-irq: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsp2.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/ep88xc.dts:122.13-131.5: Warning (interrupt_provider): /soc@fa200000/pcmcia@80: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/ep88xc.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi:375.11-425.6: Warning (interrupt_provider): /pcie@fffe08000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8572ds_36b.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi:375.11-425.6: Warning (interrupt_provider): /pcie@ffe08000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8572ds.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi:375.11-425.6: Warning (interrupt_provider): /pcie@ffe08000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8572ds_camp_core0.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/mvme7100.dts:135.22-137.4: Warning (pci_bridge): /pcie@f1008000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:92.7-117.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:102.9-116.4: Warning (pci_bridge): /pcie@f1008000/pcie@0: missing ranges for PCI bridge (or not a bridge) /kisskb/src/arch/powerpc/boot/dts/fsl/mvme7100.dts:139.22-141.4: Warning (pci_bridge): /pcie@f1009000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:129.9-143.4: Warning (pci_bridge): /pcie@f1009000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/mvme7100.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/mvme7100.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/mvme7100.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/mvme7100.dts:30.11-32.6: Warning (i2c_bus_reg): /soc@f1000000/i2c@3000/rtc@68: missing or empty reg property /kisskb/src/arch/powerpc/boot/dts/fsl/mvme7100.dts:135.22-137.4: Warning (interrupt_provider): /pcie@f1008000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:92.7-117.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mvme7100.dts:139.22-141.4: Warning (interrupt_provider): /pcie@f1009000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8641si-post.dtsi:119.7-144.3 arch/powerpc/boot/dts/fsl/mvme7100.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/oca4080.dts:132.23-134.4: Warning (pci_bridge): /pcie@ffe200000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:58.7-84.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:68.9-83.4: Warning (pci_bridge): /pcie@ffe200000/pcie@0: missing ranges for PCI bridge (or not a bridge) /kisskb/src/arch/powerpc/boot/dts/fsl/oca4080.dts:136.23-138.4: Warning (pci_bridge): /pcie@ffe201000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:87.7-113.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:97.9-112.4: Warning (pci_bridge): /pcie@ffe201000/pcie@0: missing ranges for PCI bridge (or not a bridge) /kisskb/src/arch/powerpc/boot/dts/fsl/oca4080.dts:140.23-142.4: Warning (pci_bridge): /pcie@ffe202000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:116.7-142.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p4080si-post.dtsi:126.9-141.4: Warning (pci_bridge): /pcie@ffe202000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/oca4080.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/oca4080.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/oca4080.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8572ds.dtsi:375.11-425.6: Warning (interrupt_provider): /pcie@ffe08000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/mpc8572ds_camp_core1.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@fffe00000/mdio@24000/ethernet-phy@0:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@fffe00000/mdio@24000/ethernet-phy@1:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@ffe00000/mdio@24000/ethernet-phy@0:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@ffe00000/mdio@24000/ethernet-phy@1:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts:189.11-193.6: Warning (spi_bus_reg): /soc@ffe00000/spi@7000/slic@0: SPI bus unit address format error, expected "1" /kisskb/src/arch/powerpc/boot/dts/fsl/p1020rdb-pd.dts:195.11-199.6: Warning (spi_bus_reg): /soc@ffe00000/spi@7000/slic@1: SPI bus unit address format error, expected "2" /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/motionpro.dts:84.15-86.4 arch/powerpc/boot/dts/motionpro.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mgcoge.dts:105.13-230.5: Warning (interrupt_provider): /soc@f0000000/cpm@119c0: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/mgcoge.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@ffe00000/mdio@24000/ethernet-phy@0:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@ffe00000/mdio@24000/ethernet-phy@1:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@fffe00000/mdio@24000/ethernet-phy@0:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/pq3-mpic.dtsi:38.2-25: Warning (interrupts_property): /soc@fffe00000/mdio@24000/ethernet-phy@1:#interrupt-cells: size is (8), expected multiple of 16 /kisskb/src/arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dts:59.22-62.4: Warning (pci_bridge): /pcie@ffe08000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:102.7-129.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:112.9-128.4: Warning (pci_bridge): /pcie@ffe08000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb-pc_32b.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/p2020ds.dtsi:274.11-324.6: Warning (interrupt_provider): /pcie@ffe09000/pcie@0/uli1575@0/isa@1e: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/fsl/p2020ds.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dts:59.23-62.4: Warning (pci_bridge): /pcie@fffe08000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:102.7-129.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:112.9-128.4: Warning (pci_bridge): /pcie@fffe08000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb-pc_36b.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/p2020rdb.dts:251.22-254.4: Warning (pci_bridge): /pcie@ffe08000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:43.7-69.3 /kisskb/src/arch/powerpc/boot/dts/fsl/p2020si-post.dtsi:53.9-68.4: Warning (pci_bridge): /pcie@ffe08000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/p2020rdb.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/p2020rdb.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/mpc885ads.dts:127.13-136.5: Warning (interrupt_provider): /soc@ff000000/pcmcia@80: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/mpc885ads.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mvme5100.dts:155.7-177.5: Warning (interrupt_provider): /pci@feff0000/isa: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/mvme5100.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/fsl/ppa8548.dts:34.22-37.4: Warning (pci_bridge): /pci@fe0008000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:43.7-51.3 /kisskb/src/arch/powerpc/boot/dts/fsl/ppa8548.dts:39.22-42.4: Warning (pci_bridge): /pci@fe0009000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:54.7-62.3 /kisskb/src/arch/powerpc/boot/dts/fsl/ppa8548.dts:44.23-47.4: Warning (pci_bridge): /pcie@fe000a000: missing ranges for PCI bridge (or not a bridge) also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:65.7-90.3 /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:74.9-89.4: Warning (pci_bridge): /pcie@fe000a000/pcie@0: missing ranges for PCI bridge (or not a bridge) arch/powerpc/boot/dts/fsl/ppa8548.dtb: Warning (unit_address_format): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/ppa8548.dtb: Warning (pci_device_reg): Failed prerequisite 'pci_bridge' arch/powerpc/boot/dts/fsl/ppa8548.dtb: Warning (pci_device_bus_num): Failed prerequisite 'pci_bridge' /kisskb/src/arch/powerpc/boot/dts/fsl/ppa8548.dts:34.22-37.4: Warning (interrupt_provider): /pci@fe0008000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:43.7-51.3 /kisskb/src/arch/powerpc/boot/dts/fsl/ppa8548.dts:39.22-42.4: Warning (interrupt_provider): /pci@fe0009000: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/fsl/mpc8548si-post.dtsi:54.7-62.3 arch/powerpc/boot/dts/fsl/ppa8548.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o2d.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o2dnt2.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o2d300.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o2i.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o2mnt.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/o3dnt.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/mpc5121.dtsi:457.13-466.5: Warning (spi_bus_bridge): /soc@80000000/psc@11900: node name for SPI buses should be 'spi' also defined at /kisskb/src/arch/powerpc/boot/dts/pdm360ng.dts:172.13-185.5 arch/powerpc/boot/dts/pdm360ng.dtb: Warning (spi_bus_reg): Failed prerequisite 'spi_bus_bridge' /kisskb/src/arch/powerpc/boot/dts/mpc5121.dtsi:508.20-525.4: Warning (interrupt_provider): /pci@80008500: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/pdm360ng.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/sam440ep.dts:266.22-287.5: Warning (interrupt_provider): /plb/pci@ec000000: '#interrupt-cells' found, but node is not an interrupt provider arch/powerpc/boot/dts/sam440ep.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' /kisskb/src/arch/powerpc/boot/dts/stxssa8555.dts:342.15-351.5: Warning (pci_device_reg): /pci@e0008000/i8259@19000: PCI unit address format error, expected "12,0" /kisskb/src/arch/powerpc/boot/dts/stxssa8555.dts:331.3-21: Warning (pci_device_bus_num): /pci@e0008000/i8259@19000:bus-range: PCI bus number 1 out of range, expected (0 - 0) /kisskb/src/arch/powerpc/boot/dts/mpc5200b.dtsi:267.20-282.4: Warning (interrupt_provider): /pci@f0000d00: '#interrupt-cells' found, but node is not an interrupt provider also defined at /kisskb/src/arch/powerpc/boot/dts/uc101.dts:100.15-102.4 arch/powerpc/boot/dts/uc101.dtb: Warning (interrupt_map): Failed prerequisite 'interrupt_provider' ERROR: start_text address is c000000000000800, should be c000000000000200 ERROR: try to enable LD_HEAD_STUB_CATCH config option ERROR: see comments in arch/powerpc/tools/head_check.sh make[4]: *** [/kisskb/src/arch/powerpc/Makefile.postlink:31: vmlinux] Error 1 make[3]: *** [/kisskb/src/scripts/Makefile.vmlinux:34: vmlinux] Error 2 make[3]: *** Deleting file 'vmlinux' make[2]: *** [/kisskb/src/Makefile:1171: vmlinux] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/kisskb/src/Makefile:240: __sub-make] Error 2 make: *** [Makefile:240: __sub-make] Error 2 Command 'make -s -j 24 ARCH=powerpc O=/kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/linus_ppc64_book3e_allmodconfig_powerpc-gcc13 # Build took: 1:01:11.457448