This is an automated email from the ASF dual-hosted git repository. archer pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 4c44c6f70914471cffa4267c5c67755a37c70fd3 Author: Xiang Xiao <xiaoxi...@xiaomi.com> AuthorDate: Wed Sep 21 06:12:43 2022 +0800 arch.h: Make _sinit/_einit as an offical interface Signed-off-by: Xiang Xiao <xiaoxi...@xiaomi.com> --- include/nuttx/arch.h | 10 ++++++++++ libs/libc/misc/lib_cxx_initialize.c | 15 --------------- 2 files changed, 10 insertions(+), 15 deletions(-) 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