aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2020-01-18 10:30:29 -0500
committerJohn David Anglin <danglin@gcc.gnu.org>2020-01-18 10:30:29 -0500
commit84479e3a4cebbf2914f748cb363c054abfd47cb6 (patch)
tree476d5c8d8a2c60e4c802dac30963eb278a785d69 /libgcc
parent93bb79abfcccd09fd1daaf7dd8ff27f352d8f23f (diff)
downloadgcc-84479e3a4cebbf2914f748cb363c054abfd47cb6.zip
gcc-84479e3a4cebbf2914f748cb363c054abfd47cb6.tar.gz
gcc-84479e3a4cebbf2914f748cb363c054abfd47cb6.tar.bz2
Fix compilation of crtstuff.c when DEFAULT_USE_CXA_ATEXIT is false
PR libgcc/92988 * crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if DEFAULT_USE_CXA_ATEXIT is true.
Diffstat (limited to 'libgcc')
-rw-r--r--libgcc/ChangeLog6
-rw-r--r--libgcc/crtstuff.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 5ad3ac1..a0c1e30 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-01-18 John David Anglin <danglin@gcc.gnu.org>
+
+ PR libgcc/92988
+ * crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if
+ DEFAULT_USE_CXA_ATEXIT is true.
+
2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
Thomas Preud'homme <thomas.preudhomme@arm.com>
diff --git a/libgcc/crtstuff.c b/libgcc/crtstuff.c
index 956b843..3f769a1 100644
--- a/libgcc/crtstuff.c
+++ b/libgcc/crtstuff.c
@@ -382,10 +382,12 @@ __do_global_dtors_aux (void)
if (__builtin_expect (completed, 0))
return;
+#if DEFAULT_USE_CXA_ATEXIT
#ifdef CRTSTUFFS_O
if (__cxa_finalize)
__cxa_finalize (__dso_handle);
#endif
+#endif
#ifdef FINI_ARRAY_SECTION_ASM_OP
/* If we are using .fini_array then destructors will be run via that