Fix compilation of crtstuff.c when DEFAULT_USE_CXA_ATEXIT is false
authorJohn David Anglin <danglin@gcc.gnu.org>
Sat, 18 Jan 2020 15:30:29 +0000 (10:30 -0500)
committerJohn David Anglin <danglin@gcc.gnu.org>
Sat, 18 Jan 2020 15:30:29 +0000 (10:30 -0500)
PR libgcc/92988
* crtstuff.c (__do_global_dtors_aux): Only call __cxa_finalize if
DEFAULT_USE_CXA_ATEXIT is true.

libgcc/ChangeLog
libgcc/crtstuff.c

index 5ad3ac12ec3664467c982eaf411dcf35276759ab..a0c1e30c5a798c5e656fa5bd3f228f4ab2c5f5a5 100644 (file)
@@ -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>
 
index 956b84310dd2cb7e71eb1d2bc275e77967c5a045..3f769a1c6603bbafb5c85d9fb83a57bd187f4d98 100644 (file)
@@ -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