From 35748811a4b11b5947879f657a752e89d649ce06 Mon Sep 17 00:00:00 2001 From: Alexander Golubev Date: Sat, 17 Aug 2013 13:21:22 +0200 Subject: Added check the conditions for building backtrace handler --- tdeio/tdeio/CMakeLists.txt | 9 +++++++-- tdeio/tdeio/slavebase.cpp | 10 ++++------ 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'tdeio') diff --git a/tdeio/tdeio/CMakeLists.txt b/tdeio/tdeio/CMakeLists.txt index c1287dc82..cf5c272a9 100644 --- a/tdeio/tdeio/CMakeLists.txt +++ b/tdeio/tdeio/CMakeLists.txt @@ -81,13 +81,18 @@ set( ${target}_SRCS kdirnotify.cpp kdirnotify.skel kdirnotify_stub.cpp observer.cpp ../misc/uiserver.stub observer.skel tdeemailsettings.cpp kprotocolinfo.cpp renamedlg.cpp skipdlg.cpp kremoteencoding.cpp - kmimetypechooser.cpp backtrace_symbols.c + kmimetypechooser.cpp ) +if( HAVE_BACKTRACE AND HAVE_DEMANGLE_H ) + list( APPEND ${target}_SRCS backtrace_symbols.c ) + set( BACKTRACE_LIBRARY bfd ) +endif( ) + tde_add_library( ${target} STATIC_PIC AUTOMOC SOURCES ${${target}_SRCS} DEPENDENCIES dcopidl - LINK bfd + LINK ${BACKTRACE_LIBRARY} ) diff --git a/tdeio/tdeio/slavebase.cpp b/tdeio/tdeio/slavebase.cpp index d4aa8ca26..83b2a9889 100644 --- a/tdeio/tdeio/slavebase.cpp +++ b/tdeio/tdeio/slavebase.cpp @@ -66,10 +66,10 @@ #endif #endif -#ifndef NDEBUG -#ifdef HAVE_BACKTRACE +#ifndef NDEBUG void print_trace() { +#if defined(HAVE_BACKTRACE) && defined(HAVE_DEMANGLE_H) void *array[10]; size_t size; char **strings; @@ -85,9 +85,9 @@ void print_trace() } free (strings); +#endif // defined(HAVE_BACKTRACE) && defined(HAVE_DEMANGLE_H) } -#endif -#endif +#endif // NDEBUG using namespace TDEIO; @@ -765,9 +765,7 @@ void SlaveBase::sigsegv_handler(int sig) snprintf(buffer, sizeof(buffer), "tdeioslave: ####### CRASH ###### protocol = %s pid = %d signal = %d\n", s_protocol, getpid(), sig); write(2, buffer, strlen(buffer)); #ifndef NDEBUG -#ifdef HAVE_BACKTRACE print_trace(); -#endif #endif ::exit(1); #endif -- cgit v1.2.1