diff --git a/libunwind-0.98.5-buildfix.diff b/libunwind-0.98.5-buildfix.diff deleted file mode 100644 index d401c03..0000000 --- a/libunwind-0.98.5-buildfix.diff +++ /dev/null @@ -1,8 +0,0 @@ ---- src/elf64.c.orig 2008-04-18 15:23:25.000000000 +0000 -+++ src/elf64.c 2008-04-18 15:23:34.000000000 +0000 -@@ -1,4 +1,5 @@ - #ifndef UNW_REMOTE_ONLY -+# include - # include "elf64.h" - # include "elfxx.c" - #endif diff --git a/libunwind-0.98.5.diff b/libunwind-0.98.5.diff deleted file mode 100644 index 0b675f5..0000000 --- a/libunwind-0.98.5.diff +++ /dev/null @@ -1,111 +0,0 @@ ---- src/ia64/Gcreate_addr_space.c -+++ src/ia64/Gcreate_addr_space.c -@@ -33,14 +33,7 @@ - #ifdef UNW_LOCAL_ONLY - return NULL; - #else -- unw_addr_space_t as = malloc (sizeof (*as)); -- -- if (!as) -- return NULL; -- -- memset (as, 0, sizeof (*as)); -- -- as->acc = *a; -+ unw_addr_space_t as; - - /* - * IA-64 supports only big or little-endian, not weird stuff like -@@ -51,6 +44,14 @@ - && byte_order != __BIG_ENDIAN) - return NULL; - -+ as = malloc (sizeof (*as)); -+ if (!as) -+ return NULL; -+ -+ memset (as, 0, sizeof (*as)); -+ -+ as->acc = *a; -+ - if (byte_order == 0) - /* use host default: */ - as->big_endian = (__BYTE_ORDER == __BIG_ENDIAN); ---- src/x86_64/Gresume.c -+++ src/x86_64/Gresume.c -@@ -35,6 +35,7 @@ - x86_64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg) - { - # warning Implement me! -+ return -UNW_EINVAL; - } - - #endif /* !UNW_REMOTE_ONLY */ ---- tests/Gtest-concurrent.c -+++ tests/Gtest-concurrent.c -@@ -84,9 +84,10 @@ - int i; - - for (i = 0; i < NTHREADS; ++i) -- pthread_create (th + i, NULL, worker, NULL); -+ if (pthread_create (th + i, NULL, worker, NULL)) -+ break; - -- for (i = 0; i < NTHREADS; ++i) -+ while (i-- > 0) - pthread_join (th[i], NULL); - } - ---- tests/Makefile.am -+++ tests/Makefile.am -@@ -22,8 +22,7 @@ - check_PROGRAMS_arch = Gia64-test-stack Lia64-test-stack \ - Gia64-test-nat Lia64-test-nat \ - Gia64-test-rbs Lia64-test-rbs \ -- Gia64-test-readonly Lia64-test-readonly \ -- ia64-test-setjmp ia64-test-sig -+ ia64-test-sig - endif - check_SCRIPTS_cdep = run-ptrace-mapper run-ptrace-misc - check_PROGRAMS_cdep = Gtest-bt Ltest-bt Gtest-exc Ltest-exc \ -@@ -57,8 +56,6 @@ - noinst_PROGRAMS = $(noinst_PROGRAMS_common) $(noinst_PROGRAMS_cdep) \ - $(noinst_PROGRAMS_arch) - --Lia64_test_readonly_SOURCES = Lia64-test-readonly.c ia64-test-readonly-asm.S --Gia64_test_readonly_SOURCES = Gia64-test-readonly.c ia64-test-readonly-asm.S - Lia64_test_stack_SOURCES = Lia64-test-stack.c ia64-test-stack-asm.S \ - ia64-test-stack.h - Gia64_test_stack_SOURCES = Gia64-test-stack.c ia64-test-stack-asm.S \ ---- tests/Makefile.in -+++ tests/Makefile.in -@@ -73,9 +73,6 @@ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Lia64-test-nat$(EXEEXT) \ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-rbs$(EXEEXT) \ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Lia64-test-rbs$(EXEEXT) \ --@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-readonly$(EXEEXT) \ --@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Lia64-test-readonly$(EXEEXT) \ --@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-setjmp$(EXEEXT) \ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-sig$(EXEEXT) - am__EXEEXT_4 = - @REMOTE_ONLY_FALSE@am__EXEEXT_5 = forker$(EXEEXT) mapper$(EXEEXT) \ -@@ -455,8 +452,7 @@ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@check_PROGRAMS_arch = Gia64-test-stack Lia64-test-stack \ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-nat Lia64-test-nat \ - @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-rbs Lia64-test-rbs \ --@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-readonly Lia64-test-readonly \ --@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-setjmp ia64-test-sig -+@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-sig - - check_SCRIPTS = $(check_SCRIPTS_common) $(check_SCRIPTS_cdep) \ - $(check_SCRIPTS_arch) ---- tests/ia64-test-setjmp.c -+++ tests/ia64-test-setjmp.c -@@ -34,6 +34,7 @@ - #include - #include - #include -+#include - #include - - #include diff --git a/libunwind-0.98.5.tar.gz b/libunwind-0.98.5.tar.gz deleted file mode 100644 index 2bbaf5c..0000000 --- a/libunwind-0.98.5.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:62c585e7939569b8c1bfb8988a536d0c270a4dfea7aa3a74199a9385c000b918 -size 543170 diff --git a/libunwind-0.98.6.diff b/libunwind-0.98.6.diff new file mode 100644 index 0000000..67a682a --- /dev/null +++ b/libunwind-0.98.6.diff @@ -0,0 +1,80 @@ +--- include/internal.h ++++ include/internal.h +@@ -201,11 +201,11 @@ extern int unwi_dyn_validate_cache (unw_ + extern unw_dyn_info_list_t _U_dyn_info_list; + extern pthread_mutex_t _U_dyn_info_list_lock; + ++#include + #if UNW_DEBUG + #define unwi_debug_level UNWI_ARCH_OBJ(debug_level) + extern long unwi_debug_level; + +-# include + # define Debug(level,format...) \ + do { \ + if (unwi_debug_level > level) \ +--- src/x86_64/Gresume.c ++++ src/x86_64/Gresume.c +@@ -35,6 +35,7 @@ HIDDEN inline int + x86_64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, void *arg) + { + # warning Implement me! ++ return -UNW_EINVAL; + } + + #endif /* !UNW_REMOTE_ONLY */ +--- tests/Gtest-concurrent.c ++++ tests/Gtest-concurrent.c +@@ -84,9 +84,10 @@ doit (void) + int i; + + for (i = 0; i < NTHREADS; ++i) +- pthread_create (th + i, NULL, worker, NULL); ++ if (pthread_create (th + i, NULL, worker, NULL)) ++ break; + +- for (i = 0; i < NTHREADS; ++i) ++ while (i-- > 0) + pthread_join (th[i], NULL); + } + +--- tests/Makefile.am ++++ tests/Makefile.am +@@ -23,7 +23,7 @@ if ARCH_IA64 + Gia64-test-nat Lia64-test-nat \ + Gia64-test-rbs Lia64-test-rbs \ + Gia64-test-readonly Lia64-test-readonly \ +- ia64-test-setjmp ia64-test-sig ++ ia64-test-sig + endif + check_SCRIPTS_cdep = run-ptrace-mapper run-ptrace-misc + check_PROGRAMS_cdep = Gtest-bt Ltest-bt Gtest-exc Ltest-exc \ +--- tests/Makefile.in ++++ tests/Makefile.in +@@ -73,7 +73,6 @@ am__EXEEXT_1 = test-proc-info$(EXEEXT) t + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Lia64-test-rbs$(EXEEXT) \ + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-readonly$(EXEEXT) \ + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Lia64-test-readonly$(EXEEXT) \ +-@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-setjmp$(EXEEXT) \ + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-sig$(EXEEXT) + am__EXEEXT_4 = + @REMOTE_ONLY_FALSE@am__EXEEXT_5 = forker$(EXEEXT) mapper$(EXEEXT) \ +@@ -459,7 +458,7 @@ check_SCRIPTS_common = run-check-namespa + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-nat Lia64-test-nat \ + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-rbs Lia64-test-rbs \ + @ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ Gia64-test-readonly Lia64-test-readonly \ +-@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-setjmp ia64-test-sig ++@ARCH_IA64_TRUE@@REMOTE_ONLY_FALSE@ ia64-test-sig + + check_SCRIPTS = $(check_SCRIPTS_common) $(check_SCRIPTS_cdep) \ + $(check_SCRIPTS_arch) +--- tests/ia64-test-setjmp.c ++++ tests/ia64-test-setjmp.c +@@ -34,6 +34,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE + #include + #include + #include ++#include + #include + + #include diff --git a/libunwind-0.98.6.tar.gz b/libunwind-0.98.6.tar.gz new file mode 100644 index 0000000..ae7041f --- /dev/null +++ b/libunwind-0.98.6.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fdfdbbfb03d735f75c30ea3c968535baf38fa8f77a432f15afad64d2fdc4dde1 +size 555902 diff --git a/libunwind.changes b/libunwind.changes index c1af62c..38c4561 100644 --- a/libunwind.changes +++ b/libunwind.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue May 13 18:09:29 CEST 2008 - schwab@suse.de + +- Update to libunwind 0.98.6. + ** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab. + ** On ia64, get_static_proc_name() no longer uses a weak reference to + _Uelf64_get_proc_name(), since that was causing problems with archive + libraries and no longer served any apparent purpose. Fixed by + Curt Wohlgemuth. + ------------------------------------------------------------------- Fri Apr 18 17:26:49 CEST 2008 - rguenther@suse.de diff --git a/libunwind.spec b/libunwind.spec index b2491fc..527f336 100644 --- a/libunwind.spec +++ b/libunwind.spec @@ -1,5 +1,5 @@ # -# spec file for package libunwind (Version 0.98.5) +# spec file for package libunwind (Version 0.98.6) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -15,13 +15,12 @@ Name: libunwind BuildRequires: gcc-c++ Url: http://savannah.nongnu.org/projects/libunwind/ Summary: Unwind Library -Version: 0.98.5 -Release: 108 +Version: 0.98.6 +Release: 1 Group: System/Base License: X11/MIT Source: libunwind-%{version}.tar.gz Patch: libunwind-%{version}.diff -Patch1: libunwind-%{version}-buildfix.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build ExclusiveArch: %ix86 ia64 x86_64 @@ -55,7 +54,6 @@ Authors: %prep %setup -q %patch -%patch1 %build #chmod +w aclocal.m4 configure @@ -99,6 +97,13 @@ rm -rf $RPM_BUILD_ROOT %doc %{_mandir}/man?/* %changelog +* Tue May 13 2008 schwab@suse.de +- Update to libunwind 0.98.6. + ** Fix address-leak triggered by invalid byte-order. Fixed by Andreas Schwab. + ** On ia64, get_static_proc_name() no longer uses a weak reference to + _Uelf64_get_proc_name(), since that was causing problems with archive + libraries and no longer served any apparent purpose. Fixed by + Curt Wohlgemuth. * Fri Apr 18 2008 rguenther@suse.de - Fix build. * Wed Jun 06 2007 schwab@suse.de