GDB: Only build for "unix:" connections if AF_LOCAL is supported.

Commit f19c7ff839 added a new member to the
prefixes array which included a use of the symbol AF_LOCAL.   Unfortunately,
not all systems declare this symbol.    This change only compiles the "unix:"
member if the system knows about AF_LOCAL.

gdb/ChangeLog:

* configure.ac: New test HAVE_AF_LOCAL
* common/netstuff.c (parse_connection_spec) [prefixes]: Only compile "unix:"
   if HAVE_AF_LOCAL is true.
* configure: regenerate.
* config.in: regenerate.
This commit is contained in:
John Darrington 2018-10-28 20:14:24 +01:00
parent cad26cec07
commit 98a17ece01
5 changed files with 44 additions and 0 deletions

View File

@ -1,3 +1,11 @@
2018-10-29 John Darrington <john@darrington.wattle.id.au>
* configure.ac: New test HAVE_AF_LOCAL
* common/netstuff.c (parse_connection_spec) [prefixes]: Only compile "unix:"
if HAVE_AF_LOCAL is true.
* configure: regenerate.
* config.in: regenerate.
2018-10-28 Andrew Burgess <andrew.burgess@embecosm.com>
* riscv-linux-nat.c (riscv_linux_nat_target::fetch_registers):

View File

@ -145,7 +145,9 @@ parse_connection_spec (const char *spec, struct addrinfo *hint)
{ "tcp4:", AF_INET, SOCK_STREAM },
{ "udp6:", AF_INET6, SOCK_DGRAM },
{ "tcp6:", AF_INET6, SOCK_STREAM },
#if HAVE_AF_LOCAL
{ "unix:", AF_LOCAL, SOCK_STREAM },
#endif
};
for (const host_prefix prefix : prefixes)

View File

@ -68,6 +68,9 @@
/* Define if self-testing features should be enabled */
#undef GDB_SELF_TEST
/* Define to 1 if AF_LOCAL is defined or declared by sys/socket.h. */
#undef HAVE_AF_LOCAL
/* Define to 1 if you have `alloca', as a function or macro. */
#undef HAVE_ALLOCA

21
gdb/configure vendored
View File

@ -13997,6 +13997,27 @@ _ACEOF
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/socket.h>
int
main ()
{
int x = AF_LOCAL
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
$as_echo "#define HAVE_AF_LOCAL 1" >>confdefs.h
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "$cross_compiling" = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether setpgrp takes no argument" >&5
$as_echo_n "checking whether setpgrp takes no argument... " >&6; }

View File

@ -1366,6 +1366,16 @@ GDB_AC_COMMON
# Check the return and argument types of ptrace.
GDB_AC_PTRACE
dnl Check to see if sys/socket.h knows about AF_LOCAL
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#include <sys/socket.h>
]],
[[int x = AF_LOCAL]])],
[AC_DEFINE([HAVE_AF_LOCAL], [1],
[Define to 1 if AF_LOCAL is defined or declared by sys/socket.h.])])
dnl AC_FUNC_SETPGRP does not work when cross compiling
dnl Instead, assume we will have a prototype for setpgrp if cross compiling.
if test "$cross_compiling" = no; then