xref: /OK3568_Linux_fs/kernel/arch/xtensa/boot/boot-redboot/boot.ld (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunOUTPUT_ARCH(xtensa)
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunSECTIONS
4*4882a593Smuzhiyun{
5*4882a593Smuzhiyun	.start 0xD1000000 : { *(.start) }
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun	.text :
8*4882a593Smuzhiyun	{
9*4882a593Smuzhiyun		__reloc_start = . ;
10*4882a593Smuzhiyun		_text_start = . ;
11*4882a593Smuzhiyun		*(.literal .text.literal .text)
12*4882a593Smuzhiyun		_text_end = . ;
13*4882a593Smuzhiyun	}
14*4882a593Smuzhiyun
15*4882a593Smuzhiyun	.rodata ALIGN(0x04):
16*4882a593Smuzhiyun	{
17*4882a593Smuzhiyun		*(.rodata)
18*4882a593Smuzhiyun		*(.rodata1)
19*4882a593Smuzhiyun	}
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	.data ALIGN(0x04):
22*4882a593Smuzhiyun	{
23*4882a593Smuzhiyun		*(.data)
24*4882a593Smuzhiyun		*(.data1)
25*4882a593Smuzhiyun		*(.sdata)
26*4882a593Smuzhiyun		*(.sdata2)
27*4882a593Smuzhiyun		*(.got.plt)
28*4882a593Smuzhiyun		*(.got)
29*4882a593Smuzhiyun		*(.dynamic)
30*4882a593Smuzhiyun	}
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun	__reloc_end = . ;
33*4882a593Smuzhiyun
34*4882a593Smuzhiyun	. = ALIGN(0x10);
35*4882a593Smuzhiyun	__image_load = . ;
36*4882a593Smuzhiyun	.image 0xd0003000: AT(__image_load)
37*4882a593Smuzhiyun	{
38*4882a593Smuzhiyun		_image_start = .;
39*4882a593Smuzhiyun		*(image)
40*4882a593Smuzhiyun		. = (. + 3) & ~ 3;
41*4882a593Smuzhiyun		_image_end = .	;
42*4882a593Smuzhiyun	}
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	.bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
46*4882a593Smuzhiyun	{
47*4882a593Smuzhiyun		__bss_start = .;
48*4882a593Smuzhiyun		*(.sbss)
49*4882a593Smuzhiyun		*(.scommon)
50*4882a593Smuzhiyun		*(.dynbss)
51*4882a593Smuzhiyun		*(.bss)
52*4882a593Smuzhiyun		__bss_end = .;
53*4882a593Smuzhiyun	}
54*4882a593Smuzhiyun	_end = .;
55*4882a593Smuzhiyun	_param_start = .;
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	PROVIDE (end = .);
59*4882a593Smuzhiyun}
60