blob: 6c48f4099286edc47c69b4c4b0fc3163bd41c43b [file] [log] [blame]
Joe Hamman8ac27322007-08-09 15:10:53 -05001/*
2 * Copyright 2006, 2007 Freescale Semiconductor, Inc.
3 *
Wolfgang Denk1a459662013-07-08 09:37:19 +02004 * SPDX-License-Identifier: GPL-2.0+
Joe Hamman8ac27322007-08-09 15:10:53 -05005 */
6
7OUTPUT_ARCH(powerpc)
8
9SECTIONS
10{
11
12 /* Read-only sections, merged into text segment: */
Joe Hamman8ac27322007-08-09 15:10:53 -050013 .text :
14 {
Wolfgang Denk4e2894b2010-11-22 08:31:41 +010015 arch/powerpc/cpu/mpc86xx/start.o (.text*)
16 arch/powerpc/cpu/mpc86xx/traps.o (.text*)
Peter Tyser68337fb2010-09-29 14:05:55 -050017 *(.text*)
Joe Hamman8ac27322007-08-09 15:10:53 -050018 }
19 _etext = .;
20 PROVIDE (etext = .);
21 .rodata :
22 {
Trent Piephof62fb992009-02-18 15:22:05 -080023 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
Joe Hamman8ac27322007-08-09 15:10:53 -050024 }
Joe Hamman8ac27322007-08-09 15:10:53 -050025
26 /* Read-write section, merged into data segment: */
27 . = (. + 0x00FF) & 0xFFFFFF00;
28 _erotext = .;
29 PROVIDE (erotext = .);
30 .reloc :
31 {
Joe Hamman8ac27322007-08-09 15:10:53 -050032 _GOT2_TABLE_ = .;
Peter Tyser68337fb2010-09-29 14:05:55 -050033 KEEP(*(.got2))
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010034 KEEP(*(.got))
Joe Hamman8ac27322007-08-09 15:10:53 -050035 _FIXUP_TABLE_ = .;
Peter Tyser68337fb2010-09-29 14:05:55 -050036 KEEP(*(.fixup))
Joe Hamman8ac27322007-08-09 15:10:53 -050037 }
Joakim Tjernlund337f5f52010-12-03 17:30:37 +010038 __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
Joe Hamman8ac27322007-08-09 15:10:53 -050039 __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
40
41 .data :
42 {
Peter Tyser68337fb2010-09-29 14:05:55 -050043 *(.data*)
44 *(.sdata*)
Joe Hamman8ac27322007-08-09 15:10:53 -050045 }
46 _edata = .;
47 PROVIDE (edata = .);
48
49 . = .;
Joe Hamman8ac27322007-08-09 15:10:53 -050050
Marek Vasut55675142012-10-12 10:27:03 +000051 . = ALIGN(4);
52 .u_boot_list : {
Albert ARIBAUDef123c52013-02-25 00:59:00 +000053 KEEP(*(SORT(.u_boot_list*)));
Marek Vasut55675142012-10-12 10:27:03 +000054 }
55
Joe Hamman8ac27322007-08-09 15:10:53 -050056 . = .;
57 __start___ex_table = .;
58 __ex_table : { *(__ex_table) }
59 __stop___ex_table = .;
60
61 . = ALIGN(256);
62 __init_begin = .;
63 .text.init : { *(.text.init) }
64 .data.init : { *(.data.init) }
65 . = ALIGN(256);
66 __init_end = .;
67
68 __bss_start = .;
Wolfgang Denk64134f02008-01-12 20:31:39 +010069 .bss (NOLOAD) :
Joe Hamman8ac27322007-08-09 15:10:53 -050070 {
Peter Tyser68337fb2010-09-29 14:05:55 -050071 *(.bss*)
Wolfgang Denk4e2894b2010-11-22 08:31:41 +010072 *(.sbss*)
Joe Hamman8ac27322007-08-09 15:10:53 -050073 *(COMMON)
Selvamuthukumar9b827cf2008-10-16 22:54:03 +053074 . = ALIGN(4);
Joe Hamman8ac27322007-08-09 15:10:53 -050075 }
Simon Glass3929fb02013-03-14 06:54:53 +000076 __bss_end = . ;
Joe Hamman8ac27322007-08-09 15:10:53 -050077 PROVIDE (end = .);
78}