]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/m68k/cpu/u-boot.lds
m68k: add architecture-specific u-boot.lds
[karo-tx-uboot.git] / arch / m68k / cpu / u-boot.lds
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
12 OUTPUT_ARCH(m68k)
13
14 #ifndef LDS_BOARD_TEXT
15 #define LDS_BOARD_TEXT
16 #endif
17
18 SECTIONS
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 }