apps/platform: Change some *err() message to *info() messages if what was a *dbg() message does not indicate and error condition.
This commit is contained in:
parent
a7b1aae68c
commit
c0a4e00cc9
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,25 +54,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -99,10 +84,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -127,15 +108,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -145,7 +126,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -54,25 +54,10 @@
|
|||||||
* constructors
|
* constructors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -99,10 +84,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -127,15 +108,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -145,7 +126,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors
|
* constructors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors
|
* constructors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors
|
* constructors
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -53,25 +53,10 @@
|
|||||||
* constructors.
|
* constructors.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_FEATURES
|
|
||||||
# undef CONFIG_DEBUG_CXX
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef CONFIG_DEBUG_CXX
|
#ifdef CONFIG_DEBUG_CXX
|
||||||
# define cxxerr err
|
# define cxxinfo info
|
||||||
# define cxxllerr llerr
|
|
||||||
# ifdef CONFIG_DEBUG_INFO
|
|
||||||
# define cxxinfo info
|
|
||||||
# define cxxllinfo llinfo
|
|
||||||
# else
|
|
||||||
# define cxxinfo(x...)
|
|
||||||
# define cxxllinfo(x...)
|
|
||||||
# endif
|
|
||||||
#else
|
#else
|
||||||
# define cxxerr(x...)
|
|
||||||
# define cxxllerr(x...)
|
|
||||||
# define cxxinfo(x...)
|
# define cxxinfo(x...)
|
||||||
# define cxxllinfo(x...)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -98,10 +83,6 @@ extern initializer_t _einit;
|
|||||||
extern uint32_t _stext;
|
extern uint32_t _stext;
|
||||||
extern uint32_t _etext;
|
extern uint32_t _etext;
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
* Private Functions
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@ -126,15 +107,15 @@ void up_cxxinitialize(void)
|
|||||||
{
|
{
|
||||||
initializer_t *initp;
|
initializer_t *initp;
|
||||||
|
|
||||||
cxxerr("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
cxxinfo("_sinit: %p _einit: %p _stext: %p _etext: %p\n",
|
||||||
&_sinit, &_einit, &_stext, &_etext);
|
&_sinit, &_einit, &_stext, &_etext);
|
||||||
|
|
||||||
/* Visit each entry in the initialization table */
|
/* Visit each entry in the initialization table */
|
||||||
|
|
||||||
for (initp = &_sinit; initp != &_einit; initp++)
|
for (initp = &_sinit; initp != &_einit; initp++)
|
||||||
{
|
{
|
||||||
initializer_t initializer = *initp;
|
initializer_t initializer = *initp;
|
||||||
cxxerr("initp: %p initializer: %p\n", initp, initializer);
|
cxxinfo("initp: %p initializer: %p\n", initp, initializer);
|
||||||
|
|
||||||
/* Make sure that the address is non-NULL and lies in the text region
|
/* Make sure that the address is non-NULL and lies in the text region
|
||||||
* defined by the linker script. Some toolchains may put NULL values
|
* defined by the linker script. Some toolchains may put NULL values
|
||||||
@ -144,7 +125,7 @@ void up_cxxinitialize(void)
|
|||||||
if ((void *)initializer > (void *)&_stext &&
|
if ((void *)initializer > (void *)&_stext &&
|
||||||
(void *)initializer < (void *)&_etext)
|
(void *)initializer < (void *)&_etext)
|
||||||
{
|
{
|
||||||
cxxerr("Calling %p\n", initializer);
|
cxxinfo("Calling %p\n", initializer);
|
||||||
initializer();
|
initializer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user