diff options
author | 2019-11-12 21:55:15 -0600 | |
---|---|---|
committer | 2019-11-15 13:31:36 -0800 | |
commit | cd850b40cc84ff08c50b8b16a0968b3cd6b33664 (patch) | |
tree | d24cfd79997e75f5d8ba7c0d83faed583a47b523 | |
parent | Add no-dist to gnulib configure (diff) | |
download | binutils-gdb-cd850b40cc84ff08c50b8b16a0968b3cd6b33664.tar.gz binutils-gdb-cd850b40cc84ff08c50b8b16a0968b3cd6b33664.tar.bz2 binutils-gdb-cd850b40cc84ff08c50b8b16a0968b3cd6b33664.zip |
Use gnulib's strerror_r on MinGW
There is no need to keep mingw-strerror around; we can just always use
the code from posix-strerror. The main reason we had that code, it
seems, is to handle winsock error codes, but gnulib's version
handles those.
Unfortunately the code can't be moved into common-utils.c because
libinproctrace.so uses common-utils but not gnulib.
gdb/ChangeLog:
2019-11-15 Christian Biesinger <cbiesinger@google.com>
* Makefile.in: Replace {posix,mingw}-strerror.c with safe-strerror.c.
* configure: Regenerate.
* configure.ac: Don't source common.host.
* gdbsupport/common.host: Remove.
* gdbsupport/mingw-strerror.c: Remove.
* gdbsupport/posix-strerror.c: Rename to...
* gdbsupport/safe-strerror.c: ...this.
gdb/gdbserver/ChangeLog:
2019-11-15 Christian Biesinger <cbiesinger@google.com>
* Makefile.in: Add safe-strerror.c.
* configure: Regenerate.
* configure.ac: Don't source common.host.
Change-Id: I9e6d8a752fc398784201f370cafee65e0ea05474
-rw-r--r-- | gdb/ChangeLog | 10 | ||||
-rw-r--r-- | gdb/Makefile.in | 5 | ||||
-rwxr-xr-x | gdb/configure | 4 | ||||
-rw-r--r-- | gdb/configure.ac | 4 | ||||
-rw-r--r-- | gdb/gdbserver/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/gdbserver/Makefile.in | 2 | ||||
-rwxr-xr-x | gdb/gdbserver/configure | 6 | ||||
-rw-r--r-- | gdb/gdbserver/configure.ac | 6 | ||||
-rw-r--r-- | gdb/gdbsupport/common.host | 36 | ||||
-rw-r--r-- | gdb/gdbsupport/mingw-strerror.c | 64 | ||||
-rw-r--r-- | gdb/gdbsupport/safe-strerror.c (renamed from gdb/gdbsupport/posix-strerror.c) | 2 |
11 files changed, 23 insertions, 122 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f727aa4786c..90a2b64d3df 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,15 @@ 2019-11-15 Christian Biesinger <cbiesinger@google.com> + * Makefile.in: Replace {posix,mingw}-strerror.c with safe-strerror.c. + * configure: Regenerate. + * configure.ac: Don't source common.host. + * gdbsupport/common.host: Remove. + * gdbsupport/mingw-strerror.c: Remove. + * gdbsupport/posix-strerror.c: Rename to... + * gdbsupport/safe-strerror.c: ...this. + +2019-11-15 Christian Biesinger <cbiesinger@google.com> + * maint.c (scoped_command_stats::print_time): Use localtime_r instead of localtime (provided through gnulib if necessary). * nat/linux-osdata.c (time_from_time_t): Use ctime_r instead diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 9ca77f6412f..5a4ffd5a818 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -986,6 +986,7 @@ COMMON_SFILES = \ gdbsupport/ptid.c \ gdbsupport/rsp-low.c \ gdbsupport/run-time-clock.c \ + gdbsupport/safe-strerror.c \ gdbsupport/scoped_mmap.c \ gdbsupport/signals.c \ gdbsupport/signals-state-save-restore.c \ @@ -2344,9 +2345,7 @@ ALLDEPFILES = \ xtensa-linux-nat.c \ xtensa-linux-tdep.c \ xtensa-tdep.c \ - xtensa-xtregs.c \ - gdbsupport/mingw-strerror.c \ - gdbsupport/posix-strerror.c + xtensa-xtregs.c # Some files need explicit build rules (due to -Werror problems) or due # to sub-directory fun 'n' games. diff --git a/gdb/configure b/gdb/configure index e8059039bd5..4afd7f9b968 100755 --- a/gdb/configure +++ b/gdb/configure @@ -6556,10 +6556,6 @@ fi . $srcdir/configure.host -# Add in the common host objects. -. $srcdir/gdbsupport/common.host -gdb_host_obs="$gdb_host_obs $common_host_obs" - # Accumulate some settings from configure.tgt over all enabled targets TARGET_OBS= diff --git a/gdb/configure.ac b/gdb/configure.ac index 354bb7b4b68..6ba7c5cfa4f 100644 --- a/gdb/configure.ac +++ b/gdb/configure.ac @@ -177,10 +177,6 @@ fi . $srcdir/configure.host -# Add in the common host objects. -. $srcdir/gdbsupport/common.host -gdb_host_obs="$gdb_host_obs $common_host_obs" - # Accumulate some settings from configure.tgt over all enabled targets TARGET_OBS= diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 0f0fc0384dd..fde6abbecb3 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,5 +1,11 @@ 2019-11-15 Christian Biesinger <cbiesinger@google.com> + * Makefile.in: Add safe-strerror.c. + * configure: Regenerate. + * configure.ac: Don't source common.host. + +2019-11-15 Christian Biesinger <cbiesinger@google.com> + * config.in: Regenerate. * configure: Regenerate. diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in index b9b5b894a55..16012dddcbc 100644 --- a/gdb/gdbserver/Makefile.in +++ b/gdb/gdbserver/Makefile.in @@ -220,6 +220,7 @@ SFILES = \ $(srcdir)/gdbsupport/print-utils.c \ $(srcdir)/gdbsupport/ptid.c \ $(srcdir)/gdbsupport/rsp-low.c \ + $(srcdir)/gdbsupport/safe-strerror.c \ $(srcdir)/gdbsupport/tdesc.c \ $(srcdir)/gdbsupport/xml-utils.c \ $(srcdir)/nat/aarch64-sve-linux-ptrace.c \ @@ -266,6 +267,7 @@ OBS = \ gdbsupport/print-utils.o \ gdbsupport/ptid.o \ gdbsupport/rsp-low.o \ + gdbsupport/safe-strerror.o \ gdbsupport/signals.o \ gdbsupport/signals-state-save-restore.o \ gdbsupport/tdesc.o \ diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure index e513fc5eb10..d1d00a4cfed 100755 --- a/gdb/gdbserver/configure +++ b/gdb/gdbserver/configure @@ -7825,10 +7825,6 @@ esac . ${srcdir}/configure.srv -# Add in the common host objects. -. ${srcdir}/../gdbsupport/common.host -srv_host_obs="$common_host_obs" - if test "${srv_mingwce}" = "yes"; then LIBS="$LIBS -lws2" elif test "${srv_mingw}" = "yes"; then @@ -8361,7 +8357,7 @@ $as_echo "#define USE_XML 1" >>confdefs.h done fi -GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs $srv_selftest_objs" +GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_selftest_objs" GDBSERVER_LIBS="$srv_libs" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the target supports __sync_*_compare_and_swap" >&5 diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac index 7ebc9c3cf15..07c9bd7fa75 100644 --- a/gdb/gdbserver/configure.ac +++ b/gdb/gdbserver/configure.ac @@ -245,10 +245,6 @@ esac . ${srcdir}/configure.srv -# Add in the common host objects. -. ${srcdir}/../gdbsupport/common.host -srv_host_obs="$common_host_obs" - if test "${srv_mingwce}" = "yes"; then LIBS="$LIBS -lws2" elif test "${srv_mingw}" = "yes"; then @@ -393,7 +389,7 @@ if test "$srv_xmlfiles" != ""; then done fi -GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_host_obs $srv_selftest_objs" +GDBSERVER_DEPFILES="$srv_regobj $srv_tgtobj $srv_hostio_err_objs $srv_thread_depfiles $srv_selftest_objs" GDBSERVER_LIBS="$srv_libs" dnl Check whether the target supports __sync_*_compare_and_swap. diff --git a/gdb/gdbsupport/common.host b/gdb/gdbsupport/common.host deleted file mode 100644 index 4839059e610..00000000000 --- a/gdb/gdbsupport/common.host +++ /dev/null @@ -1,36 +0,0 @@ -# Common object files to include for each host. -# -# Copyright (C) 2015-2019 Free Software Foundation, Inc. -# -# This file is part of GDB. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. - -# Map host triplet into the common object files to be included by -# GDB/gdbserver. This is invoked from the autoconf generated -# configure script. - -# This file sets the following shell variables: -# common_host_obs host-specific .o files to include when building -# GDB/gdbserver - -case "${host}" in - -*-mingw*) common_host_obs=gdbsupport/mingw-strerror.o - ;; -*) - common_host_obs=gdbsupport/posix-strerror.o - ;; - -esac diff --git a/gdb/gdbsupport/mingw-strerror.c b/gdb/gdbsupport/mingw-strerror.c deleted file mode 100644 index 893b7ca1779..00000000000 --- a/gdb/gdbsupport/mingw-strerror.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Safe version of strerror for MinGW, for GDB, the GNU debugger. - - Copyright (C) 2006-2019 Free Software Foundation, Inc. - - This file is part of GDB. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. */ - -#include "common-defs.h" - -#include <windows.h> - -/* Implementation of safe_strerror as defined in common-utils.h. - - The Windows runtime implementation of strerror never returns NULL, - but does return a useless string for anything above sys_nerr; - unfortunately this includes all socket-related error codes. - This replacement tries to find a system-provided error message. */ - -const char * -safe_strerror (int errnum) -{ - static char *buffer; - int len; - - if (errnum >= 0 && errnum < sys_nerr) - return strerror (errnum); - - if (buffer) - { - LocalFree (buffer); - buffer = NULL; - } - - if (FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER - | FORMAT_MESSAGE_FROM_SYSTEM, - NULL, errnum, - MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), - (LPTSTR) &buffer, 0, NULL) == 0) - { - static char buf[32]; - xsnprintf (buf, sizeof buf, "(undocumented errno %d)", errnum); - return buf; - } - - /* Windows error messages end with a period and a CR-LF; strip that - out. */ - len = strlen (buffer); - if (len > 3 && strcmp (buffer + len - 3, ".\r\n") == 0) - buffer[len - 3] = '\0'; - - return buffer; -} diff --git a/gdb/gdbsupport/posix-strerror.c b/gdb/gdbsupport/safe-strerror.c index 107813fa3fd..c37db579f78 100644 --- a/gdb/gdbsupport/posix-strerror.c +++ b/gdb/gdbsupport/safe-strerror.c @@ -1,4 +1,4 @@ -/* Safe version of strerror for POSIX systems for GDB, the GNU debugger. +/* Safe version of strerror for GDB, the GNU debugger. Copyright (C) 2006-2019 Free Software Foundation, Inc. |