From 36015334f9ee86b997fc5c0deb4964184f87648f Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Fri, 1 Dec 2017 15:19:54 +0200 Subject: igt: Make dependency on libunwind mandatory With Android support gone there is not much reason for keeping libunwind dependency optional. This also deals (cheaply!) with ifdefs covering huge portions of code, removing a placement minefield. Cc: Tvrtko Ursulin Cc: Chris Wilson Signed-off-by: Arkadiusz Hiler Reviewed-by: Chris Wilson --- configure.ac | 11 +---------- lib/igt_core.c | 13 ++++--------- meson.build | 2 +- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/configure.ac b/configure.ac index 84c6e646..8740f7a4 100644 --- a/configure.ac +++ b/configure.ac @@ -124,6 +124,7 @@ PKG_CHECK_MODULES(DRM, [libdrm >= 2.4.82]) PKG_CHECK_MODULES(PCIACCESS, [pciaccess >= 0.10]) PKG_CHECK_MODULES(KMOD, [libkmod]) PKG_CHECK_MODULES(PROCPS, [libprocps]) +PKG_CHECK_MODULES(LIBUNWIND, [libunwind]) PKG_CHECK_MODULES(VALGRIND, [valgrind], [have_valgrind=yes], [have_valgrind=no]) if test x$have_valgrind = xyes; then @@ -330,15 +331,6 @@ AM_CONDITIONAL(BUILD_SHADER_DEBUGGER, [test "x$BUILD_SHADER_DEBUGGER" != xno]) AS_IF([test "x$BUILD_SHADER_DEBUGGER" != xno], [enable_debugger=yes], [enable_debugger=no]) -AC_ARG_WITH(libunwind, - AS_HELP_STRING([--without-libunwind], - [Build tests without libunwind support]), - [], [with_libunwind=yes]) -if test "x$with_libunwind" = xyes; then - PKG_CHECK_MODULES(LIBUNWIND, libunwind, AC_DEFINE(HAVE_LIBUNWIND, 1, [libunwind support]), - AC_MSG_ERROR([libunwind not found. Use --without-libunwind to disable libunwind support.])) -fi - # enable debug symbols AC_ARG_ENABLE(debug, AS_HELP_STRING([--disable-debug], @@ -434,7 +426,6 @@ echo " Build tests : ${BUILD_TESTS}" echo " Chamelium tests : ${enable_chamelium}" echo " Audio tests : ${enable_audio}" echo " Compile prime tests: ${NOUVEAU}" -echo " Print stack traces : ${with_libunwind}" echo " Debug flags : ${DEBUG_CFLAGS}" echo "" echo " • Tools:" diff --git a/lib/igt_core.c b/lib/igt_core.c index de9269b0..03fa6e4e 100644 --- a/lib/igt_core.c +++ b/lib/igt_core.c @@ -71,6 +71,9 @@ #include "igt_sysfs.h" #include "igt_rc.h" +#define UNW_LOCAL_ONLY +#include + #ifdef HAVE_LIBGEN_H #include /* for basename() on Solaris */ #endif @@ -1173,10 +1176,6 @@ static void write_stderr(const char *str) __write_stderr(str, strlen(str)); } -#ifdef HAVE_LIBUNWIND -#define UNW_LOCAL_ONLY -#include - static void print_backtrace(void) { unw_cursor_t cursor; @@ -1371,7 +1370,6 @@ static void print_backtrace_sig_safe(void) } } -#endif void __igt_fail_assert(const char *domain, const char *file, const int line, const char *func, const char *assertion, @@ -1394,9 +1392,7 @@ void __igt_fail_assert(const char *domain, const char *file, const int line, va_end(args); } -#ifdef HAVE_LIBUNWIND print_backtrace(); -#endif if (run_under_gdb()) abort(); @@ -1876,9 +1872,8 @@ static void fatal_sig_handler(int sig) igt_exitcode = 128 + sig; failed_one = true; -#ifdef HAVE_LIBUNWIND print_backtrace_sig_safe(); -#endif + if (in_subtest) exit_subtest("CRASH"); } diff --git a/meson.build b/meson.build index 8e01b05d..a564893d 100644 --- a/meson.build +++ b/meson.build @@ -38,6 +38,7 @@ libdrm_amdgpu = dependency('libdrm_amdgpu', required : false) pciaccess = dependency('pciaccess', version : '>=0.10') libkmod = dependency('libkmod') libprocps = dependency('libprocps', required : true) +libunwind = dependency('libunwind', required : true) valgrind = dependency('valgrind', required : false) if valgrind.found() @@ -56,7 +57,6 @@ if glib.found() config.set('HAVE_GLIB', 1) endif -libunwind = dependency('libunwind') gsl = dependency('gsl', required : false) alsa = dependency('alsa', required : false) -- cgit v1.2.3