1/*
2 * Copyright (c) 2007,2008,2012, ETH Zurich.
3 * Copyright (c) 2015, Hewlett Packard Enterprise Development LP.
4 * All rights reserved.
5 *
6 * This file is distributed under the terms in the attached LICENSE file.
7 * If you do not find this file, copies can be found by writing to:
8 * ETH Zurich D-INFK, Universitaetstr. 6, CH-8092 Zurich. Attn: Systems Group.
9 */
10
11OUTPUT_FORMAT("elf64-littleaarch64")
12OUTPUT_ARCH("aarch64")
13
14_start_img = BASE_ADDR;
15 
16SECTIONS {
17        . = ALIGN(4k);
18        .text BASE_ADDR : ALIGN(4k)  { *(.text); }
19        _end_kernel_text = .;
20
21        . = ALIGN(4k);
22        .rodata . :
23        {
24                *(.rodata);
25
26	      /* Force module images to all be page aligned  */
27               . = ALIGN(4k);
28               *(.rodata1); 
29               . = ALIGN(4k);
30               *(.rodata2); 
31               . = ALIGN(4k);
32               *(.rodata3); 
33               . = ALIGN(4k);
34               *(.rodata4); 
35               . = ALIGN(4k);
36               *(.rodata5); 
37               . = ALIGN(4k);
38               *(.rodata6); 
39               . = ALIGN(4k);
40               *(.rodata7); 
41               . = ALIGN(4k);
42               *(.rodata8); 
43               . = ALIGN(4k);
44               *(.rodata9); 
45               . = ALIGN(4k);
46               *(.rodata10); 
47               . = ALIGN(4k);
48               *(.rodata11); 
49               . = ALIGN(4k);
50               *(.rodata12); 
51               . = ALIGN(4k);
52               *(.rodata13); 
53               . = ALIGN(4k);
54               *(.rodata14); 
55               . = ALIGN(4k);
56               *(.rodata15); 
57               . = ALIGN(4k);
58               *(.rodata16); 
59               . = ALIGN(4k);
60               *(.rodata17); 
61               . = ALIGN(4k);
62               *(.rodata18); 
63               . = ALIGN(4k);
64               *(.rodata19); 
65               . = ALIGN(4k);
66               *(.rodata20); 
67        }
68        . = ALIGN(4k);
69        //address will be put into aarch64_init, if heteropanda option has been specified
70        _start_slave = .;
71        .slave_image . : {//heteropanda_slave image, for running on a cortex-m3
72               *(.rodata_thumb);
73        }
74        
75        .bss . :
76        {
77                *(.bss);
78        }
79
80        _end_img = .;
81
82        /***** These sections get discarded *****/
83        /DISCARD/ :
84        {
85                /* Discard exception handler frames and headers -- we don't use em */
86                *(.eh_frame);
87                *(.eh_frame_hdr);
88		*(.note.gnu.build-id);
89                *(.interp);
90/*              *(.dynsym); */
91/*              *(.dynstr); */
92/*              *(.hash); */
93/*              *(.gnu.hash); */
94                *(.dynamic);
95        }
96}
97