blob: 7a4a7637e899010ffa33790a667c5561d3ec5943 [file] [log] [blame]
wdenk541a76d2003-05-03 15:50:43 +00001/*
2 * Linker command file for the GEN860T board when the environment is
3 * stored in flash memory.
4 *
Wolfgang Denke71d99d2010-11-20 15:07:45 +01005 * (C) Copyright 2000-2010
wdenk541a76d2003-05-03 15:50:43 +00006 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
7 *
Wolfgang Denkd79de1d2013-07-08 09:37:19 +02008 * SPDX-License-Identifier: GPL-2.0+
wdenk541a76d2003-05-03 15:50:43 +00009 */
10
11OUTPUT_ARCH(powerpc)
wdenk541a76d2003-05-03 15:50:43 +000012SECTIONS
13{
14 /*
15 * Read-only sections, merged into text segment:
16 */
17 . = + SIZEOF_HEADERS;
wdenk541a76d2003-05-03 15:50:43 +000018 .text :
19 {
Wolfgang Denke71d99d2010-11-20 15:07:45 +010020 arch/powerpc/cpu/mpc8xx/start.o (.text*)
21 arch/powerpc/cpu/mpc8xx/traps.o (.text*)
22
23 *(.text*)
wdenk541a76d2003-05-03 15:50:43 +000024 }
25 _etext = .;
26 PROVIDE (etext = .);
27 .rodata :
28 {
Trent Piepho4438e5e2009-02-18 15:22:05 -080029 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
wdenk541a76d2003-05-03 15:50:43 +000030 }
wdenk541a76d2003-05-03 15:50:43 +000031
32 /*
33 * Read-write section, merged into data segment:
34 */
35 . = (. + 0x00FF) & 0xFFFFFF00;
36 _erotext = .;
37 PROVIDE (erotext = .);
38 .reloc :
39 {
Wolfgang Denke71d99d2010-11-20 15:07:45 +010040 KEEP(*(.got))
wdenk541a76d2003-05-03 15:50:43 +000041 _GOT2_TABLE_ = .;
Wolfgang Denke71d99d2010-11-20 15:07:45 +010042 KEEP(*(.got2))
wdenk541a76d2003-05-03 15:50:43 +000043 _FIXUP_TABLE_ = .;
Wolfgang Denke71d99d2010-11-20 15:07:45 +010044 KEEP(*(.fixup))
wdenk541a76d2003-05-03 15:50:43 +000045 }
46 __got2_entries = (_FIXUP_TABLE_ - _GOT2_TABLE_) >>2;
47 __fixup_entries = (. - _FIXUP_TABLE_)>>2;
48
49 .data:
50 {
Wolfgang Denke71d99d2010-11-20 15:07:45 +010051 *(.data*)
52 *(.sdata*)
wdenk541a76d2003-05-03 15:50:43 +000053 }
54 _edata = .;
55 PROVIDE (edata = .);
56
Wolfgang Denk5dd2c652005-08-31 12:28:00 +020057 . = .;
Wolfgang Denk5dd2c652005-08-31 12:28:00 +020058
Marek Vasut607092a2012-10-12 10:27:03 +000059 .u_boot_list : {
Albert ARIBAUDc24895e2013-02-25 00:59:00 +000060 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut607092a2012-10-12 10:27:03 +000061 }
62
Wolfgang Denk5dd2c652005-08-31 12:28:00 +020063 . = .;
wdenk541a76d2003-05-03 15:50:43 +000064 __start___ex_table = .;
65 __ex_table : { *(__ex_table) }
66 __stop___ex_table = .;
67
68 . = ALIGN(256);
69 __init_begin = .;
70 .text.init : { *(.text.init) }
71 .data.init : { *(.data.init) }
72 . = ALIGN(256);
73 __init_end = .;
74
75 __bss_start = .;
Wolfgang Denk828a9782008-01-12 20:31:39 +010076 .bss (NOLOAD) :
wdenk541a76d2003-05-03 15:50:43 +000077 {
Wolfgang Denke71d99d2010-11-20 15:07:45 +010078 *(.bss*)
79 *(.sbss*)
wdenk541a76d2003-05-03 15:50:43 +000080 *(COMMON)
Selvamuthukumard2454ba2008-10-16 22:54:03 +053081 . = ALIGN(4);
wdenk541a76d2003-05-03 15:50:43 +000082 }
wdenk57b2d802003-06-27 21:31:46 +000083
Simon Glassed70c8f2013-03-14 06:54:53 +000084 __bss_end = . ;
wdenk541a76d2003-05-03 15:50:43 +000085 PROVIDE (end = .);
86
87 .ppcenv:
88 {
89 . = env_offset;
Jean-Christophe PLAGNIOL-VILLARD4436c1e2008-09-10 22:48:01 +020090 common/env_embedded.o
wdenk541a76d2003-05-03 15:50:43 +000091 }
92}