From d90a3c0ca5284e929f95f61b1c80b473233bc3cc Mon Sep 17 00:00:00 2001 From: Bryan Hundven Date: Tue, 1 Sep 2015 19:12:51 -0700 Subject: ltrace: Sync ltrace patches with debian This commit syncs the patches applied to ltrace with debian: https://sources.debian.net/src/ltrace/0.7.3-5/debian/patches/ Signed-off-by: Bryan Hundven diff --git a/patches/ltrace/0.7.3/001-avoid-libstdc++.patch b/patches/ltrace/0.7.3/001-avoid-libstdc++.patch new file mode 100644 index 0000000..9cbf557 --- /dev/null +++ b/patches/ltrace/0.7.3/001-avoid-libstdc++.patch @@ -0,0 +1,43 @@ +From: Juan Cespedes +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 : diff --git a/patches/ltrace/0.7.3/002-printf-p.patch b/patches/ltrace/0.7.3/002-printf-p.patch new file mode 100644 index 0000000..10631d9 --- /dev/null +++ b/patches/ltrace/0.7.3/002-printf-p.patch @@ -0,0 +1,18 @@ +From: Juan Cespedes +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); diff --git a/patches/ltrace/0.7.3/003-alpha-debug.h.patch b/patches/ltrace/0.7.3/003-alpha-debug.h.patch new file mode 100644 index 0000000..237026d --- /dev/null +++ b/patches/ltrace/0.7.3/003-alpha-debug.h.patch @@ -0,0 +1,17 @@ +From: Juan Cespedes +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 diff --git a/patches/ltrace/0.7.3/004-compile-warning.patch b/patches/ltrace/0.7.3/004-compile-warning.patch new file mode 100644 index 0000000..ad65829 --- /dev/null +++ b/patches/ltrace/0.7.3/004-compile-warning.patch @@ -0,0 +1,28 @@ +From: Juan Cespedes +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; diff --git a/patches/ltrace/0.7.3/005-sparc-ftbfs.patch b/patches/ltrace/0.7.3/005-sparc-ftbfs.patch new file mode 100644 index 0000000..266a8e6 --- /dev/null +++ b/patches/ltrace/0.7.3/005-sparc-ftbfs.patch @@ -0,0 +1,31 @@ +From: Juan Cespedes +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 ++ + #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 + #include + #include ++ + #include "ptrace.h" + #include "proc.h" ++#include "backend.h" + #include "common.h" + + void diff --git a/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch b/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch new file mode 100644 index 0000000..443bee4 --- /dev/null +++ b/patches/ltrace/0.7.3/006-unexpected-breakpoint.patch @@ -0,0 +1,22 @@ +From: Juan Cespedes +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. */ diff --git a/patches/ltrace/0.7.3/007-gcc-5.patch b/patches/ltrace/0.7.3/007-gcc-5.patch new file mode 100644 index 0000000..4c62f85 --- /dev/null +++ b/patches/ltrace/0.7.3/007-gcc-5.patch @@ -0,0 +1,25 @@ +From 8c3674c86688a79a8689772c3d0c84d6e7aaa118 Mon Sep 17 00:00:00 2001 +From: Petr Machata +Date: Tue, 8 Jan 2013 23:22:49 +0100 +Subject: Fix conditions in elf_read_u{16,32,64} + +- The calling convention of need_data is 0 on success, <0 on failure. + The condition seems to have it all mixed, using both a ! and a + comparison. + +diff --git a/ltrace-elf.c b/ltrace-elf.c +index 29c204f..0ecdc38 100644 +--- a/ltrace-elf.c ++++ b/ltrace-elf.c +@@ -219,7 +219,7 @@ need_data(Elf_Data *data, GElf_Xword offset, GElf_Xword size) + int \ + NAME(Elf_Data *data, GElf_Xword offset, uint##SIZE##_t *retp) \ + { \ +- if (!need_data(data, offset, SIZE / 8) < 0) \ ++ if (need_data(data, offset, SIZE / 8) < 0) \ + return -1; \ + \ + if (data->d_buf == NULL) /* NODATA section */ { \ +-- +cgit v0.10.2 + diff --git a/patches/ltrace/0.7.3/100-ltrace.git-a77b267abb870c935f9b4187ca31409fa5eb9dcb.patch b/patches/ltrace/0.7.3/100-ltrace.git-a77b267abb870c935f9b4187ca31409fa5eb9dcb.patch deleted file mode 100644 index 64691ce..0000000 --- a/patches/ltrace/0.7.3/100-ltrace.git-a77b267abb870c935f9b4187ca31409fa5eb9dcb.patch +++ /dev/null @@ -1,42 +0,0 @@ -From a77b267abb870c935f9b4187ca31409fa5eb9dcb Mon Sep 17 00:00:00 2001 -From: Peter Wu -Date: Thu, 26 Sep 2013 00:55:55 +0200 -Subject: [PATCH] Fix compile warning about unused typedef - -Switch assertion to style as used by the Linux kernel (BUILD_BUG_ON) - -Signed-off-by: Peter Wu ---- - lens_default.c | 2 +- - value.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lens_default.c b/lens_default.c -index e0c0566..84b74ea 100644 ---- a/lens_default.c -+++ b/lens_default.c -@@ -345,7 +345,7 @@ format_array(FILE *stream, struct value *value, struct value_dict *arguments, - { - /* 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; -diff --git a/value.c b/value.c -index d18db17..8caf98c 100644 ---- a/value.c -+++ b/value.c -@@ -284,7 +284,7 @@ value_init_deref(struct value *ret_val, struct value *valp) - - /* 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); --- -1.8.5.2 - diff --git a/patches/ltrace/0.7.3/110-ltrace.git-8c3674c86688a79a8689772c3d0c84d6e7aaa118.patch b/patches/ltrace/0.7.3/110-ltrace.git-8c3674c86688a79a8689772c3d0c84d6e7aaa118.patch deleted file mode 100644 index 4c62f85..0000000 --- a/patches/ltrace/0.7.3/110-ltrace.git-8c3674c86688a79a8689772c3d0c84d6e7aaa118.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 8c3674c86688a79a8689772c3d0c84d6e7aaa118 Mon Sep 17 00:00:00 2001 -From: Petr Machata -Date: Tue, 8 Jan 2013 23:22:49 +0100 -Subject: Fix conditions in elf_read_u{16,32,64} - -- The calling convention of need_data is 0 on success, <0 on failure. - The condition seems to have it all mixed, using both a ! and a - comparison. - -diff --git a/ltrace-elf.c b/ltrace-elf.c -index 29c204f..0ecdc38 100644 ---- a/ltrace-elf.c -+++ b/ltrace-elf.c -@@ -219,7 +219,7 @@ need_data(Elf_Data *data, GElf_Xword offset, GElf_Xword size) - int \ - NAME(Elf_Data *data, GElf_Xword offset, uint##SIZE##_t *retp) \ - { \ -- if (!need_data(data, offset, SIZE / 8) < 0) \ -+ if (need_data(data, offset, SIZE / 8) < 0) \ - return -1; \ - \ - if (data->d_buf == NULL) /* NODATA section */ { \ --- -cgit v0.10.2 - -- cgit v0.10.2-6-g49f6