Latest binutils (2.37) exposed a long-standing bug. The kernel linking stage would break at the SORTTAB step, due to the exception table having been previously purged from vmlinux, as its section wasn't marked as unconditionally kept. Fix thusly.
Additionally, the "#define ARM_MMU_DISCARD(x) KEEP(x)" change is bogus. It would only apply to !CONFIG_MMU devices (which we don't support in OpenWrt), and it would even break the build if referenced. Drop it. While at it, rename the patch in order to make it obvious that it's arm-specific. Signed-off-by: Rui Salvaterra <[email protected]> --- ...ections.patch => 220-arm-gc_sections.patch} | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) rename target/linux/generic/hack-5.10/{220-gc_sections.patch => 220-arm-gc_sections.patch} (93%) diff --git a/target/linux/generic/hack-5.10/220-gc_sections.patch b/target/linux/generic/hack-5.10/220-arm-gc_sections.patch similarity index 93% rename from target/linux/generic/hack-5.10/220-gc_sections.patch rename to target/linux/generic/hack-5.10/220-arm-gc_sections.patch index 810c5aecf5..3b67eea250 100644 --- a/target/linux/generic/hack-5.10/220-gc_sections.patch +++ b/target/linux/generic/hack-5.10/220-arm-gc_sections.patch @@ -32,6 +32,15 @@ Signed-off-by: Gabor Juhos <[email protected]> lib1funcs.o ashldi3.o bswapsdi2.o \ --- a/arch/arm/kernel/vmlinux.lds.S +++ b/arch/arm/kernel/vmlinux.lds.S +@@ -75,7 +75,7 @@ SECTIONS + . = ALIGN(4); + __ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET) { + __start___ex_table = .; +- ARM_MMU_KEEP(*(__ex_table)) ++ KEEP(*(__ex_table)) + __stop___ex_table = .; + } + @@ -100,24 +100,24 @@ SECTIONS } .init.arch.info : { @@ -63,14 +72,7 @@ Signed-off-by: Gabor Juhos <[email protected]> --- a/arch/arm/include/asm/vmlinux.lds.h +++ b/arch/arm/include/asm/vmlinux.lds.h -@@ -23,19 +23,19 @@ - #define ARM_MMU_DISCARD(x) - #else - #define ARM_MMU_KEEP(x) --#define ARM_MMU_DISCARD(x) x -+#define ARM_MMU_DISCARD(x) KEEP(x) - #endif - +@@ -29,13 +29,13 @@ #define PROC_INFO \ . = ALIGN(4); \ __proc_info_begin = .; \ -- 2.32.0 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
