From b792eb47f25f577ccef365fc9a5c20d55fad42d5 Mon Sep 17 00:00:00 2001 From: Markus Metzger Date: Fri, 18 Feb 2022 13:53:31 +0100 Subject: [PATCH] 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. --- gdb/nat/linux-btrace.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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. */ -- 2.39.5