Making alsa build on mips with a patch

svn path=/nixpkgs/branches/stdenv-updates/; revision=23575
This commit is contained in:
Lluís Batlle i Rossell 2010-09-01 08:34:34 +00:00
parent 7608617484
commit 517cc51331
2 changed files with 44 additions and 0 deletions

View File

@ -39,5 +39,10 @@ stdenv.mkDerivation rec {
See http://thread.gmane.org/gmane.linux.distributions.nixos/3435
*/
./alsa-plugin-dirs.patch
/* patch provided by larsc on irc.
it may be a compiler problem on mips; without this, alsa does not build
on mips, because lacks some symbols atomic_add/atomic_sub */
./mips-atomic.patch
];
}

View File

@ -0,0 +1,39 @@
diff --git a/include/iatomic.h b/include/iatomic.h
index e92dbfd..364bc5c 100644
--- a/include/iatomic.h
+++ b/include/iatomic.h
@@ -720,7 +720,7 @@ typedef struct { volatile int counter; } atomic_t;
* Atomically adds @i to @v. Note that the guaranteed useful range
* of an atomic_t is only 24 bits.
*/
-extern __inline__ void atomic_add(int i, atomic_t * v)
+static __inline__ void atomic_add(int i, atomic_t * v)
{
unsigned long temp;
@@ -744,7 +744,7 @@ extern __inline__ void atomic_add(int i, atomic_t * v)
* Atomically subtracts @i from @v. Note that the guaranteed
* useful range of an atomic_t is only 24 bits.
*/
-extern __inline__ void atomic_sub(int i, atomic_t * v)
+static __inline__ void atomic_sub(int i, atomic_t * v)
{
unsigned long temp;
@@ -763,7 +763,7 @@ extern __inline__ void atomic_sub(int i, atomic_t * v)
/*
* Same as above, but return the result value
*/
-extern __inline__ int atomic_add_return(int i, atomic_t * v)
+static __inline__ int atomic_add_return(int i, atomic_t * v)
{
unsigned long temp, result;
@@ -784,7 +784,7 @@ extern __inline__ int atomic_add_return(int i, atomic_t * v)
return result;
}
-extern __inline__ int atomic_sub_return(int i, atomic_t * v)
+static __inline__ int atomic_sub_return(int i, atomic_t * v)
{
unsigned long temp, result;