diff options
Diffstat (limited to 'target/linux/ubicom32/patches-2.6.30/110-vmlinux_lds_fix.patch')
-rw-r--r-- | target/linux/ubicom32/patches-2.6.30/110-vmlinux_lds_fix.patch | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/target/linux/ubicom32/patches-2.6.30/110-vmlinux_lds_fix.patch b/target/linux/ubicom32/patches-2.6.30/110-vmlinux_lds_fix.patch new file mode 100644 index 0000000000..1a14308874 --- /dev/null +++ b/target/linux/ubicom32/patches-2.6.30/110-vmlinux_lds_fix.patch @@ -0,0 +1,150 @@ +--- a/arch/ubicom32/kernel/vmlinux.lds.S ++++ b/arch/ubicom32/kernel/vmlinux.lds.S +@@ -25,7 +25,6 @@ + * arch/blackfin + * arch/parisc + */ +-#include <asm-generic/vmlinux.lds.h> + #include <asm/ocm_size.h> + #include <asm/memory_map.h> + #include <asm/thread_info.h> +@@ -201,94 +200,28 @@ SECTIONS { + *(__ex_table) + __stop___ex_table = .; + +- *(.rodata) *(.rodata.*) +- *(__vermagic) /* Kernel version magic */ +- *(__markers_strings) +- *(.rodata1) +- *(.rodata.str1.1) +- *(__tracepoints_strings) +- +- /* PCI quirks */ +- __start_pci_fixups_early = . ; +- *(.pci_fixup_early) +- __end_pci_fixups_early = . ; +- __start_pci_fixups_header = . ; +- *(.pci_fixup_header) +- __end_pci_fixups_header = . ; +- __start_pci_fixups_final = . ; +- *(.pci_fixup_final) +- __end_pci_fixups_final = . ; +- __start_pci_fixups_enable = . ; +- *(.pci_fixup_enable) +- __end_pci_fixups_enable = . ; +- __start_pci_fixups_resume = . ; +- *(.pci_fixup_resume) +- __end_pci_fixups_resume = . ; +- __start_pci_fixups_resume_early = . ; +- *(.pci_fixup_resume_early) +- __end_pci_fixups_resume_early = . ; +- __start_pci_fixups_suspend = . ; +- *(.pci_fixup_suspend) +- __end_pci_fixups_suspend = . ; +- +- __start_builtin_fw = . ; +- *(.builtin_fw) +- __end_builtin_fw = . ; +- +- +- /* Kernel symbol table: Normal symbols */ +- . = ALIGN(4); +- __start___ksymtab = .; +- *(__ksymtab) +- __stop___ksymtab = .; +- +- /* Kernel symbol table: GPL-only symbols */ +- __start___ksymtab_gpl = .; +- *(__ksymtab_gpl) +- __stop___ksymtab_gpl = .; +- +- /* Kernel symbol table: Normal unused symbols */ +- __start___ksymtab_unused = .; +- *(__ksymtab_unused) +- __stop___ksymtab_unused = .; +- +- /* Kernel symbol table: GPL-only unused symbols */ +- __start___ksymtab_unused_gpl = .; +- *(__ksymtab_unused_gpl) +- __stop___ksymtab_unused_gpl = .; +- +- /* Kernel symbol table: GPL-future symbols */ +- __start___ksymtab_gpl_future = .; +- *(__ksymtab_gpl_future) +- __stop___ksymtab_gpl_future = .; +- +- /* Kernel symbol table: Normal symbols */ +- __start___kcrctab = .; +- *(__kcrctab) +- __stop___kcrctab = .; +- +- /* Kernel symbol table: GPL-only symbols */ +- __start___kcrctab_gpl = .; +- *(__kcrctab_gpl) +- __stop___kcrctab_gpl = .; +- +- /* Kernel symbol table: GPL-future symbols */ +- __start___kcrctab_gpl_future = .; +- *(__kcrctab_gpl_future) +- __stop___kcrctab_gpl_future = .; ++ } > TEXT + +- /* Kernel symbol table: strings */ +- *(__ksymtab_strings) ++ RO_DATA(16) + +- /* Built-in module parameters */ +- . = ALIGN(4) ; +- __start___param = .; +- *(__param) +- __stop___param = .; ++ .rodata : {} > TEXT ++ .rodata1 : {} > TEXT ++ .pci_fixup : {} > TEXT ++ .builtin_fw : {} > TEXT ++ .rio_route : {} > TEXT ++ .tracedata : {} > TEXT ++ __ksymtab : {} > TEXT ++ __ksymtab_gpl : {} > TEXT ++ __ksymtab_gpl_future : {} > TEXT ++ __kcrctab_gpl : {} > TEXT ++ __kcrctab_unused : {} > TEXT ++ __kcrctab_unused_gpl : {} > TEXT ++ __kcrctab_gpl_future : {} > TEXT ++ __ksymtab_strings : {} > TEXT ++ __init_rodata : {} > TEXT ++ __param : {} > TEXT + +- . = ALIGN(4) ; +- _etext = . ; +- } > TEXT ++ _etext = .; + + .data DATA_ADDR : { + . = ALIGN(4); +@@ -349,12 +282,6 @@ SECTIONS { + PROVIDE (___eh_frame_end = .); + } > INIT + +- /DISCARD/ : { +- EXIT_TEXT +- EXIT_DATA +- *(.exitcall.exit) +- } +- + .bss : { + . = ALIGN(4); + _sbss = . ; +@@ -365,6 +292,12 @@ SECTIONS { + _end = . ; + } > BSS + ++ /DISCARD/ : { ++ EXIT_TEXT ++ EXIT_DATA ++ *(.exitcall.exit) ++ } ++ + NOTES > BSS + + } |