1/*
2 * Copyright 2006, 2007 Freescale Semiconductor, Inc.
3 *
4 * SPDX-License-Identifier:	GPL-2.0+
5 */
6
7OUTPUT_ARCH(powerpc)
8
9SECTIONS
10{
11
12  /* Read-only sections, merged into text segment: */
13  .text      :
14  {
15    arch/powerpc/cpu/mpc86xx/start.o	(.text*)
16    arch/powerpc/cpu/mpc86xx/traps.o	(.text*)
17    *(.text*)
18   }
19    _etext = .;
20    PROVIDE (etext = .);
21    .rodata    :
22   {
23    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
24  }
25
26  /* Read-write section, merged into data segment: */
27  . = (. + 0x00FF) & 0xFFFFFF00;
28  _erotext = .;
29  PROVIDE (erotext = .);
30  .reloc   :
31  {
32    _GOT2_TABLE_ = .;
33    KEEP(*(.got2))
34    KEEP(*(.got))
35    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
36    _FIXUP_TABLE_ = .;
37    KEEP(*(.fixup))
38  }
39  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
40  __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
41
42  .data    :
43  {
44    *(.data*)
45    *(.sdata*)
46  }
47  _edata  =  .;
48  PROVIDE (edata = .);
49
50  . = .;
51
52  . = ALIGN(4);
53  .u_boot_list : {
54	KEEP(*(SORT(.u_boot_list*)));
55  }
56
57  . = .;
58  __start___ex_table = .;
59  __ex_table : { *(__ex_table) }
60  __stop___ex_table = .;
61
62  . = ALIGN(256);
63  __init_begin = .;
64  .text.init : { *(.text.init) }
65  .data.init : { *(.data.init) }
66  . = ALIGN(256);
67  __init_end = .;
68
69  __bss_start = .;
70  .bss (NOLOAD)       :
71  {
72   *(.bss*)
73   *(.sbss*)
74   *(COMMON)
75   . = ALIGN(4);
76  }
77  __bss_end = . ;
78  PROVIDE (end = .);
79}
80