aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/inflow.c3
-rw-r--r--gdb/main.c7
-rw-r--r--gdb/procfs.c17
-rw-r--r--gdb/source.c15
-rw-r--r--gdb/symfile.c5
-rw-r--r--gdb/testsuite/gdb.base/catch-syscall.exp4
-rw-r--r--gdb/testsuite/gdb.dwarf2/imported-unit.exp2
-rw-r--r--gdb/utils.c9
-rw-r--r--gdb/utils.h8
-rw-r--r--gdb/windows-nat.c2
10 files changed, 34 insertions, 38 deletions
diff --git a/gdb/inflow.c b/gdb/inflow.c
index 767cfd0..095c5f0 100644
--- a/gdb/inflow.c
+++ b/gdb/inflow.c
@@ -766,7 +766,8 @@ check_syscall (const char *msg, int result)
{
if (result < 0)
{
- print_sys_errmsg (msg, errno);
+ gdb_printf (gdb_stderr, "%s:%s.\n", msg,
+ safe_strerror (errno));
_exit (1);
}
}
diff --git a/gdb/main.c b/gdb/main.c
index 97e04f5..8a1c269 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -115,12 +115,7 @@ set_gdb_data_directory (const char *new_datadir)
struct stat st;
if (stat (new_datadir, &st) < 0)
- {
- int save_errno = errno;
-
- gdb_printf (gdb_stderr, "Warning: ");
- print_sys_errmsg (new_datadir, save_errno);
- }
+ warning_filename_and_errno (new_datadir, errno);
else if (!S_ISDIR (st.st_mode))
warning (_("%ps is not a directory."),
styled_string (file_name_style.style (), new_datadir));
diff --git a/gdb/procfs.c b/gdb/procfs.c
index 706ccf0..48e9f3d 100644
--- a/gdb/procfs.c
+++ b/gdb/procfs.c
@@ -46,6 +46,7 @@
#include "gdbsupport/scoped_fd.h"
#include "gdbsupport/pathstuff.h"
#include "gdbsupport/buildargv.h"
+#include "cli/cli-style.h"
/* This module provides the interface between GDB and the
/proc file system, which is used on many versions of Unix
@@ -558,7 +559,7 @@ enum { NOKILL, KILL };
static void
dead_procinfo (procinfo *pi, const char *msg, int kill_p)
{
- print_sys_errmsg (pi->pathname, errno);
+ warning_filename_and_errno (pi->pathname, errno);
if (kill_p == KILL)
kill (pi->pid, SIGKILL);
@@ -594,18 +595,20 @@ static void
proc_warn (procinfo *pi, const char *func, int line)
{
int saved_errno = errno;
- std::string errmsg
- = string_printf ("procfs: %s line %d, %s", func, line, pi->pathname);
- print_sys_errmsg (errmsg.c_str (), saved_errno);
+ warning ("procfs: %s line %d, %ps: %s",
+ func, line, styled_string (file_name_style.style (),
+ pi->pathname),
+ safe_strerror (saved_errno));
}
static void
proc_error (procinfo *pi, const char *func, int line)
{
int saved_errno = errno;
- std::string errmsg
- = string_printf ("procfs: %s line %d, %s", func, line, pi->pathname);
- perror_with_name (errmsg.c_str (), saved_errno);
+ error ("procfs: %s line %d, %ps: %s",
+ func, line, styled_string (file_name_style.style (),
+ pi->pathname),
+ safe_strerror (saved_errno));
}
/* Updates the status struct in the procinfo. There is a 'valid'
diff --git a/gdb/source.c b/gdb/source.c
index 5bdd729..f648adc 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -587,12 +587,7 @@ add_path (const char *dirname, char **which_path, int parse_separators)
a directory/etc, then having them in the path should be
harmless. */
if (stat (name, &st) < 0)
- {
- int save_errno = errno;
-
- gdb_printf (gdb_stderr, "Warning: ");
- print_sys_errmsg (name, save_errno);
- }
+ warning_filename_and_errno (name, errno);
else if ((st.st_mode & S_IFMT) != S_IFDIR)
warning (_("%ps is not a directory."),
styled_string (file_name_style.style (), name));
@@ -1341,11 +1336,9 @@ print_source_lines_base (struct symtab *s, int line, int stopline,
if (!(flags & PRINT_SOURCE_LINES_NOERROR))
{
const char *filename = symtab_to_filename_for_display (s);
- int len = strlen (filename) + 100;
- char *name = (char *) alloca (len);
-
- xsnprintf (name, len, "%d\t%s", line, filename);
- print_sys_errmsg (name, errcode);
+ warning (_("%d\t%ps: %s"), line,
+ styled_string (file_name_style.style (), filename),
+ safe_strerror (errcode));
}
else
{
diff --git a/gdb/symfile.c b/gdb/symfile.c
index ff8a3fd..30147b7 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -2489,9 +2489,8 @@ reread_symbols (int from_tty)
int res = stat (filename, &new_statbuf);
if (res != 0)
{
- /* FIXME, should use print_sys_errmsg but it's not filtered. */
- gdb_printf (_("`%ps' has disappeared; keeping its symbols.\n"),
- styled_string (file_name_style.style (), filename));
+ warning (_("`%ps' has disappeared; keeping its symbols."),
+ styled_string (file_name_style.style (), filename));
continue;
}
time_t new_modtime = new_statbuf.st_mtime;
diff --git a/gdb/testsuite/gdb.base/catch-syscall.exp b/gdb/testsuite/gdb.base/catch-syscall.exp
index 4a9302f..0588cb3 100644
--- a/gdb/testsuite/gdb.base/catch-syscall.exp
+++ b/gdb/testsuite/gdb.base/catch-syscall.exp
@@ -392,7 +392,7 @@ proc test_catch_syscall_fail_nodatadir {} {
# Make sure GDB doesn't load the syscalls xml from the system
# data directory.
gdb_test "set data-directory /the/path/to/nowhere" \
- "Warning: /the/path/to/nowhere: .*"
+ "warning: /the/path/to/nowhere: .*"
# Testing to see if we receive a warning when calling "catch
# syscall" without XML support (without datadir).
@@ -658,7 +658,7 @@ proc do_syscall_tests_without_xml {} {
# Make sure GDB doesn't load the syscalls xml from the system data
# directory.
gdb_test "set data-directory /the/path/to/nowhere" \
- "Warning: /the/path/to/nowhere: .*"
+ "warning: /the/path/to/nowhere: .*"
# Let's test if we can catch syscalls without XML support.
# We should succeed, but GDB is not supposed to print syscall names.
diff --git a/gdb/testsuite/gdb.dwarf2/imported-unit.exp b/gdb/testsuite/gdb.dwarf2/imported-unit.exp
index 7e28931..07aa6af 100644
--- a/gdb/testsuite/gdb.dwarf2/imported-unit.exp
+++ b/gdb/testsuite/gdb.dwarf2/imported-unit.exp
@@ -167,7 +167,7 @@ if { $psymtabs_p } {
}
gdb_test "l imported_unit.c:1" \
- "1\timported_unit.c: No such file or directory\."
+ "warning: 1\timported_unit.c: No such file or directory"
gdb_test "info source" "\r\nCurrent source file is imported_unit.c\r\n.*" \
"info source for imported_unit.c"
diff --git a/gdb/utils.c b/gdb/utils.c
index 2f54533..a191d26 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -619,14 +619,13 @@ perror_warning_with_name (const char *string)
warning (_("%s"), combined.c_str ());
}
-/* Print the system error message for ERRCODE, and also mention STRING
- as the file name for which the error was encountered. */
+/* See utils.h. */
void
-print_sys_errmsg (const char *string, int errcode)
+warning_filename_and_errno (const char *filename, int saved_errno)
{
- const char *err = safe_strerror (errcode);
- gdb_printf (gdb_stderr, "%s: %s.\n", string, err);
+ warning (_("%ps: %s"), styled_string (file_name_style.style (), filename),
+ safe_strerror (saved_errno));
}
/* Control C eventually causes this to be called, at a convenient time. */
diff --git a/gdb/utils.h b/gdb/utils.h
index c5364fa..f646b30 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -275,7 +275,13 @@ extern void fprintf_symbol (struct ui_file *, const char *,
extern void perror_warning_with_name (const char *string);
-extern void print_sys_errmsg (const char *, int);
+/* Issue a warning formatted as '<filename>: <explanation>', where
+ <filename> is FILENAME with filename styling applied. As such, don't
+ pass anything more than a filename in this string. The <explanation>
+ is a string returned from calling safe_strerror(SAVED_ERRNO). */
+
+extern void warning_filename_and_errno (const char *filename,
+ int saved_errno);
/* Warnings and error messages. */
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 5a897db..7a139c8 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -2625,7 +2625,7 @@ windows_nat_target::create_inferior (const char *exec_file,
tty = open (inferior_tty.c_str (), O_RDWR | O_NOCTTY);
if (tty < 0)
{
- print_sys_errmsg (inferior_tty.c_str (), errno);
+ warning_filename_and_errno (inferior_tty.c_str (), errno);
ostdin = ostdout = ostderr = -1;
}
else