xref: /openbmc/u-boot/arch/m68k/cpu/u-boot.lds (revision ad5b5801)
1/*
2 * (C) Copyright 2000
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 * (C) Copyright 2015
5 * Angelo Dureghello, Sysam Firmware, angelo@sysam.it
6 *
7 * SPDX-License-Identifier:     GPL-2.0+
8 */
9
10#include <config.h>
11
12OUTPUT_ARCH(m68k)
13
14#ifndef LDS_BOARD_TEXT
15#define LDS_BOARD_TEXT
16#endif
17
18SECTIONS
19{
20	.text :
21	{
22		CPUDIR/start.o (.text*)
23		LDS_BOARD_TEXT
24
25		*(.text*)
26	}
27	_etext = .;
28	PROVIDE (etext = .);
29	.rodata :
30	{
31		*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
32	}
33
34	/* Read-write section, merged into data segment: */
35	. = (. + 0x00FF) & 0xFFFFFF00;
36	_erotext = .;
37	PROVIDE (erotext = .);
38
39	.reloc :
40	{
41		__got_start = .;
42		KEEP(*(.got))
43		__got_end = .;
44		_GOT2_TABLE_ = .;
45		KEEP(*(.got2))
46		_FIXUP_TABLE_ = .;
47		KEEP(*(.fixup))
48	}
49	__got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
50	__fixup_entries = (. - _FIXUP_TABLE_)>>2;
51
52	.data :
53	{
54		*(.data*)
55		*(.sdata*)
56	}
57	_edata = .;
58	PROVIDE (edata = .);
59
60	. = .;
61
62	. = ALIGN(4);
63	.u_boot_list : {
64		KEEP(*(SORT(.u_boot_list*)));
65	}
66
67	. = .;
68	__start___ex_table = .;
69	__ex_table : { *(__ex_table) }
70	__stop___ex_table = .;
71
72	. = ALIGN(256);
73	__init_begin = .;
74	.text.init : { *(.text.init) }
75	.data.init : { *(.data.init) }
76	. = ALIGN(256);
77	__init_end = .;
78
79	__bss_start = .;
80	.bss (NOLOAD)       :
81	{
82		_sbss = .;
83		*(.bss*)
84		*(.sbss*)
85		*(COMMON)
86		. = ALIGN(4);
87		_ebss = .;
88	}
89	__bss_end = . ;
90	PROVIDE (end = .);
91}
92