package/libunwind: link to libgcc_s, not libgcc

Backport a fix from upstream to link against libgcc_s instead of libgcc.

Fixes ltrace build failures:
    http://autobuild.buildroot.net/results/a0c/a0c132f8cdea2c34ceff27606764a60c2853f644/
    http://autobuild.buildroot.net/results/67f/67fbd04d6ae187861fa1bf84d3df1877c7be6fb2/
    http://autobuild.buildroot.net/results/0ca/0ca564101b870e5953acb66ac832ce9e23198392/
    ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Yann E. MORIN 2014-11-16 14:29:55 +01:00 committed by Peter Korsgaard
parent 576873b8e9
commit 261d8bfcd7
3 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
From f1684379dfaf8018d5d4c1945e292a56d0fab245 Mon Sep 17 00:00:00 2001
From: Thierry Reding <treding@nvidia.com>
Date: Fri, 27 Jun 2014 08:40:33 +0200
Subject: [PATCH] Link libunwind to libgcc_s rather than libgcc
For some architectures, -lgcc and -lgcc_s are not equivalent. On ARM for
example, libgcc_s.so.1 contains some symbols needed by libunwind which
are not present in libgcc.
This causes the following link error when building the X.Org X server
with libunwind support:
CCLD Xorg
/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr0'
/usr/lib/libunwind.so: undefined reference to `__aeabi_unwind_cpp_pr1'
Linking against libgcc_s explicitly solves this problem.
Signed-off-by: Thierry Reding <treding@nvidia.com>
[yann.morin.1998@free.fr: backport to libunwind 1.1]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 4e2fd23..a77cf01 100644
--- a/configure.ac
+++ b/configure.ac
@@ -258,7 +258,7 @@ else
if test x$GCC = xyes -a x$intel_compiler != xyes; then
CFLAGS="${CFLAGS} -fexceptions -Wall -Wsign-compare"
- LIBCRTS="-lgcc"
+ LIBCRTS="-lgcc_s"
fi
AC_MSG_RESULT([$intel_compiler])
--
1.9.1