Re: build issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sat, 19 Oct 2019 at 08:11, Sitsofe Wheeler <sitsofe@xxxxxxxxx> wrote:
>
> Hi,
>
> On Fri, 18 Oct 2019 at 23:18, Astolfo Rueda <astolfor@xxxxxxxxxxxxx> wrote:
> >
> > Hello I am trying to build FIO and I get these errors.
> > The server is windows 10, with latest Cygwin.
> >
> > What am I doing wrong?
>
> You're not doing anything wrong from what I can see - it looks like
> sounds like some sort of compiler issue...
>
> > Thanks
> > Astolfo
> >
> >
> > /tmp/ccQfIUjv.s: Assembler messages:
> > /tmp/ccQfIUjv.s:1188: Error: invalid register for .seh_savexmm
> > make: *** [Makefile:376: filehash.o] Error 1
> > make: *** Waiting for unfinished jobs....
> > /tmp/ccZfFBQo.s: Assembler messages:
> > /tmp/ccZfFBQo.s:3812: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3814: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3816: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3818: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3820: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3822: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3824: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3826: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3828: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3830: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3832: Error: invalid register for .seh_savexmm
> > /tmp/ccZfFBQo.s:3834: Error: invalid register for .seh_savexmm
> > make: *** [Makefile:379: options.o] Error 1
>
> Hmm. This might be down to a compatibility issue between
> x86_64-w64-mingw32-gcc and Windows when using AVX512 (and whether fio
> defaults to compiling with such options will depend on the compilation
> environment). If you do
>
> ./configure --extra-cflags="-fno-asynchronous-unwind-tables"
> make -j
>
> etc. are things any better?

So I've managed to find a recent Xeon server with Windows VM and I see
the compile errors you describe on it too. Doing
make clean
./configure --extra-cflags="-fno-asynchronous-unwind-tables"
make -j

fixes the "invalid register for .seh_savexmm" error for me. Another
workaround is to disable the generation of problematic AVX
instructions:
make clean
./configure --extra-cflags="-mno-avx512f"
make -j

but the binary made might be ever so slightly slower (and you'd need
incredibly fast disks and when I did a quick check with the null
ioengine I actually found the non-AVX512 version of fio was faster in
my VM...).

It looks like this is the "gcc/mingw-gcc fails to align the stack
properly to Windows' requirements when using AVX 512 instructions"
issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65782
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54412
https://stackoverflow.com/questions/30928265/mingw64-is-incapable-of-32-byte-stack-alignment-required-for-avx-on-windows-x64
https://stackoverflow.com/questions/43152633/invalid-register-for-seh-savexmm-in-cygwin

-- 
Sitsofe | http://sucs.org/~sits/



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux