From 0293121c6eca1c61b996ec53a9cf45e5b9d9b779 Mon Sep 17 00:00:00 2001 From: Martin Milata Date: Thu, 25 Jul 2013 19:09:34 +0200 Subject: [PATCH] Remove libunwind dependency altogether Always use GDB for unwinding. --- ...ways_build_gdb_output_based_unwinder.patch | 36 +++++++++++++++++++ satyr.spec | 16 ++++----- 2 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 satyr-0.5-always_build_gdb_output_based_unwinder.patch diff --git a/satyr-0.5-always_build_gdb_output_based_unwinder.patch b/satyr-0.5-always_build_gdb_output_based_unwinder.patch new file mode 100644 index 0000000..a49fd8e --- /dev/null +++ b/satyr-0.5-always_build_gdb_output_based_unwinder.patch @@ -0,0 +1,36 @@ +From db15f83d09faf472a02b28ac97770c84769d8004 Mon Sep 17 00:00:00 2001 +From: Martin Milata +Date: Thu, 25 Jul 2013 16:56:07 +0200 +Subject: [SATYR PATCH] Always build GDB-output-based unwinder + +Previously it was built only when a native unwinding library was +present, which does not make any sense. + +Signed-off-by: Martin Milata +Signed-off-by: Jakub Filak +--- + lib/core_unwind.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/lib/core_unwind.c b/lib/core_unwind.c +index f15a0f9..f8ec516 100644 +--- a/lib/core_unwind.c ++++ b/lib/core_unwind.c +@@ -49,7 +49,7 @@ sr_parse_coredump(const char *coredump_filename, + return NULL; + } + +-#else /* !defined WITH_LIBDWFL && !defined WITH_LIBUNWIND */ ++#endif /* !defined WITH_LIBDWFL && !defined WITH_LIBUNWIND */ + + /* FIXME: is there another way to pass the executable name to the find_elf + * callback? */ +@@ -444,5 +444,3 @@ sr_core_stacktrace_from_gdb(const char *gdb_output, const char *core_file, + sr_gdb_stacktrace_free(gdb_stacktrace); + return core_stacktrace; + } +- +-#endif /* !defined WITH_LIBDWFL && !defined WITH_LIBUNWIND */ +-- +1.8.3.1 + diff --git a/satyr.spec b/satyr.spec index b44605b..394e470 100644 --- a/satyr.spec +++ b/satyr.spec @@ -2,25 +2,17 @@ Name: satyr Version: 0.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tools to create anonymous, machine-friendly problem reports Group: System Environment/Libraries License: GPLv2+ URL: https://github.com/abrt/satyr Source0: https://fedorahosted.org/released/abrt/satyr-%{version}.tar.xz +Patch0: satyr-0.5-always_build_gdb_output_based_unwinder.patch BuildRequires: python2-devel BuildRequires: elfutils-devel, elfutils-libelf-devel, binutils-devel BuildRequires: rpm-devel -# We're going to switch to elfutils unwinder once it's available -%if 0%{?rhel} -%else -# libunwind exists only on selected arches -%ifarch %{arm} hppa ia64 mips ppc ppc64 %{ix86} x86_64 -BuildRequires: libunwind-devel >= 1.1 -%endif -%endif - %description Satyr is a library that can be used to create and process microreports. Microreports consist of structured data suitable to be analyzed in a fully @@ -48,6 +40,7 @@ Python bindings for %{name}. %prep %setup -q +%patch0 -p1 %build %configure --disable-static @@ -81,6 +74,9 @@ make check %{python_sitearch}/%{name}/* %changelog +* Thu Jul 25 2013 Martin Milata 0.5-2 +- Remove libunwind dependency altogether, always use GDB for unwinding. + * Thu Jul 25 2013 Jakub Filak 0.5-1 - Added function that creates core stacktrace from GDB output. Several bugfixes.