summary refs log tree commit diff
path: root/pkgs/development/libraries/lame
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-11 00:23:03 +0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-06-11 00:23:03 +0200
commit4970574409ea15bcd769c4e999e8d272ae629b1b (patch)
treed53877f04b3ad18dd6edfe3569fc14bc94a95b14 /pkgs/development/libraries/lame
parent4a57b07653751be95636134aee91586c47aedb4c (diff)
parentd57ef6b523838cf161dbc9fb01173caf3e84954b (diff)
downloadnixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar.gz
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar.bz2
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar.lz
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar.xz
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.tar.zst
nixpkgs-4970574409ea15bcd769c4e999e8d272ae629b1b.zip
Merge remote-tracking branch 'origin/gcc-4.9' into staging
Conflicts:
	pkgs/development/libraries/wayland/default.nix
Diffstat (limited to 'pkgs/development/libraries/lame')
-rw-r--r--pkgs/development/libraries/lame/default.nix2
-rw-r--r--pkgs/development/libraries/lame/gcc-4.9.patch33
2 files changed, 35 insertions, 0 deletions
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index 562e292791a..f4ea47e633f 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 00000000000..59f8e00e4a8
--- /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)
+ {