Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0+ */ |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 2 | /* |
3 | * Copyright (C) 2017 Andes Technology Corporation | ||||
4 | * Rick Chen, Andes Technology Corporation <rick@andestech.com> | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 5 | */ |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 6 | |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 7 | OUTPUT_ARCH("riscv") |
8 | ENTRY(_start) | ||||
9 | |||||
10 | SECTIONS | ||||
11 | { | ||||
12 | . = ALIGN(4); | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 13 | .text : { |
Bin Meng | bcb3843 | 2018-09-26 06:55:17 -0700 | [diff] [blame] | 14 | arch/riscv/cpu/start.o (.text) |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 15 | } |
16 | |||||
Alexander Graf | 94a10f2 | 2018-06-12 07:48:37 +0200 | [diff] [blame] | 17 | /* This needs to come before *(.text*) */ |
18 | .efi_runtime : { | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 19 | __efi_runtime_start = .; |
Alexander Graf | 94a10f2 | 2018-06-12 07:48:37 +0200 | [diff] [blame] | 20 | *(.text.efi_runtime*) |
21 | *(.rodata.efi_runtime*) | ||||
22 | *(.data.efi_runtime*) | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 23 | __efi_runtime_stop = .; |
Alexander Graf | 94a10f2 | 2018-06-12 07:48:37 +0200 | [diff] [blame] | 24 | } |
25 | |||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 26 | .text_rest : { |
Alexander Graf | 94a10f2 | 2018-06-12 07:48:37 +0200 | [diff] [blame] | 27 | *(.text*) |
28 | } | ||||
29 | |||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 30 | . = ALIGN(4); |
31 | .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } | ||||
32 | |||||
33 | . = ALIGN(4); | ||||
34 | .data : { | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 35 | *(.data*) |
36 | } | ||||
37 | . = ALIGN(4); | ||||
38 | |||||
39 | .got : { | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 40 | __got_start = .; |
41 | *(.got.plt) *(.got) | ||||
42 | __got_end = .; | ||||
43 | } | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 44 | |
45 | . = ALIGN(4); | ||||
46 | |||||
47 | .u_boot_list : { | ||||
48 | KEEP(*(SORT(.u_boot_list*))); | ||||
49 | } | ||||
50 | |||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 51 | . = ALIGN(4); |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 52 | |
Rick Chen | 9677a37 | 2018-05-28 19:06:37 +0800 | [diff] [blame] | 53 | .efi_runtime_rel : { |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 54 | __efi_runtime_rel_start = .; |
Alexander Graf | 94a10f2 | 2018-06-12 07:48:37 +0200 | [diff] [blame] | 55 | *(.rel*.efi_runtime) |
56 | *(.rel*.efi_runtime.*) | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 57 | __efi_runtime_rel_stop = .; |
Rick Chen | 9677a37 | 2018-05-28 19:06:37 +0800 | [diff] [blame] | 58 | } |
59 | |||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 60 | . = ALIGN(4); |
Rick Chen | 9677a37 | 2018-05-28 19:06:37 +0800 | [diff] [blame] | 61 | |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 62 | /DISCARD/ : { *(.rela.plt*) } |
63 | .rela.dyn : { | ||||
64 | __rel_dyn_start = .; | ||||
65 | *(.rela*) | ||||
66 | __rel_dyn_end = .; | ||||
67 | } | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 68 | |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 69 | . = ALIGN(4); |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 70 | |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 71 | .dynsym : { |
72 | __dyn_sym_start = .; | ||||
73 | *(.dynsym) | ||||
74 | __dyn_sym_end = .; | ||||
75 | } | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 76 | |
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 77 | . = ALIGN(4); |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 78 | |
79 | _end = .; | ||||
80 | |||||
81 | .bss : { | ||||
Bin Meng | c7feb19 | 2018-09-26 06:55:12 -0700 | [diff] [blame] | 82 | __bss_start = .; |
83 | *(.bss*) | ||||
Rick Chen | 55bc1bd | 2019-11-14 13:52:27 +0800 | [diff] [blame] | 84 | . = ALIGN(8); |
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 85 | __bss_end = .; |
86 | } | ||||
Rick Chen | e76b804 | 2017-12-26 13:55:48 +0800 | [diff] [blame] | 87 | } |