浏览代码

Fix _stext override issue

Vadim Kaushan 6 年之前
父节点
当前提交
44c86e244d
共有 1 个文件被更改,包括 6 次插入12 次删除
  1. 6 12
      riscv-rt/link.x

+ 6 - 12
riscv-rt/link.x

@@ -20,19 +20,13 @@ PROVIDE(__pre_init = default_pre_init);
 */
 */
 PROVIDE(_mp_hook = default_mp_hook);
 PROVIDE(_mp_hook = default_mp_hook);
 
 
-PHDRS
-{
-    load PT_LOAD;
-    ram_load PT_LOAD;
-    virtual PT_NULL;
-}
-
 SECTIONS
 SECTIONS
 {
 {
-  .text.dummy ORIGIN(REGION_TEXT) :
+  .text.dummy (NOLOAD) :
   {
   {
     /* This section is intended to make _stext address work */
     /* This section is intended to make _stext address work */
-  } > REGION_TEXT :virtual
+    . = _stext;
+  } > REGION_TEXT
 
 
   .text _stext :
   .text _stext :
   {
   {
@@ -45,7 +39,7 @@ SECTIONS
     KEEP(*(.trap.rust));
     KEEP(*(.trap.rust));
 
 
     *(.text .text.*);
     *(.text .text.*);
-  } > REGION_TEXT :load
+  } > REGION_TEXT
 
 
   .rodata : ALIGN(4)
   .rodata : ALIGN(4)
   {
   {
@@ -55,7 +49,7 @@ SECTIONS
        This is required by LLD to ensure the LMA of the following .data
        This is required by LLD to ensure the LMA of the following .data
        section will have the correct alignment. */
        section will have the correct alignment. */
     . = ALIGN(4);
     . = ALIGN(4);
-  } > REGION_RODATA :load
+  } > REGION_RODATA
 
 
   .data : ALIGN(4)
   .data : ALIGN(4)
   {
   {
@@ -67,7 +61,7 @@ SECTIONS
     *(.data .data.*);
     *(.data .data.*);
     . = ALIGN(4);
     . = ALIGN(4);
     _edata = .;
     _edata = .;
-  } > REGION_DATA AT > REGION_RODATA :ram_load
+  } > REGION_DATA AT > REGION_RODATA
 
 
   .bss (NOLOAD) :
   .bss (NOLOAD) :
   {
   {