The following makes the dlfcn.h explicitly requested which avoids build failure when JIT is enabled but plugin support disabled as currently the include is conditional on plugin support.
I've built GCC with JIT enabled and plugin support disabled as well as the other way around successfully with this patch. OK for trunk and branches (after a while)? Thanks, Richard. PR jit/118780 gcc/ * system.h: Check INCLUDE_DLFCN_H for including dlfcn.h instead of ENABLE_PLUGIN. * plugin.cc: Define INCLUDE_DLFCN_H. gcc/jit/ * jit-playback.cc: Define INCLUDE_DLFCN_H. * jit-result.cc: Likewise. --- gcc/jit/jit-playback.cc | 1 + gcc/jit/jit-result.cc | 1 + gcc/plugin.cc | 1 + gcc/system.h | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gcc/jit/jit-playback.cc b/gcc/jit/jit-playback.cc index c9fcebc4730..6946f100d5c 100644 --- a/gcc/jit/jit-playback.cc +++ b/gcc/jit/jit-playback.cc @@ -20,6 +20,7 @@ along with GCC; see the file COPYING3. If not see #include "config.h" #define INCLUDE_MUTEX +#define INCLUDE_DLFCN_H #include "libgccjit.h" #include "system.h" #include "coretypes.h" diff --git a/gcc/jit/jit-result.cc b/gcc/jit/jit-result.cc index 1c793aef062..2ad6deb1da8 100644 --- a/gcc/jit/jit-result.cc +++ b/gcc/jit/jit-result.cc @@ -19,6 +19,7 @@ along with GCC; see the file COPYING3. If not see <http://www.gnu.org/licenses/>. */ #include "config.h" +#define INCLUDE_DLFCN_H #include "system.h" #include "coretypes.h" diff --git a/gcc/plugin.cc b/gcc/plugin.cc index 6d3394908fc..0de2cc2dd2c 100644 --- a/gcc/plugin.cc +++ b/gcc/plugin.cc @@ -21,6 +21,7 @@ along with GCC; see the file COPYING3. If not see APIs described in doc/plugin.texi. */ #include "config.h" +#define INCLUDE_DLFCN_H #include "system.h" #include "coretypes.h" #include "options.h" diff --git a/gcc/system.h b/gcc/system.h index 39d28ba0bb4..e516b49d04a 100644 --- a/gcc/system.h +++ b/gcc/system.h @@ -694,7 +694,7 @@ extern int vsnprintf (char *, size_t, const char *, va_list); # endif #endif -#if defined (ENABLE_PLUGIN) && defined (HAVE_DLFCN_H) +#if defined (INCLUDE_DLFCN_H) && defined (HAVE_DLFCN_H) /* If plugin support is enabled, we could use libdl. */ #include <dlfcn.h> #endif -- 2.43.0