Package: libunwind / 1.8.1-0.3

Metadata

Package Version Patches format
libunwind 1.8.1-0.3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Fixed miscompilation of unw_getcontext on ARM.patch | (download)

include/libunwind-arm.h | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fixed miscompilation of unw_getcontext() on arm


fix arm64 build.diff | (download)

configure.ac | 21 10 + 11 - 0 !
src/Makefile.am | 13 8 + 5 - 0 !
2 files changed, 18 insertions(+), 16 deletions(-)

 [patch] made -nostdlib depend on exception support

When libunwind is configured to provide the Itanium Level 1 Exception
Support it needs to avoid linking in any compiler runtime libraries that
already provide that support (for example, libgcc_s.so) in order to
avoid duplicate symbols or ODR violations.  This caused a problem on
more recent GCC editions because of some dark magic in which
libgcc_s.so is actually a linker script instead of a shared object so
the library will be underlinked on some platforms.

The use of `-nostdlib` should be limited to only the case in which the
optional exception support is selected at configure time. When that is
the case, we can assume the developer knows what they're doing (they're
writing their own exception handling stack) and can pass the right LDADD
explcitly as required.

This changes makes the use of `-nostdlib` and `-lc -lgcc_s` dependent on
the configure-time `--enable-cxx-exceptions=yes`, which is not the
default.

457612f470f8c0e718cdf7f14ef1ecb583f3b3a6.patch | (download)

tests/Gtest-nomalloc.c | 124 69 + 55 - 0 !
tests/Makefile.am | 2 1 + 1 - 0 !
tests/unw_test.h | 47 47 + 0 - 0 !
3 files changed, 117 insertions(+), 56 deletions(-)

 [patch] fix bad prototype for malloc() in test

The unit test Gtest-nomalloc.c had an incorrect prototype for malloc()
which caused newer compilers to fail compiling for newer C editions.

Corrected the prototype and corrected a few other errors. The unit now
compiles using GCC with `CFLAGS=-Wall -Wextra -pedantic -C11` with no
warnings, which is the minimum requirement.

Added the tests/unw_test.h header as a first step to cleaning up some
unit tests further.