aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libbacktrace/ChangeLog6
-rw-r--r--libbacktrace/backtrace.c2
-rw-r--r--libbacktrace/print.c2
-rw-r--r--libbacktrace/simple.c2
4 files changed, 9 insertions, 3 deletions
diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog
index 06fa109..e1f2007 100644
--- a/libbacktrace/ChangeLog
+++ b/libbacktrace/ChangeLog
@@ -1,5 +1,11 @@
2019-02-08 Tom de Vries <tdevries@suse.de>
+ * backtrace.c (backtrace_full): Declare with __attribute__((noinline)).
+ * print.c (backtrace_print): Same.
+ * simple.c (backtrace_simple): Same.
+
+2019-02-08 Tom de Vries <tdevries@suse.de>
+
PR libbacktrace/78063
* dwarf.c (build_address_map): Keep all parsed units.
(read_referenced_name_from_attr): Handle DW_FORM_ref_addr.
diff --git a/libbacktrace/backtrace.c b/libbacktrace/backtrace.c
index 29204c6..c579e80 100644
--- a/libbacktrace/backtrace.c
+++ b/libbacktrace/backtrace.c
@@ -98,7 +98,7 @@ unwind (struct _Unwind_Context *context, void *vdata)
/* Get a stack backtrace. */
-int
+int __attribute__((noinline))
backtrace_full (struct backtrace_state *state, int skip,
backtrace_full_callback callback,
backtrace_error_callback error_callback, void *data)
diff --git a/libbacktrace/print.c b/libbacktrace/print.c
index b2f4544..0767fac 100644
--- a/libbacktrace/print.c
+++ b/libbacktrace/print.c
@@ -80,7 +80,7 @@ error_callback (void *data, const char *msg, int errnum)
/* Print a backtrace. */
-void
+void __attribute__((noinline))
backtrace_print (struct backtrace_state *state, int skip, FILE *f)
{
struct print_data data;
diff --git a/libbacktrace/simple.c b/libbacktrace/simple.c
index d439fce..1189363 100644
--- a/libbacktrace/simple.c
+++ b/libbacktrace/simple.c
@@ -90,7 +90,7 @@ simple_unwind (struct _Unwind_Context *context, void *vdata)
/* Get a simple stack backtrace. */
-int
+int __attribute__((noinline))
backtrace_simple (struct backtrace_state *state, int skip,
backtrace_simple_callback callback,
backtrace_error_callback error_callback, void *data)