Accepting request 90397 from Base:System
- update to libunwind 1.0.1: * hundreds of fixes, see http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=shortlog for details * ARM support * Greatly improved x86-64 support thanks to Arun Sharma. * Support for PPC64 added by Jose Flavio Aguilar Paulino. * Testing, stability and many fixes on x86 (Paul Pluzhnikov) * Improved local and remote unwinding on ARM (Ken Werner) * Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to slow code paths OBS-URL: https://build.opensuse.org/request/show/90397 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libunwind?expand=0&rev=16
This commit is contained in:
parent
23bc4896be
commit
c1d387ac7e
@ -1,13 +0,0 @@
|
|||||||
Index: tests/Gtest-dyn1.c
|
|
||||||
===================================================================
|
|
||||||
--- tests/Gtest-dyn1.c.orig
|
|
||||||
+++ tests/Gtest-dyn1.c
|
|
||||||
@@ -106,7 +106,7 @@ sighandler (int signal)
|
|
||||||
name[0] = '\0';
|
|
||||||
off[0] = '\0';
|
|
||||||
if (unw_get_proc_name (&cursor, name, sizeof (name), &offset) == 0
|
|
||||||
- && off > 0)
|
|
||||||
+ && offset > 0)
|
|
||||||
snprintf (off, sizeof (off), "+0x%lx", (long) offset);
|
|
||||||
if (verbose)
|
|
||||||
printf ("ip = %lx <%s%s>\n", (long) ip, name, off);
|
|
@ -1,114 +0,0 @@
|
|||||||
--- configure.in
|
|
||||||
+++ configure.in
|
|
||||||
@@ -83,8 +83,7 @@ AC_CONFIG_LINKS(include/libunwind.h:incl
|
|
||||||
include/tdep.h:include/tdep-$target_arch.h)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(debug,
|
|
||||||
-[ --enable-debug turn on debug support (slows down execution)],
|
|
||||||
-[enable_debug=yes], [])
|
|
||||||
+[ --enable-debug turn on debug support (slows down execution)])
|
|
||||||
|
|
||||||
LIBUNWIND___THREAD
|
|
||||||
|
|
||||||
--- 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 <stdio.h>
|
|
||||||
#if UNW_DEBUG
|
|
||||||
#define unwi_debug_level UNWI_ARCH_OBJ(debug_level)
|
|
||||||
extern long unwi_debug_level;
|
|
||||||
|
|
||||||
-# include <stdio.h>
|
|
||||||
# define Debug(level,format...) \
|
|
||||||
do { \
|
|
||||||
if (unwi_debug_level > level) \
|
|
||||||
--- src/ia64/Gscript.c
|
|
||||||
+++ src/ia64/Gscript.c
|
|
||||||
@@ -113,7 +113,7 @@ get_script_cache (unw_addr_space_t as, s
|
|
||||||
sigprocmask (SIG_SETMASK, &unwi_full_sigmask, saved_sigmaskp);
|
|
||||||
if (likely (caching == UNW_CACHE_GLOBAL))
|
|
||||||
{
|
|
||||||
- Debug (16, "%s: acquiring lock\n");
|
|
||||||
+ Debug (16, "acquiring lock\n");
|
|
||||||
mutex_lock (&cache->lock);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
--- src/os-linux.h
|
|
||||||
+++ src/os-linux.h
|
|
||||||
@@ -226,7 +226,7 @@ maps_next (struct map_iterator *mi,
|
|
||||||
{
|
|
||||||
/* copy down the remaining bytes, if any */
|
|
||||||
if (bytes_left > 0)
|
|
||||||
- memcpy (mi->buf_end - mi->buf_size, mi->buf, bytes_left);
|
|
||||||
+ memmove (mi->buf_end - mi->buf_size, mi->buf, bytes_left);
|
|
||||||
|
|
||||||
mi->buf = mi->buf_end - mi->buf_size;
|
|
||||||
nread = read (mi->fd, mi->buf + bytes_left,
|
|
||||||
@@ -238,8 +238,8 @@ maps_next (struct map_iterator *mi,
|
|
||||||
/* Move contents to the end of the buffer so we
|
|
||||||
maintain the invariant that all bytes between
|
|
||||||
mi->buf and mi->buf_end are valid. */
|
|
||||||
- memcpy (mi->buf_end - nread - bytes_left, mi->buf,
|
|
||||||
- nread + bytes_left);
|
|
||||||
+ memmove (mi->buf_end - nread - bytes_left, mi->buf,
|
|
||||||
+ nread + bytes_left);
|
|
||||||
mi->buf = mi->buf_end - nread - bytes_left;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- 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 \
|
|
||||||
@@ -83,7 +83,6 @@ LIBUNWIND = ../src/libunwind-$(arch).la
|
|
||||||
LDADD = $(LIBUNWIND)
|
|
||||||
|
|
||||||
test_setjmp_LDADD = ../src/libunwind-setjmp.la
|
|
||||||
-ia64_test_setjmp_LDADD = ../src/libunwind-setjmp.la
|
|
||||||
test_ptrace_LDADD = ../src/libunwind-ptrace.a $(LIBUNWIND)
|
|
||||||
Ltest_concurrent_LDADD = $(LIBUNWIND) -lpthread
|
|
||||||
Gtest_concurrent_LDADD = $(LIBUNWIND) -lpthread
|
|
||||||
--- tests/ia64-test-setjmp.c
|
|
||||||
+++ tests/ia64-test-setjmp.c
|
|
||||||
@@ -34,6 +34,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DE
|
|
||||||
#include <setjmp.h>
|
|
||||||
#include <signal.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
+#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
#include <sys/mman.h>
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:fdfdbbfb03d735f75c30ea3c968535baf38fa8f77a432f15afad64d2fdc4dde1
|
|
||||||
size 555902
|
|
33
libunwind-1.0.1-ia64.diff
Normal file
33
libunwind-1.0.1-ia64.diff
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 962366dace4fed902ad5e89df1b34c13c3224b8b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arun Sharma <asharma@fb.com>
|
||||||
|
Date: Fri, 23 Sep 2011 11:11:34 -0700
|
||||||
|
Subject: [PATCH] Fixup compile errors on ia64.
|
||||||
|
|
||||||
|
Suggested-by: Harald Servat <harald.servat@bsc.es>
|
||||||
|
---
|
||||||
|
src/ptrace/_UPT_get_dyn_info_list_addr.c | 2 +-
|
||||||
|
src/ptrace/_UPT_internal.h | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
--- a/src/ptrace/_UPT_get_dyn_info_list_addr.c
|
||||||
|
+++ b/src/ptrace/_UPT_get_dyn_info_list_addr.c
|
||||||
|
@@ -62,7 +62,7 @@ get_list_addr (unw_addr_space_t as, unw_word_t *dil_addr, void *arg,
|
||||||
|
|
||||||
|
Debug (16, "checking object %s\n", path);
|
||||||
|
|
||||||
|
- di = _UPTi_find_unwind_table (ui, as, path, lo, off);
|
||||||
|
+ di = _UPTi_find_unwind_table (ui, as, path, lo, off, 0);
|
||||||
|
if (di)
|
||||||
|
{
|
||||||
|
res = _Uia64_find_dyn_list (as, di, arg);
|
||||||
|
--- a/src/ptrace/_UPT_internal.h
|
||||||
|
+++ b/src/ptrace/_UPT_internal.h
|
||||||
|
@@ -64,7 +64,7 @@ struct UPT_info
|
||||||
|
|
||||||
|
extern int _UPT_reg_offset[UNW_REG_LAST + 1];
|
||||||
|
|
||||||
|
-extern int _UPTi_find_unwind_table (struct UPT_info *ui,
|
||||||
|
+extern unw_dyn_info_t *UPTi_find_unwind_table (struct UPT_info *ui,
|
||||||
|
unw_addr_space_t as,
|
||||||
|
char *path,
|
||||||
|
unw_word_t segbase,
|
112
libunwind-1.0.1-memset.diff
Normal file
112
libunwind-1.0.1-memset.diff
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
From f89fb17695e8137a5f4e23570bf9f53374186c96 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Arun <asharma@fb.com>
|
||||||
|
Date: Sun, 2 Oct 2011 22:43:28 -0700
|
||||||
|
Subject: [PATCH] Fix incorrect calls to memset.
|
||||||
|
|
||||||
|
Found when compiling libunwind with clang.
|
||||||
|
|
||||||
|
Signed-off-by: Paul Pluzhnikov <ppluzhnikov@google.com>
|
||||||
|
---
|
||||||
|
src/arm/Gget_save_loc.c | 2 +-
|
||||||
|
src/hppa/Gget_save_loc.c | 2 +-
|
||||||
|
src/ia64/Gget_save_loc.c | 2 +-
|
||||||
|
src/mips/Gget_save_loc.c | 2 +-
|
||||||
|
src/x86/Gget_save_loc.c | 2 +-
|
||||||
|
src/x86_64/Gget_save_loc.c | 2 +-
|
||||||
|
tests/test-proc-info.c | 2 +-
|
||||||
|
7 files changed, 7 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/arm/Gget_save_loc.c b/src/arm/Gget_save_loc.c
|
||||||
|
index ba7bf17..151ba0f 100644
|
||||||
|
--- a/src/arm/Gget_save_loc.c
|
||||||
|
+++ b/src/arm/Gget_save_loc.c
|
||||||
|
@@ -57,7 +57,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (DWARF_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/src/hppa/Gget_save_loc.c b/src/hppa/Gget_save_loc.c
|
||||||
|
index 7aa6f31..1b21919 100644
|
||||||
|
--- a/src/hppa/Gget_save_loc.c
|
||||||
|
+++ b/src/hppa/Gget_save_loc.c
|
||||||
|
@@ -35,7 +35,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
|
||||||
|
#warning FIX ME!
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (DWARF_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/src/ia64/Gget_save_loc.c b/src/ia64/Gget_save_loc.c
|
||||||
|
index 7bc2b19..49bdaba 100644
|
||||||
|
--- a/src/ia64/Gget_save_loc.c
|
||||||
|
+++ b/src/ia64/Gget_save_loc.c
|
||||||
|
@@ -142,7 +142,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (IA64_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/src/mips/Gget_save_loc.c b/src/mips/Gget_save_loc.c
|
||||||
|
index dbccea8..262e23e 100644
|
||||||
|
--- a/src/mips/Gget_save_loc.c
|
||||||
|
+++ b/src/mips/Gget_save_loc.c
|
||||||
|
@@ -75,7 +75,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (DWARF_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/src/x86/Gget_save_loc.c b/src/x86/Gget_save_loc.c
|
||||||
|
index 6e6f9dc..e8cc79e 100644
|
||||||
|
--- a/src/x86/Gget_save_loc.c
|
||||||
|
+++ b/src/x86/Gget_save_loc.c
|
||||||
|
@@ -109,7 +109,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (DWARF_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/src/x86_64/Gget_save_loc.c b/src/x86_64/Gget_save_loc.c
|
||||||
|
index db81db3..20b14a5 100644
|
||||||
|
--- a/src/x86_64/Gget_save_loc.c
|
||||||
|
+++ b/src/x86_64/Gget_save_loc.c
|
||||||
|
@@ -49,7 +49,7 @@ unw_get_save_loc (unw_cursor_t *cursor, int reg, unw_save_loc_t *sloc)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- memset (sloc, 0, sizeof (sloc));
|
||||||
|
+ memset (sloc, 0, sizeof (*sloc));
|
||||||
|
|
||||||
|
if (DWARF_IS_NULL_LOC (loc))
|
||||||
|
{
|
||||||
|
diff --git a/tests/test-proc-info.c b/tests/test-proc-info.c
|
||||||
|
index 9e039c6..e8915fb 100644
|
||||||
|
--- a/tests/test-proc-info.c
|
||||||
|
+++ b/tests/test-proc-info.c
|
||||||
|
@@ -72,7 +72,7 @@ access_fpreg (unw_addr_space_t as, unw_regnum_t regnum, unw_fpreg_t *valp,
|
||||||
|
int write, void *arg)
|
||||||
|
{
|
||||||
|
if (!write)
|
||||||
|
- memset (valp, 0, sizeof (valp));
|
||||||
|
+ memset (valp, 0, sizeof (*valp));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.7.2.5
|
||||||
|
|
52
libunwind-1.0.1-tests.diff
Normal file
52
libunwind-1.0.1-tests.diff
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
--- tests/Makefile.am
|
||||||
|
+++ tests/Makefile.am
|
||||||
|
@@ -82,14 +82,20 @@
|
||||||
|
|
||||||
|
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
|
||||||
|
+ia64_test_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+Gia64_test_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+Gia64_test_readonly_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
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 \
|
||||||
|
ia64-test-stack.h
|
||||||
|
+Gia64_test_stack_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
Lia64_test_rbs_SOURCES = Lia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
|
||||||
|
Gia64_test_rbs_SOURCES = Gia64-test-rbs.c ia64-test-rbs-asm.S ia64-test-rbs.h
|
||||||
|
+Gia64_test_rbs_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
Lia64_test_nat_SOURCES = Lia64-test-nat.c ia64-test-nat-asm.S
|
||||||
|
Gia64_test_nat_SOURCES = Gia64-test-nat.c ia64-test-nat-asm.S
|
||||||
|
+Gia64_test_nat_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
ia64_test_dyn1_SOURCES = ia64-test-dyn1.c ia64-dyn-asm.S flush-cache.S
|
||||||
|
ppc64_test_altivec_SOURCES = ppc64-test-altivec.c ppc64-test-altivec-utils.c
|
||||||
|
ppc64_test_wchar_SOURCES = ppc64-test-wchar.c
|
||||||
|
@@ -128,8 +134,8 @@
|
||||||
|
|
||||||
|
test_async_sig_LDADD = $(LIBUNWIND_local) -lpthread
|
||||||
|
test_flush_cache_LDADD = $(LIBUNWIND_local)
|
||||||
|
-test_init_remote_LDADD = $(LIBUNWIND)
|
||||||
|
-test_mem_LDADD = $(LIBUNWIND)
|
||||||
|
+test_init_remote_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+test_mem_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
test_ptrace_LDADD = $(LIBUNWIND_ptrace) $(LIBUNWIND)
|
||||||
|
test_proc_info_LDADD = $(LIBUNWIND)
|
||||||
|
test_static_link_LDADD = $(LIBUNWIND)
|
||||||
|
@@ -137,12 +143,12 @@
|
||||||
|
rs_race_LDADD = $(LIBUNWIND) -lpthread
|
||||||
|
test_varargs_LDADD = @BACKTRACELIB@
|
||||||
|
|
||||||
|
-Gtest_bt_LDADD = $(LIBUNWIND)
|
||||||
|
-Gtest_concurrent_LDADD = $(LIBUNWIND) -lpthread
|
||||||
|
+Gtest_bt_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+Gtest_concurrent_LDADD = $(LIBUNWIND) $(LIBUNWIND_local) -lpthread
|
||||||
|
Gtest_dyn1_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
-Gtest_exc_LDADD = $(LIBUNWIND)
|
||||||
|
-Gtest_init_LDADD = $(LIBUNWIND)
|
||||||
|
-Gtest_resume_sig_LDADD = $(LIBUNWIND)
|
||||||
|
+Gtest_exc_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+Gtest_init_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
+Gtest_resume_sig_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
Gperf_simple_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
Gtest_trace_LDADD=$(LIBUNWIND) $(LIBUNWIND_local)
|
||||||
|
Gperf_trace_LDADD = $(LIBUNWIND) $(LIBUNWIND_local)
|
3
libunwind-1.0.1.tar.gz
Normal file
3
libunwind-1.0.1.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:aa95fd184c0b90d95891c2f3bac2c7df708ff016d2a6ee8b2eabb769f864101f
|
||||||
|
size 1028725
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Oct 17 16:03:13 CEST 2011 - dmueller@suse.de
|
||||||
|
|
||||||
|
- update to libunwind 1.0.1:
|
||||||
|
* hundreds of fixes, see http://git.savannah.gnu.org/gitweb/?p=libunwind.git;a=shortlog
|
||||||
|
for details
|
||||||
|
* ARM support
|
||||||
|
* Greatly improved x86-64 support thanks to Arun Sharma.
|
||||||
|
* Support for PPC64 added by Jose Flavio Aguilar Paulino.
|
||||||
|
* Testing, stability and many fixes on x86 (Paul Pluzhnikov)
|
||||||
|
* Improved local and remote unwinding on ARM (Ken Werner)
|
||||||
|
* Fast unwind (rbp, rsp, rip only) on x86_64 with a fallback to slow code paths
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de
|
Sun Oct 31 12:37:02 UTC 2010 - jengelh@medozas.de
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package libunwind (Version 0.98.6)
|
# spec file for package libunwind
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -22,16 +22,16 @@ Name: libunwind
|
|||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
Url: http://savannah.nongnu.org/projects/libunwind/
|
Url: http://savannah.nongnu.org/projects/libunwind/
|
||||||
Summary: Unwind Library
|
Summary: Unwind Library
|
||||||
Version: 0.98.6
|
Version: 1.0.1
|
||||||
Release: 34
|
Release: 34
|
||||||
Group: System/Base
|
Group: System/Base
|
||||||
License: MIT
|
License: MIT
|
||||||
Source: libunwind-%{version}.tar.gz
|
Source: libunwind-%{version}.tar.gz
|
||||||
Patch: libunwind-%{version}.diff
|
Patch0: libunwind-1.0.1-ia64.diff
|
||||||
# PATCH-FIX-OPENSUSE libunwind-0.98.6-pointer-comparison.patch bnc#531705
|
Patch1: libunwind-1.0.1-memset.diff
|
||||||
Patch1: libunwind-%{version}-pointer-comparison.patch
|
Patch2: libunwind-1.0.1-tests.diff
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
ExclusiveArch: %ix86 ia64 x86_64
|
ExclusiveArch: %ix86 ia64 x86_64 %arm
|
||||||
|
|
||||||
%description
|
%description
|
||||||
A portable and efficient C programming interface (API) to determine the
|
A portable and efficient C programming interface (API) to determine the
|
||||||
@ -62,28 +62,25 @@ Authors:
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2
|
||||||
|
# %patch
|
||||||
|
|
||||||
%build
|
%build
|
||||||
chmod +w aclocal.m4 configure
|
|
||||||
autoreconf -fi
|
autoreconf -fi
|
||||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
|
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -U_FORTIFY_SOURCE"
|
||||||
./configure "CFLAGS=$RPM_OPT_FLAGS" --prefix=/usr --mandir=%{_mandir} \
|
./configure "CFLAGS=$RPM_OPT_FLAGS" --prefix=/usr --mandir=%{_mandir} \
|
||||||
--libdir=%{_libdir} --build=%{_target_cpu}-suse-linux
|
--libdir=%{_libdir} --build=%{_target_cpu}-suse-linux
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
%ifarch ia64
|
|
||||||
make -k check
|
|
||||||
%else
|
|
||||||
# There are some expected failures
|
# There are some expected failures
|
||||||
make -k check || :
|
make -k check || :
|
||||||
%endif
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
mkdir -p $RPM_BUILD_ROOT/%{_lib}
|
mkdir -p $RPM_BUILD_ROOT/%{_lib}
|
||||||
mv $RPM_BUILD_ROOT%{_libdir}/libunwind.so.7* $RPM_BUILD_ROOT/%{_lib}
|
mv $RPM_BUILD_ROOT%{_libdir}/libunwind.so.8* $RPM_BUILD_ROOT/%{_lib}
|
||||||
cd $RPM_BUILD_ROOT%{_libdir}
|
ln -sf ../../%{_lib}/libunwind.so.8.* $RPM_BUILD_ROOT%{_libdir}/libunwind.so
|
||||||
ln -sf ../../%{_lib}/libunwind.so.7.* libunwind.so
|
|
||||||
|
|
||||||
%post -p /sbin/ldconfig
|
%post -p /sbin/ldconfig
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user