xref: /rk3399_rockchip-uboot/arch/x86/cpu/u-boot-64.lds (revision 3742d7a851aa877c6c96053bbe966368f073e47e)
1*3742d7a8SSimon Glass/*
2*3742d7a8SSimon Glass * (C) Copyright 2002
3*3742d7a8SSimon Glass * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
4*3742d7a8SSimon Glass *
5*3742d7a8SSimon Glass * SPDX-License-Identifier:	GPL-2.0+
6*3742d7a8SSimon Glass */
7*3742d7a8SSimon Glass
8*3742d7a8SSimon Glass#include <config.h>
9*3742d7a8SSimon GlassOUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64")
10*3742d7a8SSimon GlassOUTPUT_ARCH(i386:x86-64)
11*3742d7a8SSimon GlassENTRY(_start)
12*3742d7a8SSimon Glass
13*3742d7a8SSimon GlassSECTIONS
14*3742d7a8SSimon Glass{
15*3742d7a8SSimon Glass#ifndef CONFIG_CMDLINE
16*3742d7a8SSimon Glass	/DISCARD/ : { *(.u_boot_list_2_cmd_*) }
17*3742d7a8SSimon Glass#endif
18*3742d7a8SSimon Glass
19*3742d7a8SSimon Glass	. = CONFIG_SYS_TEXT_BASE;	/* Location of bootcode in flash */
20*3742d7a8SSimon Glass	__text_start = .;
21*3742d7a8SSimon Glass	.text  : { *(.text*); }
22*3742d7a8SSimon Glass
23*3742d7a8SSimon Glass	. = ALIGN(4);
24*3742d7a8SSimon Glass
25*3742d7a8SSimon Glass	. = ALIGN(4);
26*3742d7a8SSimon Glass	.u_boot_list : {
27*3742d7a8SSimon Glass		KEEP(*(SORT(.u_boot_list*)));
28*3742d7a8SSimon Glass	}
29*3742d7a8SSimon Glass
30*3742d7a8SSimon Glass	. = ALIGN(4);
31*3742d7a8SSimon Glass	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
32*3742d7a8SSimon Glass
33*3742d7a8SSimon Glass	. = ALIGN(4);
34*3742d7a8SSimon Glass	.data : { *(.data*) }
35*3742d7a8SSimon Glass
36*3742d7a8SSimon Glass	. = ALIGN(4);
37*3742d7a8SSimon Glass	.hash : { *(.hash*) }
38*3742d7a8SSimon Glass
39*3742d7a8SSimon Glass	. = ALIGN(4);
40*3742d7a8SSimon Glass	.got : { *(.got*) }
41*3742d7a8SSimon Glass
42*3742d7a8SSimon Glass	. = ALIGN(4);
43*3742d7a8SSimon Glass	__data_end = .;
44*3742d7a8SSimon Glass	__init_end = .;
45*3742d7a8SSimon Glass
46*3742d7a8SSimon Glass	. = ALIGN(4);
47*3742d7a8SSimon Glass	.dynsym : { *(.dynsym*) }
48*3742d7a8SSimon Glass
49*3742d7a8SSimon Glass	. = ALIGN(4);
50*3742d7a8SSimon Glass	__rel_dyn_start = .;
51*3742d7a8SSimon Glass	.rela.dyn : {
52*3742d7a8SSimon Glass		*(.rela*)
53*3742d7a8SSimon Glass	}
54*3742d7a8SSimon Glass	__rel_dyn_end = .;
55*3742d7a8SSimon Glass	. = ALIGN(4);
56*3742d7a8SSimon Glass
57*3742d7a8SSimon Glass	.dynamic : { *(.dynamic) }
58*3742d7a8SSimon Glass
59*3742d7a8SSimon Glass	. = ALIGN(4);
60*3742d7a8SSimon Glass	_end = .;
61*3742d7a8SSimon Glass
62*3742d7a8SSimon Glass	.bss __rel_dyn_start (OVERLAY) : {
63*3742d7a8SSimon Glass		__bss_start = .;
64*3742d7a8SSimon Glass		*(.bss)
65*3742d7a8SSimon Glass		*(COM*)
66*3742d7a8SSimon Glass		. = ALIGN(4);
67*3742d7a8SSimon Glass		__bss_end = .;
68*3742d7a8SSimon Glass	}
69*3742d7a8SSimon Glass
70*3742d7a8SSimon Glass	/DISCARD/ : { *(.dynsym) }
71*3742d7a8SSimon Glass	/DISCARD/ : { *(.dynstr*) }
72*3742d7a8SSimon Glass	/DISCARD/ : { *(.dynamic*) }
73*3742d7a8SSimon Glass	/DISCARD/ : { *(.plt*) }
74*3742d7a8SSimon Glass	/DISCARD/ : { *(.interp*) }
75*3742d7a8SSimon Glass	/DISCARD/ : { *(.gnu*) }
76*3742d7a8SSimon Glass}
77