]> git.sur5r.net Git - u-boot/blob - board/freescale/mx31ads/u-boot.lds
arm: keep all sections in ELF file
[u-boot] / board / freescale / mx31ads / u-boot.lds
1 /*
2  * January 2004 - Changed to support H4 device
3  * Copyright (c) 2004 Texas Instruments
4  *
5  * (C) Copyright 2002
6  * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
12 OUTPUT_ARCH(arm)
13 ENTRY(_start)
14 SECTIONS
15 {
16         . = 0x00000000;
17
18         . = ALIGN(4);
19         .text      :
20         {
21                 *(.__image_copy_start)
22           /* WARNING - the following is hand-optimized to fit within    */
23           /* the sector layout of our flash chips!      XXX FIXME XXX   */
24
25           arch/arm/cpu/arm1136/start.o                  (.text*)
26           board/freescale/mx31ads/libmx31ads.o  (.text*)
27           arch/arm/lib/libarm.o                 (.text*)
28           net/libnet.o                          (.text*)
29           drivers/mtd/libmtd.o                  (.text*)
30
31           . = DEFINED(env_offset) ? env_offset : .;
32           common/env_embedded.o(.text*)
33
34           *(.text*)
35         }
36         . = ALIGN(4);
37         .rodata : { *(.rodata*) }
38
39         . = ALIGN(4);
40         .data : {
41                 *(.data*)
42         }
43
44         . = ALIGN(4);
45
46         . = ALIGN(4);
47         .u_boot_list : {
48                 KEEP(*(SORT(.u_boot_list*)));
49         }
50
51         . = ALIGN(4);
52
53         .image_copy_end :
54         {
55                 *(.__image_copy_end)
56         }
57
58         .rel_dyn_start :
59         {
60                 *(.__rel_dyn_start)
61         }
62
63         .rel.dyn : {
64                 *(.rel*)
65         }
66
67         .rel_dyn_end :
68         {
69                 *(.__rel_dyn_end)
70         }
71
72         _end = .;
73
74 /*
75  * Compiler-generated __bss_start and __bss_end, see arch/arm/lib/bss.c
76  * __bss_base and __bss_limit are for linker only (overlay ordering)
77  */
78
79         .bss_start __rel_dyn_start (OVERLAY) : {
80                 KEEP(*(.__bss_start));
81                 __bss_base = .;
82         }
83
84         .bss __bss_base (OVERLAY) : {
85                 *(.bss*)
86                  . = ALIGN(4);
87                  __bss_limit = .;
88         }
89         .bss_end __bss_limit (OVERLAY) : {
90                 KEEP(*(.__bss_end));
91         }
92
93         .dynsym _end : { *(.dynsym) }
94         .dynbss : { *(.dynbss) }
95         .dynstr : { *(.dynstr*) }
96         .dynamic : { *(.dynamic*) }
97         .hash : { *(.hash*) }
98         .plt : { *(.plt*) }
99         .interp : { *(.interp*) }
100         .gnu : { *(.gnu*) }
101         .ARM.exidx : { *(.ARM.exidx*) }
102 }