blob: 3c177fa2914e90386ab9c2805d1f41180bb60b3d [file] [log] [blame]
Grant Likely416a0b62007-07-03 00:33:18 -06001/*
Wolfgang Denkff2311a2010-11-25 12:15:34 +01002 * (C) Copyright 2006-2010
Grant Likely416a0b62007-07-03 00:33:18 -06003 * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02005 * SPDX-License-Identifier: GPL-2.0+
Grant Likely416a0b62007-07-03 00:33:18 -06006 */
7
8OUTPUT_ARCH(powerpc)
9SECTIONS
10{
11 /* Read-only sections, merged into text segment: */
Grant Likely416a0b62007-07-03 00:33:18 -060012 .text :
13 {
Wolfgang Denkff2311a2010-11-25 12:15:34 +010014 arch/powerpc/cpu/mpc83xx/start.o (.text*)
15 *(.text*)
Grant Likely416a0b62007-07-03 00:33:18 -060016 . = ALIGN(16);
Trent Piephof62fb992009-02-18 15:22:05 -080017 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Grant Likely416a0b62007-07-03 00:33:18 -060018 }
Grant Likely416a0b62007-07-03 00:33:18 -060019
20 /* Read-write section, merged into data segment: */
21 . = (. + 0x0FFF) & 0xFFFFF000;
22 _erotext = .;
23 PROVIDE (erotext = .);
24 .reloc :
25 {
Grant Likely416a0b62007-07-03 00:33:18 -060026 _GOT2_TABLE_ = .;
Wolfgang Denkff2311a2010-11-25 12:15:34 +010027 KEEP(*(.got2))
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010028 KEEP(*(.got))
29 PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
Grant Likely416a0b62007-07-03 00:33:18 -060030 _FIXUP_TABLE_ = .;
Wolfgang Denkff2311a2010-11-25 12:15:34 +010031 KEEP(*(.fixup))
Grant Likely416a0b62007-07-03 00:33:18 -060032 }
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010033 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
Grant Likely416a0b62007-07-03 00:33:18 -060034 __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
35
36 .data :
37 {
Wolfgang Denkff2311a2010-11-25 12:15:34 +010038 *(.data*)
39 *(.sdata*)
Grant Likely416a0b62007-07-03 00:33:18 -060040 }
41 _edata = .;
42 PROVIDE (edata = .);
43
44 . = .;
Grant Likely416a0b62007-07-03 00:33:18 -060045
Marek Vasut55675142012-10-12 10:27:03 +000046 . = ALIGN(4);
47 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000048 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000049 }
50
Grant Likely416a0b62007-07-03 00:33:18 -060051
52 . = .;
53 __start___ex_table = .;
54 __ex_table : { *(__ex_table) }
55 __stop___ex_table = .;
56
57 . = ALIGN(4096);
58 __init_begin = .;
59 .text.init : { *(.text.init) }
60 .data.init : { *(.data.init) }
61 . = ALIGN(4096);
62 __init_end = .;
63
64 __bss_start = .;
Wolfgang Denk64134f02008-01-12 20:31:39 +010065 .bss (NOLOAD) :
Grant Likely416a0b62007-07-03 00:33:18 -060066 {
Wolfgang Denkff2311a2010-11-25 12:15:34 +010067 *(.bss*)
68 *(.sbss*)
Grant Likely416a0b62007-07-03 00:33:18 -060069 *(COMMON)
Selvamuthukumar9b827cf2008-10-16 22:54:03 +053070 . = ALIGN(4);
Grant Likely416a0b62007-07-03 00:33:18 -060071 }
Simon Glass3929fb02013-03-14 06:54:53 +000072 __bss_end = . ;
Grant Likely416a0b62007-07-03 00:33:18 -060073 PROVIDE (end = .);
74}
75ENTRY(_start)