$OpenBSD: patch-gcc_config_openbsd_h,v 1.1.1.1 2019/01/04 15:50:39 pascal Exp $
Index: gcc/config/openbsd.h
--- gcc/config/openbsd.h.orig
+++ gcc/config/openbsd.h
@@ -40,6 +40,10 @@ along with GCC; see the file COPYING3.  If not see
    intended as common ground for arch that don't provide 
    anything suitable.  */
 
+/* Make sure that gcc will not look for .h files in /usr/local/include
+   unless user explicitly requests it.  */
+#undef LOCAL_INCLUDE_DIR
+
 /* OPENBSD_NATIVE is defined only when gcc is configured as part of
    the OpenBSD source tree, specifically through Makefile.bsd-wrapper.
 
@@ -108,9 +112,9 @@ while (0)
    This two-stage defines makes it easy to pick that for targets that
    have subspecs.  */
 #ifdef CPP_CPU_SPEC
-#define OBSD_CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
+#define OBSD_CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 #else
-#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_POSIX_THREADS}"
+#define OBSD_CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
 #endif
 
 #undef LIB_SPEC
@@ -284,6 +288,16 @@ do {									 \
 #endif
 
 /* Storage layout.  */
+
+/*
+ * Disable the use of unsafe builtin functions, (strcat, strcpy, stpcpy),
+ * making them easier to spot in the object files.
+ */
+#define NO_UNSAFE_BUILTINS
+
+/* The system headers on OpenBSD are C++-aware.  */
+#undef NO_IMPLICIT_EXTERN_C
+#define NO_IMPLICIT_EXTERN_C
 
 
 #define HAVE_ENABLE_EXECUTE_STACK
