Keep tohost/fromhost at deterministic address
[riscv-tests.git] / benchmarks / common / test.ld
index 438581cb6b04d9b754b09840d7b4e60dd61d60c1..dd32bb12fe168ca55536cb857c21799ccdb5658f 100644 (file)
 
 OUTPUT_ARCH( "riscv" )
 
 
 OUTPUT_ARCH( "riscv" )
 
-/* The ENTRY command specifies the entry point (ie. first instruction
-   to execute). The symbol _start should be defined in each test. */
-
-ENTRY( _start )
-
 /*----------------------------------------------------------------------*/
 /* Sections                                                             */
 /*----------------------------------------------------------------------*/
 /*----------------------------------------------------------------------*/
 /* Sections                                                             */
 /*----------------------------------------------------------------------*/
@@ -26,15 +21,27 @@ SECTIONS
 {
 
   /* text: test code section */
 {
 
   /* text: test code section */
-  . = 0x00002000;
-  .text : 
-  {
-    crt.o(.text)
-    *(.text)
-  }
+  . = 0x80000000;
+  .text.init : { crt.o(.text) }
+
+  .tohost ALIGN(0x1000) : { *(.tohost) }
 
 
-  /* data segmemt */
+  .text : { *(.text) }
+
+  /* data segment */
   .data : { *(.data) }
   .data : { *(.data) }
+
+  .sdata : {
+    _gp = . + 0x800;
+    *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata*)
+    *(.sdata .sdata.* .gnu.linkonce.s.*)
+  }
+
+  /* bss segment */
+  .sbss : {
+    *(.sbss .sbss.* .gnu.linkonce.sb.*)
+    *(.scommon)
+  }
   .bss : { *(.bss) }
 
   /* thread-local data segment */
   .bss : { *(.bss) }
 
   /* thread-local data segment */