Skip to content

Commit

Permalink
Merge pull request #157 from bhundven/sync_ltrace_patches
Browse files Browse the repository at this point in the history
ltrace: Sync ltrace patches with debian
  • Loading branch information
bhundven committed Sep 2, 2015
2 parents 5b4aec5 + d90a3c0 commit dd34ed9
Show file tree
Hide file tree
Showing 8 changed files with 159 additions and 42 deletions.
43 changes: 43 additions & 0 deletions patches/ltrace/0.7.3/001-avoid-libstdc++.patch
@@ -0,0 +1,43 @@
From: Juan Cespedes <cespedes@debian.org>
Description: avoid warning from dpkg-shlibdeps:
package could avoid a useless dependency if ltrace was not
linked against libstdc++.so.6 (it uses none of the library's symbols)
Last-Update: 2013-12-30


--- a/configure.ac 2013-09-17 01:04:28.000000000 +0200
+++ b/configure.ac 2013-12-30 12:24:20.000000000 +0100
@@ -113,6 +113,15 @@
libstdcxx_LIBS=""])
AC_SUBST(libstdcxx_LIBS)

+if test "x$liberty_LIBS" != "x"
+then
+ libsupcxx_LIBS=""
+ libstdcxx_LIBS=""
+elif test "x$libsupcxx_LIBS" != "x"
+then
+ libstdcxx_LIBS=""
+fi
+

dnl Check security_get_boolean_active availability.
AC_CHECK_HEADERS(selinux/selinux.h)
--- a/configure 2013-09-17 01:07:46.000000000 +0100
+++ b/configure 2013-12-30 12:34:23.000000000 +0100
@@ -11826,6 +11826,15 @@



+if test "x$liberty_LIBS" != "x"
+then
+ libsupcxx_LIBS=""
+ libstdcxx_LIBS=""
+elif test "x$libsupcxx_LIBS" != "x"
+then
+ libstdcxx_LIBS=""
+fi
+

for ac_header in selinux/selinux.h
do :
18 changes: 18 additions & 0 deletions patches/ltrace/0.7.3/002-printf-p.patch
@@ -0,0 +1,18 @@
From: Juan Cespedes <cespedes@debian.org>
Description: Prevent freeing static-alloc'd memory for %p and %n in printf
Bug-Debian: http://bugs.debian.org/614994
Forwarded: http://lists.alioth.debian.org/pipermail/ltrace-devel/2013-September/000953.html
Last-Update: 2014-01-02


--- ltrace-0.7.3.orig/printf.c
+++ ltrace-0.7.3/printf.c
@@ -168,7 +168,7 @@ form_next_param(struct param_enum *self,
type_init_pointer(infop, array, 1);

} else if (format_type == ARGTYPE_POINTER) {
- type_init_pointer(infop, elt_info, 1);
+ type_init_pointer(infop, elt_info, 0);

} else {
*infop = *type_get_simple(format_type);
17 changes: 17 additions & 0 deletions patches/ltrace/0.7.3/003-alpha-debug.h.patch
@@ -0,0 +1,17 @@
From: Juan Cespedes <cespedes@debian.org>
Description: fixed FTBFS on alpha
don't include "debug.h" twice
Last-Update: 2014-01-02
Bug-Debian: http://bugs.debian.org/678721


--- ltrace-0.7.3.orig/sysdeps/linux-gnu/alpha/trace.c
+++ ltrace-0.7.3/sysdeps/linux-gnu/alpha/trace.c
@@ -29,7 +29,6 @@

#include "proc.h"
#include "common.h"
-#include "debug.h"

#if (!defined(PTRACE_PEEKUSER) && defined(PTRACE_PEEKUSR))
# define PTRACE_PEEKUSER PTRACE_PEEKUSR
28 changes: 28 additions & 0 deletions patches/ltrace/0.7.3/004-compile-warning.patch
@@ -0,0 +1,28 @@
From: Juan Cespedes <cespedes@debian.org>
Description: Fix compile warning
Last-Update: 2014-01-02
Forwarded: not-needed


--- ltrace-0.7.3.orig/value.c
+++ ltrace-0.7.3/value.c
@@ -284,7 +284,7 @@ value_init_deref(struct value *ret_val,

/* We need "long" to be long enough to hold platform
* pointers. */
- typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))];
+ (void)sizeof(char[1 - 2*(sizeof(l) < sizeof(void *))]);

value_common_init(ret_val, valp->inferior, valp,
valp->type->u.ptr_info.info, 0);
--- ltrace-0.7.3.orig/lens_default.c
+++ ltrace-0.7.3/lens_default.c
@@ -344,7 +344,7 @@ format_array(FILE *stream, struct value
{
/* We need "long" to be long enough to cover the whole address
* space. */
- typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))];
+ (void)sizeof(char[1 - 2*(sizeof(long) < sizeof(void *))]);
long l;
if (expr_eval_word(length, value, arguments, &l) < 0)
return -1;
31 changes: 31 additions & 0 deletions patches/ltrace/0.7.3/005-sparc-ftbfs.patch
@@ -0,0 +1,31 @@
From: Juan Cespedes <cespedes@debian.org>
Description: fixes compilation on sparc
Last-Update: 2014-01-02


--- ltrace-0.7.3.orig/sysdeps/linux-gnu/sparc/plt.c
+++ ltrace-0.7.3/sysdeps/linux-gnu/sparc/plt.c
@@ -19,8 +19,9 @@
*/

#include <gelf.h>
+
#include "proc.h"
-#include "common.h"
+#include "library.h"

GElf_Addr
arch_plt_sym_val(struct ltelf *lte, size_t ndx, GElf_Rela * rela) {
--- ltrace-0.7.3.orig/sysdeps/linux-gnu/sparc/trace.c
+++ ltrace-0.7.3/sysdeps/linux-gnu/sparc/trace.c
@@ -26,8 +26,10 @@
#include <sys/wait.h>
#include <signal.h>
#include <string.h>
+
#include "ptrace.h"
#include "proc.h"
+#include "backend.h"
#include "common.h"

void
22 changes: 22 additions & 0 deletions patches/ltrace/0.7.3/006-unexpected-breakpoint.patch
@@ -0,0 +1,22 @@
From: Juan Cespedes <cespedes@debian.org>
Description: continue after unexpected breakpoint
(instead of decrementing PC and execute int3 again and again)
Last-Update: 2014-01-03


--- ltrace-0.7.3.orig/handle_event.c
+++ ltrace-0.7.3/handle_event.c
@@ -656,9 +656,12 @@ handle_breakpoint(Event *event)

if ((sbp = address2bpstruct(leader, brk_addr)) != NULL)
breakpoint_on_hit(sbp, event->proc);
- else if (event->proc->state != STATE_IGNORED)
+ else if (event->proc->state != STATE_IGNORED) {
output_line(event->proc,
"unexpected breakpoint at %p", brk_addr);
+ continue_process(event->proc->pid);
+ return;
+ }

/* breakpoint_on_hit may delete its own breakpoint, so we have
* to look it up again. */
File renamed without changes.

This file was deleted.

0 comments on commit dd34ed9

Please sign in to comment.