treewide: Move device_tree to commonlib
[coreboot2.git] / payloads / libpayload / arch / arm / libpayload.ldscript
blobd60ba8afb8745ccc6efdc3f8cf842ed797359137
1 /*
2  *
3  * Copyright (C) 2013 Google, Inc.
4  * Copyright (C) 2008 Advanced Micro Devices, Inc.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. The name of the author may not be used to endorse or promote products
15  *    derived from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27  * SUCH DAMAGE.
28  */
30 OUTPUT_FORMAT("elf32-littlearm","elf32-littlearm", "elf32-littlearm")
31 OUTPUT_ARCH(arm)
33 ENTRY(_entry)
35 SECTIONS
37         . = CONFIG_LP_BASE_ADDRESS;
39         . = ALIGN(16);
40         _start = .;
42         .text : {
43                 _text = .;
44                 *(.text._entry)
45                 *(.text)
46                 *(.text.*)
47                 _etext = .;
48         }
50         .rodata : {
51                 _rodata = .;
52                 *(.rodata)
53                 *(.rodata.*)
54                 _erodata = .;
55         }
57         .data : {
58                 _data = .;
59                 *(.data)
60                 *(.data.*)
61                 _edata = .;
62         }
64         .bss : {
65                 _bss = .;
66                 *(.sbss)
67                 *(.sbss.*)
68                 *(.bss)
69                 *(.bss.*)
70                 *(COMMON)
71                 _ebss = .;
73                 /* Stack and heap */
75                 . = ALIGN(16);
76                 _heap = .;
77                 . += CONFIG_LP_HEAP_SIZE;
78                 . = ALIGN(16);
79                 _eheap = .;
81                 _stack = .;
82                 . += CONFIG_LP_STACK_SIZE;
83                 . = ALIGN(16);
84                 _estack = .;
85         }
87         _end = .;
89         /DISCARD/ : {
90                 *(.comment)
91                 *(.note*)
92         }