blob: f9c2bebd2dc6836a6e45149996d5f5340662e618 [file] [log] [blame]
wdenk3bac3512003-03-12 10:41:04 +00001/*
2**=====================================================================
3**
4** Copyright (C) 2000, 2001, 2002, 2003
5** The LEOX team <team@leox.org>, http://www.leox.org
6**
7** LEOX.org is about the development of free hardware and software resources
8** for system on chip.
9**
10** Description: U-Boot port on the LEOX's ELPT860 CPU board
11** ~~~~~~~~~~~
12**
13**=====================================================================
14**
Wolfgang Denk1a459662013-07-08 09:37:19 +020015 * SPDX-License-Identifier: GPL-2.0+
wdenk3bac3512003-03-12 10:41:04 +000016**
17**=====================================================================
18*/
19
20OUTPUT_ARCH(powerpc)
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010021
wdenk3bac3512003-03-12 10:41:04 +000022SECTIONS
23{
24 /* Read-only sections, merged into text segment: */
25 . = + SIZEOF_HEADERS;
wdenk3bac3512003-03-12 10:41:04 +000026 .text :
27 {
28 /* WARNING - the following is hand-optimized to fit within */
29 /* the sector layout of our flash chips! XXX FIXME XXX */
30
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010031 arch/powerpc/cpu/mpc8xx/start.o (.text*)
32 arch/powerpc/cpu/mpc8xx/traps.o (.text*)
33 common/libcommon.o (.text*)
34 arch/powerpc/cpu/mpc8xx/libmpc8xx.o (.text*)
35 board/LEOX/elpt860/libelpt860.o (.text*)
36 arch/powerpc/lib/libpowerpc.o (.text*)
37/* drivers/rtc/librtc.o (.text*) */
wdenk3bac3512003-03-12 10:41:04 +000038
39 . = env_offset;
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010040 common/env_embedded.o (.text*)
wdenk3bac3512003-03-12 10:41:04 +000041
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010042 *(.text*)
wdenk3bac3512003-03-12 10:41:04 +000043 }
44 _etext = .;
45 PROVIDE (etext = .);
46 .rodata :
47 {
Trent Piephof62fb992009-02-18 15:22:05 -080048 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
wdenk3bac3512003-03-12 10:41:04 +000049 }
wdenk3bac3512003-03-12 10:41:04 +000050
51 /* Read-write section, merged into data segment: */
52 . = (. + 0x00FF) & 0xFFFFFF00;
53 _erotext = .;
54 PROVIDE (erotext = .);
55 .reloc :
56 {
wdenk3bac3512003-03-12 10:41:04 +000057 _GOT2_TABLE_ = .;
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010058 KEEP(*(.got2))
Joakim Tjernlund9d8fbd12011-04-20 14:22:59 +020059 KEEP(*(.got))
60 PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
wdenk3bac3512003-03-12 10:41:04 +000061 _FIXUP_TABLE_ = .;
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010062 KEEP(*(.fixup))
wdenk3bac3512003-03-12 10:41:04 +000063 }
Joakim Tjernlund9d8fbd12011-04-20 14:22:59 +020064 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
wdenk3bac3512003-03-12 10:41:04 +000065 __fixup_entries = (. - _FIXUP_TABLE_)>>2;
66
67 .data :
68 {
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010069 *(.data*)
70 *(.sdata*)
wdenk3bac3512003-03-12 10:41:04 +000071 }
72 _edata = .;
73 PROVIDE (edata = .);
74
Wolfgang Denk807d5d72005-08-31 12:28:00 +020075 . = .;
wdenk8bde7f72003-06-27 21:31:46 +000076
Marek Vasut55675142012-10-12 10:27:03 +000077 . = ALIGN(4);
78 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000079 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000080 }
81
Wolfgang Denk807d5d72005-08-31 12:28:00 +020082 . = .;
wdenk3bac3512003-03-12 10:41:04 +000083 __start___ex_table = .;
84 __ex_table : { *(__ex_table) }
85 __stop___ex_table = .;
86
87 . = ALIGN(256);
88 __init_begin = .;
89 .text.init : { *(.text.init) }
90 .data.init : { *(.data.init) }
91 . = ALIGN(256);
92 __init_end = .;
93
94 __bss_start = .;
Wolfgang Denk64134f02008-01-12 20:31:39 +010095 .bss (NOLOAD) :
wdenk3bac3512003-03-12 10:41:04 +000096 {
Wolfgang Denkcd0402a2010-11-20 15:07:45 +010097 *(.bss*)
98 *(.sbss*)
wdenk3bac3512003-03-12 10:41:04 +000099 *(COMMON)
Selvamuthukumar9b827cf2008-10-16 22:54:03 +0530100 . = ALIGN(4);
wdenk3bac3512003-03-12 10:41:04 +0000101 }
Simon Glass3929fb02013-03-14 06:54:53 +0000102 __bss_end = . ;
wdenk3bac3512003-03-12 10:41:04 +0000103 PROVIDE (end = .);
104}