blob: 3112cbe4e793b477f06f0424ef22632f8e8003c0 [file] [log] [blame]
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -06001/*
2 * (C) Copyright 2000-2003
3 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02005 * SPDX-License-Identifier: GPL-2.0+
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -06006 */
7
8OUTPUT_ARCH(m68k)
stany MARCEL4df9e532011-10-14 04:38:01 +00009
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060010SECTIONS
11{
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060012 .text :
13 {
stany MARCEL4df9e532011-10-14 04:38:01 +000014 arch/m68k/cpu/mcf52x2/start.o (.text*)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060015
16 . = DEFINED(env_offset) ? env_offset : .;
stany MARCEL4df9e532011-10-14 04:38:01 +000017 common/env_embedded.o (.text)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060018
stany MARCEL4df9e532011-10-14 04:38:01 +000019 *(.text*)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060020 }
21 _etext = .;
22 PROVIDE (etext = .);
23 .rodata :
24 {
Trent Piepho4438e5e2009-02-18 15:22:05 -080025 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060026 }
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060027
28 /* Read-write section, merged into data segment: */
29 . = (. + 0x00FF) & 0xFFFFFF00;
30 _erotext = .;
31 PROVIDE (erotext = .);
stany MARCEL4df9e532011-10-14 04:38:01 +000032
33 .reloc :
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060034 {
35 __got_start = .;
stany MARCEL4df9e532011-10-14 04:38:01 +000036 KEEP(*(.got))
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060037 __got_end = .;
38 _GOT2_TABLE_ = .;
stany MARCEL4df9e532011-10-14 04:38:01 +000039 KEEP(*(.got2))
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060040 _FIXUP_TABLE_ = .;
stany MARCEL4df9e532011-10-14 04:38:01 +000041 KEEP(*(.fixup))
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060042 }
43 __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
44 __fixup_entries = (. - _FIXUP_TABLE_)>>2;
45
46 .data :
47 {
stany MARCEL4df9e532011-10-14 04:38:01 +000048 *(.data*)
49 *(.sdata*)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060050 }
51 _edata = .;
52 PROVIDE (edata = .);
53
54 . = .;
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060055
Marek Vasut607092a2012-10-12 10:27:03 +000056 . = ALIGN(4);
57 .u_boot_list : {
Albert ARIBAUDc24895e2013-02-25 00:59:00 +000058 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut607092a2012-10-12 10:27:03 +000059 }
60
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060061 . = .;
62 __start___ex_table = .;
63 __ex_table : { *(__ex_table) }
64 __stop___ex_table = .;
65
66 . = ALIGN(256);
67 __init_begin = .;
68 .text.init : { *(.text.init) }
69 .data.init : { *(.data.init) }
70 . = ALIGN(256);
71 __init_end = .;
72
73 __bss_start = .;
stany MARCEL4df9e532011-10-14 04:38:01 +000074 .bss (NOLOAD) :
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060075 {
76 _sbss = .;
stany MARCEL4df9e532011-10-14 04:38:01 +000077 *(.bss*)
78 *(.sbss*)
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060079 *(COMMON)
80 . = ALIGN(4);
81 _ebss = .;
82 }
Simon Glassed70c8f2013-03-14 06:54:53 +000083 __bss_end = . ;
Matthew Fettke9f3b3bb2008-01-24 14:02:32 -060084 PROVIDE (end = .);
85}