[oe] [meta-oe][PATCH] ltrace: Error Fix for ARM

Martin Jansa martin.jansa at gmail.com
Fri May 6 14:17:44 UTC 2016


On Fri, Apr 29, 2016 at 01:18:26AM +0000, Li, Xin wrote:
> 
> 
> >-----Original Message-----
> >From: openembedded-devel-bounces at lists.openembedded.org
> >[mailto:openembedded-devel-bounces at lists.openembedded.org] On Behalf Of
> >Martin Jansa
> >Sent: Wednesday, April 27, 2016 4:35 PM
> >To: openembedded-devel at lists.openembedded.org
> >Subject: Re: [oe] [meta-oe][PATCH] ltrace: Error Fix for ARM
> >
> >On Fri, Apr 15, 2016 at 04:06:49AM +0300, Li Xin wrote:
> >> 1) The error is as following:
> >>      root # ltrace ls
> >>      __libc_start_main(0xb6fbc018, 1, 0xbed8fdc4,
> >0xb6fd0b88PTRACE_SINGLESTEP: Input/output error
> >>      2747 couldn't continue when handling __libc_start_main (0xb6fbbde0) at
> >0xb6fbbde0
> >>    The master branch fix it.
> >>
> >> 2) remove unused patch:
> >>      --0001-ltrace-fix-gcc-5-logical-not-parentheses.patch
> >>      --ltrace-0.7.2-unused-typedef.patch
> >
> >Now I'm seeing this failure:
> >
> >| ../../../../git/sysdeps/linux-gnu/arm/fetch.c: In function 'arch_elf_init':
> >| ../../../../git/sysdeps/linux-gnu/arm/fetch.c:101:8: error: 'data' may be used
> >uninitialized in this function [-Werror=maybe-uninitialized]
> >|     if (elf_read_next_uleb128(data, &offset, &tag) < 0
> >|         ^
> >| cc1: all warnings being treated as errors
> >| make[4]: *** [fetch.lo] Error 1
> >| make[4]: *** Waiting for unfinished jobs....
> >| make[4]: Leaving directory
> >`.../ltrace/1_7.3+gitAUTOINC+01b10e191e-r0/build/sysdeps/linux-gnu/arm'
> >
> >Possibly caused by using -Os, can you retest with -Os?
> 
> OK, And can you tell me how to test with -Os?

TUNE_CCARGS += "-Os" in the recipe is probably simples way to reproduce
this.

> Regards & Thanks.
> 
> 
> >
> >> Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
> >> ---
> >>  ...-ltrace-fix-gcc-5-logical-not-parentheses.patch | 38 -----------------
> >>  .../ltrace/ltrace-0.7.2-unused-typedef.patch       | 49 ----------------------
> >>  meta-oe/recipes-devtools/ltrace/ltrace_git.bb      |  6 +--
> >>  3 files changed, 2 insertions(+), 91 deletions(-)  delete mode 100644
> >> meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical-n
> >> ot-parentheses.patch  delete mode 100644
> >> meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.pat
> >> ch
> >>
> >> diff --git
> >> a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical
> >> -not-parentheses.patch
> >> b/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical
> >> -not-parentheses.patch
> >> deleted file mode 100644
> >> index 681c43d..0000000
> >> ---
> >> a/meta-oe/recipes-devtools/ltrace/ltrace/0001-ltrace-fix-gcc-5-logical
> >> -not-parentheses.patch
> >> +++ /dev/null
> >> @@ -1,38 +0,0 @@
> >> -From 876fe5680d77800426f8c4c5680a235732d722e6 Mon Sep 17 00:00:00
> >> 2001
> >> -From: Kai Kang <kai.kang at windriver.com>
> >> -Date: Mon, 24 Aug 2015 17:37:54 +0800
> >> -Subject: [PATCH] ltrace: fix gcc 5 logical not parentheses
> >> -
> >> -Upstream-Status: Pending
> >> -
> >> -Build ltrace with gcc 5.2, it fails with:
> >> -
> >> -error: logical not is only applied to the left hand side of
> >> comparison -[-Werror=logical-not-parentheses]
> >> -   if (!need_data(data, offset, SIZE / 8) < 0)  \
> >> -                                             ^
> >> -
> >> -Function need_data just return 0 on success and -1 if fail. So it is
> >> ok -to just test if (need_data(data, offset, SIZE / 8) < 0).
> >> -
> >> -Signed-off-by: Kai Kang <kai.kang at windriver.com>
> >> ----
> >> - ltrace-elf.c | 2 +-
> >> - 1 file changed, 1 insertion(+), 1 deletion(-)
> >> -
> >> -diff --git a/ltrace-elf.c b/ltrace-elf.c -index c571d2a..7fe830f
> >> 100644
> >> ---- a/ltrace-elf.c
> >> -+++ b/ltrace-elf.c
> >> -@@ -218,7 +218,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 */ {		\
> >> ---
> >> -1.9.1
> >> -
> >> diff --git
> >> a/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.p
> >> atch
> >> b/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.p
> >> atch
> >> deleted file mode 100644
> >> index 8f3c0ec..0000000
> >> ---
> >> a/meta-oe/recipes-devtools/ltrace/ltrace/ltrace-0.7.2-unused-typedef.p
> >> atch
> >> +++ /dev/null
> >> @@ -1,49 +0,0 @@
> >> -diff --git a/value.c b/value.c
> >> -index d18db17..b98298e 100644
> >> ---- a/value.c
> >> -+++ b/value.c
> >> -@@ -1,6 +1,6 @@
> >> - /*
> >> -  * This file is part of ltrace.
> >> -- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
> >> -+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
> >> -  *
> >> -  * This program is free software; you can redistribute it and/or
> >> -  * modify it under the terms of the GNU General Public License as
> >> -@@ -282,9 +282,9 @@ value_init_deref(struct value *ret_val, struct value
> >*valp)
> >> - 	if (value_extract_word(valp, &l, NULL) < 0)
> >> - 		return -1;
> >> -
> >> --	/* We need "long" to be long enough to hold platform
> >> -+	/* We need "long" to be long enough to hold target
> >> - 	 * pointers.  */
> >> --	typedef char assert__long_enough_long[-(sizeof(l) < sizeof(void *))];
> >> -+	assert(sizeof(l) >= sizeof(arch_addr_t));
> >> -
> >> - 	value_common_init(ret_val, valp->inferior, valp,
> >> - 			  valp->type->u.ptr_info.info, 0);
> >> -diff --git a/lens_default.c b/lens_default.c -index ed3d0e1..5d00814
> >> 100644
> >> ---- a/lens_default.c
> >> -+++ b/lens_default.c
> >> -@@ -1,6 +1,6 @@
> >> - /*
> >> -  * This file is part of ltrace.
> >> -- * Copyright (C) 2011,2012 Petr Machata, Red Hat Inc.
> >> -+ * Copyright (C) 2011,2012,2013 Petr Machata, Red Hat Inc.
> >> -  * Copyright (C) 1998,2004,2007,2008,2009 Juan Cespedes
> >> -  * Copyright (C) 2006 Ian Wienand
> >> -  * Copyright (C) 2006 Steve Fink
> >> -@@ -342,9 +342,9 @@ format_array(FILE *stream, struct value *value, struct
> >value_dict *arguments,
> >> - 	     struct expr_node *length, size_t maxlen, int before,
> >> - 	     const char *open, const char *close, const char *delim)
> >> - {
> >> --	/* We need "long" to be long enough to cover the whole address
> >> --	 * space.  */
> >> --	typedef char assert__long_enough_long[-(sizeof(long) < sizeof(void *))];
> >> -+	/* We need "long" to be long enough to cover the whole target
> >> -+	 * address space.  */
> >> -+	assert(sizeof(long) >= sizeof(arch_addr_t));
> >> - 	long l;
> >> - 	if (expr_eval_word(length, value, arguments, &l) < 0)
> >> - 		return -1;
> >> diff --git a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
> >> b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
> >> index d8d037e..850e8e3 100644
> >> --- a/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
> >> +++ b/meta-oe/recipes-devtools/ltrace/ltrace_git.bb
> >> @@ -11,14 +11,12 @@ LIC_FILES_CHKSUM =
> >"file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
> >>
> >>  PE = "1"
> >>  PV = "7.3+git${SRCPV}"
> >> -SRCREV = "37ecc41b58be3dbdd79592a76e331b5b371e4f81"
> >> +SRCREV = "01b10e191e99d8cb147e5a2b7da8196e0ec6fb94"
> >>
> >>  DEPENDS = "elfutils"
> >>  RDEPENDS_${PN} = "elfutils"
> >> -SRC_URI =
> >"git://anonscm.debian.org/collab-maint/ltrace.git;branch=ltrace-0.7 \
> >> -           file://ltrace-0.7.2-unused-typedef.patch \
> >> +SRC_URI =
> >> +"git://anonscm.debian.org/collab-maint/ltrace.git;branch=master \
> >>             file://configure-allow-to-disable-selinux-support.patch \
> >> -           file://0001-ltrace-fix-gcc-5-logical-not-parentheses.patch \
> >>            "
> >>  S = "${WORKDIR}/git"
> >>
> >> --
> >> 1.8.4.2
> >>
> >>
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-devel mailing list
> >> Openembedded-devel at lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> >
> >--
> >Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
> 
> 
> -- 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20160506/dd9fdec6/attachment-0002.sig>


More information about the Openembedded-devel mailing list