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