Tejun Heo | 405d967 | 2009-06-24 15:13:38 +0900 | [diff] [blame] | 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 | */ |
| 6 | SECTIONS { |
Josh Poimboeuf | e390f9a | 2017-03-01 12:04:44 -0600 | [diff] [blame] | 7 | /DISCARD/ : { |
| 8 | *(.discard) |
| 9 | *(.discard.*) |
| 10 | } |
Alessio Igor Bogani | f02e8a6 | 2011-04-14 14:59:39 +0200 | [diff] [blame] | 11 | |
Rabin Vincent | 5d8591b | 2015-02-06 15:09:57 +1030 | [diff] [blame] | 12 | __ksymtab 0 : { *(SORT(___ksymtab+*)) } |
| 13 | __ksymtab_gpl 0 : { *(SORT(___ksymtab_gpl+*)) } |
Rabin Vincent | 5d8591b | 2015-02-06 15:09:57 +1030 | [diff] [blame] | 14 | __kcrctab 0 : { *(SORT(___kcrctab+*)) } |
| 15 | __kcrctab_gpl 0 : { *(SORT(___kcrctab_gpl+*)) } |
Andrey Ryabinin | 9ddf825 | 2015-02-13 14:40:10 -0800 | [diff] [blame] | 16 | |
David Daney | 5bd933f | 2017-03-07 17:31:08 -0800 | [diff] [blame] | 17 | .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) } |
David Daney | ab42632 | 2017-03-01 14:04:53 -0800 | [diff] [blame] | 18 | |
| 19 | __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } |
Sami Tolvanen | dd27762 | 2020-12-11 10:46:22 -0800 | [diff] [blame] | 20 | |
| 21 | __patchable_function_entries : { *(__patchable_function_entries) } |
| 22 | |
Sean Christopherson | 6a3193c | 2021-03-22 16:44:38 -0700 | [diff] [blame^] | 23 | #ifdef CONFIG_LTO_CLANG |
Sami Tolvanen | dd27762 | 2020-12-11 10:46:22 -0800 | [diff] [blame] | 24 | /* |
| 25 | * With CONFIG_LTO_CLANG, LLD always enables -fdata-sections and |
| 26 | * -ffunction-sections, which increases the size of the final module. |
| 27 | * Merge the split sections in the final binary. |
| 28 | */ |
| 29 | .bss : { |
| 30 | *(.bss .bss.[0-9a-zA-Z_]*) |
| 31 | *(.bss..L*) |
| 32 | } |
| 33 | |
| 34 | .data : { |
| 35 | *(.data .data.[0-9a-zA-Z_]*) |
| 36 | *(.data..L*) |
| 37 | } |
| 38 | |
| 39 | .rodata : { |
| 40 | *(.rodata .rodata.[0-9a-zA-Z_]*) |
| 41 | *(.rodata..L*) |
| 42 | } |
| 43 | |
| 44 | .text : { *(.text .text.[0-9a-zA-Z_]*) } |
Sean Christopherson | 6a3193c | 2021-03-22 16:44:38 -0700 | [diff] [blame^] | 45 | #endif |
Tejun Heo | 405d967 | 2009-06-24 15:13:38 +0900 | [diff] [blame] | 46 | } |
Masahiro Yamada | 596b047 | 2020-09-08 13:27:08 +0900 | [diff] [blame] | 47 | |
| 48 | /* bring in arch-specific sections */ |
| 49 | #include <asm/module.lds.h> |