diff --git a/include/nuttx/arch.h b/include/nuttx/arch.h index 467942e4ea..339b891383 100644 --- a/include/nuttx/arch.h +++ b/include/nuttx/arch.h @@ -96,6 +96,7 @@ typedef CODE void (*sig_deliver_t)(FAR struct tcb_s *tcb); typedef CODE void (*phy_enable_t)(bool enable); +typedef CODE void (*initializer_t)(void); /**************************************************************************** * Public Data @@ -149,6 +150,15 @@ EXTERN volatile bool g_rtc_enabled; #endif +#ifdef CONFIG_HAVE_CXXINITIALIZE +/* _sinit and _einit are symbols exported by the linker script that mark the + * beginning and the end of the C++ initialization section. + */ + +extern initializer_t _sinit; +extern initializer_t _einit; +#endif + /**************************************************************************** * Public Function Prototypes ****************************************************************************/ diff --git a/libs/libc/misc/lib_cxx_initialize.c b/libs/libc/misc/lib_cxx_initialize.c index fc4016e214..71f8af9ab2 100644 --- a/libs/libc/misc/lib_cxx_initialize.c +++ b/libs/libc/misc/lib_cxx_initialize.c @@ -31,25 +31,10 @@ #include "libc.h" -/**************************************************************************** - * Private Types - ****************************************************************************/ - -/* This type defines one entry in initialization array */ - -typedef CODE void (*initializer_t)(void); - /**************************************************************************** * External References ****************************************************************************/ -/* _sinit and _einit are symbols exported by the linker script that mark the - * beginning and the end of the C++ initialization section. - */ - -extern initializer_t _sinit; -extern initializer_t _einit; - #if defined(CONFIG_ARCH_SIM) && defined(CONFIG_HOST_MACOS) extern void macho_call_saved_init_funcs(void); #endif