[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] x86_emulate/x86_emulate.c:2105: warning: comparison is always false due to limited range of data type


  • To: Keir Fraser <keir@xxxxxxx>
  • From: Teck Choon Giam <giamteckchoon@xxxxxxxxx>
  • Date: Mon, 1 Nov 2010 04:35:44 +0800
  • Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Sun, 31 Oct 2010 13:36:47 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=ck+HNHYVwlugviPgC7SlMVJmkViNBPRjFMYiD+s42q0upMFef+HCWPZVbEuZHIG43K mYpG8j1TI0UaGIQzOyZ6dQmufQjAMKBY/+wc9s0BqifZIY+o8Xk6gxqqHxw/jD38UIQz 6QIW/nlOZ4inacQ4NP7ZM4hcJiPgt+ZJhzzSw=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Hi Keir,

Thanks for explaining and I can see the fix.  Compiled successfully
for x86_32 and x86_64.

Kindest regards,
Giam Teck Choon



On Mon, Nov 1, 2010 at 3:37 AM, Keir Fraser <keir@xxxxxxx> wrote:
> 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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.