mirror of
https://github.com/PX4/PX4-Autopilot.git
synced 2026-06-06 06:43:21 +08:00
Fix PX4IO to run C++ static ctors
This commit is contained in:
@@ -55,10 +55,15 @@
|
|||||||
|
|
||||||
__EXPORT int user_start(int argc, char *argv[]);
|
__EXPORT int user_start(int argc, char *argv[]);
|
||||||
|
|
||||||
|
extern void up_cxxinitialize(void);
|
||||||
|
|
||||||
struct sys_state_s system_state;
|
struct sys_state_s system_state;
|
||||||
|
|
||||||
int user_start(int argc, char *argv[])
|
int user_start(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
/* run C++ ctors before we go any further */
|
||||||
|
up_cxxinitialize();
|
||||||
|
|
||||||
/* reset all to zero */
|
/* reset all to zero */
|
||||||
memset(&system_state, 0, sizeof(system_state));
|
memset(&system_state, 0, sizeof(system_state));
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,15 @@ SECTIONS
|
|||||||
_etext = ABSOLUTE(.);
|
_etext = ABSOLUTE(.);
|
||||||
} > flash
|
} > flash
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Init functions (static constructors and the like)
|
||||||
|
*/
|
||||||
|
.init_section : {
|
||||||
|
_sinit = ABSOLUTE(.);
|
||||||
|
KEEP(*(.init_array .init_array.*))
|
||||||
|
_einit = ABSOLUTE(.);
|
||||||
|
} > flash
|
||||||
|
|
||||||
.ARM.extab : {
|
.ARM.extab : {
|
||||||
*(.ARM.extab*)
|
*(.ARM.extab*)
|
||||||
} > flash
|
} > flash
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ CONFIG_DEBUG_INPUT=n
|
|||||||
|
|
||||||
CONFIG_MSEC_PER_TICK=1
|
CONFIG_MSEC_PER_TICK=1
|
||||||
CONFIG_HAVE_CXX=y
|
CONFIG_HAVE_CXX=y
|
||||||
CONFIG_HAVE_CXXINITIALIZE=n
|
CONFIG_HAVE_CXXINITIALIZE=y
|
||||||
CONFIG_MM_REGIONS=1
|
CONFIG_MM_REGIONS=1
|
||||||
CONFIG_MM_SMALL=y
|
CONFIG_MM_SMALL=y
|
||||||
CONFIG_ARCH_LOWPUTC=y
|
CONFIG_ARCH_LOWPUTC=y
|
||||||
|
|||||||
Reference in New Issue
Block a user