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