diff --git a/ltrace-0.5-exec.patch b/ltrace-0.5-exec.patch index 73f11b8..82da4cc 100644 --- a/ltrace-0.5-exec.patch +++ b/ltrace-0.5-exec.patch @@ -1,7 +1,7 @@ -diff -Naurp ltrace-0.5/process_event.c ltrace-0.5-mod/process_event.c ---- ltrace-0.5/process_event.c 2006-09-26 08:41:49.000000000 -0500 -+++ ltrace-0.5-mod/process_event.c 2006-09-26 08:41:20.000000000 -0500 -@@ -238,19 +238,6 @@ static void process_sysret(struct event +diff -urp ltrace-0.5-1/process_event.c ltrace-0.5/process_event.c +--- ltrace-0.5-1/process_event.c 2008-10-07 12:09:14.000000000 +0200 ++++ ltrace-0.5/process_event.c 2008-10-07 12:09:37.000000000 +0200 +@@ -228,19 +228,6 @@ static void process_sysret(struct event output_right(LT_TOF_SYSCALLR, event->proc, sysname(event->proc, event->e_un.sysnum)); } @@ -21,11 +21,12 @@ diff -Naurp ltrace-0.5/process_event.c ltrace-0.5-mod/process_event.c continue_process(event->proc->pid); } -diff -Naurp ltrace-0.5/wait_for_something.c ltrace-0.5-mod/wait_for_something.c ---- ltrace-0.5/wait_for_something.c 2006-02-20 15:48:07.000000000 -0600 -+++ ltrace-0.5-mod/wait_for_something.c 2006-09-26 08:41:20.000000000 -0500 -@@ -92,6 +92,29 @@ struct event *wait_for_something(void) - event.e_un.signum = WSTOPSIG(status); +Only in ltrace-0.5: process_event.c.orig +diff -urp ltrace-0.5-1/wait_for_something.c ltrace-0.5/wait_for_something.c +--- ltrace-0.5-1/wait_for_something.c 2008-10-07 12:09:14.000000000 +0200 ++++ ltrace-0.5/wait_for_something.c 2008-10-07 12:09:37.000000000 +0200 +@@ -110,6 +110,29 @@ struct event *wait_for_something(void) + continue_after_signal(event.proc->pid, event.e_un.signum); return &event; } + if (WSTOPSIG(status) == SIGTRAP){ @@ -54,3 +55,4 @@ diff -Naurp ltrace-0.5/wait_for_something.c ltrace-0.5-mod/wait_for_something.c event.thing = LT_EV_BREAKPOINT; if (!event.proc->instruction_pointer) { event.proc->instruction_pointer = +Only in ltrace-0.5: wait_for_something.c.orig diff --git a/ltrace-0.5-fork.patch b/ltrace-0.5-fork.patch index 757e4d9..a059dda 100644 --- a/ltrace-0.5-fork.patch +++ b/ltrace-0.5-fork.patch @@ -1,7 +1,7 @@ -diff -BurpN ltrace-x86/ltrace.h ltrace-0.5/ltrace.h ---- ltrace-x86/ltrace.h 2006-12-06 11:34:44.000000000 -0500 -+++ ltrace-0.5/ltrace.h 2006-12-06 14:42:52.000000000 -0500 -@@ -175,6 +173,7 @@ extern void reinitialize_breakpoints(str +diff -urp ltrace-0.5-1/ltrace.h ltrace-0.5/ltrace.h +--- ltrace-0.5-1/ltrace.h 2008-10-07 12:05:57.000000000 +0200 ++++ ltrace-0.5/ltrace.h 2008-10-07 12:06:20.000000000 +0200 +@@ -173,6 +173,7 @@ extern void reinitialize_breakpoints(str extern struct process *open_program(char *filename, pid_t pid); extern void open_pid(pid_t pid, int verbose); @@ -9,12 +9,39 @@ diff -BurpN ltrace-x86/ltrace.h ltrace-0.5/ltrace.h extern void show_summary(void); /* Arch-dependent stuff: */ -diff -BurpN ltrace-x86/proc.c ltrace-0.5/proc.c ---- ltrace-x86/proc.c 2006-12-06 11:34:45.000000000 -0500 -+++ ltrace-0.5/proc.c 2006-12-06 14:42:13.000000000 -0500 -@@ -61,3 +59,11 @@ void open_pid(pid_t pid, int options) +diff -urp ltrace-0.5-1/ltrace.h.orig ltrace-0.5/ltrace.h.orig +--- ltrace-0.5-1/ltrace.h.orig 2006-06-14 06:55:21.000000000 +0200 ++++ ltrace-0.5/ltrace.h.orig 2008-10-07 12:06:19.000000000 +0200 +@@ -12,6 +12,7 @@ + #include "sysdep.h" + + #define MAX_LIBRARY 30 ++#define TRACE_FORK 1 + + #if defined HAVE_LIBIBERTY || defined HAVE_LIBSUPC__ + # define USE_DEMANGLE +@@ -176,7 +177,7 @@ extern void show_summary(void); + + /* Arch-dependent stuff: */ + extern char *pid2name(pid_t pid); +-extern void trace_set_options(struct process *proc, pid_t pid); ++extern void trace_set_options(struct process *proc, pid_t pid, int option); + extern void trace_me(void); + extern int trace_pid(pid_t pid); + extern void untrace_pid(pid_t pid); +@@ -204,5 +205,5 @@ extern void *sym2addr(struct process *, + #if 0 /* not yet */ + extern int umoven(struct process *proc, void *addr, int len, void *laddr); + #endif +- ++extern ulong get_child_pid(pid_t pid); + #endif +diff -urp ltrace-0.5-1/proc.c ltrace-0.5/proc.c +--- ltrace-0.5-1/proc.c 2008-10-07 12:05:58.000000000 +0200 ++++ ltrace-0.5/proc.c 2008-10-07 12:06:20.000000000 +0200 +@@ -58,3 +58,11 @@ void open_pid(pid_t pid, int verbose) + proc = open_program(filename, 0); proc->pid = pid; - proc->breakpoints_enabled = -1; } + +void open_forked_pid(pid_t pid) @@ -24,9 +51,10 @@ diff -BurpN ltrace-x86/proc.c ltrace-0.5/proc.c + proc->pid = pid; + proc->breakpoints_enabled = -1; +} -diff -BurpN ltrace-x86/testsuite/lib/ltrace.exp ltrace-0.5/testsuite/lib/ltrace.exp ---- ltrace-x86/testsuite/lib/ltrace.exp 2006-12-06 11:34:43.000000000 -0500 -+++ ltrace-0.5/testsuite/lib/ltrace.exp 2006-12-06 15:31:42.000000000 -0500 +Only in ltrace-0.5: proc.c.orig +diff -urp ltrace-0.5-1/testsuite/lib/ltrace.exp ltrace-0.5/testsuite/lib/ltrace.exp +--- ltrace-0.5-1/testsuite/lib/ltrace.exp 2006-03-14 00:12:01.000000000 +0100 ++++ ltrace-0.5/testsuite/lib/ltrace.exp 2008-10-07 12:06:20.000000000 +0200 @@ -260,7 +260,7 @@ proc ltrace_saveoutput { args } { proc ltrace_verify_output { file_to_search pattern {instance_no 0}} { @@ -36,9 +64,9 @@ diff -BurpN ltrace-x86/testsuite/lib/ltrace.exp ltrace-0.5/testsuite/lib/ltrace. verbose "output = $output" if { $instance_no == 0 } then { -diff -BurpN ltrace-x86/testsuite/ltrace.minor/trace-fork.exp ltrace-0.5/testsuite/ltrace.minor/trace-fork.exp ---- ltrace-x86/testsuite/ltrace.minor/trace-fork.exp 2006-12-06 11:34:43.000000000 -0500 -+++ ltrace-0.5/testsuite/ltrace.minor/trace-fork.exp 2006-12-06 15:29:40.000000000 -0500 +diff -urp ltrace-0.5-1/testsuite/ltrace.minor/trace-fork.exp ltrace-0.5/testsuite/ltrace.minor/trace-fork.exp +--- ltrace-0.5-1/testsuite/ltrace.minor/trace-fork.exp 2006-03-14 00:12:01.000000000 +0100 ++++ ltrace-0.5/testsuite/ltrace.minor/trace-fork.exp 2008-10-07 12:06:20.000000000 +0200 @@ -35,6 +35,19 @@ if [regexp {ELF from incompatible archit ltrace_saveoutput "${exec_output}" ${srcdir}/${subdir}/${testfile}.ltrace @@ -60,10 +88,10 @@ diff -BurpN ltrace-x86/testsuite/ltrace.minor/trace-fork.exp ltrace-0.5/testsuit + +set pattern {'^\[pid [0-9]*\][ \t]*sleep'} +ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1 -diff -BurpN ltrace-x86/wait_for_something.c ltrace-0.5/wait_for_something.c ---- ltrace-x86/wait_for_something.c 2006-12-06 21:43:33.000000000 +0100 -+++ ltrace-0.5/wait_for_something.c 2006-12-06 21:45:06.000000000 +0100 -@@ -103,7 +103,8 @@ +diff -urp ltrace-0.5-1/wait_for_something.c ltrace-0.5/wait_for_something.c +--- ltrace-0.5-1/wait_for_something.c 2008-10-07 12:05:57.000000000 +0200 ++++ ltrace-0.5/wait_for_something.c 2008-10-07 12:06:20.000000000 +0200 +@@ -103,7 +103,8 @@ struct event *wait_for_something(void) event.e_un.signum = WSTOPSIG(status); child_pid = (pid_t) get_child_pid(event.proc->pid); if (child_pid){ diff --git a/ltrace.spec b/ltrace.spec index 74e0d1d..1da3e5d 100644 --- a/ltrace.spec +++ b/ltrace.spec @@ -1,7 +1,7 @@ Summary: Tracks runtime library calls from dynamically linked executables Name: ltrace Version: 0.5 -Release: 11.45svn%{?dist} +Release: 12.45svn%{?dist} URL: http://ltrace.alioth.debian.org/ License: GPLv2+ Group: Development/Debuggers @@ -90,6 +90,10 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/ltrace.conf %changelog +* Tue Oct 7 2008 Petr Machata - 0.5-12.45svn +- Fix fork & exec patches to apply cleanly under --fuzz=0 +- Resolves: #465036 + * Fri May 23 2008 Petr Machata - 0.5-11.45svn - Patch from James M. Leddy, fixes interaction of -c and -o - Fix compilation by using -D_LARGEFILE64_SOURCE