diff options
Diffstat (limited to 'target/linux/generic/patches-2.6.31/028-module_exports.patch')
-rw-r--r-- | target/linux/generic/patches-2.6.31/028-module_exports.patch | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/target/linux/generic/patches-2.6.31/028-module_exports.patch b/target/linux/generic/patches-2.6.31/028-module_exports.patch deleted file mode 100644 index 3d73a0212..000000000 --- a/target/linux/generic/patches-2.6.31/028-module_exports.patch +++ /dev/null @@ -1,201 +0,0 @@ ---- a/include/asm-generic/vmlinux.lds.h -+++ b/include/asm-generic/vmlinux.lds.h -@@ -55,6 +55,27 @@ - #define LOAD_OFFSET 0 - #endif - -+#ifndef SYMTAB_KEEP_STR -+#define SYMTAB_KEEP_STR *(__ksymtab_strings.*) -+#define SYMTAB_DISCARD_STR -+#else -+#define SYMTAB_DISCARD_STR *(__ksymtab_strings.*) -+#endif -+ -+#ifndef SYMTAB_KEEP -+#define SYMTAB_KEEP *(__ksymtab.*) -+#define SYMTAB_DISCARD -+#else -+#define SYMTAB_DISCARD *(__ksymtab.*) -+#endif -+ -+#ifndef SYMTAB_KEEP_GPL -+#define SYMTAB_KEEP_GPL *(__ksymtab_gpl.*) -+#define SYMTAB_DISCARD_GPL -+#else -+#define SYMTAB_DISCARD_GPL *(__ksymtab_gpl.*) -+#endif -+ - #ifndef VMLINUX_SYMBOL - #define VMLINUX_SYMBOL(_sym_) _sym_ - #endif -@@ -256,35 +277,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) = .; \ - } \ - \ -@@ -325,7 +346,13 @@ - \ - /* Kernel symbol table: strings */ \ - __ksymtab_strings : AT(ADDR(__ksymtab_strings) - LOAD_OFFSET) { \ -- *(__ksymtab_strings) \ -+ SYMTAB_KEEP_STR \ -+ } \ -+ \ -+ /DISCARD/ : { \ -+ SYMTAB_DISCARD \ -+ SYMTAB_DISCARD_GPL \ -+ SYMTAB_DISCARD_STR \ - } \ - \ - /* __*init sections */ \ ---- a/include/linux/module.h -+++ b/include/linux/module.h -@@ -188,16 +188,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) \ ---- a/arch/arm/kernel/vmlinux.lds.S -+++ b/arch/arm/kernel/vmlinux.lds.S -@@ -79,26 +79,6 @@ SECTIONS - #endif - } - -- /DISCARD/ : { /* Exit code and data */ -- EXIT_TEXT -- EXIT_DATA -- *(.exitcall.exit) -- *(.ARM.exidx.exit.text) -- *(.ARM.extab.exit.text) --#ifndef CONFIG_HOTPLUG_CPU -- *(.ARM.exidx.cpuexit.text) -- *(.ARM.extab.cpuexit.text) --#endif --#ifndef CONFIG_HOTPLUG -- *(.ARM.exidx.devexit.text) -- *(.ARM.extab.devexit.text) --#endif --#ifndef CONFIG_MMU -- *(.fixup) -- *(__ex_table) --#endif -- } -- - .text : { /* Real text segment */ - _text = .; /* Text and read-only data */ - __exception_text_start = .; -@@ -205,6 +185,28 @@ SECTIONS - __bss_stop = .; - _end = .; - } -+ -+ /DISCARD/ : { /* Exit code and data */ -+ EXIT_TEXT -+ EXIT_DATA -+ *(.discard) -+ *(.exitcall.exit) -+ *(.ARM.exidx.exit.text) -+ *(.ARM.extab.exit.text) -+#ifndef CONFIG_HOTPLUG_CPU -+ *(.ARM.exidx.cpuexit.text) -+ *(.ARM.extab.cpuexit.text) -+#endif -+#ifndef CONFIG_HOTPLUG -+ *(.ARM.exidx.devexit.text) -+ *(.ARM.extab.devexit.text) -+#endif -+#ifndef CONFIG_MMU -+ *(.fixup) -+ *(__ex_table) -+#endif -+ } -+ - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } ---- a/arch/powerpc/kernel/vmlinux.lds.S -+++ b/arch/powerpc/kernel/vmlinux.lds.S -@@ -37,12 +37,6 @@ jiffies = jiffies_64 + 4; - #endif - SECTIONS - { -- /* Sections to be discarded. */ -- /DISCARD/ : { -- *(.exitcall.exit) -- EXIT_DATA -- } -- - . = KERNELBASE; - - /* -@@ -295,6 +289,12 @@ SECTIONS - __bss_stop = .; - } - -+ /* Sections to be discarded. */ -+ /DISCARD/ : { -+ *(.exitcall.exit) -+ EXIT_DATA -+ } -+ - . = ALIGN(PAGE_SIZE); - _end = . ; - PROVIDE32 (end = .); |