__gpl_ksymtab
Subsystems (8)
In 2.5.55, we have a new section called "__gpl_ksymtab".
This, unfortunately, isn't mentioned in the linker script, and on ARM gets placed at 0x1c58, where the rest of the kernel is at 0xcXXXXXXX.
This section isn't even mentioned in the x86 linker script, so there isn't an example of the placement expectations of this section.
Rusty, can you provide the missing bits please?
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
In message <[email protected]> you write:
Quoted 7 lines
In 2.5.55, we have a new section called "
__gpl_ksymtab".This, unfortunately, isn't mentioned in the linker script, and on ARM gets placed at
0x1c58, where the rest of the kernel is at 0xcXXXXXXX.This section isn't even mentioned in the x86 linker script, so there isn't an example of the placement expectations of this section.
Exactly the same as __ksymtab.
Quoted 1 line
Rusty, can you provide the missing bits please?
Sure, I discarded it from the patch, when I discovered that the linker creates the __start_ and __stop_ symbols automagically (as long as it's not empty, which this never is).
But for clarity, and for section placement, here are all the archs, consistent with whatever style the rest of the file is in
Linus, please apply,
Rusty.
--
Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
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
@@ -81,6 +81,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___ksymtab = .; /* Kernel symbol table */ + __ksymtab : { *(__ksymtab) } + __stop___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/v850/vmlinux.lds.S +3 -0
@@ -51,6 +51,9 @@ ___start___ksymtab = . ;/* Kernel symbol table. */ \ *(__ksymtab) \ ___stop___ksymtab = . ; \ + ___start___gpl_ksymtab = . ;/* GPL Kernel symbol table. */ \ + *(__gpl_ksymtab) \ + ___stop___gpl_ksymtab = . ; \ . = ALIGN (4) ; \ __etext = . ;
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) }
Geert Uytterhoeven
maintainerarch/m68k/vmlinux-std.lds SECTIONS · line 29
Quoted 10 lines · Rusty Russell
diff -urpN --exclude TAGS -X
/home/rusty/devel/kernel/kernel-patches/current-dontdiff--minimallinux-2.5.55/arch/m68k/vmlinux-std.ldsworking-2.5.55-gpl_ksymtab/arch/m68k/vmlinux-std.ldsarch/m68k/vmlinux-std.lds +3
-0@@ -24,6 +24,10 @@ SECTIONS __ksymtab : { *(__ksymtab) } __stop___ksymtab = .; + __start___ksymtab = .; /* Kernel symbol table */ + __ksymtab : { *(__ksymtab) } + __stop___ksymtab = .;
Woops, where's the `gpl'?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
In message <[email protected]> you wri te:
Quoted 6 lines · Rusty Russell
Review
Quoted 3 lines
(quoted diff) +3
-0+ __start___ksymtab = .; /* Kernel symbol table */ + __ksymtab : { *(__ksymtab) } + __stop___ksymtab = .;Woops, where's the `gpl'?
Linus, please apply.
Of course, I deliberately insert these mistakes to ensure people are paying attention.
*cough*
Really.
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
@@ -81,6 +81,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/v850/vmlinux.lds.S +3 -0
@@ -51,6 +51,9 @@ ___start___ksymtab = . ;/* Kernel symbol table. */ \ *(__ksymtab) \ ___stop___ksymtab = . ; \ + ___start___gpl_ksymtab = . ;/* GPL Kernel symbol table. */ \ + *(__gpl_ksymtab) \ + ___stop___gpl_ksymtab = . ; \ . = ALIGN (4) ; \ __etext = . ;
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) }