Build from 9.3-RELEASE to 11.0-CURRENT fails for i386 (-Wsign-compare issues with gcc)

John Baldwin jhb at freebsd.org
Mon Dec 21 19:49:33 UTC 2015


On Saturday, December 19, 2015 01:05:36 PM NGie Cooper wrote:
> Hi John,
> 	I tried bootstrapping 9.3-RELEASE to 11.0-CURRENT with i386 and ran into the -Wsign-compare issue below when running make libraries with buildworld, because it’s building libkvm with gcc 4.2.1 :/… I’ve tried bootstrapping with clang/clang37, but haven’t been able to yet. I’ll try installing 10.2-RELEASE via freebsd-update so I can use clang instead of gcc.
> Thanks!
> -NGie

We don't actually support going from 9 to 11.  However, these constants
should probably be explicitly unsigned anyway.  I haven't tested this at
all, but something like this:

Index: head/lib/libkvm/kvm_i386.h
===================================================================
--- head/lib/libkvm/kvm_i386.h  (revision 292553)
+++ head/lib/libkvm/kvm_i386.h  (working copy)
@@ -57,8 +57,8 @@
 #define        I386_PG_PS              0x080
 #define        I386_PG_FRAME_PAE       (0x000ffffffffff000ull)
 #define        I386_PG_PS_FRAME_PAE    (0x000fffffffe00000ull)
-#define        I386_PG_FRAME           (0xfffff000)
-#define        I386_PG_PS_FRAME        (0xffc00000)
+#define        I386_PG_FRAME           (0xfffff000u)
+#define        I386_PG_PS_FRAME        (0xffc00000u)
 
 #ifdef __i386__
 _Static_assert(PAGE_SHIFT == I386_PAGE_SHIFT, "PAGE_SHIFT mismatch");



-- 
John Baldwin


More information about the freebsd-current mailing list