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>