From: Markus Metzger Date: Fri, 18 Feb 2022 12:53:31 +0000 (+0100) Subject: gdb, btrace: fix error diagnostics X-Git-Tag: gdb-15-branchpoint~751 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b792eb47f25f577ccef365fc9a5c20d55fad42d5;p=thirdparty%2Fbinutils-gdb.git 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. --- diff --git a/gdb/nat/linux-btrace.c b/gdb/nat/linux-btrace.c index 50de2415589..f8352b62b8b 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. */