[PATCH] Fix libunwind build on ARM
Keith Packard
keithp at keithp.com
Wed Jun 25 11:53:46 PDT 2014
Thierry Reding <thierry.reding at gmail.com> writes:
> From: Thierry Reding <treding at nvidia.com>
>
> 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).
I'm afraid this conflicts with the libunwind documentation which
explicitly states that -lunwind is the correct library to use for native
unwinding:
FILES
libunwind.h
Headerfile to include for native (same platform) unwinding.
libunwind-PLAT.h
Header file to include when the unwind target runs on
platform PLAT. For example, to unwind an IA-64 program,
the header file libunwind-ia64.h should be included.
-lunwind
Linker-switch to add when building a program that does
native (same platform) unwinding.
-lunwind-PLAT
Linker-switch to add when building a program that unwinds
a program on platform PLAT. For example, to
(cross-)unwind an IA-64 program, the linker switch
-lunwind-ia64 should be added. Note: multiple such
switches may need to be specified for programs that can
unwind programs on mul‐ tiple platforms.
It sounds like libunwind.so is just misbuilt on your platform. I just
checked libunwind.so on Debian's armel distro and it does explicitly
link to libgcc_s. I can't test that it works, of course, but at least
this problem isn't present.
If you want to supply a kludge-around for your broken platform, that'd
be awesome, but I don't think we should apply this patch, which runs
counter to the documentation and isn't needed by most people.
--
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140625/a75ec316/attachment-0001.sig>
More information about the xorg-devel
mailing list