Jonathan was kind enough to test this fix. It doesn't address all the
solaris issues, but does get us further.
Solaris' sys/socket uses the poisoned bcopy identifier, so we must
#include it before poisoning. The inclusion happens in cody.hh, so we
preemptively copy a bit of cody's inclusion logic to get it earlier.
gcc/cp/
* mapper-client.cc: Include sys/socket.h before system.h.
pushing to trunk
--
Nathan Sidwell
diff --git i/gcc/cp/mapper-client.cc w/gcc/cp/mapper-client.cc
index acec591296a..2ad770b3d78 100644
--- i/gcc/cp/mapper-client.cc
+++ w/gcc/cp/mapper-client.cc
@@ -19,6 +19,11 @@ along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#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 <sys/socket.h>
+#endif
#include "system.h"
#include "line-map.h"
@@ -28,6 +33,10 @@ along with GCC; see the file COPYING3. If not see
#include "../../c++tools/resolver.h"
+#if !HOST_HAS_O_CLOEXEC
+#define O_CLOEXEC 0
+#endif
+
module_client::module_client (pex_obj *p, int fd_from, int fd_to)
: Client (fd_from, fd_to), pex (p)
{