* gcc 5.3.0 * built with: ./autogen.sh --prefix=/usr \ --sysconfdir=/etc \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ --with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast,virgl \ --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ --with-egl-platforms=x11,drm,wayland \ --with-vulkan-drivers=intel \ --with-sha1=libgcrypt \ --enable-egl \ --enable-gbm \ --enable-gallium-llvm \ --enable-llvm-shared-libs \ --enable-shared-glapi \ --enable-glx \ --enable-glx-tls \ --enable-dri \ --enable-osmesa \ --enable-gles1 \ --enable-gles2 \ --enable-texture-float \ --enable-xa \ --enable-vdpau \ --enable-omx \ --enable-nine \ --enable-opencl --enable-opencl-icd \ --with-clang-libdir=/usr/lib ====> make[5]: Entering directory '/build/mesa-git/src/mesa/src/intel/vulkan' CC libvulkan_intel_la-anv_allocator.lo CC libvulkan_intel_la-anv_cmd_buffer.lo CC libvulkan_intel_la-anv_batch_chain.lo CC libvulkan_intel_la-anv_descriptor_set.lo In file included from anv_batch_chain.c:30:0: anv_private.h: In function 'anv_clflush_range': anv_private.h:433:4: error: implicit declaration of function '__builtin_ia32_mfence' [-Werror=implicit-function-declaration] __builtin_ia32_mfence(); ^ anv_private.h:435:7: error: implicit declaration of function '__builtin_ia32_clflush' [-Werror=implicit-function-declaration] __builtin_ia32_clflush(p); ^ In file included from anv_descriptor_set.c:30:0: anv_private.h: In function 'anv_clflush_range': anv_private.h:433:4: error: implicit declaration of function '__builtin_ia32_mfence' [-Werror=implicit-function-declaration] __builtin_ia32_mfence(); ^ anv_private.h:435:7: error: implicit declaration of function '__builtin_ia32_clflush' [-Werror=implicit-function-declaration] __builtin_ia32_clflush(p); ^ In file included from anv_cmd_buffer.c:30:0: anv_private.h: In function 'anv_clflush_range': anv_private.h:433:4: error: implicit declaration of function '__builtin_ia32_mfence' [-Werror=implicit-function-declaration] __builtin_ia32_mfence(); ^ anv_private.h:435:7: error: implicit declaration of function '__builtin_ia32_clflush' [-Werror=implicit-function-declaration] __builtin_ia32_clflush(p); ^ In file included from anv_allocator.c:37:0: anv_private.h: In function 'anv_clflush_range': anv_private.h:433:4: error: implicit declaration of function '__builtin_ia32_mfence' [-Werror=implicit-function-declaration] __builtin_ia32_mfence(); ^ anv_private.h:435:7: error: implicit declaration of function '__builtin_ia32_clflush' [-Werror=implicit-function-declaration] __builtin_ia32_clflush(p); ^ cc1: some warnings being treated as errors Makefile:1403: recipe for target 'libvulkan_intel_la-anv_allocator.lo' failed make[5]: *** [libvulkan_intel_la-anv_allocator.lo] Error 1 make[5]: *** Waiting for unfinished jobs.... cc1: some warnings being treated as errors Makefile:1424: recipe for target 'libvulkan_intel_la-anv_descriptor_set.lo' failed make[5]: *** [libvulkan_intel_la-anv_descriptor_set.lo] Error 1 cc1: some warnings being treated as errors Makefile:1417: recipe for target 'libvulkan_intel_la-anv_batch_chain.lo' failed make[5]: *** [libvulkan_intel_la-anv_batch_chain.lo] Error 1 cc1: some warnings being treated as errors Makefile:1410: recipe for target 'libvulkan_intel_la-anv_cmd_buffer.lo' failed make[5]: *** [libvulkan_intel_la-anv_cmd_buffer.lo] Error 1 make[5]: Leaving directory '/build/mesa-git/src/mesa/src/intel/vulkan' Makefile:1660: recipe for target 'all-recursive' failed make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory '/build/mesa-git/src/mesa/src/intel/vulkan' Makefile:840: recipe for target 'all' failed make[3]: *** [all] Error 2 make[3]: Leaving directory '/build/mesa-git/src/mesa/src/intel/vulkan' Makefile:550: recipe for target 'all-recursive' failed make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory '/build/mesa-git/src/mesa/src/intel' Makefile:690: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory '/build/mesa-git/src/mesa/src' Makefile:639: recipe for target 'all-recursive' failed make: *** [all-recursive] Error 1 ==> ERROR: A failure occurred in build(). Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/mesagit-i686/lcarlier/build
gcc flags for i686 on Archlinux are: CFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong" CXXFLAGS="-march=i686 -mtune=generic -O2 -pipe -fstack-protector-strong"
These builtins are specific to sse2 https://gcc.gnu.org/onlinedocs/gcc/x86-Built-in-Functions.html#x86-Built-in-Functions
forcing sse2 on CFLAGS/CXXFLAGS fixes the build
(In reply to Laurent carlier from comment #3) > forcing sse2 on CFLAGS/CXXFLAGS fixes the build We need to just do that in the Vulkan makefile. You'll never run the driver on a machine that doesn't support sse2 anyway.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.