freeswitch/spandsp

Build failure with MMX on i686 / pentium4

ffontaine opened this issue · 1 comments

MMX fails to build on i686 / pentium4:

gsm0610_rpe.c: In function 'gsm0610_rpe_encoding':
gsm0610_rpe.c:132:5: error: invalid 'asm': invalid constraints for operand
     __asm__ __volatile__(
     ^~~~~~~

It seems that the build failure is raised by the following instruction:

" leal %[gsm_H],%%eax;\n"

Full build log can be found here:
http://autobuild.buildroot.org/results/3e9/3e986c3109c392afe47fc98446a2563ac9776cf6/build-end.log

I noticed that the configure script is EXPLICITLY enabling mmx, sse and sse2. If you're trying to build for a CPU that doesn't support MMX, you'll need to fix your build script.

./configure --target=i686-buildroot-linux-uclibc --host=i686-buildroot-linux-uclibc --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix="" --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --disable-static --enable-shared  --disable-builtin-tiff --enable-mmx --enable-sse --enable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4-1 --disable-sse4-2

Suggest closing this as invalid.