36 lines
986 B
Diff
36 lines
986 B
Diff
|
Fix selftest FAILs with gdb build with -O2 -flto
|
||
|
|
||
|
diff --git a/gdb/complaints.h b/gdb/complaints.h
|
||
|
index 6ad056d257..cac09ff573 100644
|
||
|
--- a/gdb/complaints.h
|
||
|
+++ b/gdb/complaints.h
|
||
|
@@ -42,9 +42,10 @@ extern int stop_whining;
|
||
|
while (0)
|
||
|
|
||
|
/* Clear out / initialize all complaint counters that have ever been
|
||
|
- incremented. */
|
||
|
+ incremented. Prevent inlining this function for the benefit of GDB's
|
||
|
+ selftests in the testsuite. */
|
||
|
|
||
|
-extern void clear_complaints ();
|
||
|
+extern void clear_complaints () __attribute__((noinline));
|
||
|
|
||
|
|
||
|
#endif /* !defined (COMPLAINTS_H) */
|
||
|
diff --git a/gdb/main.c b/gdb/main.c
|
||
|
index 19bbb92388..9d35f9baa8 100644
|
||
|
--- a/gdb/main.c
|
||
|
+++ b/gdb/main.c
|
||
|
@@ -1235,6 +1235,11 @@ captured_main_1 (struct captured_main_args *context)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
+/* Prevent inlining this function for the benefit of GDB's selftests in the
|
||
|
+ testsuite. */
|
||
|
+
|
||
|
+static void captured_main (void *data) __attribute__((noinline));
|
||
|
+
|
||
|
static void
|
||
|
captured_main (void *data)
|
||
|
{
|