summaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-2.6.31/028-module_exports.patch
diff options
context:
space:
mode:
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.patch201
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 = .);