Merge git://git.denx.de/u-boot-i2c
[oweals/u-boot.git] / arch / powerpc / cpu / mpc83xx / u-boot.lds
1 /*
2  * (C) Copyright 2006-2010
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 OUTPUT_ARCH(powerpc)
9 SECTIONS
10 {
11   /* Read-only sections, merged into text segment: */
12   .text      :
13   {
14     arch/powerpc/cpu/mpc83xx/start.o    (.text*)
15     *(.text*)
16     . = ALIGN(16);
17     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
18   }
19
20   /* Read-write section, merged into data segment: */
21   . = (. + 0x0FFF) & 0xFFFFF000;
22   _erotext = .;
23   PROVIDE (erotext = .);
24   .reloc   :
25   {
26     _GOT2_TABLE_ = .;
27     KEEP(*(.got2))
28     KEEP(*(.got))
29     _FIXUP_TABLE_ = .;
30     KEEP(*(.fixup))
31   }
32   __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
33   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
34
35   .data    :
36   {
37     *(.data*)
38     *(.sdata*)
39   }
40   _edata  =  .;
41   PROVIDE (edata = .);
42
43   . = .;
44
45   . = ALIGN(4);
46   .u_boot_list : {
47         KEEP(*(SORT(.u_boot_list*)));
48   }
49
50
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 = .;
64   .bss (NOLOAD)       :
65   {
66    *(.bss*)
67    *(.sbss*)
68    *(COMMON)
69    . = ALIGN(4);
70   }
71   __bss_end = . ;
72   PROVIDE (end = .);
73 }
74 ENTRY(_start)