diff options
author | Eli Zaretskii <eliz@gnu.org> | 2020-07-26 19:35:48 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2020-07-26 19:35:48 +0300 |
commit | 05a6b8c28baad097147eb06329ce3be940682aa9 (patch) | |
tree | 09c28fe9a94587458ab279827dd076028252ad1f | |
parent | 3abf97582679343f1708252712e9254d3e0f132c (diff) | |
download | gdb-05a6b8c28baad097147eb06329ce3be940682aa9.zip gdb-05a6b8c28baad097147eb06329ce3be940682aa9.tar.gz gdb-05a6b8c28baad097147eb06329ce3be940682aa9.tar.bz2 |
Don't unnecessarily redefine 'socklen_t' type in MinGW builds.
The original configure-time tests in gdb/ and gdbserver/ failed to
detect that 'socklen_t' is defined in MinGW headers because the test
program included only sys/socket.h, which is absent in MinGW system
headers. However on MS-Windows this data type is declared in another
header, ws2tcpip.h. The modified test programs try using ws2tcpip.h
if sys/socket.h is unavailable.
Thanks to Joel Brobecker who helped me regenerate the configure
scripts and the config.in files.
gdb/ChangeLog:
2020-07-26 Eli Zaretskii <eliz@gnu.org>
* configure.ac (AC_CHECK_HEADERS): Check for sys/socket.h and
ws2tcpip.h. When checking whether socklen_t type is defined, use
ws2tcpip.h if it is available and sys/socket.h isn't.
* configure: Regenerate.
* config.in: Regenerate.
gdbserver/ChangeLog:
2020-07-26 Eli Zaretskii <eliz@gnu.org>
* configure.ac (AC_CHECK_HEADERS): Add ws2tcpip.h.
When checking whether socklen_t type is defined, use ws2tcpip.h if
it is available and sys/socket.h isn't.
* configure: Regenerate.
* config.in: Regenerate.
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/config.in | 6 | ||||
-rwxr-xr-x | gdb/configure | 31 | ||||
-rw-r--r-- | gdb/configure.ac | 9 | ||||
-rw-r--r-- | gdbserver/ChangeLog | 8 | ||||
-rw-r--r-- | gdbserver/config.in | 3 | ||||
-rwxr-xr-x | gdbserver/configure | 8 | ||||
-rw-r--r-- | gdbserver/configure.ac | 8 |
8 files changed, 75 insertions, 6 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0c2c655..c8af86b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2020-07-26 Eli Zaretskii <eliz@gnu.org> + + * configure.ac (AC_CHECK_HEADERS): Check for sys/socket.h and + ws2tcpip.h. When checking whether socklen_t type is defined, use + ws2tcpip.h if it is available and sys/socket.h isn't. + * configure: Regenerate. + * config.in: Regenerate. + 2020-07-25 Andrew Burgess <andrew.burgess@embecosm.com> PR fortran/23051 diff --git a/gdb/config.in b/gdb/config.in index 340c421..2605347 100644 --- a/gdb/config.in +++ b/gdb/config.in @@ -505,6 +505,9 @@ /* Define to 1 if you have the <sys/select.h> header file. */ #undef HAVE_SYS_SELECT_H +/* Define to 1 if you have the <sys/sockets.h> header file. */ +#undef HAVE_SYS_SOCKETS_H + /* Define to 1 if you have the <sys/socket.h> header file. */ #undef HAVE_SYS_SOCKET_H @@ -568,6 +571,9 @@ /* Define to 1 if you have the `wresize' function. */ #undef HAVE_WRESIZE +/* Define to 1 if you have the <ws2tcpip.h> header file. */ +#undef HAVE_WS2TCPIP_H + /* Define to 1 if you have the `XML_StopParser' function. */ #undef HAVE_XML_STOPPARSER diff --git a/gdb/configure b/gdb/configure index 06b11e2..c9a4b42 100755 --- a/gdb/configure +++ b/gdb/configure @@ -11844,6 +11844,31 @@ fi done +for ac_header in sys/sockets.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "sys/sockets.h" "ac_cv_header_sys_sockets_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_sockets_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_SYS_SOCKETS_H 1 +_ACEOF + +fi + +done + +for ac_header in ws2tcpip.h +do : + ac_fn_c_check_header_mongrel "$LINENO" "ws2tcpip.h" "ac_cv_header_ws2tcpip_h" "$ac_includes_default" +if test "x$ac_cv_header_ws2tcpip_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_WS2TCPIP_H 1 +_ACEOF + +fi + +done + + # ------------------------- # # Checks for declarations. # # ------------------------- # @@ -12059,7 +12084,11 @@ $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h # ------------------ # ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h> -#include <sys/socket.h> +#if HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#elif HAVE_WS2TCPIP_H +# include <ws2tcpip.h> +#endif " if test "x$ac_cv_type_socklen_t" = xyes; then : diff --git a/gdb/configure.ac b/gdb/configure.ac index f9461b2..3bec215 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -1248,6 +1248,9 @@ AC_CHECK_HEADERS(term.h, [], [], #endif ]) +AC_CHECK_HEADERS([sys/sockets.h]) +AC_CHECK_HEADERS([ws2tcpip.h]) + # ------------------------- # # Checks for declarations. # # ------------------------- # @@ -1263,7 +1266,11 @@ AM_LC_MESSAGES AC_CHECK_TYPES(socklen_t, [], [], [#include <sys/types.h> -#include <sys/socket.h> +#if HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#elif HAVE_WS2TCPIP_H +# include <ws2tcpip.h> +#endif ]) # ------------------------------------- # diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index f42b5c7..ee80fce 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,11 @@ +2020-07-26 Eli Zaretskii <eliz@gnu.org> + + * configure.ac (AC_CHECK_HEADERS): Add ws2tcpip.h. + When checking whether socklen_t type is defined, use ws2tcpip.h if + it is available and sys/socket.h isn't. + * configure: Regenerate. + * config.in: Regenerate. + 2020-07-22 Pedro Alves <pedro@palves.net> * inferiors.cc (switch_to_process): New, moved here from diff --git a/gdbserver/config.in b/gdbserver/config.in index 07213aa..c2ac4fe 100644 --- a/gdbserver/config.in +++ b/gdbserver/config.in @@ -378,6 +378,9 @@ /* Define to 1 if `vfork' works. */ #undef HAVE_WORKING_VFORK +/* Define to 1 if you have the <ws2tcpip.h> header file. */ +#undef HAVE_WS2TCPIP_H + /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT diff --git a/gdbserver/configure b/gdbserver/configure index 0f77ac6..1f9c3f8 100755 --- a/gdbserver/configure +++ b/gdbserver/configure @@ -9148,7 +9148,7 @@ else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type fi -for ac_header in termios.h sys/reg.h string.h sys/procfs.h linux/elf.h fcntl.h signal.h sys/file.h sys/ioctl.h netinet/in.h sys/socket.h netdb.h netinet/tcp.h arpa/inet.h +for ac_header in termios.h sys/reg.h string.h sys/procfs.h linux/elf.h fcntl.h signal.h sys/file.h sys/ioctl.h netinet/in.h sys/socket.h netdb.h netinet/tcp.h arpa/inet.h ws2tcpip.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" @@ -10044,7 +10044,11 @@ _ACEOF ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h> -#include <sys/socket.h> +#if HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#elif HAVE_WS2TCPIP_H +# include <ws2tcpip.h> +#endif " if test "x$ac_cv_type_socklen_t" = xyes; then : diff --git a/gdbserver/configure.ac b/gdbserver/configure.ac index 10f2f4c..4c7e392 100644 --- a/gdbserver/configure.ac +++ b/gdbserver/configure.ac @@ -75,7 +75,7 @@ AC_CHECK_HEADERS(termios.h sys/reg.h string.h dnl sys/procfs.h linux/elf.h dnl fcntl.h signal.h sys/file.h dnl sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl - netinet/tcp.h arpa/inet.h) + netinet/tcp.h arpa/inet.h ws2tcpip.h) AC_FUNC_FORK AC_CHECK_FUNCS(pread pwrite pread64) @@ -147,7 +147,11 @@ AC_CHECK_DECLS([perror, vasprintf, vsnprintf]) AC_CHECK_TYPES(socklen_t, [], [], [#include <sys/types.h> -#include <sys/socket.h> +#if HAVE_SYS_SOCKET_H +# include <sys/socket.h> +#elif HAVE_WS2TCPIP_H +# include <ws2tcpip.h> +#endif ]) case "${target}" in |