aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/gsm_utils.c
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-11-27 09:19:21 +0100
committerHarald Welte <laforge@gnumonks.org>2009-11-27 09:19:21 +0100
commit39a4f047c89ceb111c1756596c712a57048154e3 (patch)
tree9c237408c22b7635903884af2456f9eec5cdcc4a /openbsc/src/gsm_utils.c
parent260b7ddb239d0d497ee7bb7c8c93d52a1c0fe88c (diff)
parent1a79d364401dfad2a71f1e61ff13a3861e3da46e (diff)
Merge remote branch 'origin/master' into the lcr_rtp brancheversberg/lcr_rtp
Conflicts: openbsc/src/Makefile.am
Diffstat (limited to 'openbsc/src/gsm_utils.c')
-rw-r--r--openbsc/src/gsm_utils.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/openbsc/src/gsm_utils.c b/openbsc/src/gsm_utils.c
index de18dba26..ddfd7f3de 100644
--- a/openbsc/src/gsm_utils.c
+++ b/openbsc/src/gsm_utils.c
@@ -23,8 +23,10 @@
#include <openbsc/gsm_data.h>
#include <openbsc/gsm_utils.h>
+#include <execinfo.h>
#include <stdlib.h>
#include <string.h>
+#include <stdio.h>
#include <errno.h>
/* GSM 03.38 6.2.1 Charachter packing */
@@ -148,4 +150,21 @@ int ms_pwr_dbm(enum gsm_band band, u_int8_t lvl)
return -EINVAL;
}
+void generate_backtrace()
+{
+ int i, nptrs;
+ void *buffer[100];
+ char **strings;
+
+ nptrs = backtrace(buffer, ARRAY_SIZE(buffer));
+ printf("backtrace() returned %d addresses\n", nptrs);
+
+ strings = backtrace_symbols(buffer, nptrs);
+ if (!strings)
+ return;
+ for (i = 1; i < nptrs; i++)
+ printf("%s\n", strings[i]);
+
+ free(strings);
+}