1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17SECTIONS
18{
19	/* things that live in the main app image */
20	.text : {
21		KEEP (*(.vectors) ) ;
22		*(.text) *(.text.*) ;
23		*(.rodata) *(.rodata.*) ;
24		. = ALIGN(8);
25		__internal_app_start = ABSOLUTE(.);
26		KEEP (*(.internal_app_init) ) ;
27		__internal_app_end = ABSOLUTE(.);
28		. = ALIGN(4);
29		__text_end = ABSOLUTE(.);
30	} > code = 0xff
31
32	.stack (NOLOAD) : {
33		. = ALIGN(4);
34		__stack_bottom = ABSOLUTE(.);
35		KEEP ( *(.stack) );
36		KEEP ( *(.stack.*) );
37		. = ALIGN(4);
38		__stack_top = ABSOLUTE(.);
39	 } > ram
40
41	.data : {
42		. = ALIGN(4);
43		__data_start = ABSOLUTE(.);
44		*(.data);
45		*(.data.*);
46		. = ALIGN(4);
47		__data_end = ABSOLUTE(.);
48	 } > ram AT > code
49
50	.bss : {
51		. = ALIGN(4);
52		__bss_start = ABSOLUTE(.);
53		*(.bss) *(.bss.*) *(COMMON);
54		. = ALIGN(4);
55		__bss_end = ABSOLUTE(.);
56	} > ram
57
58	.neverinit : {
59		. = ALIGN(4);
60		*(.neverinit) *(.neverinit.*) ;
61		. = ALIGN(4);
62		__heap_start = ABSOLUTE(.);
63	} > ram
64}
65
66_BL = ORIGIN(bl);
67__app_start = __data_data + __data_end - __data_start;
68__heap_end = ORIGIN(ram) + LENGTH(ram);
69ENTRY(ResetISR)
70