Commit | Line | Data |
---|---|---|
405d967d TH |
1 | /* |
2 | * Common module linker script, always used when linking a module. | |
3 | * Archs are free to supply their own linker scripts. ld will | |
4 | * combine them automatically. | |
5 | */ | |
68c76ad4 AB |
6 | #ifdef CONFIG_UNWIND_TABLES |
7 | #define DISCARD_EH_FRAME | |
8 | #else | |
9 | #define DISCARD_EH_FRAME *(.eh_frame) | |
10 | #endif | |
11 | ||
405d967d | 12 | SECTIONS { |
e390f9a9 JP |
13 | /DISCARD/ : { |
14 | *(.discard) | |
15 | *(.discard.*) | |
16 | } | |
f02e8a65 | 17 | |
5d8591bc RV |
18 | __ksymtab 0 : { *(SORT(___ksymtab+*)) } |
19 | __ksymtab_gpl 0 : { *(SORT(___ksymtab_gpl+*)) } | |
5d8591bc RV |
20 | __kcrctab 0 : { *(SORT(___kcrctab+*)) } |
21 | __kcrctab_gpl 0 : { *(SORT(___kcrctab_gpl+*)) } | |
9ddf8252 | 22 | |
4c5afb74 | 23 | .ctors 0 : ALIGN(8) { *(SORT(.ctors.*)) *(.ctors) } |
5bd933fe | 24 | .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) } |
ab426321 | 25 | |
87c482bd HD |
26 | .altinstructions 0 : ALIGN(8) { KEEP(*(.altinstructions)) } |
27 | __bug_table 0 : ALIGN(8) { KEEP(*(__bug_table)) } | |
ab426321 | 28 | __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } |
dd277622 ST |
29 | |
30 | __patchable_function_entries : { *(__patchable_function_entries) } | |
31 | ||
89245600 ST |
32 | #ifdef CONFIG_ARCH_USES_CFI_TRAPS |
33 | __kcfi_traps : { KEEP(*(.kcfi_traps)) } | |
34 | #endif | |
35 | ||
6a3193cd | 36 | #ifdef CONFIG_LTO_CLANG |
dd277622 ST |
37 | /* |
38 | * With CONFIG_LTO_CLANG, LLD always enables -fdata-sections and | |
39 | * -ffunction-sections, which increases the size of the final module. | |
40 | * Merge the split sections in the final binary. | |
41 | */ | |
42 | .bss : { | |
43 | *(.bss .bss.[0-9a-zA-Z_]*) | |
44 | *(.bss..L*) | |
45 | } | |
46 | ||
47 | .data : { | |
48 | *(.data .data.[0-9a-zA-Z_]*) | |
49 | *(.data..L*) | |
50 | } | |
51 | ||
52 | .rodata : { | |
53 | *(.rodata .rodata.[0-9a-zA-Z_]*) | |
54 | *(.rodata..L*) | |
55 | } | |
6a3193cd | 56 | #endif |
405d967d | 57 | } |
596b0474 MY |
58 | |
59 | /* bring in arch-specific sections */ | |
60 | #include <asm/module.lds.h> |