aboutsummaryrefslogtreecommitdiff
path: root/gdb/nat
diff options
context:
space:
mode:
authorMarkus Metzger <markus.t.metzger@intel.com>2022-02-18 13:53:31 +0100
committerMarkus Metzger <markus.t.metzger@intel.com>2024-03-11 11:33:50 +0000
commitb792eb47f25f577ccef365fc9a5c20d55fad42d5 (patch)
tree4899bd4fbc070127365be307f190a7b09533b91f /gdb/nat
parent5eb2254a1d1d69980601e6530ee63e0e0e6a6c33 (diff)
downloadbinutils-b792eb47f25f577ccef365fc9a5c20d55fad42d5.zip
binutils-b792eb47f25f577ccef365fc9a5c20d55fad42d5.tar.gz
binutils-b792eb47f25f577ccef365fc9a5c20d55fad42d5.tar.bz2
gdb, btrace: fix error diagnostics
When we improved error messages in cd393cec3ab gdb, btrace: improve error messages we cleared the original errno. When the error reason can not be explained in a more detailed error message, and we fall back to the default error message, it now gives Success as error. Restore the original errno to fix that.
Diffstat (limited to 'gdb/nat')
-rw-r--r--gdb/nat/linux-btrace.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gdb/nat/linux-btrace.c b/gdb/nat/linux-btrace.c
index 50de241..f8352b6 100644
--- a/gdb/nat/linux-btrace.c
+++ b/gdb/nat/linux-btrace.c
@@ -422,7 +422,8 @@ cpu_supports_bts (void)
static void
diagnose_perf_event_open_fail ()
{
- switch (errno)
+ int orig_errno = errno;
+ switch (orig_errno)
{
case EPERM:
case EACCES:
@@ -443,7 +444,7 @@ diagnose_perf_event_open_fail ()
break;
}
- error (_("Failed to start recording: %s"), safe_strerror (errno));
+ error (_("Failed to start recording: %s"), safe_strerror (orig_errno));
}
/* Get the linux version of a btrace_target_info. */