File libunwind-0.98.5.diff of Package libunwind

--- 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 <setjmp.h>
 #include <signal.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 
 #include <sys/mman.h>
openSUSE Build Service is sponsored by