Place __gpl_ksymtab section in all linker scripts
Subsystems (8)
PATCH 1/1 Place __gpl_ksymtab section in all linker scripts
I see v850 already did it, so this is the rest.
Linus, please apply.
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
Name: __gpl_ksymtab section placement patch
Author: Rusty Russell
Status: Trivial
D: Explicitly place the __gpl_ksymtab section for every arch. RMK
D: pointed out that some archs will place it really badly otherwise.
arch/alpha/vmlinux.lds.S +7 -0
@@ -32,6 +32,13 @@ SECTIONS __stop___ksymtab = .; } + /* Kernel symbol table: GPL only */ + __gpl_ksymtab ALIGN(8) : { + __start___gpl_ksymtab = .; + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + } + /* All kernel symbols */ __kallsyms ALIGN(8) : { __start___kallsyms = .;
arch/arm/vmlinux-armo.lds.in +6 -0
@@ -78,6 +78,12 @@ SECTIONS __stop___ksymtab = .; } + __gpl_ksymtab : { /* Kernel symbol table: GPL-only */ + __start___gpl_ksymtab = .; + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + } + .data : { /* * The cacheline aligned data
arch/arm/vmlinux-armv.lds.in +6 -0
@@ -87,6 +87,12 @@ SECTIONS __stop___ksymtab = .; } + __gpl_ksymtab : { /* Kernel symbol table: GPL-only*/ + __start___gpl_ksymtab = .; + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + } + __kallsyms : { /* All kernel symbols */ __start___kallsyms = .; *(__kallsyms)
arch/cris/vmlinux.lds.S +4 -0
@@ -43,6 +43,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + . = ALIGN (4); ___data_start = . ; __Sdata = . ;
arch/i386/vmlinux.lds.S +4 -0
@@ -31,6 +31,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/ia64/vmlinux.lds.S +5 -0
@@ -65,6 +65,11 @@ SECTIONS { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL only */ + __gpl_ksymtab : AT(ADDR(__gpl_ksymtab) - PAGE_OFFSET) + { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __kallsyms : AT(ADDR(__kallsyms) - PAGE_OFFSET) { __start___kallsyms = .; /* All kernel symbols */
arch/m68k/vmlinux-std.lds +4 -0
@@ -24,6 +24,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL only */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + _etext = .; /* End of text section */ .data : { /* Data */
arch/m68k/vmlinux-sun3.lds +3 -0
@@ -30,6 +30,9 @@ SECTIONS __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; } /* End of data goes *here* so that freeing init code works properly. */ _edata = .;
arch/m68knommu/platform/5206/ARNEWSH/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5206e/MOTOROLA/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5206e/eLITE/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5249/MOTOROLA/ram.ld +5 -0
@@ -25,6 +25,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5272/MOTOROLA/ram.ld +5 -0
@@ -25,6 +25,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5272/NETtel/ram.ld +5 -0
@@ -25,6 +25,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5307/ARNEWSH/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5307/CLEOPATRA/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5307/MOTOROLA/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5307/MP3/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5307/NETtel/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5407/CLEOPATRA/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/5407/MOTOROLA/ram.ld +5 -0
@@ -24,6 +24,11 @@ SECTIONS { __start___ksymtab = .; /* Kernel symbol table */ *(__ksymtab) __stop___ksymtab = .; + + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(4) ; _etext = . ; } > ram
arch/m68knommu/platform/68360/uCquicc/ram.ld +3 -0
@@ -38,6 +38,9 @@ SECTIONS __start___ksymtab = . ; *(__ksymtab) __stop___ksymtab = . ; + __start___gpl_ksymtab = . ; + *(__gpl_ksymtab) + __stop___gpl_ksymtab = . ; __start___ex_table = . ; *(___ex_table) __stop___ex_table = . ;
arch/m68knommu/platform/68360/uCquicc/rom.ld +3 -0
@@ -38,6 +38,9 @@ SECTIONS __start___ksymtab = . ; *(__ksymtab) __stop___ksymtab = . ; + __start___gpl_ksymtab = . ; + *(__gpl_ksymtab) + __stop___gpl_ksymtab = . ; __start___ex_table = . ; *(___ex_table) __stop___ex_table = . ;
arch/m68knommu/platform/68EZ328/ucsimm/fixed.ld +4 -0
@@ -30,6 +30,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(0x4) ; _etext = . ; __data_rom_start = . ;
arch/m68knommu/platform/68EZ328/ucsimm/ram.ld +4 -0
@@ -51,6 +51,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + _etext = . ; __data_rom_start = ALIGN ( 4 ) ; } > ram
arch/m68knommu/platform/68VZ328/de2/fixed.ld +4 -0
@@ -29,6 +29,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(0x4) ; _etext = . ; __data_rom_start = . ;
arch/m68knommu/platform/68VZ328/de2/ram.ld +4 -0
@@ -50,6 +50,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + _etext = . ; __data_rom_start = ALIGN ( 4 ) ; } > ram
arch/m68knommu/platform/68VZ328/ucdimm/fixed.ld +4 -0
@@ -29,6 +29,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + . = ALIGN(0x4) ; _etext = . ; __data_rom_start = . ;
arch/m68knommu/platform/68VZ328/ucdimm/ram.ld +4 -0
@@ -50,6 +50,10 @@ SECTIONS *(__ksymtab) __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only */ + *(__gpl_ksymtab) + __stop___gpl_ksymtab = .; + _etext = . ; __data_rom_start = ALIGN ( 4 ) ; } > ram
arch/mips/vmlinux.lds.S +4 -0
@@ -29,6 +29,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + _etext = .; . = ALIGN(8192);
arch/parisc/vmlinux.lds.S +4 -0
@@ -49,6 +49,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/ppc/vmlinux.lds.S +4 -0
@@ -61,6 +61,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/ppc64/vmlinux.lds.S +4 -0
@@ -69,6 +69,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/s390/vmlinux.lds.S +4 -0
@@ -30,6 +30,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + #ifdef CONFIG_SHARED_KERNEL . = ALIGN(1048576); /* VM shared segments are 1MB aligned */
arch/s390x/vmlinux.lds.S +4 -0
@@ -30,6 +30,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + #ifdef CONFIG_SHARED_KERNEL . = ALIGN(1048576); /* VM shared segments are 1MB aligned */
arch/sh/vmlinux.lds.S +4 -0
@@ -37,6 +37,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/sparc/vmlinux.lds.S +4 -0
@@ -35,6 +35,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; + __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) } __stop___kallsyms = .;
arch/sparc64/vmlinux.lds.S +3 -0
@@ -39,6 +39,9 @@ SECTIONS __start___ksymtab = .; __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; __kstrtab : { *(.kstrtab) } __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) }
arch/x86_64/vmlinux.lds.S +3 -0
@@ -30,6 +30,9 @@ SECTIONS __start___ksymtab = .; /* Kernel symbol table */ __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___gpl_ksymtab = .; /* Kernel symbol table: GPL-only symbols */ + __gpl_ksymtab : { *(__gpl_ksymtab) } + __stop___gpl_ksymtab = .; __start___kallsyms = .; /* All kernel symbols */ __kallsyms : { *(__kallsyms) }