浏览代码

update .ld and SConstruct files

Z8MAN8 1 年之前
父节点
当前提交
9328ad3215
共有 2 个文件被更改,包括 11 次插入1 次删除
  1. 1 1
      bsp/raspberry-pico/SConstruct
  2. 10 0
      bsp/raspberry-pico/link.ld

+ 1 - 1
bsp/raspberry-pico/SConstruct

@@ -16,7 +16,7 @@ DefaultEnvironment(tools=[])
 env = Environment(tools = ['mingw'],
     AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
     CC = rtconfig.CC, CFLAGS = rtconfig.CFLAGS,
-    CXX = rtconfig.CXX,
+    CXX = rtconfig.CXX, CXXFLAGS = rtconfig.CXXFLAGS,
     AR = rtconfig.AR, ARFLAGS = '-rc',
     LINK = rtconfig.LINK, LINKFLAGS = rtconfig.LFLAGS)
 env.PrependENVPath('PATH', rtconfig.EXEC_PATH)

+ 10 - 0
bsp/raspberry-pico/link.ld

@@ -87,6 +87,8 @@ SECTIONS
         __rt_init_start = .;
         KEEP(*(SORT(.rti_fn*)))
         __rt_init_end = .;
+
+        . = ALIGN(4);
         
         /* Pull all c'tors into .text */
         *crtbegin.o(.ctors)
@@ -102,7 +104,15 @@ SECTIONS
         *(.dtors)
 
         *(.eh_frame*)
+
+        PROVIDE(__ctors_start__ = .);
+        KEEP (*(SORT(.init_array.*)))
+        KEEP (*(.init_array))
+        PROVIDE(__ctors_end__ = .);
+
         . = ALIGN(4);
+        
+        _etext = .;
     } > FLASH
 
     .rodata : {