diff options
| -rw-r--r-- | target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch | 117 | 
1 files changed, 0 insertions, 117 deletions
| diff --git a/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch b/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch deleted file mode 100644 index 2a4483262..000000000 --- a/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch +++ /dev/null @@ -1,117 +0,0 @@ ---- a/Makefile -+++ b/Makefile -@@ -963,7 +963,7 @@ prepare: prepare0 - # Leave this as default for preprocessing vmlinux.lds.S, which is now - # done in arch/$(ARCH)/kernel/Makefile -  --export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) -+export CPPFLAGS_vmlinux.lds += -P -C -U$(ARCH) $(EXTRA_LDSFLAGS) -  - # The asm symlink changes when $(ARCH) changes. - # Detect this and ask user to run make mrproper ---- a/include/asm-generic/vmlinux.lds.h -+++ b/include/asm-generic/vmlinux.lds.h -@@ -2,6 +2,18 @@ - #define LOAD_OFFSET 0 - #endif -  -+#ifndef SYMTAB_KEEP_STR -+#define SYMTAB_KEEP_STR *(__ksymtab_strings.*) -+#endif -+ -+#ifndef SYMTAB_KEEP -+#define SYMTAB_KEEP *(__ksymtab.*) -+#endif -+ -+#ifndef SYMTAB_KEEP_GPL -+#define SYMTAB_KEEP_GPL *(__ksymtab_gpl.*) -+#endif -+ - #ifndef VMLINUX_SYMBOL - #define VMLINUX_SYMBOL(_sym_) _sym_ - #endif -@@ -124,35 +136,35 @@ - 	/* Kernel symbol table: Normal symbols */			\ - 	__ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {		\ - 		VMLINUX_SYMBOL(__start___ksymtab) = .;			\ --		*(__ksymtab)						\ -+		SYMTAB_KEEP						\ - 		VMLINUX_SYMBOL(__stop___ksymtab) = .;			\ - 	}								\ - 									\ - 	/* Kernel symbol table: GPL-only symbols */			\ - 	__ksymtab_gpl     : AT(ADDR(__ksymtab_gpl) - LOAD_OFFSET) {	\ - 		VMLINUX_SYMBOL(__start___ksymtab_gpl) = .;		\ --		*(__ksymtab_gpl)					\ -+		SYMTAB_KEEP_GPL						\ - 		VMLINUX_SYMBOL(__stop___ksymtab_gpl) = .;		\ - 	}								\ - 									\ - 	/* Kernel symbol table: Normal unused symbols */		\ - 	__ksymtab_unused  : AT(ADDR(__ksymtab_unused) - LOAD_OFFSET) {	\ - 		VMLINUX_SYMBOL(__start___ksymtab_unused) = .;		\ --		*(__ksymtab_unused)					\ -+		*(__ksymtab_unused.*)					\ - 		VMLINUX_SYMBOL(__stop___ksymtab_unused) = .;		\ - 	}								\ - 									\ - 	/* Kernel symbol table: GPL-only unused symbols */		\ - 	__ksymtab_unused_gpl : AT(ADDR(__ksymtab_unused_gpl) - LOAD_OFFSET) { \ - 		VMLINUX_SYMBOL(__start___ksymtab_unused_gpl) = .;	\ --		*(__ksymtab_unused_gpl)					\ -+		*(__ksymtab_unused_gpl.*)				\ - 		VMLINUX_SYMBOL(__stop___ksymtab_unused_gpl) = .;	\ - 	}								\ - 									\ - 	/* Kernel symbol table: GPL-future-only symbols */		\ - 	__ksymtab_gpl_future : AT(ADDR(__ksymtab_gpl_future) - LOAD_OFFSET) { \ - 		VMLINUX_SYMBOL(__start___ksymtab_gpl_future) = .;	\ --		*(__ksymtab_gpl_future)					\ -+		*(__ksymtab_gpl_future.*)				\ - 		VMLINUX_SYMBOL(__stop___ksymtab_gpl_future) = .;	\ - 	}								\ - 									\ -@@ -193,7 +205,13 @@ - 									\ - 	/* Kernel symbol table: strings */				\ -         __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) {	\ --		*(__ksymtab_strings)					\ -+		SYMTAB_KEEP_STR						\ -+	}								\ -+									\ -+	/DISCARD/ : {							\ -+		*(__ksymtab.*)						\ -+		*(__ksymtab_gpl.*)					\ -+		*(__ksymtab_strings.*)					\ - 	}								\ - 									\ - 	/* __*init sections */						\ ---- a/include/linux/module.h -+++ b/include/linux/module.h -@@ -187,16 +187,24 @@ void *__symbol_get_gpl(const char *symbo - #define __CRC_SYMBOL(sym, sec) - #endif -  -+#ifdef MODULE -+#define __EXPORT_SUFFIX(sym) -+#else -+#define __EXPORT_SUFFIX(sym) "." #sym -+#endif -+ - /* For every exported symbol, place a struct in the __ksymtab section */ - #define __EXPORT_SYMBOL(sym, sec)				\ - 	extern typeof(sym) sym;					\ - 	__CRC_SYMBOL(sym, sec)					\ - 	static const char __kstrtab_##sym[]			\ --	__attribute__((section("__ksymtab_strings"), aligned(1))) \ -+	__attribute__((section("__ksymtab_strings"		\ -+	  __EXPORT_SUFFIX(sym)), aligned(1)))			\ - 	= MODULE_SYMBOL_PREFIX #sym;                    	\ - 	static const struct kernel_symbol __ksymtab_##sym	\ - 	__used							\ --	__attribute__((section("__ksymtab" sec), unused))	\ -+	__attribute__((section("__ksymtab" sec			\ -+	  __EXPORT_SUFFIX(sym)), unused))			\ - 	= { (unsigned long)&sym, __kstrtab_##sym } -  - #define EXPORT_SYMBOL(sym)					\ | 
