diff options
author | Thierry Reding <treding@nvidia.com> | 2014-06-23 11:57:02 +0200 |
---|---|---|
committer | Thierry Reding <treding@nvidia.com> | 2014-06-25 15:13:12 +0200 |
commit | 2f03bd4e58e6746db6a66a2952cd74874064d710 (patch) | |
tree | 167294ee03ab8dc2161745c57d8cad8854591da9 | |
parent | 2f113d68f6c1572576bc57ecca12e44cc9e438eb (diff) |
Fix libunwind build on ARMlibunwind
Building the X server with libunwind support on ARM currently yields
these errors at link time:
CCLD Xorg
/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr1'
This is caused by the configure script looking for the libunwind.pc file
which ends up pulling in -lunwind. On ARM that library doesn't link with
libgcc_s.so where the above symbols are defined, hence the link failure.
If instead the configure script looks for libunwind-generic.pc, then the
-lunwind-generic library is pulled in (it's a symlink to libunwind-arm),
which in turn pulls in -lunwind and -lgcc_s (via DT_NEEDED entries).
Signed-off-by: Thierry Reding <treding@nvidia.com>
-rw-r--r-- | configure.ac | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac index 2daa6beec..063f0c631 100644 --- a/configure.ac +++ b/configure.ac @@ -1687,7 +1687,7 @@ AC_SUBST(SHA1_CFLAGS) PKG_CHECK_MODULES([XSERVERCFLAGS], [$REQUIRED_MODULES $REQUIRED_LIBS]) PKG_CHECK_MODULES([XSERVERLIBS], [$REQUIRED_LIBS]) -PKG_CHECK_MODULES(LIBUNWIND, libunwind, [HAVE_LIBUNWIND=yes], [HAVE_LIBUNWIND=no]) +PKG_CHECK_MODULES(LIBUNWIND, libunwind-generic, [HAVE_LIBUNWIND=yes], [HAVE_LIBUNWIND=no]) if test "x$LIBUNWIND" = "xauto"; then LIBUNWIND="$HAVE_LIBUNWIND" fi |