44dfafae2964dbbf94285e094f4c5aa46b7a794d
[oweals/u-boot.git] / board / tqc / tqm8xx / u-boot.lds
1 /*
2  * (C) Copyright 2000-2012
3  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
4  *
5  * SPDX-License-Identifier:     GPL-2.0+
6  */
7
8 OUTPUT_ARCH(powerpc)
9
10 SECTIONS
11 {
12   /* Read-only sections, merged into text segment: */
13   . = + SIZEOF_HEADERS;
14   .text      :
15   {
16     /* WARNING - the following is hand-optimized to fit within  */
17     /* the sector layout of our flash chips!    XXX FIXME XXX   */
18
19     arch/powerpc/cpu/mpc8xx/start.o     (.text*)
20     arch/powerpc/cpu/mpc8xx/traps.o     (.text*)
21     arch/powerpc/cpu/mpc8xx/built-in.o  (.text*)
22     arch/powerpc/lib/built-in.o         (.text*)
23     board/tqc/tqm8xx/built-in.o         (.text*)
24     disk/built-in.o                     (.text*)
25     drivers/net/built-in.o              (.text*)
26     drivers/built-in.o                  (.text.pcmcia_on)
27     drivers/built-in.o                  (.text.pcmcia_hardware_enable)
28
29     . = DEFINED(env_offset) ? env_offset : .;
30     common/env_embedded.o       (.ppcenv*)
31
32     *(.text*)
33   }
34   _etext = .;
35   PROVIDE (etext = .);
36   .rodata    :
37   {
38     *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
39   }
40
41   /* Read-write section, merged into data segment: */
42   . = (. + 0x00FF) & 0xFFFFFF00;
43   _erotext = .;
44   PROVIDE (erotext = .);
45   .reloc   :
46   {
47     _GOT2_TABLE_ = .;
48     KEEP(*(.got2))
49     KEEP(*(.got))
50     _FIXUP_TABLE_ = .;
51     KEEP(*(.fixup))
52   }
53   __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
54   __fixup_entries = (. - _FIXUP_TABLE_)>>2;
55
56   .data    :
57   {
58     *(.data*)
59     *(.sdata*)
60   }
61   _edata  =  .;
62   PROVIDE (edata = .);
63
64   . = .;
65
66   . = ALIGN(4);
67   .u_boot_list : {
68         KEEP(*(SORT(.u_boot_list*)));
69   }
70
71
72   . = .;
73   __start___ex_table = .;
74   __ex_table : { *(__ex_table) }
75   __stop___ex_table = .;
76
77   . = ALIGN(256);
78   __init_begin = .;
79   .text.init : { *(.text.init) }
80   .data.init : { *(.data.init) }
81   . = ALIGN(256);
82   __init_end = .;
83
84   __bss_start = .;
85   .bss (NOLOAD)       :
86   {
87    *(.bss*)
88    *(.sbss*)
89    *(COMMON)
90    . = ALIGN(4);
91   }
92   __bss_end = . ;
93   PROVIDE (end = .);
94 }