xref: /rk3399_rockchip-uboot/arch/mips/cpu/u-boot.lds (revision 0ddc9c172279f686077310fbcfa5baf10c719188)
1cb5dbca8SGabor Juhos/*
2cb5dbca8SGabor Juhos * (C) Copyright 2003
3cb5dbca8SGabor Juhos * Wolfgang Denk Engineering, <wd@denx.de>
4cb5dbca8SGabor Juhos *
51a459660SWolfgang Denk * SPDX-License-Identifier:	GPL-2.0+
6cb5dbca8SGabor Juhos */
7cb5dbca8SGabor Juhos
8cb5dbca8SGabor Juhos#if defined(CONFIG_64BIT)
9cb5dbca8SGabor Juhos#define PTR_COUNT_SHIFT	3
10cb5dbca8SGabor Juhos#else
11cb5dbca8SGabor Juhos#define PTR_COUNT_SHIFT	2
12cb5dbca8SGabor Juhos#endif
13cb5dbca8SGabor Juhos
14cb5dbca8SGabor JuhosOUTPUT_ARCH(mips)
15cb5dbca8SGabor JuhosENTRY(_start)
16cb5dbca8SGabor JuhosSECTIONS
17cb5dbca8SGabor Juhos{
18cb5dbca8SGabor Juhos	. = 0x00000000;
19cb5dbca8SGabor Juhos
20cb5dbca8SGabor Juhos	. = ALIGN(4);
21cb5dbca8SGabor Juhos	.text : {
22d263cda5SPaul Burton		__text_start = .;
23cb5dbca8SGabor Juhos		*(.text*)
24d263cda5SPaul Burton		__text_end = .;
25cb5dbca8SGabor Juhos	}
26cb5dbca8SGabor Juhos
27cb5dbca8SGabor Juhos	. = ALIGN(4);
28cb5dbca8SGabor Juhos	.rodata : {
29cb5dbca8SGabor Juhos		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
30cb5dbca8SGabor Juhos	}
31cb5dbca8SGabor Juhos
32cb5dbca8SGabor Juhos	. = ALIGN(4);
33cb5dbca8SGabor Juhos	.data : {
34cb5dbca8SGabor Juhos		*(.data*)
35cb5dbca8SGabor Juhos	}
36cb5dbca8SGabor Juhos
37cb5dbca8SGabor Juhos	. = ALIGN(4);
38cb5dbca8SGabor Juhos	.sdata : {
39cb5dbca8SGabor Juhos		*(.sdata*)
40cb5dbca8SGabor Juhos	}
41cb5dbca8SGabor Juhos
42cb5dbca8SGabor Juhos	. = ALIGN(4);
43cb5dbca8SGabor Juhos	.u_boot_list : {
44ef123c52SAlbert ARIBAUD		KEEP(*(SORT(.u_boot_list*)));
45cb5dbca8SGabor Juhos	}
46cb5dbca8SGabor Juhos
47cb5dbca8SGabor Juhos	. = ALIGN(4);
483420bf1cSDaniel Schwierzeck	__image_copy_end = .;
49a0af08b9SPaul Burton	__init_end = .;
503420bf1cSDaniel Schwierzeck
51265072baSDaniel Schwierzeck	/*
52*703ec9ddSPaul Burton	 * .rel must come last so that the mips-relocs tool can shrink
53*703ec9ddSPaul Burton	 * the section size & the PT_LOAD program header filesz.
54265072baSDaniel Schwierzeck	 */
55*703ec9ddSPaul Burton	.rel : {
56*703ec9ddSPaul Burton		__rel_start = .;
57*703ec9ddSPaul Burton		BYTE(0x0)
58*703ec9ddSPaul Burton		. += (32 * 1024) - 1;
59265072baSDaniel Schwierzeck	}
60265072baSDaniel Schwierzeck
6179fd7e64SDaniel Schwierzeck	_end = .;
620ba8926eSGabor Juhos
63*703ec9ddSPaul Burton	.bss __rel_start (OVERLAY) : {
64a52852c5SDaniel Schwierzeck		__bss_start = .;
65a52852c5SDaniel Schwierzeck		*(.sbss.*)
66a52852c5SDaniel Schwierzeck		*(.bss.*)
67a52852c5SDaniel Schwierzeck		*(COMMON)
68a52852c5SDaniel Schwierzeck		. = ALIGN(4);
69a52852c5SDaniel Schwierzeck		__bss_end = .;
70cb5dbca8SGabor Juhos	}
710ba8926eSGabor Juhos
7279fd7e64SDaniel Schwierzeck	.dynsym _end : {
7379fd7e64SDaniel Schwierzeck		*(.dynsym)
7479fd7e64SDaniel Schwierzeck	}
7579fd7e64SDaniel Schwierzeck
7679fd7e64SDaniel Schwierzeck	.dynbss : {
770ba8926eSGabor Juhos		*(.dynbss)
7879fd7e64SDaniel Schwierzeck	}
7979fd7e64SDaniel Schwierzeck
8079fd7e64SDaniel Schwierzeck	.dynstr : {
810ba8926eSGabor Juhos		*(.dynstr)
8279fd7e64SDaniel Schwierzeck	}
8379fd7e64SDaniel Schwierzeck
8479fd7e64SDaniel Schwierzeck	.dynamic : {
850ba8926eSGabor Juhos		*(.dynamic)
8679fd7e64SDaniel Schwierzeck	}
8779fd7e64SDaniel Schwierzeck
8879fd7e64SDaniel Schwierzeck	.plt : {
890ba8926eSGabor Juhos		*(.plt)
9079fd7e64SDaniel Schwierzeck	}
9179fd7e64SDaniel Schwierzeck
9279fd7e64SDaniel Schwierzeck	.interp : {
9379fd7e64SDaniel Schwierzeck		*(.interp)
9479fd7e64SDaniel Schwierzeck	}
9579fd7e64SDaniel Schwierzeck
9679fd7e64SDaniel Schwierzeck	.gnu : {
9779fd7e64SDaniel Schwierzeck		*(.gnu*)
9879fd7e64SDaniel Schwierzeck	}
9979fd7e64SDaniel Schwierzeck
10079fd7e64SDaniel Schwierzeck	.MIPS.stubs : {
10179fd7e64SDaniel Schwierzeck		*(.MIPS.stubs)
10279fd7e64SDaniel Schwierzeck	}
10379fd7e64SDaniel Schwierzeck
10479fd7e64SDaniel Schwierzeck	.hash : {
10579fd7e64SDaniel Schwierzeck		*(.hash)
1060ba8926eSGabor Juhos	}
107cb5dbca8SGabor Juhos}
108