]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/powerpc/cpu/mpc85xx/u-boot-nand.lds
Add GPL-2.0+ SPDX-License-Identifier to source files
[karo-tx-uboot.git] / arch / powerpc / cpu / mpc85xx / u-boot-nand.lds
1 /*
2  * Copyright 2009-2012 Freescale Semiconductor, Inc.
3  *
4  * SPDX-License-Identifier:     GPL-2.0+
5  */
6
7 OUTPUT_ARCH(powerpc)
8 /* Do we need any of these for elf?
9    __DYNAMIC = 0;    */
10 PHDRS
11 {
12   text PT_LOAD;
13   bss PT_LOAD;
14 }
15
16 SECTIONS
17 {
18   /* Read-only sections, merged into text segment: */
19   . = + SIZEOF_HEADERS;
20   .interp : { *(.interp) }
21   .text      :
22   {
23     *(.text*)
24    } :text
25     _etext = .;
26     PROVIDE (etext = .);
27     .rodata    :
28    {
29     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
30   } :text
31
32   /* Read-write section, merged into data segment: */
33   . = (. + 0x00FF) & 0xFFFFFF00;
34   _erotext = .;
35   PROVIDE (erotext = .);
36   .reloc   :
37   {
38     _GOT2_TABLE_ = .;
39     KEEP(*(.got2))
40     KEEP(*(.got))
41     PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
42     _FIXUP_TABLE_ = .;
43     KEEP(*(.fixup))
44   }
45   __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
46   __fixup_entries = (. - _FIXUP_TABLE_) >> 2;
47
48   .data    :
49   {
50     *(.data*)
51     *(.sdata*)
52   }
53   _edata  =  .;
54   PROVIDE (edata = .);
55
56   . = .;
57
58   .u_boot_list : {
59         KEEP(*(SORT(.u_boot_list*)));
60   }
61
62   . = .;
63   __start___ex_table = .;
64   __ex_table : { *(__ex_table) }
65   __stop___ex_table = .;
66
67   . = ALIGN(256);
68   __init_begin = .;
69   .text.init : { *(.text.init) }
70   .data.init : { *(.data.init) }
71   . = ALIGN(256);
72   __init_end = .;
73
74   .bootpg ADDR(.text) - 0x1000 :
75   {
76     KEEP(arch/powerpc/cpu/mpc85xx/start.o (.bootpg))
77   } :text = 0xffff
78
79   . = ADDR(.text) + 0x80000;
80
81   __bss_start = .;
82   .bss (NOLOAD)       :
83   {
84    *(.sbss*)
85    *(.bss*)
86    *(COMMON)
87   } :bss
88
89   . = ALIGN(4);
90   __bss_end = . ;
91   PROVIDE (end = .);
92 }