]> git.sur5r.net Git - u-boot/blob - arch/x86/cpu/u-boot.lds
Merge branch 'master' of git://git.denx.de/u-boot-samsung
[u-boot] / arch / x86 / cpu / u-boot.lds
1 /*
2  * (C) Copyright 2002
3  * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 #include <config.h>
9 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
10 OUTPUT_ARCH(i386)
11 ENTRY(_start)
12
13 SECTIONS
14 {
15 #ifndef CONFIG_CMDLINE
16         /DISCARD/ : { *(.u_boot_list_2_cmd_*) }
17 #endif
18
19         . = CONFIG_SYS_TEXT_BASE;       /* Location of bootcode in flash */
20         __text_start = .;
21         .text  : { *(.text*); }
22
23         . = ALIGN(4);
24
25         . = ALIGN(4);
26         .u_boot_list : {
27                 KEEP(*(SORT(.u_boot_list*)));
28         }
29
30         . = ALIGN(4);
31         .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
32
33         . = ALIGN(4);
34         .data : { *(.data*) }
35
36         . = ALIGN(4);
37         .hash : { *(.hash*) }
38
39         . = ALIGN(4);
40         .got : { *(.got*) }
41
42         . = ALIGN(4);
43         __data_end = .;
44         __init_end = .;
45
46         . = ALIGN(4);
47         .dynsym : { *(.dynsym*) }
48
49         . = ALIGN(4);
50         __rel_dyn_start = .;
51         .rel.dyn : {
52                 *(.rel*)
53         }
54         __rel_dyn_end = .;
55         . = ALIGN(4);
56         _end = .;
57
58         .bss __rel_dyn_start (OVERLAY) : {
59                 __bss_start = .;
60                 *(.bss)
61                 *(COM*)
62                 . = ALIGN(4);
63                 __bss_end = .;
64         }
65
66         /DISCARD/ : { *(.dynstr*) }
67         /DISCARD/ : { *(.dynamic*) }
68         /DISCARD/ : { *(.plt*) }
69         /DISCARD/ : { *(.interp*) }
70         /DISCARD/ : { *(.gnu*) }
71
72 #ifdef CONFIG_X86_RESET_VECTOR
73         /*
74          * The following expressions place the 16-bit Real-Mode code and
75          * Reset Vector at the end of the Flash ROM
76          */
77         . = START_16 - RESET_SEG_START;
78         .start16 : AT (START_16) {
79                 KEEP(*(.start16));
80         }
81
82         . = RESET_VEC_LOC - RESET_SEG_START;
83         .resetvec : AT (RESET_VEC_LOC) {
84                 KEEP(*(.resetvec));
85         }
86 #endif
87
88 }