Procházet zdrojové kódy

[kernel] add RT_USED to INIT_EXPORT, so that the initialization function is not deleted when it is linked.

liang yongxiang před 6 roky
rodič
revize
0aa03dd731
1 změnil soubory, kde provedl 5 přidání a 5 odebrání
  1. 5 5
      include/rtdef.h

+ 5 - 5
include/rtdef.h

@@ -189,13 +189,13 @@ typedef int (*init_fn_t)(void);
             const char* fn_name;
             const init_fn_t fn;
         };
-        #define INIT_EXPORT(fn, level)          \
-            const char __rti_##fn##_name[] = #fn; \
-            const struct rt_init_desc __rt_init_desc_##fn SECTION(".rti_fn."level) = \
+        #define INIT_EXPORT(fn, level)                                                       \
+            const char __rti_##fn##_name[] = #fn;                                            \
+            RT_USED const struct rt_init_desc __rt_init_desc_##fn SECTION(".rti_fn."level) = \
             { __rti_##fn##_name, fn};
     #else
-        #define INIT_EXPORT(fn, level)  \
-            const init_fn_t __rt_init_##fn SECTION(".rti_fn."level) = fn
+        #define INIT_EXPORT(fn, level)                                                       \
+            RT_USED const init_fn_t __rt_init_##fn SECTION(".rti_fn."level) = fn
     #endif
 #endif
 #else