|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] x86_emulate/x86_emulate.c:2105: warning: comparison is a
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
|
|
|
|
|