[openwrt/openwrt] generic: fix warning orphan section from module exports in aarch64

LEDE Commits lede-commits at lists.infradead.org
Thu Jul 14 05:21:20 PDT 2022


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/4b924fe6dfab306ce8471cf448bbf25d30387ba5

commit 4b924fe6dfab306ce8471cf448bbf25d30387ba5
Author: Christian Marangi <ansuelsmth at gmail.com>
AuthorDate: Fri Jul 8 16:22:45 2022 +0200

    generic: fix warning orphan section from module exports in aarch64
    
    kernel linux now have 2 different export.h include, one from
    linux/export.h and one from asm-generic/export.h
    
    While most of our target user linux/export.h, aarch64 based target use
    asm-generic/export.h that is not patched with the changes of
    221-module_exports.
    
    Patch also this additional header to fix multiple
    
    aarch64-openwrt-linux-musl-ld: warning: orphan section `__ksymtab_strings' from `arch/arm64/kernel/head.o' being placed in section `__ksymtab_strings'
    
    warning during kernel compilation.
    
    Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
---
 .../generic/hack-5.10/221-module_exports.patch     | 24 ++++++++++++++++++++++
 .../generic/hack-5.15/221-module_exports.patch     | 24 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)

diff --git a/target/linux/generic/hack-5.10/221-module_exports.patch b/target/linux/generic/hack-5.10/221-module_exports.patch
index cd38125f28..b5ddaf1c6d 100644
--- a/target/linux/generic/hack-5.10/221-module_exports.patch
+++ b/target/linux/generic/hack-5.10/221-module_exports.patch
@@ -89,6 +89,30 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	    "__kstrtab_" #sym ":					\n"	\
  	    "	.asciz 	\"" #sym "\"					\n"	\
  	    "__kstrtabns_" #sym ":					\n"	\
+--- a/include/asm-generic/export.h
++++ b/include/asm-generic/export.h
+@@ -26,6 +26,12 @@
+ #endif
+ .endm
+ 
++#ifdef MODULE
++#define __EXPORT_SUFFIX(name)
++#else
++#define __EXPORT_SUFFIX(name) + #name
++#endif
++
+ /*
+  * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE)
+  * section flag requires it. Use '%progbits' instead of '@progbits' since the
+@@ -42,7 +42,7 @@
+ __ksymtab_\name:
+ 	__put \val, __kstrtab_\name
+ 	.previous
+-	.section __ksymtab_strings,"aMS",%progbits,1
++	.section __ksymtab_strings __EXPORT_SUFFIX(name),"aMS",%progbits,1
+ __kstrtab_\name:
+ 	.asciz "\name"
+ 	.previous
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
 @@ -367,7 +367,7 @@ targets += $(lib-y) $(always-y) $(MAKECM
diff --git a/target/linux/generic/hack-5.15/221-module_exports.patch b/target/linux/generic/hack-5.15/221-module_exports.patch
index 95aef8edf8..47f013de4f 100644
--- a/target/linux/generic/hack-5.15/221-module_exports.patch
+++ b/target/linux/generic/hack-5.15/221-module_exports.patch
@@ -89,6 +89,30 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	    "__kstrtab_" #sym ":					\n"	\
  	    "	.asciz 	\"" #sym "\"					\n"	\
  	    "__kstrtabns_" #sym ":					\n"	\
+--- a/include/asm-generic/export.h
++++ b/include/asm-generic/export.h
+@@ -26,6 +26,12 @@ struct kernel_symbol {
+ #endif
+ .endm
+ 
++#ifdef MODULE
++#define __EXPORT_SUFFIX(name)
++#else
++#define __EXPORT_SUFFIX(name) + #name
++#endif
++
+ /*
+  * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE)
+  * section flag requires it. Use '%progbits' instead of '@progbits' since the
+@@ -42,7 +42,7 @@ struct kernel_symbol {
+ __ksymtab_\name:
+ 	__put \val, __kstrtab_\name
+ 	.previous
+-	.section __ksymtab_strings,"aMS",%progbits,1
++	.section __ksymtab_strings __EXPORT_SUFFIX(name),"aMS",%progbits,1
+ __kstrtab_\name:
+ 	.asciz "\name"
+ 	.previous
 --- a/scripts/Makefile.build
 +++ b/scripts/Makefile.build
 @@ -396,7 +396,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa




More information about the lede-commits mailing list