ARC: Move .ivt section to the very beginning of the image
[platform/kernel/u-boot.git] / arch / arc / cpu / u-boot.lds
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2013-2014 Synopsys, Inc. All rights reserved.
4  */
5
6 #include <config.h>
7
8 OUTPUT_FORMAT("elf32-littlearc", "elf32-littlearc", "elf32-littlearc")
9 OUTPUT_ARCH(arc)
10 ENTRY(_start)
11 SECTIONS
12 {
13         . = CONFIG_SYS_TEXT_BASE;
14         __image_copy_start = .;
15         . = ALIGN(1024);
16         __ivt_start = .;
17         .ivt :
18         {
19                 KEEP(*(.ivt))
20         }
21         __ivt_end = .;
22
23         . = ALIGN(1024);
24         __text_start = .;
25         .text : {
26                 arch/arc/lib/start.o (.text*)
27                 *(.text*)
28         }
29         __text_end = .;
30
31         . = ALIGN(4);
32         .rodata : {
33                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
34         }
35
36         . = ALIGN(4);
37         .data : {
38                 *(.data*)
39         }
40
41         . = ALIGN(4);
42         .u_boot_list : {
43                 KEEP(*(SORT(.u_boot_list*)));
44         }
45
46         . = ALIGN(4);
47         __rel_dyn_start = .;
48         .rela.dyn : {
49                 *(.rela.dyn)
50         }
51         __rel_dyn_end = .;
52
53         . = ALIGN(4);
54         __bss_start = .;
55         .bss : {
56                 *(.bss*)
57         }
58         __bss_end = .;
59
60         . = ALIGN(4);
61         __image_copy_end = .;
62         __init_end = .;
63 }