mirror of
https://github.com/apache/nuttx.git
synced 2026-06-02 01:21:26 +08:00
libxx: Make __dso_handle weak
since sim arch has to use other instance provided by host glibc also initialize __dso_handle to self as glibc: https://github.com/bminor/glibc/blob/master/csu/dso_handle.c#L21 Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> Change-Id: I7531ae58fc4dbe4600bcb2c2c3a6cac021378bc1
This commit is contained in:
committed by
Masayuki Ishikawa
parent
81d814b86e
commit
c3e256e018
@@ -82,11 +82,13 @@
|
|||||||
# define CONFIG_HAVE_WEAKFUNCTIONS 1
|
# define CONFIG_HAVE_WEAKFUNCTIONS 1
|
||||||
# define weak_alias(name, aliasname) \
|
# define weak_alias(name, aliasname) \
|
||||||
extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
|
extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
|
||||||
|
# define weak_data __attribute__ ((weak))
|
||||||
# define weak_function __attribute__ ((weak))
|
# define weak_function __attribute__ ((weak))
|
||||||
# define weak_const_function __attribute__ ((weak, __const__))
|
# define weak_const_function __attribute__ ((weak, __const__))
|
||||||
# else
|
# else
|
||||||
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
||||||
# define weak_alias(name, aliasname)
|
# define weak_alias(name, aliasname)
|
||||||
|
# define weak_data
|
||||||
# define weak_function
|
# define weak_function
|
||||||
# define weak_const_function
|
# define weak_const_function
|
||||||
# endif
|
# endif
|
||||||
@@ -324,6 +326,7 @@
|
|||||||
|
|
||||||
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
||||||
# define weak_alias(name, aliasname)
|
# define weak_alias(name, aliasname)
|
||||||
|
# define weak_data
|
||||||
# define weak_function
|
# define weak_function
|
||||||
# define weak_const_function
|
# define weak_const_function
|
||||||
# define restrict /* REVISIT */
|
# define restrict /* REVISIT */
|
||||||
@@ -462,6 +465,7 @@
|
|||||||
|
|
||||||
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
||||||
# define weak_alias(name, aliasname)
|
# define weak_alias(name, aliasname)
|
||||||
|
# define weak_data
|
||||||
# define weak_function
|
# define weak_function
|
||||||
# define weak_const_function
|
# define weak_const_function
|
||||||
# define restrict
|
# define restrict
|
||||||
@@ -565,6 +569,7 @@
|
|||||||
# define UNUSED(a) ((void)(a))
|
# define UNUSED(a) ((void)(a))
|
||||||
|
|
||||||
# define weak_alias(name, aliasname)
|
# define weak_alias(name, aliasname)
|
||||||
|
# define weak_data __weak
|
||||||
# define weak_function __weak
|
# define weak_function __weak
|
||||||
# define weak_const_function
|
# define weak_const_function
|
||||||
# define noreturn_function
|
# define noreturn_function
|
||||||
@@ -618,6 +623,7 @@
|
|||||||
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
# undef CONFIG_HAVE_WEAKFUNCTIONS
|
||||||
# undef CONFIG_HAVE_CXX14
|
# undef CONFIG_HAVE_CXX14
|
||||||
# define weak_alias(name, aliasname)
|
# define weak_alias(name, aliasname)
|
||||||
|
# define weak_data
|
||||||
# define weak_function
|
# define weak_function
|
||||||
# define weak_const_function
|
# define weak_const_function
|
||||||
# define restrict
|
# define restrict
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ typedef CODE void (*__cxa_exitfunc_t)(void *arg);
|
|||||||
// Public Data
|
// Public Data
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
|
|
||||||
extern "C" FAR void *__dso_handle;
|
extern "C" FAR void *__dso_handle weak_data;
|
||||||
|
|
||||||
//***************************************************************************
|
//***************************************************************************
|
||||||
// Public Function Prototypes
|
// Public Function Prototypes
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ extern "C"
|
|||||||
// Public Data
|
// Public Data
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
|
|
||||||
FAR void *__dso_handle = NULL;
|
FAR void *__dso_handle = &__dso_handle;
|
||||||
|
|
||||||
//*************************************************************************
|
//*************************************************************************
|
||||||
// Private Functions
|
// Private Functions
|
||||||
|
|||||||
Reference in New Issue
Block a user