blob: 64cf2ff5ef97367a9fa043a5fd02631f576e868f [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
angelo@sysam.it6312a952015-03-29 22:54:16 +02002/*
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
angelo@sysam.it6312a952015-03-29 22:54:16 +02007 */
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
Angelo Dureghello605bfd32019-03-13 21:46:42 +010071 . = ALIGN(4);
angelo@sysam.it6312a952015-03-29 22:54:16 +020072 __init_begin = .;
73 .text.init : { *(.text.init) }
74 .data.init : { *(.data.init) }
Angelo Dureghello605bfd32019-03-13 21:46:42 +010075 . = ALIGN(4);
angelo@sysam.it6312a952015-03-29 22:54:16 +020076 __init_end = .;
77
Angelo Dureghello605bfd32019-03-13 21:46:42 +010078 _end = .;
79
angelo@sysam.it6312a952015-03-29 22:54:16 +020080 __bss_start = .;
81 .bss (NOLOAD) :
82 {
83 _sbss = .;
84 *(.bss*)
85 *(.sbss*)
86 *(COMMON)
87 . = ALIGN(4);
88 _ebss = .;
89 }
90 __bss_end = . ;
91 PROVIDE (end = .);
92}