Add code from upstream libs branch

This commit is contained in:
Petr Machata 2012-05-01 00:46:48 +02:00
parent bd055bc425
commit ee71d18ef6
4 changed files with 10204 additions and 83 deletions

View File

@ -1,58 +0,0 @@
diff -urp ltrace-0.5/configure.ac ltrace-0.5-pm/configure.ac
--- ltrace-0.5/configure.ac 2006-06-14 06:55:21.000000000 +0200
+++ ltrace-0.5-pm/configure.ac 2010-09-08 14:56:29.000000000 +0200
@@ -16,6 +16,7 @@ AC_PROG_INSTALL
dnl Checks for libraries.
AC_CHECK_LIB(iberty, cplus_demangle,,,)
AC_CHECK_LIB(supc++, __cxa_demangle,,,)
+AC_CHECK_LIB(stdc++, __cxa_demangle,,,)
dnl
dnl The following stuff may be useful, but I don't use it now.
diff -urp ltrace-0.5/demangle.c ltrace-0.5-pm/demangle.c
--- ltrace-0.5/demangle.c 2006-02-20 22:48:07.000000000 +0100
+++ ltrace-0.5-pm/demangle.c 2010-09-08 15:06:23.000000000 +0200
@@ -9,6 +9,7 @@
#include "options.h"
#include "output.h"
#include "demangle.h"
+#include "ltrace.h"
#include "dict.h"
diff -up ltrace-0.5/demangle.c\~ ltrace-0.5/demangle.c
--- ltrace-0.5/demangle.c~ 2006-02-20 22:48:07.000000000 +0100
+++ ltrace-0.5/demangle.c 2010-09-08 15:21:44.000000000 +0200
@@ -28,7 +28,7 @@ static void my_demangle_dict_clear(void)
const char *my_demangle(const char *function_name)
{
const char *tmp, *fn_copy;
-#if !defined HAVE_LIBIBERTY && defined HAVE_LIBSUPC__
+#ifdef USE_CXA_DEMANGLE
extern char *__cxa_demangle(const char *, char *, size_t *, int *);
int status = 0;
#endif
@@ -42,7 +42,7 @@ const char *my_demangle(const char *func
fn_copy = strdup(function_name);
#ifdef HAVE_LIBIBERTY
tmp = cplus_demangle(function_name, DMGL_ANSI | DMGL_PARAMS);
-#elif defined HAVE_LIBSUPC__
+#elif defined USE_CXA_DEMANGLE
tmp = __cxa_demangle(function_name, NULL, NULL, &status);
#endif
if (!tmp)
diff -up ltrace-0.5/ltrace.h\~ ltrace-0.5/ltrace.h
--- ltrace-0.5/ltrace.h~ 2010-09-08 15:30:25.000000000 +0200
+++ ltrace-0.5/ltrace.h 2010-09-08 15:38:27.000000000 +0200
@@ -14,7 +14,10 @@
#define MAX_LIBRARY 30
#define TRACE_FORK 1
-#if defined HAVE_LIBIBERTY || defined HAVE_LIBSUPC__
+#if defined HAVE_LIBSUPC__ || defined HAVE_LIBSTDC__
+# define USE_CXA_DEMANGLE
+#endif
+#if defined HAVE_LIBIBERTY || defined USE_CXA_DEMANGLE
# define USE_DEMANGLE
#endif

10190
ltrace-0.6.0-libs.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +0,0 @@
diff --git a/sysdeps/linux-gnu/ppc/plt.c b/sysdeps/linux-gnu/ppc/plt.c
index 980d028..668f63d 100644
--- a/sysdeps/linux-gnu/ppc/plt.c
+++ b/sysdeps/linux-gnu/ppc/plt.c
@@ -44,12 +44,16 @@ sym2addr(Process *proc, struct library_symbol *sym) {
pt_ret = ptrace(PTRACE_PEEKTEXT, proc->pid, addr, 0);
+#if SIZEOF_LONG == 8
if (proc->mask_32bit) {
// Assume big-endian.
addr = (void *)((pt_ret >> 32) & 0xffffffff);
} else {
addr = (void *)pt_ret;
}
+#else
+ addr = (void *)pt_ret;
+#endif
return addr;
}

View File

@ -17,14 +17,12 @@ Source: %{name}-%{version}.tar.bz2
Patch1: ltrace-0.5-ia64-sigill.patch
Patch2: ltrace-0.6.0-exec-stripped.patch
Patch3: ltrace-0.5-demangle.patch
Patch4: ltrace-0.5-etc-memmove.patch
Patch5: ltrace-0.6.0-return-string-n.patch
Patch6: ltrace-0.6.0-threads.patch
Patch7: ltrace-0.6.0-endian.patch
Patch8: ltrace-0.6.0-clone-test.patch
Patch9: ltrace-0.6.0-ppc-args.patch
Patch10: ltrace-0.6.0-ppc-shift.patch
Patch11: ltrace-0.6.0-vfork.patch
Patch12: ltrace-0.6.0-thread-races.patch
Patch13: ltrace-0.6.0-process-start.patch
@ -32,6 +30,7 @@ Patch14: ltrace-0.6.0-selinux.patch
Patch15: ltrace-0.6.0-detach-sleeping.patch
Patch16: ltrace-0.6.0-tail-return.patch
Patch17: ltrace-0.6.0-ppc-lwarx.patch
Patch18: ltrace-0.6.0-libs.patch
%description
Ltrace is a debugging program which runs a specified command until the
@ -47,14 +46,12 @@ execution of processes.
%setup -q
%patch1 -p1
%patch2 -p1
#%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
@ -62,6 +59,7 @@ execution of processes.
%patch15 -p1
%patch16 -p1
%patch17 -p1
%patch18 -p1
sed -i -e 's/-o root -g root//' Makefile.in
%build
@ -90,6 +88,18 @@ echo ====================TESTING END=====================
%config(noreplace) %{_sysconfdir}/ltrace.conf
%changelog
* Mon Apr 30 2012 Petr Machata <pmachata@redhat.com> - 0.6.0-11
- Fix detach from sleeping process
- Add limited support for return from tail call
- Fix singlestep over atomic instruction sequence on PPC
- Add extensive upstream patch that implements
- tracing calls done from DSOs
- better tools for filtering symbol tables
- support for tracing PLT calls on PPC64 (not entry points read from .plt)
- support for PPC32 old-style (BSS) PLT table
- Drop ppc-shift patch that was superseded by the above
- Drop demangle patch that hasn't been applied for some time now
* Wed Apr 11 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 0.6.0-10
- Drop ExclusiveArch as all current Primary/Secondary Arches are supported