Commit 36015334 authored by Arkadiusz Hiler's avatar Arkadiusz Hiler

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 <tvrtko.ursulin@linux.intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Arkadiusz Hiler's avatarArkadiusz Hiler <arkadiusz.hiler@intel.com>
Reviewed-by: Chris Wilson's avatarChris Wilson <chris@chris-wilson.co.uk>
parent c325dd94
......@@ -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:"
......
......@@ -71,6 +71,9 @@
#include "igt_sysfs.h"
#include "igt_rc.h"
#define UNW_LOCAL_ONLY
#include <libunwind.h>
#ifdef HAVE_LIBGEN_H
#include <libgen.h> /* 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 <libunwind.h>
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");
}
......
......@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment