Summary: | net-misc/openvswitch-2.14.1 error: inlining failed in call to 'always_inline' '_mm512_sad_epu8' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Přemysl Šťastný <p-j> |
Component: | Current packages | Assignee: | Matthew Thode ( prometheanfire ) <prometheanfire> |
Status: | UNCONFIRMED --- | ||
Severity: | major | CC: | ionen, virtualization |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | build.log + emerge --info.txt (for -mno-bmi2) |
Description
Přemysl Šťastný
2021-01-19 14:09:02 UTC
Tail of build log: lib/dpif-netdev-lookup-avx512-gather.c: In function ���_mm512_popcnt_epi64_manual���: lib/dpif-netdev-lookup-avx512-gather.c:45:1: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi] 45 | { | ^ lib/dpif-netdev-lookup-avx512-gather.c:44:1: note: the ABI for passing parameters with 64-byte alignment has changed in GCC 4.6 44 | _mm512_popcnt_epi64_manual(__m512i v_in) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ mv utilities/ovs-dpctl-top.tmp utilities/ovs-dpctl-top PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < utilities/ovs-sim.in | \ /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \ sed \ -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \ -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \ -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \ -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \ -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \ -e 's,[@]VERSION[@],2.14.1,g' \ -e 's,[@]localstatedir[@],/var/lib,g' \ -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \ -e 's,[@]sysconfdir[@],/etc,g' \ -e 's,[@]bindir[@],/usr/bin,g' \ -e 's,[@]sbindir[@],/usr/sbin,g' \ -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ > utilities/ovs-sim.tmp In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:413:1: error: inlining failed in call to always_inline ���_mm512_sad_epu8���: target specific option mismatch 413 | _mm512_sad_epu8 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:63:12: note: called from here 63 | return _mm512_sad_epu8(v_u8_pop, _mm512_setzero_si512()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:339:1: error: inlining failed in call to always_inline ���_mm512_setzero_si512���: target specific option mismatch 339 | _mm512_setzero_si512 (void) | ^~~~~~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:63:12: note: called from here 63 | return _mm512_sad_epu8(v_u8_pop, _mm512_setzero_si512()); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:924:1: error: inlining failed in call to always_inline ���_mm512_add_epi8���: target specific option mismatch 924 | _mm512_add_epi8 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:61:24: note: called from here 61 | __m512i v_u8_pop = _mm512_add_epi8(v_lo_pop, v_hi_pop); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:1852:1: error: inlining failed in call to always_inline ���_mm512_shuffle_epi8���: target specific option mismatch 1852 | _mm512_shuffle_epi8 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:60:24: note: called from here 60 | __m512i v_hi_pop = _mm512_shuffle_epi8(v_pop_lut, v_in_hi); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:1852:1: error: inlining failed in call to always_inline ���_mm512_shuffle_epi8���: target specific option mismatch 1852 | _mm512_shuffle_epi8 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:59:24: note: called from here 59 | __m512i v_lo_pop = _mm512_shuffle_epi8(v_pop_lut, v_in_lo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:7659:1: error: inlining failed in call to always_inline ���_mm512_and_si512���: target specific option mismatch 7659 | _mm512_and_si512 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:57:23: note: called from here 57 | __m512i v_in_hi = _mm512_and_si512(v_in_srl8, v_nibble_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:7659:1: error: inlining failed in call to always_inline ���_mm512_and_si512���: target specific option mismatch 7659 | _mm512_and_si512 (__m512i __A, __m512i __B) | ^~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:56:23: note: called from here 56 | __m512i v_in_lo = _mm512_and_si512(v_in, v_nibble_mask); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:214:1: error: inlining failed in call to always_inline ���_mm512_set1_epi8���: target specific option mismatch 214 | _mm512_set1_epi8 (char __A) | ^~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:55:29: note: called from here 55 | __m512i v_nibble_mask = _mm512_set1_epi8(0xF); | ^~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:1087:1: error: inlining failed in call to always_inline ���_mm512_srli_epi64���: target specific option mismatch 1087 | _mm512_srli_epi64 (__m512i __A, unsigned int __B) | ^~~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:54:25: note: called from here 54 | __m512i v_in_srl8 = _mm512_srli_epi64(v_in, 4); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55, from lib/dpif-netdev-lookup-avx512-gather.c:30: /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:6382:1: error: inlining failed in call to always_inline ���_mm512_loadu_si512���: target specific option mismatch 6382 | _mm512_loadu_si512 (void const *__P) | ^~~~~~~~~~~~~~~~~~ lib/dpif-netdev-lookup-avx512-gather.c:52:25: note: called from here 52 | __m512i v_pop_lut = _mm512_loadu_si512(pop_lut); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ mv utilities/ovs-parse-backtrace.tmp utilities/ovs-parse-backtrace PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < ovsdb/ovsdb-idlc.in | \ /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \ sed \ -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \ -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \ -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \ -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \ -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \ -e 's,[@]VERSION[@],2.14.1,g' \ -e 's,[@]localstatedir[@],/var/lib,g' \ -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \ -e 's,[@]sysconfdir[@],/etc,g' \ -e 's,[@]bindir[@],/usr/bin,g' \ -e 's,[@]sbindir[@],/usr/sbin,g' \ -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ > ovsdb/ovsdb-idlc.tmp mv utilities/ovs-l3ping.tmp utilities/ovs-l3ping PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < ovsdb/ovsdb-dot.in | \ /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \ sed \ -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \ -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \ -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \ -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \ -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \ -e 's,[@]VERSION[@],2.14.1,g' \ -e 's,[@]localstatedir[@],/var/lib,g' \ -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \ -e 's,[@]sysconfdir[@],/etc,g' \ -e 's,[@]bindir[@],/usr/bin,g' \ -e 's,[@]sbindir[@],/usr/sbin,g' \ -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \ > ovsdb/ovsdb-dot.tmp make[2]: *** [Makefile:4524: lib/libopenvswitchavx512_la-dpif-netdev-lookup-avx512-gather.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mv utilities/ovs-test.tmp utilities/ovs-test mv utilities/ovs-vlan-test.tmp utilities/ovs-vlan-test libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -DNDEBUG -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -fomit-frame-pointer -Wno-unused -Wno-unused-parameter -O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge -DHAVE_AVX512F -DHAVE_LD_AVX512_GOOD -c lib/sflow_poller.c -o lib/libsflow_la-sflow_poller.o libtool: compile: x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -DNDEBUG -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -fomit-frame-pointer -Wno-unused -Wno-unused-parameter -O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge -DHAVE_AVX512F -DHAVE_LD_AVX512_GOOD -c lib/sflow_receiver.c -o lib/libsflow_la-sflow_receiver.o mv ovsdb/ovsdb-dot.tmp ovsdb/ovsdb-dot mv utilities/ovs-sim.tmp utilities/ovs-sim mv ovsdb/ovsdb-idlc.tmp ovsdb/ovsdb-idlc make[2]: Leaving directory '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1' make[1]: *** [Makefile:5248: all-recursive] Error 1 make[1]: Leaving directory '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1' make: *** [Makefile:2995: all] Error 2 * ERROR: net-misc/openvswitch-2.14.1::gentoo failed (compile phase): * emake failed * * If you need support, post the output of `emerge --info '=net-misc/openvswitch-2.14.1::gentoo'`, * the complete build log and the output of `emerge -pqv '=net-misc/openvswitch-2.14.1::gentoo'`. * The complete build log is located at '/var/log/portage/net-misc:openvswitch-2.14.1:20210119-135626.log'. * For convenience, a symlink to the build log is located at '/var/tmp/portage/net-misc/openvswitch-2.14.1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-misc/openvswitch-2.14.1/temp/environment'. * Working directory: '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1' * S: '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1' Created attachment 683746 [details]
build.log + emerge --info.txt (for -mno-bmi2)
Please attach full build.log in the future rather than paste in a comment.
That aside, to narrow it down, could reproduce on ~amd64 and gcc10 with:
CFLAGS="-march=sandybridge -O2 -mno-avx2"
Also had a similar error with:
CFLAGS="-march=sandybridge -O2 -mno-bmi2"
bmi2intrin.h:76:1: error: inlining failed in call to 'always_inline' '_pext_u64': target specific option mismatch
Hello. I don't have gcc10 installed. Would it be enough to do it with gcc9? Thanks. Best regards Přemysl The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9810e0f55cb9c8da7bdcf6bdcae630e61fcf3594 commit 9810e0f55cb9c8da7bdcf6bdcae630e61fcf3594 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-07-02 12:31:46 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-07-02 12:35:08 +0000 net-misc/openvswitch: add 2.17.2 Bug: https://bugs.gentoo.org/766135 Closes: https://bugs.gentoo.org/596206 Closes: https://bugs.gentoo.org/633516 Closes: https://bugs.gentoo.org/671776 Closes: https://bugs.gentoo.org/672870 Closes: https://bugs.gentoo.org/794535 Closes: https://bugs.gentoo.org/854663 Signed-off-by: Sam James <sam@gentoo.org> net-misc/openvswitch/Manifest | 1 + net-misc/openvswitch/openvswitch-2.17.2.ebuild | 152 +++++++++++++++++++++++++ 2 files changed, 153 insertions(+) |