commit c009c4c1800086e7f4c4e80939e9ddc8964c8e12 Author: Mario Haustein Date: Thu Aug 4 00:27:08 2022 +0200 Include execinfo.h only if available Bug: https://bugs.gentoo.org/873016 Upstream: https://gitlab.com/free-astro/siril/-/merge_requests/284 Bug: https://bugs.gentoo.org/898108 Upstream: https://gitlab.com/free-astro/siril/-/merge_requests/442 diff --git a/src/core/signals.c b/src/core/signals.c index 74100b3a..0eefd460 100644 --- a/src/core/signals.c +++ b/src/core/signals.c @@ -25,7 +25,7 @@ #ifdef _WIN32 #include #include -#else +#elif HAVE_EXECINFO_H #include #endif commit 13bafd227500018bef052cad1d73e9c681be1b8a Author: Cyril Richard Date: Thu Aug 4 11:29:23 2022 +0200 Fix for merge_requests/284 Bug: https://bugs.gentoo.org/883121 Upstream: https://gitlab.com/free-astro/siril/-/commit/13bafd227500018bef052cad1d73e9c681be1b8a diff --git a/src/core/signals.c b/src/core/signals.c index 0eefd460..bbce5fa7 100644 --- a/src/core/signals.c +++ b/src/core/signals.c @@ -21,6 +21,9 @@ #define ANSI_COLOR_RED "\e[1m\x1b[31m" #define ANSI_COLOR_RESET "\x1b[0m\e[0m" +#ifdef HAVE_CONFIG_H +#include +#endif #include #ifdef _WIN32 #include From 6f959a02d27fb507cda1898a3aa785766e77d404 Mon Sep 17 00:00:00 2001 From: Mario Haustein Date: Mon, 27 Feb 2023 17:34:43 +0100 Subject: [PATCH] fix HAVE_EXECINFO_H logic --- src/core/signals.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/core/signals.c b/src/core/signals.c index 42b369d6..d4745909 100644 --- a/src/core/signals.c +++ b/src/core/signals.c @@ -55,13 +55,7 @@ static void signal_handled(int s) { g_printf(ANSI_COLOR_RED"%s"ANSI_COLOR_RESET"\n", visit); } -#if (!defined _WIN32 && defined HAVE_EXECINFO_H) - void *stack[STACK_DEPTH]; - - size_t size = backtrace(stack, sizeof(stack) / sizeof(void*)); - - backtrace_symbols_fd(stack, size, fileno((FILE*) stdout)); -#else +#ifdef _WIN32 unsigned int i; void *stack[STACK_DEPTH]; unsigned short size; @@ -84,6 +78,12 @@ static void signal_handled(int s) { } free(symbol); +#elif HAVE_EXECINFO_H + void *stack[STACK_DEPTH]; + + size_t size = backtrace(stack, sizeof(stack) / sizeof(void*)); + + backtrace_symbols_fd(stack, size, fileno((FILE*) stdout)); #endif } undo_flush(); -- 2.39.2