summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorBryan Hundven <bryanhundven@gmail.com>2015-09-05 23:20:53 (GMT)
committerBryan Hundven <bryanhundven@gmail.com>2015-09-05 23:20:53 (GMT)
commitc01a5f08bce4e3cd2a3ce04f0d8e84c85e31ada6 (patch)
treed7a07bcb60876d6be746cc4a5fa52764f03f41b3 /config
parentf4bfca0f64c4d706f0f1882c829d3ca78a025e39 (diff)
parent521d232154c4de9cd7a046d0e03a872ab0a8d47a (diff)
Merge pull request #148 from jasmin-j/fix_147
Use __cxa_atexit for bare-metal systems, if the used libc provides such a function.
Diffstat (limited to 'config')
-rw-r--r--config/cc/gcc.in.22
-rw-r--r--config/libc.in3
2 files changed, 4 insertions, 1 deletions
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
index fb19938..cbad638 100644
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -165,7 +165,7 @@ config CC_CXA_ATEXIT
bool
prompt "Use __cxa_atexit"
default y
- depends on ! BARE_METAL
+ depends on ! BARE_METAL || LIBC_PROVIDES_CXA_ATEXIT
help
If you get the missing symbol "__cxa_atexit" when building C++ programs,
you might want to try disabling this option.
diff --git a/config/libc.in b/config/libc.in
index ca597c8..4cc7530 100644
--- a/config/libc.in
+++ b/config/libc.in
@@ -35,6 +35,9 @@ config LIBC_SUPPORT_THREADS_LT
config LIBC_SUPPORT_THREADS_NONE
bool
+config LIBC_PROVIDES_CXA_ATEXIT
+ bool
+
# C libraries should provide other values
config THREADS
string