]> granicus.if.org Git - php/commitdiff
DragonFlyBSD build update for opcache JIT part.
authorDavid Carlier <devnexen@gmail.com>
Wed, 14 Oct 2020 18:49:30 +0000 (19:49 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 15 Oct 2020 12:50:23 +0000 (14:50 +0200)
Closes GH-6339.

ext/opcache/jit/zend_elf.c
ext/opcache/jit/zend_jit_perf_dump.c

index 58d6fdd72cc6a6107f7e664bbe2173b25a5a72b3..ce44b5208b3589efd3555b2083ba1ba2fdee683c 100644 (file)
@@ -19,7 +19,7 @@
 
 #include <sys/types.h>
 #include <sys/stat.h>
-#if defined(__FreeBSD__)
+#if defined(__FreeBSD__) || defined(__DragonFly__)
 #include <sys/sysctl.h>
 #elif defined(__HAIKU__)
 #include <FindDirectory.h>
@@ -55,7 +55,7 @@ void zend_elf_load_symbols(void)
        int fd = open("/proc/self/exe", O_RDONLY);
 #elif defined(__NetBSD__)
        int fd = open("/proc/curproc/exe", O_RDONLY);
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
        char path[PATH_MAX];
        size_t pathlen = sizeof(path);
        int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
index 613280c2179d2c9975e62605574de85146f542f5..8555be2b80ea4f0582d41d3ffb15d433b1692841 100644 (file)
@@ -32,6 +32,9 @@
 # include <sys/sysctl.h>
 #elif defined(__NetBSD__)
 # include <lwp.h>
+#elif defined(__DragonFly__)
+# include <sys/lwp.h>
+# include <sys/sysctl.h>
 #elif defined(__sun)
 // avoiding thread.h inclusion as it conflicts with vtunes types.
 extern unsigned int thr_self(void);
@@ -124,7 +127,7 @@ static void zend_jit_perf_jitdump_open(void)
        fd = open("/proc/self/exe", O_RDONLY);
 #elif defined(__NetBSD__)
        fd = open("/proc/curproc/exe", O_RDONLY);
-#elif defined(__FreeBSD__)
+#elif defined(__FreeBSD__) || defined(__DragonFly__)
        char path[PATH_MAX];
        size_t pathlen = sizeof(path);
        int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
@@ -226,6 +229,8 @@ static void zend_jit_perf_jitdump_register(const char *name, void *start, size_t
                thread_id = getthrid();
 #elif defined(__NetBSD__)
                thread_id = _lwp_self();
+#elif defined(__DragonFly__)
+               thread_id = lwp_gettid();
 #elif defined(__sun)
                thread_id = thr_self();
 #endif