blob: 8f51edb08c68bde48fa1216fb1e49253c4846bd4 [file] [log] [blame]
Antonio Nino Diazfee6e7e2019-03-28 13:16:04 +00001/*
2 * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
7#include <quark_def.h>
8#include <platform_def.h>
9#include <xlat_tables_defs.h>
10
11OUTPUT_FORMAT(PLATFORM_LINKER_FORMAT)
12OUTPUT_ARCH(PLATFORM_LINKER_ARCH)
13ENTRY(quark_entrypoint)
14
15SECTIONS
16{
17 . = QUARK_IMAGE_BASE;
18
19 ASSERT(. == ALIGN(PAGE_SIZE),
20 "TEXT_START address is not aligned to PAGE_SIZE.")
21
22 .text : {
23 __TEXT_START__ = .;
24 *quark_entrypoint.o(.text*)
25 *(.text*)
26 *(.vectors)
27 . = NEXT(PAGE_SIZE);
28 __TEXT_END__ = .;
29 }
30
31 .rodata : {
32 . = ALIGN(PAGE_SIZE);
33 __RODATA_START__ = .;
34 *(.rodata*)
35 . = NEXT(PAGE_SIZE);
36 __RODATA_END__ = .;
37 }
38
39 .data : {
40 . = ALIGN(PAGE_SIZE);
41 __DATA_START__ = .;
42 *(.data*)
43 . = NEXT(PAGE_SIZE);
44 __DATA_END__ = .;
45 }
46
47 .bss (NOLOAD) : {
48 . = ALIGN(PAGE_SIZE);
49 __BSS_START__ = .;
50 *(SORT_BY_ALIGNMENT(.bss*))
51 *(COMMON)
52 . = NEXT(PAGE_SIZE);
53 __BSS_END__ = .;
54 }
55}