Discussion:
Build failure in stand
(too old to reply)
Ryan Stone
2017-12-04 22:32:32 UTC
Permalink
I'm seeing the following build failure when doing a buildworld of head:

In file included from
/repos/users/rstone/bsd-worktree/route-change/stand/ficl/i386/sysdep.c:18:
/repos/users/rstone/bsd-worktree/route-change/stand/libsa/machine/cpufunc.h:491:13:
error: shift count >= width of type [-Werror,-Wshift-count-overflow]
high = val >> 32;
^ ~~
1 error generated.


My make.conf looks like:

PERL_VERSION=5.14.2

DEBUG_FLAGS=-g
CFLAGS+=-fno-omit-frame-pointer

#BTX_SERIAL=yes
#BOOT_PXELDR_ALWAYS_SERIAL=yes
# src/sys/boot/i386/libi386/Makefile (loader)
#BOOT_COMCONSOLE_SPEED=115200
## src/sys/boot/i386/libi386/comconsole.c (loader)
COMSPEED=115200
# src/sys/dev/sio/sioreg.h (kernel)
#CONSPEED=115200

WITHOUT_DEBUG_FILES=yes

and my src.conf is:

WITH_TESTS=yes
WITHOUT_DEBUG_FLAGS=yes
WITHOUT_INFO=yes
Warner Losh
2017-12-04 22:59:58 UTC
Permalink
Please remove the DEBUG_FLAGS and try again. Trying to see if that's the
culprit. It works for me with the default build.

Warner
Post by Ryan Stone
In file included from
/repos/users/rstone/bsd-worktree/route-change/stand/
error: shift count >= width of type [-Werror,-Wshift-count-overflow]
high = val >> 32;
^ ~~
1 error generated.
PERL_VERSION=5.14.2
DEBUG_FLAGS=-g
CFLAGS+=-fno-omit-frame-pointer
#BTX_SERIAL=yes
#BOOT_PXELDR_ALWAYS_SERIAL=yes
# src/sys/boot/i386/libi386/Makefile (loader)
#BOOT_COMCONSOLE_SPEED=115200
## src/sys/boot/i386/libi386/comconsole.c (loader)
COMSPEED=115200
# src/sys/dev/sio/sioreg.h (kernel)
#CONSPEED=115200
WITHOUT_DEBUG_FILES=yes
WITH_TESTS=yes
WITHOUT_DEBUG_FLAGS=yes
WITHOUT_INFO=yes
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-current
Warner Losh
2017-12-04 23:20:54 UTC
Permalink
Also, can you make the full logs available? I can't recreate this with or
without DEBUG_FLAGS or CFLAGS setting in my make.conf file.

Warner
Post by Warner Losh
Please remove the DEBUG_FLAGS and try again. Trying to see if that's the
culprit. It works for me with the default build.
Warner
Post by Ryan Stone
In file included from
/repos/users/rstone/bsd-worktree/route-change/stand/ficl/
/repos/users/rstone/bsd-worktree/route-change/stand/libsa/
error: shift count >= width of type [-Werror,-Wshift-count-overflow]
high = val >> 32;
^ ~~
1 error generated.
PERL_VERSION=5.14.2
DEBUG_FLAGS=-g
CFLAGS+=-fno-omit-frame-pointer
#BTX_SERIAL=yes
#BOOT_PXELDR_ALWAYS_SERIAL=yes
# src/sys/boot/i386/libi386/Makefile (loader)
#BOOT_COMCONSOLE_SPEED=115200
## src/sys/boot/i386/libi386/comconsole.c (loader)
COMSPEED=115200
# src/sys/dev/sio/sioreg.h (kernel)
#CONSPEED=115200
WITHOUT_DEBUG_FILES=yes
WITH_TESTS=yes
WITHOUT_DEBUG_FLAGS=yes
WITHOUT_INFO=yes
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-current
"
Warner Losh
2017-12-04 23:27:57 UTC
Permalink
Oh, and one more btw, can you cd stand; cd ` make -V .OBJDIR ` ; find .
-name machine | xargs ls -l

The only way I can see this happening is if we're doing a 32-bit build, but
pulling in the amd64 header files for some bogus reason...

Finally, what's the host OS?

Warner
Post by Warner Losh
Also, can you make the full logs available? I can't recreate this with or
without DEBUG_FLAGS or CFLAGS setting in my make.conf file.
Warner
Post by Warner Losh
Please remove the DEBUG_FLAGS and try again. Trying to see if that's the
culprit. It works for me with the default build.
Warner
Post by Ryan Stone
In file included from
/repos/users/rstone/bsd-worktree/route-change/stand/ficl/i38
/repos/users/rstone/bsd-worktree/route-change/stand/libsa/ma
error: shift count >= width of type [-Werror,-Wshift-count-overflow]
high = val >> 32;
^ ~~
1 error generated.
PERL_VERSION=5.14.2
DEBUG_FLAGS=-g
CFLAGS+=-fno-omit-frame-pointer
#BTX_SERIAL=yes
#BOOT_PXELDR_ALWAYS_SERIAL=yes
# src/sys/boot/i386/libi386/Makefile (loader)
#BOOT_COMCONSOLE_SPEED=115200
## src/sys/boot/i386/libi386/comconsole.c (loader)
COMSPEED=115200
# src/sys/dev/sio/sioreg.h (kernel)
#CONSPEED=115200
WITHOUT_DEBUG_FILES=yes
WITH_TESTS=yes
WITHOUT_DEBUG_FLAGS=yes
WITHOUT_INFO=yes
_______________________________________________
https://lists.freebsd.org/mailman/listinfo/freebsd-current
reebsd.org"
Ryan Stone
2017-12-05 21:03:40 UTC
Permalink
So I don't fully understand why this build failure happened, but I did
manage to find root cause. It turns out that there was a bug in make
that caused our build infrastructure to write objects and other build
output to the srcdir rather than the objdir in certain cases when
using make -C. I have a workaround in place for now and bdrewery@ is
working on a fix for the build infrastructure.
Warner Losh
2017-12-05 21:06:54 UTC
Permalink
Post by Ryan Stone
So I don't fully understand why this build failure happened, but I did
manage to find root cause. It turns out that there was a bug in make
that caused our build infrastructure to write objects and other build
output to the srcdir rather than the objdir in certain cases when
working on a fix for the build infrastructure.
OK. That makes sense. It's caused by using the amd64 cpufuncs file being
used when compiling on i386 (aka -m32).

I have some fixes that should make it less likely to be an issue in the
works...

Warner

Loading...