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 <bryanhundven@gmail.com>
This commit is contained in:
Bryan Hundven 2015-09-01 19:12:51 -07:00
parent 5b4aec54c7
commit d90a3c0ca5
8 changed files with 159 additions and 42 deletions

View File

@ -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 :

View File

@ -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);

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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. */

View File

@ -1,42 +0,0 @@
From a77b267abb870c935f9b4187ca31409fa5eb9dcb Mon Sep 17 00:00:00 2001
From: Peter Wu <lekensteyn@gmail.com>
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 <lekensteyn@gmail.com>
---
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