]> code.ossystems Code Review - openembedded-core.git/blob
5dc6fd634b4dda7cc0ff8b696eafbaa623e1ce99
[openembedded-core.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