diff options
author | Vladimír Čunát <vcunat@gmail.com> | 2015-06-04 15:32:19 +0200 |
---|---|---|
committer | Vladimír Čunát <vcunat@gmail.com> | 2015-06-04 16:13:06 +0200 |
commit | aaaa9f0041c28c465dcd0f5e524062025663b6f9 (patch) | |
tree | 2c002e4f6e580270a7b787e5e5767bae562f4973 /pkgs/development/libraries/lame | |
parent | e7f1038798d99beeda326aee016e2f84dca15fd8 (diff) | |
download | nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar.gz nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar.bz2 nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar.lz nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar.xz nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.tar.zst nixlib-aaaa9f0041c28c465dcd0f5e524062025663b6f9.zip |
lame: fix build on 32-bit with gcc 4.9
Diffstat (limited to 'pkgs/development/libraries/lame')
-rw-r--r-- | pkgs/development/libraries/lame/default.nix | 2 | ||||
-rw-r--r-- | pkgs/development/libraries/lame/gcc-4.9.patch | 33 |
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix index 4a61d188ef69..1f8ad2e67c9b 100644 --- a/pkgs/development/libraries/lame/default.nix +++ b/pkgs/development/libraries/lame/default.nix @@ -30,6 +30,8 @@ stdenv.mkDerivation rec { sha256 = "1zr3kadv35ii6liia0bpfgxpag27xcivp571ybckpbz4b10nnd14"; }; + patches = [ ./gcc-4.9.patch ]; + nativeBuildInputs = [ ] ++ optional nasmSupport nasm; diff --git a/pkgs/development/libraries/lame/gcc-4.9.patch b/pkgs/development/libraries/lame/gcc-4.9.patch new file mode 100644 index 000000000000..59f8e00e4a8e --- /dev/null +++ b/pkgs/development/libraries/lame/gcc-4.9.patch @@ -0,0 +1,33 @@ +fix sse optimizations build on 32-bit with gcc 4.9 +http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=351af417bae0d09bd5a3753d1237f03adf591933 + +xmm_quantize_sub.c: In function 'init_xrpow_core_sse': +xmm_quantize_sub.c:65:18: warning: SSE vector return without SSE enabled changes the ABI [-W +psabi] + const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]); + ^ +In file included from xmm_quantize_sub.c:37:0: +/usr/lib/gcc/i686-w64-mingw32/4.9.0/include/xmmintrin.h:933:1: error: inlining failed in call to always_inline '_mm_loadu_ps': target specific option mismatch + _mm_loadu_ps (float const *__P) + ^ +xmm_quantize_sub.c:65:18: error: called from here + const __m128 vec_fabs_mask = _mm_loadu_ps(&fabs_mask._float[0]); + ^ +--- lame/libmp3lame/vector/xmm_quantize_sub.c.orig 2014-06-08 12:16:19.455468042 -0700 ++++ lame/libmp3lame/vector/xmm_quantize_sub.c 2014-06-08 12:16:09.592356980 -0700 +@@ -35,6 +35,7 @@ + #ifdef HAVE_XMMINTRIN_H + + #include <xmmintrin.h> ++#pragma GCC target("sse") + + typedef union { + int32_t _i_32[4]; /* unions are initialized by its first member */ +@@ -124,6 +125,7 @@ + } + + ++#pragma GCC target("sse2") + void + fht_SSE2(FLOAT * fz, int n) + { |