Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2014 15:36:38 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
Cc:        Lev Serebryakov <lev@FreeBSD.org>, freebsd-current@FreeBSD.org
Subject:   Re: Building with external toolchain was broken 6 months ago with r255187
Message-ID:  <20140318223638.GB32089@funkthat.com>
In-Reply-To: <7423EF12-9DD4-4C03-9FF6-7BAAB75820F6@lists.zabbadoz.net>
References:  <323697891.20140319013757@serebryakov.spb.ru> <20140318220140.GA32089@funkthat.com> <7423EF12-9DD4-4C03-9FF6-7BAAB75820F6@lists.zabbadoz.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Bjoern A. Zeeb wrote this message on Tue, Mar 18, 2014 at 22:20 +0000:
>=20
> On 18 Mar 2014, at 22:01 , John-Mark Gurney <jmg@funkthat.com> wrote:
>=20
> > Lev Serebryakov wrote this message on Wed, Mar 19, 2014 at 01:37 +0400:
> >> I did't build my NanoBSD images for almost year, and in this time our
> >> not-finished and fragile support for using "external" toolchain is rot=
ten,
> >> due to r255187 (and, may meb, some other commits too).
> >>=20
> >> I have very fresh -CURRENT (r263296)
> >>=20
> >> I have these settings for my buildworld & buildkernel targets:
> >>=20
> >> XCC=3D/usr/bin/cc
> >> XCXX=3D/usr/bin/c++
> >> XCPP=3D/usr/bin/cpp
> >> XAS=3D/usr/bin/as
> >> XAR=3D/usr/bin/ar
> >> XLD=3D/usr/bin/ld
> >> XNM=3D/usr/bin/nm
> >> XOBJDUMP=3D/usr/bin/objdump
> >> XRANLIB=3D/usr/bin/ranlib
> >> XSTRINGS=3D/usr/bin/strings
> >> COMPILER_TYPE=3Dclang
> >> WITHOUT_CROSS_COMPILER=3Dyes
> >> WITHOUT_BINUTILS=3Dyes
> >> WITHOUT_CLANG=3Dyes
> >>=20
> >> It worked 7 months ago. Now it works for "buildworld" but not for
> >> "buildkernel:
> >>=20
> >> --- aeskeys_amd64.o ---
> >> /usr/bin/cc --sysroot=3D/data/obj.nano/gateway.v2/data/src/tmp -B/data=
/obj.nano/gateway.v2/data/src/tmp/usr/bin -O2 -pipe -fno-strict-aliasing -W=
error -D_KERNEL -DKLD_MODULE -nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -incl=
ude /data/obj.nano/gateway.v2/data/src/sys/D2500CC/opt_global.h -I. -I@ -I@=
/contrib/altq -fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-p=
ointer -I/data/obj.nano/gateway.v2/data/src/sys/D2500CC  -mno-aes -mno-avx =
-mcmodel=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynch=
ronous-unwind-tables -ffreestanding -fstack-protector -std=3Diso9899:1999 -=
Qunused-arguments  -fstack-protector -Wall -Wredundant-decls -Wnested-exter=
ns -Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcas=
t-qual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-di=
rs -fdiagnostics-show-option  -Wno-error-tautological-compare -Wno-error-em=
pty-body  -Wno-error-parentheses-equality -Wno-unused-function    -c /data/=
src/sys/modules/aesni/../../cryp
> > to/aesni/aeskeys_amd64.S
> >> --- aesni_wrap.o ---
> >> In file included from /data/src/sys/modules/aesni/../../crypto/aesni/a=
esni_wrap.c:40:
> >> /data/src/sys/modules/aesni/../../crypto/aesni/aesencdec.h:30:10: fata=
l error: 'wmmintrin.h' file not found
> >> #include <wmmintrin.h>
> >>         ^
> >> 1 error generated.
> >> *** [aesni_wrap.o] Error code 1
> >>=20
> >> It could not find header file with intrinsics from "system" ("external=
")
> >> clang. I could disable building of this module with WITHOUT_MODULES=3D=
aesni,
> >> and it works, but what if I need this module?
> >>=20
> >> Could it be fixed, pleeeeeeease?
> >=20
> > Sounds like your tool chain doesn't have the necessary support for
> > AES-NI...  Are you using gcc as cc?  If so, do you have the necessary
> > tool chain work that I did in r255185 in your local tree?
>=20
>=20
> The problem is that the kernel is deepening on a compiler header which is=
 not in the right place in objdir if the compiler is not built.  I thought =
I had reported this before (maybe just informally).  I have been helping my=
self locally using this:

This still sounds like the compiler being used isn't installed
properly...  I've never had a problem when a proper kernel-toolchain
is available to build the kernel with...

If someone is willing to provide me w/ detailed instructions or an image
that reproduces the issue, I'm willing to look at it...

> Index: sys/modules/aesni/Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- sys/modules/aesni/Makefile	(revision 263176)
> +++ sys/modules/aesni/Makefile	(working copy)
> @@ -11,7 +11,8 @@ OBJS+=3D	aesni_wrap.o
> =20
>  # Remove -nostdinc so we can get the intrinsics.
>  aesni_wrap.o: aesni_wrap.c
> -	${CC} -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} \
> +	${CC} -I${.CURDIR}/../../../contrib/llvm/tools/clang/lib/Headers \
> +	     -c ${CFLAGS:C/^-O2$/-O3/:N-nostdinc} ${WERROR} ${PROF} \
>  	     -mmmx -msse -maes ${.IMPSRC}
>  	${CTFCONVERT_CMD}

This change breaks building w/ gcc....

--=20
  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140318223638.GB32089>