[lib] Add support for Sun libc printstack to zlog_backtrace_sigsafe
2006-05-28 Paul Jakma <paul.jakma@sun.com>
* configure.ac:
Check for Sun libc printstack(), add a general HAVE_STACK_TRACE
define for lib/log.c, if any supported stack symbol dumping
function is found (glibc backtrace/sun libc printstack).
* log.c: (general) Add support for Sun libc printstack().
(hex_append) make the cpp conditional on general HAVE_STACK_TRACE
define.
(zlog_backtrace_sigsafe) Ditto. Add printstack() version of the
the DUMP macro in this function.
diff --git a/configure.ac b/configure.ac
index e173fca..37df36e 100755
--- a/configure.ac
+++ b/configure.ac
@@ -392,11 +392,15 @@
| [*-solaris2.1[0-9]] \
| [*-solaris2.1[0-9].[0-9]])
opsys=sol8
- AC_DEFINE(SUNOS_59,,SunOS 5.8 up)
- AC_DEFINE(SUNOS_5, 1, SunOS 5)
+ AC_DEFINE(SUNOS_59, 1, [SunOS 5.8 up])
+ AC_DEFINE(SUNOS_5, 1, [SunOS 5])
AC_CHECK_LIB(socket, main)
AC_CHECK_LIB(nsl, main)
AC_CHECK_LIB(umem, main)
+ AC_CHECK_FUNCS([printstack],
+ [AC_DEFINE([HAVE_PRINTSTACK],1,[Solaris printstack])
+ AC_DEFINE([HAVE_STACK_TRACE],1,[Stack symbols decode functionality])
+ ])
CURSES=-lcurses
;;
*-sunos5* | *-solaris2*)
@@ -1244,12 +1248,12 @@
dnl check for glibc 'backtrace'
dnl ---------------------------
if test "${glibc}" = "yes"; then
- AC_CHECK_HEADER(execinfo.h)
-fi
-if test x"${ac_cv_header_execinfo_h}" = x"yes"; then
- AC_CHECK_FUNC(backtrace,
- [AC_DEFINE(HAVE_GLIBC_BACKTRACE,,Glibc backtrace)]
- )
+ AC_CHECK_HEADER([execinfo.h],
+ [AC_CHECK_FUNC([backtrace],
+ [AC_DEFINE(HAVE_GLIBC_BACKTRACE,,[Glibc backtrace])
+ AC_DEFINE(HAVE_STACK_TRACE,,[Stack symbol decoding])
+ ])
+ ])
fi
dnl -----------------------------------------