WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] x86_emulate/x86_emulate.c:2105: warning: comparison is a

To: Teck Choon Giam <giamteckchoon@xxxxxxxxx>
Subject: Re: [Xen-devel] x86_emulate/x86_emulate.c:2105: warning: comparison is always false due to limited range of data type
From: Keir Fraser <keir@xxxxxxx>
Date: Sun, 31 Oct 2010 19:37:17 +0000
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Sun, 31 Oct 2010 12:38:10 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:user-agent:date :subject:from:to:cc:message-id:thread-topic:thread-index:in-reply-to :mime-version:content-type:content-transfer-encoding; bh=CxJdYhUm/sSylct46io95fpyAHAdo6lUinBHht26Rv8=; b=BkEtnBfp0VMhPCDxfFC7zi2Y1w8jIZ0l76YYy2bKvkBdHhQhOklzP5oT5LNTa97yOu xc6kNLAhMr//BHCJ9fJKos0JbGRQT0RIPtFRYx3x8Oi8mjJTYAJ5XWgd0HReHvesl6q8 cYtEgJTcPZ/+20guK2fVaAr5Eg8YSwZ8O1Yrg=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=sender:user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=KejmXLr2q71pBI4VZ+SCuDPUpYvKqWCG+Z7QrmqhEq8CYIQE5jlF0r/4YeoFkIQtSa +p7c/tF5f5PJIlp+SESbinQojVdct/kSwEvP2IvL2VdTK2jxWznxfjbCD1zj/ZqFKY2x Jrz6pr9/9f/JcJb0MUbiNZ11+AdjBEwGKN0hE=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTinVk=cAy9EQ40B817-1cHfaw7oiAAUemLXwBn5H@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Act5MwaHVyjZWoEEwEeFx/pEdno45A==
Thread-topic: [Xen-devel] x86_emulate/x86_emulate.c:2105: warning: comparison is always false due to limited range of data type
User-agent: Microsoft-Entourage/12.26.0.100708
On 31/10/2010 19:12, "Teck Choon Giam" <giamteckchoon@xxxxxxxxx> wrote:

> Hi Keir,
> 
> Thanks ;)  I guess it will build fine for x86_64 but not for x86_32
> due to int64_t?

Yes, gcc realises that a uint32_t extended to a int64_t will always be
positive. However, the same gcc does not realise that a <0 comparison on a
uint32_t also will always be false. So this build failure weirdly only
appears after c/s 21377. GCC can be quite fussy about when it warns.

> I will test again after you update the fix in
> http://xenbits.xensource.com/staging/xen-4.0-testing.hg?

It's there now.

 -- Keir

> Kindest regards,
> Giam Teck Choon
> 
> 
> On Mon, Nov 1, 2010 at 3:04 AM, Keir Fraser <keir@xxxxxxx> wrote:
>> Clever compiler. Should be fixed by xen-4.0-testing:21378.
>> 
>>  Thanks,
>>  Keir
>> 
>> On 31/10/2010 18:38, "Teck Choon Giam" <giamteckchoon@xxxxxxxxx> wrote:
>> 
>>> Hi,
>>> 
>>> Changeset 21377 in xen-4.0-testing.hg compile error:
>>> 
>>> gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
>>> -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386
>>> -mtune=generic -fasynchronous-unwind-tables -O1
>>> -fno-omit-frame-pointer -fno-optimize-sibling-calls -m32 -march=i686
>>> -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>> -Wno-unused-value -Wdeclaration-after-statement  -O1
>>> -fno-omit-frame-pointer -fno-optimize-sibling-calls -m32 -march=i686
>>> -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>> -Wno-unused-value -Wdeclaration-after-statement  -O1
>>> -fno-omit-frame-pointer -fno-optimize-sibling-calls -m32 -march=i686
>>> -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
>>> -Wno-unused-value -Wdeclaration-after-statement  -nostdinc
>>> -fno-builtin -fno-common -iwithprefix include -Werror
>>> -Wno-pointer-arith -pipe
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-gener
>>> ic
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-defau
>>> lt
>>> -msoft-float -fno-stack-protector -fno-exceptions -g -D__XEN__
>>> -DVERBOSE -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER -MMD -MF
>>> .xen.d -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -m32
>>> -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall
>>> -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement
>>> -nostdinc -fno-builtin -fno-common -iwithprefix include -Werror
>>> -Wno-pointer-arith -pipe
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-gener
>>> ic
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-defau
>>> lt
>>> -msoft-float -fno-stack-protector -fno-exceptions -g -D__XEN__
>>> -DVERBOSE -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER -MMD -MF
>>> .built_in.o.d -O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls
>>> -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall
>>> -Wstrict-prototypes -Wno-unused-value -Wdeclaration-after-statement
>>> -nostdinc -fno-builtin -fno-common -iwithprefix include -Werror
>>> -Wno-pointer-arith -pipe
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-gener
>>> ic
>>> -I/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/include/asm-x86/mach-defau
>>> lt
>>> -msoft-float -fno-stack-protector -fno-exceptions -g -D__XEN__
>>> -DVERBOSE -fno-omit-frame-pointer -DCONFIG_FRAME_POINTER -MMD -MF
>>> .x86_emulate.o.d -c x86_emulate.c -o x86_emulate.o
>>> cc1: warnings being treated as errors
>>> In file included from x86_emulate.c:17:
>>> x86_emulate/x86_emulate.c: In function 'x86_emulate':
>>> x86_emulate/x86_emulate.c:2105: warning: comparison is always false
>>> due to limited range of data type
>>> make[4]: *** [x86_emulate.o] Error 1
>>> make[4]: Leaving directory
>>> `/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/arch/x86'
>>> make[3]: ***
>>> [/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/arch/x86/built_in.o]
>>> Error 2
>>> make[3]: Leaving directory
>>> `/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/arch/x86'
>>> make[2]: *** [/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen/xen] Error 2
>>> make[2]: Leaving directory `/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen'
>>> make[1]: *** [install] Error 2
>>> make[1]: Leaving directory `/builddir/build/BUILD/xen-4.0.2-rc1-pre-src/xen'
>>> make: *** [install-xen] Error 2
>>> 
>>> Thanks.
>>> 
>>> Kindest regards,
>>> Giam Teck Choon
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>> 
>> 
>> 



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel