]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
5dc6fd634b4dda7cc0ff8b696eafbaa623e1ce99
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From 00d4447395725abaa651e12ed40095081e04011e Mon Sep 17 00:00:00 2001
2 From: Khem Raj <raj.khem@gmail.com>
3 Date: Sun, 13 Sep 2015 13:22:01 -0700
4 Subject: [PATCH 1/3] Detect backtrace() API availability before using it
5
6 C libraries besides glibc do not have backtrace() implemented
7
8 Signed-off-by: Khem Raj <raj.khem@gmail.com>
9 ---
10 Upstream-Status: Pending
11
12 configure.ac | 2 ++
13 src/log.c | 5 ++---
14 2 files changed, 4 insertions(+), 3 deletions(-)
15
16 diff --git a/configure.ac b/configure.ac
17 index 69c0eeb..90099f2 100644
18 --- a/configure.ac
19 +++ b/configure.ac
20 @@ -171,6 +171,8 @@ fi
21 AM_CONDITIONAL(PPTP, test "${enable_pptp}" != "no")
22 AM_CONDITIONAL(PPTP_BUILTIN, test "${enable_pptp}" = "builtin")
23
24 +AC_CHECK_HEADERS([execinfo.h])
25 +
26 AC_CHECK_HEADERS(resolv.h, dummy=yes,
27 AC_MSG_ERROR(resolver header files are required))
28 AC_CHECK_LIB(resolv, ns_initparse, dummy=yes, [
29 diff --git a/src/log.c b/src/log.c
30 index a693bd0..5b40c1f 100644
31 --- a/src/log.c
32 +++ b/src/log.c
33 @@ -30,7 +30,6 @@
34 #include <stdlib.h>
35 #include <string.h>
36 #include <syslog.h>
37 -#include <execinfo.h>
38 #include <dlfcn.h>
39
40 #include "connman.h"
41 @@ -215,9 +214,9 @@ static void print_backtrace(unsigned int offset)
42 static void signal_handler(int signo)
43 {
44 connman_error("Aborting (signal %d) [%s]", signo, program_exec);
45 -
46 +#ifdef HAVE_EXECINFO_H
47 print_backtrace(2);
48 -
49 +#endif /* HAVE_EXECINFO_H */
50 exit(EXIT_FAILURE);
51 }
52
53 --
54 2.5.1
55