Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Mar 2014 15:01:40 -0700
From:      John-Mark Gurney <jmg@funkthat.com>
To:        Lev Serebryakov <lev@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: Building with external toolchain was broken 6 months ago with r255187
Message-ID:  <20140318220140.GA32089@funkthat.com>
In-Reply-To: <323697891.20140319013757@serebryakov.spb.ru>
References:  <323697891.20140319013757@serebryakov.spb.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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 rotten,
> 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/ob=
j.nano/gateway.v2/data/src/tmp/usr/bin -O2 -pipe -fno-strict-aliasing -Werr=
or -D_KERNEL -DKLD_MODULE -nostdinc   -DHAVE_KERNEL_OPTION_HEADERS -include=
 /data/obj.nano/gateway.v2/data/src/sys/D2500CC/opt_global.h -I. -I@ -I@/co=
ntrib/altq -fno-common -g -fno-omit-frame-pointer -mno-omit-leaf-frame-poin=
ter -I/data/obj.nano/gateway.v2/data/src/sys/D2500CC  -mno-aes -mno-avx -mc=
model=3Dkernel -mno-red-zone -mno-mmx -mno-sse -msoft-float  -fno-asynchron=
ous-unwind-tables -ffreestanding -fstack-protector -std=3Diso9899:1999 -Qun=
used-arguments  -fstack-protector -Wall -Wredundant-decls -Wnested-externs =
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-q=
ual  -Wundef -Wno-pointer-sign -fformat-extensions  -Wmissing-include-dirs =
-fdiagnostics-show-option  -Wno-error-tautological-compare -Wno-error-empty=
-body  -Wno-error-parentheses-equality -Wno-unused-function    -c /data/src=
/sys/modules/aesni/../../crypto/aesni/aeskeys_amd64.S
> --- aesni_wrap.o ---
> In file included from /data/src/sys/modules/aesni/../../crypto/aesni/aesn=
i_wrap.c:40:
> /data/src/sys/modules/aesni/../../crypto/aesni/aesencdec.h:30:10: fatal e=
rror: '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=3Daes=
ni,
> and it works, but what if I need this module?
>=20
>  Could it be fixed, pleeeeeeease?

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?

Can you compile this test program?

------ tsse.c start ----
#include <wmmintrin.h>

__m128i foo;
------  tsse.c end ------

With the command:
${XCC} -c -maes tsse.c

If you can't, then the problem is your toolchain, and you need to fix
it...  Try also w/:
clang -c -maes tsse.c

and it's also helpful to know more info, like: ${XCC} --version

Thanks.

--=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?20140318220140.GA32089>