blob: a32c0e721e8e56fd3440752221b354ec805ffc3b [file] [log] [blame]
Tom Rini10e47792018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Christophe Leroy35982952017-07-07 10:16:42 +02002/*
3 * Copyright (C) 2010-2017 CS Systemes d'Information
4 * Christophe Leroy <christophe.leroy@c-s.fr>
5 *
6 * (C) Copyright 2001-2003
7 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
8 *
9 * Modified by Yuli Barcohen <yuli@arabellasw.com>
Christophe Leroy35982952017-07-07 10:16:42 +020010 */
11
12OUTPUT_ARCH(powerpc)
13SECTIONS
14{
15 /* Read-only sections, merged into text segment: */
16 . = + SIZEOF_HEADERS;
17 .text :
18 {
19 arch/powerpc/cpu/mpc8xx/start.o (.text)
Christophe Leroy35982952017-07-07 10:16:42 +020020 arch/powerpc/cpu/mpc8xx/traps.o (.text*)
Christophe Leroy35982952017-07-07 10:16:42 +020021 arch/powerpc/lib/built-in.o (.text*)
22 board/cssi/MCR3000/built-in.o (.text*)
Christophe Leroy35982952017-07-07 10:16:42 +020023 drivers/net/built-in.o (.text*)
24
Christophe Leroy92b792b2018-03-16 17:20:55 +010025 . = DEFINED(env_offset) ? env_offset : .;
26 env/embedded.o (.text.environment)
27
Christophe Leroy35982952017-07-07 10:16:42 +020028 *(.text)
29 }
30 _etext = .;
31 PROVIDE (etext = .);
32 .rodata :
33 {
34 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
35 }
36
37 /* Read-write section, merged into data segment: */
38 . = (. + 0x0FFF) & 0xFFFFF000;
39 _erotext = .;
40 PROVIDE (erotext = .);
41 .reloc :
42 {
43 _GOT2_TABLE_ = .;
44 KEEP(*(.got2))
45 KEEP(*(.got))
46 _FIXUP_TABLE_ = .;
47 KEEP(*(.fixup))
48 }
49 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
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(4096);
73 __init_begin = .;
74 .text.init : { *(.text.init) }
75 .data.init : { *(.data.init) }
76 . = ALIGN(4096);
77 __init_end = .;
78
79 __bss_start = .;
80 .bss (NOLOAD) :
81 {
82 *(.bss*)
83 *(.sbss*)
84 *(COMMON)
85 . = ALIGN(4);
86 }
87 __bss_end = . ;
88 PROVIDE (end = .);
89}
90ENTRY(_start)