blob: 9658b21951907035038ca64765c4e32dfe71a5f1 [file] [log] [blame]
Rafal Jaworowski8993e542007-07-27 14:43:59 +02001/*
Wolfgang Denk566d49a2010-11-22 23:36:42 +01002 * (C) Copyright 2007-2010 DENX Software Engineering.
Rafal Jaworowski8993e542007-07-27 14:43:59 +02003 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Rafal Jaworowski8993e542007-07-27 14:43:59 +02005 */
6
7OUTPUT_ARCH(powerpc)
8SECTIONS
9{
Rafal Jaworowski8993e542007-07-27 14:43:59 +020010 .text :
11 {
Wolfgang Denk566d49a2010-11-22 23:36:42 +010012 arch/powerpc/cpu/mpc512x/start.o (.text*)
13 *(.text*)
Rafal Jaworowski8993e542007-07-27 14:43:59 +020014 . = ALIGN(16);
Trent Piephof62fb992009-02-18 15:22:05 -080015 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Rafal Jaworowski8993e542007-07-27 14:43:59 +020016 }
Rafal Jaworowski8993e542007-07-27 14:43:59 +020017
18 /* Read-write section, merged into data segment: */
19 . = (. + 0x0FFF) & 0xFFFFF000;
20 _erotext = .;
21 PROVIDE (erotext = .);
22 .reloc :
23 {
Rafal Jaworowski8993e542007-07-27 14:43:59 +020024 _GOT2_TABLE_ = .;
Wolfgang Denk566d49a2010-11-22 23:36:42 +010025 KEEP(*(.got2))
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010026 KEEP(*(.got))
27 PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
Rafal Jaworowski8993e542007-07-27 14:43:59 +020028 _FIXUP_TABLE_ = .;
Wolfgang Denk566d49a2010-11-22 23:36:42 +010029 KEEP(*(.fixup))
Rafal Jaworowski8993e542007-07-27 14:43:59 +020030 *(.fixup)
31 }
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010032 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
Rafal Jaworowski8993e542007-07-27 14:43:59 +020033 __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
34
35 .data :
36 {
Wolfgang Denk566d49a2010-11-22 23:36:42 +010037 *(.data*)
38 *(.sdata*)
Rafal Jaworowski8993e542007-07-27 14:43:59 +020039 }
40 _edata = .;
41 PROVIDE (edata = .);
42
43 . = .;
Rafal Jaworowski8993e542007-07-27 14:43:59 +020044
Marek Vasut55675142012-10-12 10:27:03 +000045 . = ALIGN(4);
46 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000047 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000048 }
49
Rafal Jaworowski8993e542007-07-27 14:43:59 +020050
51 . = .;
52 __start___ex_table = .;
53 __ex_table : { *(__ex_table) }
54 __stop___ex_table = .;
55
56 . = ALIGN(4096);
57 __init_begin = .;
58 .text.init : { *(.text.init) }
59 .data.init : { *(.data.init) }
60 . = ALIGN(4096);
61 __init_end = .;
62
63 __bss_start = .;
Wolfgang Denk64134f02008-01-12 20:31:39 +010064 .bss (NOLOAD) :
Rafal Jaworowski8993e542007-07-27 14:43:59 +020065 {
Wolfgang Denk566d49a2010-11-22 23:36:42 +010066 *(.bss*)
67 *(.sbss*)
Rafal Jaworowski8993e542007-07-27 14:43:59 +020068 *(COMMON)
Selvamuthukumar9b827cf2008-10-16 22:54:03 +053069 . = ALIGN(4);
Rafal Jaworowski8993e542007-07-27 14:43:59 +020070 }
Simon Glass3929fb02013-03-14 06:54:53 +000071 __bss_end = . ;
Rafal Jaworowski8993e542007-07-27 14:43:59 +020072 PROVIDE (end = .);
73}
74ENTRY(_start)