Author: Lassi Tuura <lat@cern.ch>
Date:   2011-03-29 15:16:43 +0200

    Export unw_backtrace() and alias backtrace() to it.


---
 include/libunwind-common.h.in |    1 +
 src/mi/backtrace.c            |    4 +++-
 tests/check-namespace.sh.in   |    1 +
 3 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/include/libunwind-common.h.in b/include/libunwind-common.h.in
index 2fb78e8..fa753ba 100644
--- a/include/libunwind-common.h.in
+++ b/include/libunwind-common.h.in
@@ -252,5 +252,6 @@ extern int unw_is_signal_frame (unw_cursor_t *);
 extern int unw_handle_signal_frame (unw_cursor_t *);
 extern int unw_get_proc_name (unw_cursor_t *, char *, size_t, unw_word_t *);
 extern const char *unw_strerror (int);
+extern int unw_backtrace (void **, int);
 
 extern unw_addr_space_t unw_local_addr_space;
diff --git a/src/mi/backtrace.c b/src/mi/backtrace.c
index 309783e..5ff58f1 100644
--- a/src/mi/backtrace.c
+++ b/src/mi/backtrace.c
@@ -56,7 +56,7 @@ slow_backtrace (void **buffer, int size)
 }
 
 int
-backtrace (void **buffer, int size)
+unw_backtrace (void **buffer, int size)
 {
   unw_cursor_t cursor;
   unw_context_t uc;
@@ -81,4 +81,6 @@ backtrace (void **buffer, int size)
   return n;
 }
 
+extern int backtrace (void **buffer, int size) __attribute__((weak, alias("unw_backtrace")));
+
 #endif /* !UNW_REMOTE_ONLY */
diff --git a/tests/check-namespace.sh.in b/tests/check-namespace.sh.in
index 757d475..642b118 100644
--- a/tests/check-namespace.sh.in
+++ b/tests/check-namespace.sh.in
@@ -101,6 +101,7 @@ check_local_unw_abi () {
     match _U_dyn_info_list_addr
     match _U_dyn_register
 
+    match unw_backtrace
     match backtrace
 
     case ${plat} in
