/ test / external / embench / common / link.ld
link.ld
 1  OUTPUT_ARCH( "riscv" )
 2  ENTRY(_start)
 3  
 4  _STACK_SIZE = 0x1000;
 5  
 6  MEMORY
 7  {
 8      imem (rxai!w) : ORIGIN = 0x00000000, LENGTH = 64K
 9      dmem (wxa!ri) : ORIGIN = 0x10000000, LENGTH = 128K
10  }
11  
12  SECTIONS
13  {
14    .text.init : {
15      *(.text.init)
16    } >imem
17  
18    .text : {
19      *(.text .text.*)
20    } >imem
21  
22    .rodata : {
23      *(.rodata .rodata.*)
24    } >dmem
25  
26    .data :
27    {
28      . = ALIGN(4);
29  
30      *(.data .data.* .gnu.linkonce.d.*)
31  
32      . = ALIGN(8);
33      __global_pointer$ = . + 0x800;
34  
35      *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)
36      *(.sdata .sdata.* .gnu.linkonce.s.*)
37  
38      . = ALIGN(4);
39    } >dmem
40  
41    .bss :
42    {
43      . = ALIGN(4);
44      __bss_start = .;
45  
46      *(.dynbss)
47      *(.bss .bss.* .gnu.linkonce.b.*)
48      *(.dynsbss)
49      *(.sbss .sbss.* .gnu.linkonce.sb.*)
50      *(.scommon)
51  
52      . = ALIGN(4);
53      __bss_end = .;
54    } >dmem
55  
56    .stack : {
57      __stack_end = .;
58      . += _STACK_SIZE;
59      . = ALIGN(16);
60      __stack_top = .;
61    } >dmem
62  
63    _end = .;
64  }