aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-17 23:52:04 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2010-12-17 23:52:04 +0000
commit620fdbb17a726e8ef9e57dd00b30c5ea961699ba (patch)
treeb60a9d1787c39229f27899a30b2b5267ffedcb4b /include
parenta833f381647f055438e5b42107ec255214441660 (diff)
Merged revisions 298957 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2 ................ r298957 | tilghman | 2010-12-17 17:30:55 -0600 (Fri, 17 Dec 2010) | 13 lines Merged revisions 298905 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r298905 | tilghman | 2010-12-17 15:40:56 -0600 (Fri, 17 Dec 2010) | 6 lines Let Asterisk find better backtrace information with libbfd. The menuselect option BETTER_BACKTRACES, if enabled, will use libbfd to search for better symbol information within both the Asterisk binary, as well as loaded modules, to assist when using inline backtraces to track down problems. ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.8@298960 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/autoconfig.h.in6
-rw-r--r--include/asterisk/logger.h10
-rw-r--r--include/asterisk/utils.h9
3 files changed, 25 insertions, 0 deletions
diff --git a/include/asterisk/autoconfig.h.in b/include/asterisk/autoconfig.h.in
index 2ec7b7ed8..a48da3814 100644
--- a/include/asterisk/autoconfig.h.in
+++ b/include/asterisk/autoconfig.h.in
@@ -107,6 +107,9 @@
/* Define to 1 if your GCC C compiler supports the 'weakref' attribute. */
#undef HAVE_ATTRIBUTE_weakref
+/* Define to 1 if you have the Debug symbol decoding library. */
+#undef HAVE_BFD
+
/* Define to 1 if you have the Stack Backtrace library. */
#undef HAVE_BKTR
@@ -168,6 +171,9 @@
*/
#undef HAVE_DIRENT_H
+/* Define to 1 if your system has the dladdr() GNU extension */
+#undef HAVE_DLADDR
+
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h
index 886c43ce0..91824d704 100644
--- a/include/asterisk/logger.h
+++ b/include/asterisk/logger.h
@@ -296,6 +296,16 @@ int ast_bt_get_addresses(struct ast_bt *bt);
*/
void *ast_bt_destroy(struct ast_bt *bt);
+/* \brief Retrieve symbols for a set of backtrace addresses
+ *
+ * \param addresses A list of addresses, such as the ->addresses structure element of struct ast_bt.
+ * \param num_frames Number of addresses in the addresses list
+ * \retval NULL Unable to allocate memory
+ * \return List of strings
+ * \since 1.6.2.16
+ */
+char **ast_bt_get_symbols(void **addresses, size_t num_frames);
+
#endif /* HAVE_BKTR */
#endif /* _LOGGER_BACKTRACE_H */
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index a0208e7f2..7b75db808 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -758,4 +758,13 @@ int ast_str_to_eid(struct ast_eid *eid, const char *s);
*/
int ast_eid_cmp(const struct ast_eid *eid1, const struct ast_eid *eid2);
+/*!\brief Resolve a binary to a full pathname
+ * \param binary Name of the executable to resolve
+ * \param fullpath Buffer to hold the complete pathname
+ * \param fullpath_size Size of \a fullpath
+ * \retval NULL \a binary was not found or the environment variable PATH is not set
+ * \return \a fullpath
+ */
+char *ast_utils_which(const char *binary, char *fullpath, size_t fullpath_size);
+
#endif /* _ASTERISK_UTILS_H */