diff options
author | Florian Fischer <vlooe@web.de> | 2009-06-20 23:21:47 +0200 |
---|---|---|
committer | Florian Fischer <vlooe@web.de> | 2009-06-20 23:21:47 +0200 |
commit | 11751056ae91a3a7060c8483012bcf0f848bf592 (patch) | |
tree | 16809904dea47c6988fcaa42eaccf85078216b21 /dev-libs | |
parent | added dev-libs/libatomic_ops (diff) | |
download | multilib-portage-11751056ae91a3a7060c8483012bcf0f848bf592.tar.gz multilib-portage-11751056ae91a3a7060c8483012bcf0f848bf592.tar.bz2 multilib-portage-11751056ae91a3a7060c8483012bcf0f848bf592.zip |
added missing patch of dev-libs/libatomic_ops
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/libatomic_ops/Manifest | 2 | ||||
-rw-r--r-- | dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch | 11 | ||||
-rw-r--r-- | dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch | 46 |
3 files changed, 59 insertions, 0 deletions
diff --git a/dev-libs/libatomic_ops/Manifest b/dev-libs/libatomic_ops/Manifest index 709b8650f..82072f92e 100644 --- a/dev-libs/libatomic_ops/Manifest +++ b/dev-libs/libatomic_ops/Manifest @@ -1,2 +1,4 @@ +AUX libatomic_ops-1.2-ppc-asm.patch 427 RMD160 89773869a9336ff64aeac2b34091f3f93abd7817 SHA1 22b5a82efaa3e59d3f2372be51894201747d21e9 SHA256 a8cdb35c08084878a10c72ddfa318586135142dbbbb346e0d727e9d170eb28bb +AUX libatomic_ops-1.2-ppc64-load_acquire.patch 1383 RMD160 d3d368915d613b8a8f4af4806ede9e9f53d3eadc SHA1 6ca477928f48f7cc1f2515eb3d8f99af7d118807 SHA256 f061cdf1e70448a193abe316d9c4b4f6b924132a99abcea9753b1440274304f1 DIST libatomic_ops-1.2.tar.gz 183780 RMD160 8c548b32033c954a61e740f9a0e76ca8f005c4f6 SHA1 8bf4134d614acb1a6234b3102e67a847ae9369b0 SHA256 a3d8768aa8fd2f6ae79be2d756b3a6b48816b3889ae906be3d5ffb2de5a5c781 EBUILD libatomic_ops-1.2-r1.ebuild 842 RMD160 cb2f7f2c5dacc4b157bc879f25f07627ff79ae94 SHA1 930611fa5038a500cf6bea613b0034fdeb4abdfd SHA256 576f22b0af62d35aaa8096f41a55e0245e20d36bd0ecbf0281e5db9a3816e08a diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch new file mode 100644 index 000000000..f98f83fde --- /dev/null +++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc-asm.patch @@ -0,0 +1,11 @@ +--- ../libatomic-ops-1.2/src/atomic_ops/sysdeps/gcc/powerpc.h 2006-03-29 09:49:14.000000000 +1100 ++++ src/atomic_ops/sysdeps/gcc/powerpc.h 2007-08-27 10:51:00.000000000 +1000 +@@ -72,7 +72,7 @@ + /* registers. I always got "impossible constraint" when I */ + /* tried the "y" constraint. */ + __asm__ __volatile__ ( +- "lwz %0,%1\n" ++ "lwz%X1 %0,%1\n" + "cmpw cr7,%0,%0\n" + "bne- cr7,1f\n" + "1: isync\n" diff --git a/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch new file mode 100644 index 000000000..9b6baa188 --- /dev/null +++ b/dev-libs/libatomic_ops/files/libatomic_ops-1.2-ppc64-load_acquire.patch @@ -0,0 +1,46 @@ +--- src/atomic_ops/sysdeps/gcc/powerpc.h.orig 2006-03-28 22:49:14.000000000 +0000 ++++ src/atomic_ops/sysdeps/gcc/powerpc.h 2007-06-08 23:10:07.000000000 +0000 +@@ -63,6 +63,8 @@ + /* seems to be that a data dependent branch followed by an isync is */ + /* cheaper. And the documentation is fairly explicit that this also */ + /* has acquire semantics. */ ++/* ppc64 uses ld not lwz */ ++#if defined(__powerpc64__) || defined(__ppc64__) || defined(__64BIT__) + AO_INLINE AO_t + AO_load_acquire(volatile AO_t *addr) + { +@@ -72,7 +74,7 @@ + /* registers. I always got "impossible constraint" when I */ + /* tried the "y" constraint. */ + __asm__ __volatile__ ( +- "lwz %0,%1\n" ++ "ld %0,%1\n" + "cmpw cr7,%0,%0\n" + "bne- cr7,1f\n" + "1: isync\n" +@@ -80,7 +82,25 @@ + : "m"(*addr) : "memory", "cc"); + return result; + } ++#else ++AO_INLINE AO_t ++AO_load_acquire(volatile AO_t *addr) ++{ ++ AO_t result; + ++ /* FIXME: We should get gcc to allocate one of the condition */ ++ /* registers. I always got "impossible constraint" when I */ ++ /* tried the "y" constraint. */ ++ __asm__ __volatile__ ( ++ "lwz %0,%1\n" ++ "cmpw cr7,%0,%0\n" ++ "bne- cr7,1f\n" ++ "1: isync\n" ++ : "=r" (result) ++ : "m"(*addr) : "memory", "cc"); ++ return result; ++} ++#endif + #define AO_HAVE_load_acquire + + /* We explicitly specify store_release, since it relies */ |