]>
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 | */ | |
28aad1c2 ST |
6 | #ifdef CONFIG_CFI_CLANG |
7 | # include <asm/page.h> | |
8 | # define ALIGN_CFI ALIGN(PAGE_SIZE) | |
9 | # define SANITIZER_DISCARDS *(.eh_frame) | |
10 | #else | |
11 | # define ALIGN_CFI | |
12 | # define SANITIZER_DISCARDS | |
13 | #endif | |
14 | ||
405d967d | 15 | SECTIONS { |
e390f9a9 JP |
16 | /DISCARD/ : { |
17 | *(.discard) | |
18 | *(.discard.*) | |
28aad1c2 | 19 | SANITIZER_DISCARDS |
e390f9a9 | 20 | } |
f02e8a65 | 21 | |
5d8591bc RV |
22 | __ksymtab 0 : { *(SORT(___ksymtab+*)) } |
23 | __ksymtab_gpl 0 : { *(SORT(___ksymtab_gpl+*)) } | |
5d8591bc RV |
24 | __kcrctab 0 : { *(SORT(___kcrctab+*)) } |
25 | __kcrctab_gpl 0 : { *(SORT(___kcrctab_gpl+*)) } | |
9ddf8252 | 26 | |
5bd933fe | 27 | .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) } |
ab426321 DD |
28 | |
29 | __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } | |
dd277622 ST |
30 | |
31 | __patchable_function_entries : { *(__patchable_function_entries) } | |
32 | ||
6a3193cd | 33 | #ifdef CONFIG_LTO_CLANG |
dd277622 ST |
34 | /* |
35 | * With CONFIG_LTO_CLANG, LLD always enables -fdata-sections and | |
36 | * -ffunction-sections, which increases the size of the final module. | |
37 | * Merge the split sections in the final binary. | |
38 | */ | |
39 | .bss : { | |
40 | *(.bss .bss.[0-9a-zA-Z_]*) | |
41 | *(.bss..L*) | |
42 | } | |
43 | ||
44 | .data : { | |
45 | *(.data .data.[0-9a-zA-Z_]*) | |
46 | *(.data..L*) | |
47 | } | |
48 | ||
49 | .rodata : { | |
50 | *(.rodata .rodata.[0-9a-zA-Z_]*) | |
51 | *(.rodata..L*) | |
52 | } | |
53 | ||
28aad1c2 ST |
54 | /* |
55 | * With CONFIG_CFI_CLANG, we assume __cfi_check is at the beginning | |
56 | * of the .text section, and is aligned to PAGE_SIZE. | |
57 | */ | |
58 | .text : ALIGN_CFI { | |
59 | *(.text.__cfi_check) | |
60 | *(.text .text.[0-9a-zA-Z_]* .text..L.cfi*) | |
61 | } | |
6a3193cd | 62 | #endif |
405d967d | 63 | } |
596b0474 MY |
64 | |
65 | /* bring in arch-specific sections */ | |
66 | #include <asm/module.lds.h> |