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