]> git.saurik.com Git - apple/libc.git/blobdiff - stdlib/FreeBSD/atexit.c
Libc-1439.100.3.tar.gz
[apple/libc.git] / stdlib / FreeBSD / atexit.c
index 45b62ebda6d0a9c99a3058dd0dabde0db01d144c..d5d6294df17117a6b2c89da7c6aaefab0f660ac5 100644 (file)
@@ -41,6 +41,7 @@ static char sccsid[] = "@(#)atexit.c  8.2 (Berkeley) 7/3/94";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.8 2007/01/09 00:28:09 imp Exp $");
+#include <TargetConditionals.h>
 
 #include "namespace.h"
 #include <errno.h>
@@ -49,7 +50,7 @@ __FBSDID("$FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.8 2007/01/09 00:28:09 imp E
 #include <unistd.h>
 #include <assert.h>
 #include <pthread.h>
-#if defined(__DYNAMIC__) || defined (__BLOCKS__)
+#if (defined(__DYNAMIC__) || defined (__BLOCKS__)) && !TARGET_OS_DRIVERKIT
 #include <dlfcn.h>
 #endif /* defined(__DYNAMIC__) */
 #include "atexit.h"
@@ -62,8 +63,6 @@ __FBSDID("$FreeBSD: src/lib/libc/stdlib/atexit.c,v 1.8 2007/01/09 00:28:09 imp E
 #include "libc_private.h"
 #include <os/alloc_once_private.h>
 
-#include <TargetConditionals.h>
-
 #define        ATEXIT_FN_EMPTY 0
 #define        ATEXIT_FN_STD   1
 #define        ATEXIT_FN_CXA   2
@@ -154,7 +153,7 @@ atexit(void (*func)(void))
        fn.fn_arg = NULL;
        fn.fn_dso = NULL;
 
-#if defined(__DYNAMIC__) && !TARGET_OS_IPHONE
+#if defined(__DYNAMIC__) && !TARGET_OS_IPHONE && !TARGET_OS_DRIVERKIT
        // <rdar://problem/14596032&15173956>
        struct dl_info info;
        if (dladdr(func, &info)) {
@@ -317,7 +316,7 @@ __cxa_finalize(const void *dso)
        }
 }
 
-#if !TARGET_IPHONE_SIMULATOR && (__i386__ || __x86_64__)
+#if TARGET_OS_OSX
 /*
  * Support for thread_local in C++, using existing _tlv_atexit() in libdyld
  */