Manually rebuild pending patches: - 103-kbuild-export-SUBARCH.patch - 141-jffs2-add-RENAME_EXCHANGE-support.patch - 200-ARM-9404-1-arm32-fix-boot-hang-with-HAVE_LD_DEAD_COD.patch - 203-kallsyms_uncompressed.patch - 270-platform-mikrotik-build-bits.patch - 308-mips32r2_tune.patch - 330-MIPS-kexec-Accept-command-line-parameters-from-users.patch - 402-mtd-spi-nor-write-support-for-minor-aligned-partitions.patch - 451-block-partitions-populate-fwnode.patch - 476-mtd-spi-nor-add-eon-en25q128.patch - 477-mtd-spi-nor-add-eon-en25qx128a.patch - 479-mtd-spi-nor-add-xtx-xt25f128b.patch - 481-mtd-spi-nor-add-support-for-Gigadevice-GD25D05.patch - 482-mtd-spi-nor-add-gd25q512.patch - 484-mtd-spi-nor-add-esmt-f25l16pa.patch - 485-mtd-spi-nor-add-xmc-xm25qh128c.patch - 488-mtd-spi-nor-add-xmc-xm25qh64c.patch - 490-ubi-auto-attach-mtd-device-named-ubi-or-data-on-boot.patch - 497-mtd-mtdconcat-add-dt-driver-for-concat-devices.patch - 498-mtd-spi-nor-locking-support-for-MX25L6405D.patch - 510-block-add-uImage.FIT-subimage-block-driver.patch - 530-jffs2_make_lzma_available.patch - 630-packet_socket_type.patch - 666-Add-support-for-MAP-E-FMRs-mesh-mode.patch - 681-net-remove-NETIF_F_GSO_FRAGLIST-from-NETIF_F_GSO_SOF.patch - 700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch - 702-net-ethernet-mtk_eth_soc-enable-threaded-NAPI.patch - 706-net-phy-populate-host_interfaces-when-attaching-PHY.patch - 711-03-net-dsa-qca8k-add-support-for-port_change_master.patch - 734-net-ethernet-mediatek-enlarge-DMA-reserve-buffer.patch - 736-03-net-ethernet-mtk_eth_soc-improve-keeping-track-of-of.patch - 737-net-ethernet-mtk_eth_soc-add-paths-and-SerDes-modes-.patch - 739-03-net-pcs-pcs-mtk-lynxi-add-platform-driver-for-MT7988.patch - 801-gpio-gpio-cascade-add-generic-GPIO-cascade.patch - 809-01-nvmem-core-generalize-mac-base-cells-handling.patch - 811-pci_disable_usb_common_quirks.patch - 834-ledtrig-libata.patch - 892-leds-Add-LED1202-I2C-driver.patch - 920-mangle_bootargs.patch Co-authored-by: Aditya Nugraha <vortexilation@gmail.com> Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com> [ improve commit title + minor fixes ] Link: https://github.com/openwrt/openwrt/pull/16547 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
79 lines
2.3 KiB
Diff
79 lines
2.3 KiB
Diff
From cf3d39cfd29ab7bcbd6aa79d4a2f132817969e3d Mon Sep 17 00:00:00 2001
|
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
Date: Tue, 15 Apr 2025 23:16:40 +0200
|
|
Subject: [PATCH] ARM: 9404/1: arm32: fix boot hang with
|
|
HAVE_LD_DEAD_CODE_DATA_ELIMINATION
|
|
|
|
It was reported that some SoC (mvebu based for example) hang on kernel
|
|
loading. A variant of the feature was present in OpenWrt from long ago
|
|
and adding the additional entry with KEEP, fix the problem.
|
|
|
|
Fixes: ed0f94102251 ("ARM: 9404/1: arm32: enable HAVE_LD_DEAD_CODE_DATA_ELIMINATION")
|
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
---
|
|
arch/arm/include/asm/vmlinux.lds.h | 10 +++++-----
|
|
arch/arm/kernel/vmlinux.lds.S | 4 ++--
|
|
2 files changed, 7 insertions(+), 7 deletions(-)
|
|
|
|
--- a/arch/arm/include/asm/vmlinux.lds.h
|
|
+++ b/arch/arm/include/asm/vmlinux.lds.h
|
|
@@ -54,7 +54,7 @@
|
|
#define IDMAP_TEXT \
|
|
ALIGN_FUNCTION(); \
|
|
__idmap_text_start = .; \
|
|
- *(.idmap.text) \
|
|
+ KEEP(*(.idmap.text)) \
|
|
__idmap_text_end = .; \
|
|
|
|
#define ARM_DISCARD \
|
|
@@ -114,12 +114,12 @@
|
|
. = ALIGN(8); \
|
|
.ARM.unwind_idx : { \
|
|
__start_unwind_idx = .; \
|
|
- *(.ARM.exidx*) \
|
|
+ KEEP(*(.ARM.exidx*)) \
|
|
__stop_unwind_idx = .; \
|
|
} \
|
|
.ARM.unwind_tab : { \
|
|
__start_unwind_tab = .; \
|
|
- *(.ARM.extab*) \
|
|
+ KEEP(*(.ARM.extab*)) \
|
|
__stop_unwind_tab = .; \
|
|
}
|
|
|
|
@@ -131,7 +131,7 @@
|
|
__vectors_lma = .; \
|
|
OVERLAY 0xffff0000 : NOCROSSREFS AT(__vectors_lma) { \
|
|
.vectors { \
|
|
- OVERLAY_KEEP(*(.vectors)) \
|
|
+ KEEP(*(.vectors)) \
|
|
} \
|
|
.vectors.bhb.loop8 { \
|
|
OVERLAY_KEEP(*(.vectors.bhb.loop8)) \
|
|
@@ -149,7 +149,7 @@
|
|
\
|
|
__stubs_lma = .; \
|
|
.stubs ADDR(.vectors) + 0x1000 : AT(__stubs_lma) { \
|
|
- *(.stubs) \
|
|
+ KEEP(*(.stubs)) \
|
|
} \
|
|
ARM_LMA(__stubs, .stubs); \
|
|
. = __stubs_lma + SIZEOF(.stubs); \
|
|
--- a/arch/arm/kernel/vmlinux.lds.S
|
|
+++ b/arch/arm/kernel/vmlinux.lds.S
|
|
@@ -104,13 +104,13 @@ SECTIONS
|
|
}
|
|
.init.tagtable : {
|
|
__tagtable_begin = .;
|
|
- *(.taglist.init)
|
|
+ KEEP(*(.taglist.init))
|
|
__tagtable_end = .;
|
|
}
|
|
#ifdef CONFIG_SMP_ON_UP
|
|
.init.smpalt : {
|
|
__smpalt_begin = .;
|
|
- *(.alt.smp.init)
|
|
+ KEEP(*(.alt.smp.init))
|
|
__smpalt_end = .;
|
|
}
|
|
#endif
|