On 1/20/2021 5:51 PM, Ferruh Yigit wrote:
On 1/20/2021 10:05 AM, Ali Alnubani wrote:
For info, I don't reproduce the compilation issue on my machine.
My build system has been upgraded from fc31 to fc32 so I guess this has
something to do with it.
I can reproduce with (Fedora MinGW 9.2.1-6.fc32), but not with (Fedora MinGW
10.2.1-2.fc33).
First of all, for the patch @Tal provided its link, the windows build and the
mingw build errors are different. And the windows build error should be already
fixed by a patch that squashed in next-net (https://patches.dpdk.org/patch/86804/).
And for the mingw, I have same result with Ali, I can reproduce with (Fedora
MinGW 9.2.1-6.fc32).
But different from the CI, I am getting the error [1] for all following files:
rte_random.c
i40e_rxtx_vec_sse.c
i40e_rxtx_vec_avx512.c
i40e_rxtx_vec_avx2.c
rte_ethdev.c
[1] Error: invalid register for .seh_savexmm
Build log for above errors: https://pastebin.com/jD4jRVzL
There is a stackoverflow entry for it:
https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin
If I use '-fno-asynchronous-unwind-tables' as suggested there, the build works
fine.
So the problem may not be just 'i40e_rxtx_vec_avx512.c'.
If I change the machine type from 'native' to 'corei7' [2], the build error
reduced to only 'i40e_rxtx_vec_avx512.c', so the problem seems happens when
avx512 is supported by CPU, in this case compiler seems has a defect.
And since for 'i40e_rxtx_vec_avx512.c' the '-march=skylake-avx512' explicitly
set can cause the problem seen in all machines.
[2]
diff --git a/config/x86/cross-mingw b/config/x86/cross-mingw
index 4c15a7fa2e..7cee238add 100644
--- a/config/x86/cross-mingw
+++ b/config/x86/cross-mingw
@@ -9,5 +9,5 @@ pkgconfig = 'x86_64-w64-mingw32-pkg-config'
[host_machine]
system = 'windows'
cpu_family = 'x86_64'
-cpu = 'native'
+cpu = 'corei7'
endian = 'little'
@Ranjit, @Pallavi,
Are you building using mingw, and if so are you observing same problem?