aboutsummaryrefslogtreecommitdiff
path: root/fuse/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'fuse/main.c')
-rw-r--r--fuse/main.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/fuse/main.c b/fuse/main.c
index 1e24efe..c162912 100644
--- a/fuse/main.c
+++ b/fuse/main.c
@@ -6,7 +6,6 @@
*/
#include <stdlib.h>
#include <string.h>
-#include <execinfo.h>
#include <signal.h>
#include <libgen.h>
#include <fuse.h>
@@ -168,6 +167,9 @@ static int optional_opt_func(void *data, const char *arg, int key,
return 1;
}
+#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE)
+#include <execinfo.h>
+
static void signal_handle_sigsegv(int signal)
{
void *array[10];
@@ -187,7 +189,7 @@ static void signal_handle_sigsegv(int signal)
erofs_dump("========================================\n");
abort();
}
-
+#endif
int main(int argc, char *argv[])
{
@@ -197,11 +199,13 @@ int main(int argc, char *argv[])
erofs_init_configure();
fprintf(stderr, "%s %s\n", basename(argv[0]), cfg.c_version);
+#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE)
if (signal(SIGSEGV, signal_handle_sigsegv) == SIG_ERR) {
fprintf(stderr, "failed to initialize signals\n");
ret = -errno;
goto err;
}
+#endif
/* parse options */
ret = fuse_opt_parse(&args, &fusecfg, option_spec, optional_opt_func);