xref: /rk3399_rockchip-uboot/board/qualcomm/dragonboard410c/u-boot.lds (revision 0f546eaf003d5770d1bc6f7a88262b87eda59bb6)
1626f048bSMateusz Kulikowski/*
2626f048bSMateusz Kulikowski * Override linker script for fastboot-readable images
3626f048bSMateusz Kulikowski *
4626f048bSMateusz Kulikowski * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
5626f048bSMateusz Kulikowski *
6626f048bSMateusz Kulikowski * Based on arch/arm/cpu/armv8/u-boot.lds (Just add header)
7626f048bSMateusz Kulikowski *
8626f048bSMateusz Kulikowski * SPDX-License-Identifier:	GPL-2.0+
9626f048bSMateusz Kulikowski */
10626f048bSMateusz Kulikowski
11626f048bSMateusz KulikowskiOUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
12626f048bSMateusz KulikowskiOUTPUT_ARCH(aarch64)
13626f048bSMateusz KulikowskiENTRY(_arm64_header)
14626f048bSMateusz KulikowskiSECTIONS
15626f048bSMateusz Kulikowski{
16626f048bSMateusz Kulikowski	. = 0x00000000;
17626f048bSMateusz Kulikowski
18626f048bSMateusz Kulikowski	. = ALIGN(8);
19626f048bSMateusz Kulikowski	.text :
20626f048bSMateusz Kulikowski	{
21626f048bSMateusz Kulikowski		*(.__image_copy_start)
22626f048bSMateusz Kulikowski		board/qualcomm/dragonboard410c/head.o (.text*)
23626f048bSMateusz Kulikowski		CPUDIR/start.o (.text*)
24626f048bSMateusz Kulikowski		*(.text*)
25626f048bSMateusz Kulikowski	}
26626f048bSMateusz Kulikowski
27626f048bSMateusz Kulikowski	. = ALIGN(8);
28626f048bSMateusz Kulikowski	.rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
29626f048bSMateusz Kulikowski
30626f048bSMateusz Kulikowski	. = ALIGN(8);
31626f048bSMateusz Kulikowski	.data : {
32626f048bSMateusz Kulikowski		*(.data*)
33626f048bSMateusz Kulikowski	}
34626f048bSMateusz Kulikowski
35626f048bSMateusz Kulikowski	. = ALIGN(8);
36626f048bSMateusz Kulikowski
37626f048bSMateusz Kulikowski	. = .;
38626f048bSMateusz Kulikowski
39626f048bSMateusz Kulikowski	. = ALIGN(8);
40626f048bSMateusz Kulikowski	.u_boot_list : {
41626f048bSMateusz Kulikowski		KEEP(*(SORT(.u_boot_list*)));
42626f048bSMateusz Kulikowski	}
43626f048bSMateusz Kulikowski
44626f048bSMateusz Kulikowski	. = ALIGN(8);
45626f048bSMateusz Kulikowski
46*0f546eafSRob Clark	.efi_runtime : {
47*0f546eafSRob Clark                __efi_runtime_start = .;
48*0f546eafSRob Clark		*(efi_runtime_text)
49*0f546eafSRob Clark		*(efi_runtime_data)
50*0f546eafSRob Clark                __efi_runtime_stop = .;
51*0f546eafSRob Clark	}
52*0f546eafSRob Clark
53*0f546eafSRob Clark	.efi_runtime_rel : {
54*0f546eafSRob Clark                __efi_runtime_rel_start = .;
55*0f546eafSRob Clark		*(.relaefi_runtime_text)
56*0f546eafSRob Clark		*(.relaefi_runtime_data)
57*0f546eafSRob Clark                __efi_runtime_rel_stop = .;
58*0f546eafSRob Clark	}
59*0f546eafSRob Clark
60*0f546eafSRob Clark	. = ALIGN(8);
61*0f546eafSRob Clark
62626f048bSMateusz Kulikowski	.image_copy_end :
63626f048bSMateusz Kulikowski	{
64626f048bSMateusz Kulikowski		*(.__image_copy_end)
65626f048bSMateusz Kulikowski	}
66626f048bSMateusz Kulikowski
67626f048bSMateusz Kulikowski	. = ALIGN(8);
68626f048bSMateusz Kulikowski
69626f048bSMateusz Kulikowski	.rel_dyn_start :
70626f048bSMateusz Kulikowski	{
71626f048bSMateusz Kulikowski		*(.__rel_dyn_start)
72626f048bSMateusz Kulikowski	}
73626f048bSMateusz Kulikowski
74626f048bSMateusz Kulikowski	.rela.dyn : {
75626f048bSMateusz Kulikowski		*(.rela*)
76626f048bSMateusz Kulikowski	}
77626f048bSMateusz Kulikowski
78626f048bSMateusz Kulikowski	.rel_dyn_end :
79626f048bSMateusz Kulikowski	{
80626f048bSMateusz Kulikowski		*(.__rel_dyn_end)
81626f048bSMateusz Kulikowski	}
82626f048bSMateusz Kulikowski
83626f048bSMateusz Kulikowski	_end = .;
84626f048bSMateusz Kulikowski
85626f048bSMateusz Kulikowski	. = ALIGN(8);
86626f048bSMateusz Kulikowski
87626f048bSMateusz Kulikowski	.bss_start : {
88626f048bSMateusz Kulikowski		KEEP(*(.__bss_start));
89626f048bSMateusz Kulikowski	}
90626f048bSMateusz Kulikowski
91626f048bSMateusz Kulikowski	.bss : {
92626f048bSMateusz Kulikowski		*(.bss*)
93626f048bSMateusz Kulikowski		 . = ALIGN(8);
94626f048bSMateusz Kulikowski	}
95626f048bSMateusz Kulikowski
96626f048bSMateusz Kulikowski	.bss_end : {
97626f048bSMateusz Kulikowski		KEEP(*(.__bss_end));
98626f048bSMateusz Kulikowski	}
99626f048bSMateusz Kulikowski
100626f048bSMateusz Kulikowski	/DISCARD/ : { *(.dynsym) }
101626f048bSMateusz Kulikowski	/DISCARD/ : { *(.dynstr*) }
102626f048bSMateusz Kulikowski	/DISCARD/ : { *(.dynamic*) }
103626f048bSMateusz Kulikowski	/DISCARD/ : { *(.plt*) }
104626f048bSMateusz Kulikowski	/DISCARD/ : { *(.interp*) }
105626f048bSMateusz Kulikowski	/DISCARD/ : { *(.gnu*) }
106626f048bSMateusz Kulikowski}
107