Bump version of ltrace
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
parent
5fd8f38fbc
commit
f4e2d3bd73
@ -1,128 +0,0 @@
|
||||
Fix several issues with the configure script:
|
||||
|
||||
* Allow option values to contains equal signs, like
|
||||
CC="/foo/arm-linux-gcc --sysroot=/foobar/usr"
|
||||
|
||||
* Parse the option before doing the tests so that CC/CFLAGS can be
|
||||
used during the tests.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
configure | 72 +++++++++++++++++++++++++++++++-------------------------------
|
||||
1 file changed, 37 insertions(+), 35 deletions(-)
|
||||
|
||||
Index: ltrace-0.5.3/configure
|
||||
===================================================================
|
||||
--- ltrace-0.5.3.orig/configure
|
||||
+++ ltrace-0.5.3/configure
|
||||
@@ -6,6 +6,38 @@
|
||||
exit 1
|
||||
fi
|
||||
|
||||
+CC=gcc
|
||||
+CPPFLAGS=' -I /usr/include/libelf'
|
||||
+CFLAGS='-g -O2'
|
||||
+LIBS='-lelf '
|
||||
+INSTALL='/usr/bin/install -c'
|
||||
+iquote='-iquote '
|
||||
+iquoteend=''
|
||||
+
|
||||
+prefix=/usr/local
|
||||
+sysconfdir='${prefix}/etc'
|
||||
+bindir='${prefix}/bin'
|
||||
+mandir='${prefix}/share/man'
|
||||
+docdir='${prefix}/share/doc/ltrace'
|
||||
+for x_option
|
||||
+do
|
||||
+ if test -n "$x_prev"; then
|
||||
+ eval $x_prev=\$x_option
|
||||
+ x_prev=
|
||||
+ continue
|
||||
+ fi
|
||||
+ case $x_option in
|
||||
+ --*=* | *=*)
|
||||
+ x_var=`echo $x_option | sed 's/^--//' | sed 's/=.*//'`
|
||||
+ x_val=`echo $x_option | sed 's/^[^=]*=//'`
|
||||
+ eval $x_var=\"$x_val\"
|
||||
+ ;;
|
||||
+ --*)
|
||||
+ x_prev=`echo $x_option | sed 's/^--//'`
|
||||
+ ;;
|
||||
+ esac
|
||||
+done
|
||||
+
|
||||
echo -n "checking package name... "
|
||||
PACKAGE_NAME='ltrace'
|
||||
echo $PACKAGE_NAME
|
||||
@@ -30,9 +62,10 @@
|
||||
return cplus_demangle();
|
||||
}
|
||||
EOF
|
||||
-if gcc conftest.c -liberty 2>/dev/null
|
||||
+if $CC $CFLAGS conftest.c -liberty 2>/dev/null
|
||||
then
|
||||
HAVE_LIBIBERTY=1
|
||||
+ LIBS="$LIBS -liberty"
|
||||
echo "yes"
|
||||
else
|
||||
unset HAVE_LIBIBERTY
|
||||
@@ -48,9 +81,10 @@
|
||||
return __cxa_demangle();
|
||||
}
|
||||
EOF
|
||||
-if gcc conftest.c -lsupc++ 2>/dev/null
|
||||
+if $CC $CFLAGS conftest.c -lsupc++ 2>/dev/null
|
||||
then
|
||||
HAVE_LIBSUPC__=1
|
||||
+ LIBS="$LIBS -lsupc++"
|
||||
echo "yes"
|
||||
else
|
||||
unset HAVE_LIBSUPC__
|
||||
@@ -67,7 +101,7 @@
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
-if gcc conftest.c 2>/dev/null
|
||||
+if $CC $CFLAGS conftest.c 2>/dev/null
|
||||
then
|
||||
HAVE_ELF_C_READ_MMAP=1
|
||||
echo "yes"
|
||||
@@ -77,38 +111,6 @@
|
||||
fi
|
||||
rm -f conftest.c a.out
|
||||
|
||||
-CC=gcc
|
||||
-CPPFLAGS=' -I /usr/include/libelf'
|
||||
-CFLAGS='-g -O2'
|
||||
-LIBS='-lelf -lsupc++ -liberty '
|
||||
-INSTALL='/usr/bin/install -c'
|
||||
-iquote='-iquote '
|
||||
-iquoteend=''
|
||||
-
|
||||
-prefix=/usr/local
|
||||
-sysconfdir='${prefix}/etc'
|
||||
-bindir='${prefix}/bin'
|
||||
-mandir='${prefix}/share/man'
|
||||
-docdir='${prefix}/share/doc/ltrace'
|
||||
-for x_option
|
||||
-do
|
||||
- if test -n "$x_prev"; then
|
||||
- eval $x_prev=\$x_option
|
||||
- x_prev=
|
||||
- continue
|
||||
- fi
|
||||
- case $x_option in
|
||||
- --*=* | *=*)
|
||||
- x_var=`echo $x_option | sed 's/^--//' | sed 's/=.*//'`
|
||||
- x_val=`echo $x_option | sed 's/^.*=//'`
|
||||
- eval $x_var=$x_val
|
||||
- ;;
|
||||
- --*)
|
||||
- x_prev=`echo $x_option | sed 's/^--//'`
|
||||
- ;;
|
||||
- esac
|
||||
-done
|
||||
-
|
||||
echo "configure: creating Makefile"
|
||||
#
|
||||
# Makefile.in -> Makefile
|
@ -1,20 +0,0 @@
|
||||
Use the strchr() function instead of the legacy index() function.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
read_config_file.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
Index: ltrace-0.5.3/read_config_file.c
|
||||
===================================================================
|
||||
--- ltrace-0.5.3.orig/read_config_file.c
|
||||
+++ ltrace-0.5.3/read_config_file.c
|
||||
@@ -83,7 +83,7 @@
|
||||
|
||||
while (tmp->name) {
|
||||
if (!strncmp(*str, tmp->name, strlen(tmp->name))
|
||||
- && index(" ,()#*;012345[", *(*str + strlen(tmp->name)))) {
|
||||
+ && strchr(" ,()#*;012345[", *(*str + strlen(tmp->name)))) {
|
||||
*str += strlen(tmp->name);
|
||||
return lookup_prototype(tmp->pt);
|
||||
}
|
@ -0,0 +1,67 @@
|
||||
From c46448f4e5a4c124fbc75ca9b14697212e676893 Mon Sep 17 00:00:00 2001
|
||||
From: Michael K. Edwards <m.k.edwards@gmail.com>
|
||||
Date: Mon, 7 Mar 2011 16:15:48 +0000
|
||||
Subject: [PATCH] fix type punning in ARM arch_(dis|en)able_breakpoint
|
||||
|
||||
---
|
||||
sysdeps/linux-gnu/arm/breakpoint.c | 26 ++++++++++++++++++--------
|
||||
1 files changed, 18 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/sysdeps/linux-gnu/arm/breakpoint.c b/sysdeps/linux-gnu/arm/breakpoint.c
|
||||
index 4a5ab92..4e17940 100644
|
||||
--- a/sysdeps/linux-gnu/arm/breakpoint.c
|
||||
+++ b/sysdeps/linux-gnu/arm/breakpoint.c
|
||||
@@ -35,10 +35,15 @@ arch_enable_breakpoint(pid_t pid, Breakpoint *sbp) {
|
||||
debug(1, "arch_enable_breakpoint(%d,%p)", pid, sbp->addr);
|
||||
|
||||
for (i = 0; i < 1 + ((BREAKPOINT_LENGTH - 1) / sizeof(long)); i++) {
|
||||
- long a = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
|
||||
- unsigned char *bytes = (unsigned char *)&a;
|
||||
+ union _ { long l; unsigned char b[SIZEOF_LONG]; };
|
||||
+ union _ orig, current;
|
||||
+ unsigned char *bytes = current.b;
|
||||
+ for (j = 0; j < sizeof(long); j++) {
|
||||
+ orig.b[j] = sbp->orig_value[i * sizeof(long) + j];
|
||||
+ }
|
||||
+ current.l = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
|
||||
|
||||
- debug(2, "current = 0x%lx, orig_value = 0x%lx, thumb_mode = %d", a, *(long *)&sbp->orig_value, sbp->thumb_mode);
|
||||
+ debug(2, "current = 0x%lx, orig_value = 0x%lx, thumb_mode = %d", current.l, orig.l, sbp->thumb_mode);
|
||||
for (j = 0; j < sizeof(long) && i * sizeof(long) + j < BREAKPOINT_LENGTH; j++) {
|
||||
|
||||
sbp->orig_value[i * sizeof(long) + j] = bytes[j];
|
||||
@@ -49,7 +54,7 @@ arch_enable_breakpoint(pid_t pid, Breakpoint *sbp) {
|
||||
bytes[j] = thumb_break_insn[i * sizeof(long) + j];
|
||||
}
|
||||
}
|
||||
- ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long), a);
|
||||
+ ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long), current.l);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,13 +65,18 @@ arch_disable_breakpoint(pid_t pid, const Breakpoint *sbp) {
|
||||
debug(1, "arch_disable_breakpoint(%d,%p)", pid, sbp->addr);
|
||||
|
||||
for (i = 0; i < 1 + ((BREAKPOINT_LENGTH - 1) / sizeof(long)); i++) {
|
||||
- long a = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
|
||||
- unsigned char *bytes = (unsigned char *)&a;
|
||||
+ union _ { long l; unsigned char b[SIZEOF_LONG]; };
|
||||
+ union _ orig, current;
|
||||
+ unsigned char *bytes = current.b;
|
||||
+ for (j = 0; j < sizeof(long); j++) {
|
||||
+ orig.b[j] = sbp->orig_value[i * sizeof(long) + j];
|
||||
+ }
|
||||
+ current.l = ptrace(PTRACE_PEEKTEXT, pid, sbp->addr + i * sizeof(long), 0);
|
||||
|
||||
- debug(2, "current = 0x%lx, orig_value = 0x%lx, thumb_mode = %d", a, *(long *)&sbp->orig_value, sbp->thumb_mode);
|
||||
+ debug(2, "current = 0x%lx, orig_value = 0x%lx, thumb_mode = %d", current.l, orig.l, sbp->thumb_mode);
|
||||
for (j = 0; j < sizeof(long) && i * sizeof(long) + j < BREAKPOINT_LENGTH; j++) {
|
||||
bytes[j] = sbp->orig_value[i * sizeof(long) + j];
|
||||
}
|
||||
- ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long), a);
|
||||
+ ptrace(PTRACE_POKETEXT, pid, sbp->addr + i * sizeof(long), current.l);
|
||||
}
|
||||
}
|
||||
--
|
||||
1.7.4.1
|
||||
|
@ -3,40 +3,10 @@
|
||||
# ltrace
|
||||
#
|
||||
#############################################################
|
||||
LTRACE_VERSION = 0.5.3
|
||||
LTRACE_SOURCE = ltrace_$(LTRACE_VERSION).orig.tar.gz
|
||||
LTRACE_PATCH = ltrace_$(LTRACE_VERSION)-2.1.diff.gz
|
||||
LTRACE_SITE = $(BR2_DEBIAN_MIRROR)/debian/pool/main/l/ltrace
|
||||
LTRACE_MAKE = $(MAKE1)
|
||||
LTRACE_VERSION = 0.6.0
|
||||
LTRACE_SITE = git://anonscm.debian.org/collab-maint/ltrace.git
|
||||
LTRACE_DEPENDENCIES = libelf
|
||||
LTRACE_AUTORECONF = YES
|
||||
LTRACE_CONF_OPT += --disable-werror
|
||||
|
||||
# ltrace uses arch=ppc for powerpc
|
||||
LTRACE_ARCH:=$(KERNEL_ARCH:powerpc=ppc)
|
||||
ifeq ("$(strip $(ARCH))","armeb")
|
||||
LTRACE_ARCH:=arm
|
||||
endif
|
||||
|
||||
define LTRACE_CONFIGURE_CMDS
|
||||
(cd $(@D) ; ./configure \
|
||||
--prefix=/usr \
|
||||
CC='$(TARGET_CC)' \
|
||||
CFLAGS='$(TARGET_CFLAGS)')
|
||||
endef
|
||||
|
||||
define LTRACE_BUILD_CMDS
|
||||
$(MAKE) -C $(@D) ARCH=$(LTRACE_ARCH)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_HAVE_DOCUMENTATION),y)
|
||||
define LTRACE_INSTALL_DOCUMENTATION
|
||||
$(INSTALL) -D $(@D)/ltrace.1 \
|
||||
$(TARGET_DIR)/usr/share/man/man1/ltrace.1
|
||||
endef
|
||||
endif
|
||||
|
||||
define LTRACE_INSTALL_TARGET_CMDS
|
||||
$(INSTALL) -D $(@D)/ltrace $(TARGET_DIR)/usr/bin
|
||||
$(LTRACE_INSTALL_DOCUMENTATION)
|
||||
endef
|
||||
|
||||
$(eval $(call GENTARGETS))
|
||||
$(eval $(call AUTOTARGETS))
|
||||
|
Loading…
Reference in New Issue
Block a user