diff options
Diffstat (limited to 'package')
-rw-r--r-- | package/ltrace/ltrace-0.5.3-configure-fixes.patch | 128 | ||||
-rw-r--r-- | package/ltrace/ltrace-0.5.3-susv3-legacy.patch | 20 | ||||
-rw-r--r-- | package/ltrace/ltrace-0.6.0-fix-type-punning-in-ARM-arch_-dis-en-able_breakpoint.patch | 67 | ||||
-rw-r--r-- | package/ltrace/ltrace.mk | 40 |
4 files changed, 72 insertions, 183 deletions
diff --git a/package/ltrace/ltrace-0.5.3-configure-fixes.patch b/package/ltrace/ltrace-0.5.3-configure-fixes.patch deleted file mode 100644 index 8d95883bc..000000000 --- a/package/ltrace/ltrace-0.5.3-configure-fixes.patch +++ /dev/null @@ -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 diff --git a/package/ltrace/ltrace-0.5.3-susv3-legacy.patch b/package/ltrace/ltrace-0.5.3-susv3-legacy.patch deleted file mode 100644 index 4c9bb8ae1..000000000 --- a/package/ltrace/ltrace-0.5.3-susv3-legacy.patch +++ /dev/null @@ -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); - } diff --git a/package/ltrace/ltrace-0.6.0-fix-type-punning-in-ARM-arch_-dis-en-able_breakpoint.patch b/package/ltrace/ltrace-0.6.0-fix-type-punning-in-ARM-arch_-dis-en-able_breakpoint.patch new file mode 100644 index 000000000..c00593290 --- /dev/null +++ b/package/ltrace/ltrace-0.6.0-fix-type-punning-in-ARM-arch_-dis-en-able_breakpoint.patch @@ -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 + diff --git a/package/ltrace/ltrace.mk b/package/ltrace/ltrace.mk index 23094c8e8..8c0a145a9 100644 --- a/package/ltrace/ltrace.mk +++ b/package/ltrace/ltrace.mk @@ -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)) |