From b7b6879f0b5c2a40779df50651d20bd39d89bcc5 Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Wed, 16 Dec 2020 11:53:27 -0800 Subject: [PATCH] c++: Another solaris header use [PR 98315] Rather than early-include sys/socket.h, let's allow the includer to tell cody no networking. libcody/ * cody.hh: Allow user to set CODY_NETWORKING. gcc/cp/ * mapper-resolver.cc: Remove early include of sys/socket.h. Specify no CODY_NETWORKING instead. * module.cc: Specify no CODY_NETWORKING. --- gcc/cp/mapper-resolver.cc | 8 ++------ gcc/cp/module.cc | 3 ++- libcody/cody.hh | 4 ++++ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/gcc/cp/mapper-resolver.cc b/gcc/cp/mapper-resolver.cc index 8e968c5..53c4824 100644 --- a/gcc/cp/mapper-resolver.cc +++ b/gcc/cp/mapper-resolver.cc @@ -21,13 +21,9 @@ along with GCC; see the file COPYING3. If not see /* Forward to the resolver in c++tools. */ #include "config.h" -#if defined (__unix__) -// Solaris11's socket header used bcopy, which we poison. cody.hh -// will include it later under the above check -#include -#endif - #define INCLUDE_ALGORITHM #include "system.h" +// We don't want or need to be aware of networking +#define CODY_NETWORKING 0 #include "../../c++tools/resolver.cc" diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index e9ea186..2318489 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -207,7 +207,6 @@ Classes used: #define _DEFAULT_SOURCE 1 /* To get TZ field of struct tm, if available. */ #include "config.h" - #include "system.h" #include "coretypes.h" #include "cp-tree.h" @@ -229,6 +228,8 @@ Classes used: #include "attribs.h" #include "intl.h" #include "langhooks.h" +/* This TU doesn't need or want to see the networking. */ +#define CODY_NETWORKING 0 #include "mapper-client.h" #if HAVE_MMAP_FILE && _POSIX_MAPPED_FILES > 0 diff --git a/libcody/cody.hh b/libcody/cody.hh index 31d9c18..789ce9e 100644 --- a/libcody/cody.hh +++ b/libcody/cody.hh @@ -5,6 +5,9 @@ #ifndef CODY_HH #define CODY_HH 1 +// If the user specifies this as non-zero, it must be what we expect, +// generally only good for requesting no networking +#if !defined (CODY_NETWORKING) // Have a known-good list of networking systems #if defined (__unix__) || defined (__MACH__) #define CODY_NETWORKING 1 @@ -15,6 +18,7 @@ #undef CODY_NETWORKING #define CODY_NETWORKING 0 #endif +#endif // C++ #include -- 2.7.4