aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Biesinger <cbiesinger@google.com>2019-11-12 21:55:15 -0600
committerChristian Biesinger <cbiesinger@google.com>2019-11-15 13:31:36 -0800
commitcd850b40cc84ff08c50b8b16a0968b3cd6b33664 (patch)
treed24cfd79997e75f5d8ba7c0d83faed583a47b523
parentAdd no-dist to gnulib configure (diff)
downloadbinutils-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/ChangeLog10
-rw-r--r--gdb/Makefile.in5
-rwxr-xr-xgdb/configure4
-rw-r--r--gdb/configure.ac4
-rw-r--r--gdb/gdbserver/ChangeLog6
-rw-r--r--gdb/gdbserver/Makefile.in2
-rwxr-xr-xgdb/gdbserver/configure6
-rw-r--r--gdb/gdbserver/configure.ac6
-rw-r--r--gdb/gdbsupport/common.host36
-rw-r--r--gdb/gdbsupport/mingw-strerror.c64
-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.