blob: 49c7e37f551a6c722f4775b868d659d5f6bd02b2 [file] [log] [blame]
Jordan Crousef6145c32008-03-19 23:56:58 +00001/*
Uwe Hermann661e3802008-03-21 18:37:23 +00002 *
3 * Copyright (C) 2008 Advanced Micro Devices, Inc.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. The name of the author may not be used to endorse or promote products
14 * derived from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
Jordan Crousef6145c32008-03-19 23:56:58 +000028
Subrata Banikafa39102024-05-18 12:26:40 +000029#if CONFIG(LP_ARCH_X86_64)
30OUTPUT_FORMAT(elf64-x86-64)
31OUTPUT_ARCH(x86_64)
32#else
Jordan Crousef6145c32008-03-19 23:56:58 +000033OUTPUT_FORMAT(elf32-i386)
34OUTPUT_ARCH(i386)
Subrata Banikafa39102024-05-18 12:26:40 +000035#endif
Jordan Crousef6145c32008-03-19 23:56:58 +000036
37ENTRY(_entry)
38
Jordan Crousef6145c32008-03-19 23:56:58 +000039SECTIONS
40{
Stefan Reinauer82184452016-03-12 16:18:17 -080041 . = CONFIG_LP_BASE_ADDRESS;
Jordan Crousef6145c32008-03-19 23:56:58 +000042
43 . = ALIGN(16);
44 _start = .;
45
46 .text : {
Yi Chou32ea2ab2023-11-18 12:12:01 +080047 _text = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000048 *(.text._entry)
49 *(.text)
50 *(.text.*)
Yi Chou32ea2ab2023-11-18 12:12:01 +080051 _etext = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000052 }
53
54 .rodata : {
Yi Chou32ea2ab2023-11-18 12:12:01 +080055 _rodata = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000056 *(.rodata)
57 *(.rodata.*)
Yi Chou32ea2ab2023-11-18 12:12:01 +080058 _erodata = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000059 }
60
61 .data : {
Yi Chou32ea2ab2023-11-18 12:12:01 +080062 _data = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000063 *(.data)
64 *(.data.*)
Yi Chou32ea2ab2023-11-18 12:12:01 +080065 _edata = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000066 }
67
68 .bss : {
Yi Chou32ea2ab2023-11-18 12:12:01 +080069 _bss = .;
Stefan Reinauerf23804b2009-07-18 15:18:22 +000070 *(.sbss)
71 *(.sbss.*)
Jordan Crousef6145c32008-03-19 23:56:58 +000072 *(.bss)
73 *(.bss.*)
74 *(COMMON)
Yi Chou32ea2ab2023-11-18 12:12:01 +080075 _ebss = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000076
77 /* Stack and heap */
78
79 . = ALIGN(16);
80 _heap = .;
Stefan Reinauer82184452016-03-12 16:18:17 -080081 . += CONFIG_LP_HEAP_SIZE;
Jordan Crousef6145c32008-03-19 23:56:58 +000082 . = ALIGN(16);
83 _eheap = .;
84
Yi Chou32ea2ab2023-11-18 12:12:01 +080085 _stack = .;
Stefan Reinauer82184452016-03-12 16:18:17 -080086 . += CONFIG_LP_STACK_SIZE;
Jordan Crousef6145c32008-03-19 23:56:58 +000087 . = ALIGN(16);
Yi Chou32ea2ab2023-11-18 12:12:01 +080088 _estack = .;
Jordan Crousef6145c32008-03-19 23:56:58 +000089 }
90
Jordan Crousef6145c32008-03-19 23:56:58 +000091 _end = .;
92
Gabe Blackb9edbbd2012-04-17 15:59:56 -070093 /DISCARD/ : {
94 *(.comment)
95 *(.note*)
96 }
Jordan Crousef6145c32008-03-19 23:56:58 +000097}