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

Li, Xin lixin.fnst at cn.fujitsu.com
Fri Apr 29 01:18:26 UTC 2016



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

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





More information about the Openembedded-devel mailing list