uid_wrapper.c: fall back to pragma init/fini for constructor/destructor if possible
authorBjörn Jacke <bjacke@samba.org>
Fri, 30 Oct 2020 14:23:02 +0000 (15:23 +0100)
committerAndreas Schneider <asn@samba.org>
Mon, 8 Nov 2021 14:47:42 +0000 (15:47 +0100)
Signed-off-by: Bjoern Jacke <bjacke@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
src/uid_wrapper.c

index 6e4a6da2f0d7a2335dd93eafc78e8397f758ef14..4d31f52362bc2b60955f985f4b4cb155ada2221f 100644 (file)
@@ -374,7 +374,14 @@ static pthread_mutex_t libpthread_symbol_binding_mutex = PTHREAD_MUTEX_INITIALIZ
  *********************************************************/
 
 bool uid_wrapper_enabled(void);
+#if ! defined(HAVE_CONSTRUCTOR_ATTRIBUTE) && defined(HAVE_PRAGMA_INIT)
+/* xlC and other oldschool compilers support (only) this */
+#pragma init (uwrap_constructor)
+#endif
 void uwrap_constructor(void) CONSTRUCTOR_ATTRIBUTE;
+#if ! defined(HAVE_DESTRUCTOR_ATTRIBUTE) && defined(HAVE_PRAGMA_FINI)
+#pragma fini (uwrap_destructor)
+#endif
 void uwrap_destructor(void) DESTRUCTOR_ATTRIBUTE;
 
 /*********************************************************