[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
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |