Your message dated Sun, 04 Nov 2007 09:40:52 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#449152: fixed in libatomic-ops 1.2-3
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: libatomic-ops
Version: 1.2-2
Tags: patch

This is an update of the mips patch. It now covers weakly ordered
systems as allowed by the architecture definition, and also fixes
some minor omissions.

This update fixes the FTBFS of pulseaudio on mips/mipsel.


Thiemo


--- libatomic-ops-1.0.away/src/atomic_ops/sysdeps/Makefile.am   2005-08-03 
02:05:18.000000000 +0200
+++ libatomic-ops-1.0/src/atomic_ops/sysdeps/Makefile.am        2005-10-27 
20:59:59.000000000 +0200
@@ -26,7 +26,7 @@ nobase_sysdep_HEADERS= generic_pthread.h
          gcc/alpha.h gcc/arm.h gcc/x86.h \
          gcc/hppa.h gcc/ia64.h \
          gcc/powerpc.h gcc/sparc.h \
-         gcc/hppa.h gcc/m68k.h gcc/s390.h \
+         gcc/hppa.h gcc/m68k.h gcc/mips.h gcc/s390.h \
          gcc/ia64.h gcc/x86_64.h gcc/cris.h \
        \
          icc/ia64.h \
--- libatomic-ops-1.0.away/src/atomic_ops/sysdeps/gcc/mips.h    1970-01-01 
01:00:00.000000000 +0100
+++ libatomic-ops-1.0/src/atomic_ops/sysdeps/gcc/mips.h 2007-11-02 
14:06:23.000000000 +0000
@@ -0,0 +1,97 @@
+/* 
+ * Copyright (c) 2005,2007  Thiemo Seufer <[EMAIL PROTECTED]>
+ *
+ * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ * OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
+ *
+ * Permission is hereby granted to use or copy this program
+ * for any purpose,  provided the above notices are retained on all copies.
+ * Permission to modify the code and to distribute modified code is granted,
+ * provided the above notices are retained, and a notice that the code was
+ * modified is included with the above copyright notice.
+ */
+
+#include "../all_aligned_atomic_load_store.h"
+#include "../acquire_release_volatile.h"
+#include "../test_and_set_t_is_ao_t.h"
+#include "../standard_ao_double_t.h"
+
+/* Data dependence does not imply read ordering.  */
+#define AO_NO_DD_ORDERING
+
+AO_INLINE void
+AO_nop_full()
+{
+  __asm__ __volatile__(
+      "       .set push           \n"
+      "       .set mips2          \n"
+      "       .set noreorder      \n"
+      "       .set nomacro        \n"
+      "       sync                \n"
+      "       .set pop              "
+      : : : "memory");
+}
+
+#define AO_HAVE_nop_full
+
+AO_INLINE int
+AO_compare_and_swap(volatile AO_t *addr, AO_t old, AO_t new_val)
+{
+  register int was_equal = 0;
+  register int temp;
+
+  __asm__ __volatile__(
+      "       .set push           \n"
+      "       .set mips2          \n"
+      "       .set noreorder      \n"
+      "       .set nomacro        \n"
+      "1:     ll      %0, %1      \n"
+      "       bne     %0, %4, 2f  \n"
+      "        move   %0, %3      \n"
+      "       sc      %0, %1      \n"
+      "       .set pop            \n"
+      "       beqz    %0, 1b      \n"
+      "       li      %2, 1       \n"
+      "2:                           "
+      : "=&r" (temp), "+R" (*addr), "+r" (was_equal)
+      : "r" (new_val), "r" (old)
+      : "memory");
+  return was_equal;
+}
+
+#define AO_HAVE_compare_and_swap
+
+AO_INLINE int
+AO_compare_and_swap_acquire(volatile AO_t *addr, AO_t old, AO_t new_val) {
+  int result = AO_compare_and_swap(addr, old, new_val);
+  AO_nop_full();
+  return result;
+}
+
+#define AO_HAVE_compare_and_swap_acquire
+
+AO_INLINE int
+AO_compare_and_swap_release(volatile AO_t *addr, AO_t old, AO_t new_val) {
+  AO_nop_full();
+  return AO_compare_and_swap(addr, old, new_val);
+}
+
+#define AO_HAVE_compare_and_swap_release
+
+AO_INLINE int
+AO_compare_and_swap_full(volatile AO_t *addr, AO_t old, AO_t new_val) {
+  AO_t result;
+  AO_nop_full();
+  result = AO_compare_and_swap(addr, old, new_val);
+  AO_nop_full();
+  return result;
+}
+
+#define AO_HAVE_compare_and_swap_full
+
+/*
+ * FIXME: We should also implement fetch_and_add and or primitives
+ * directly.
+ */
+
+#include "../ao_t_is_int.h"
--- libatomic-ops-1.0.away/src/atomic_ops.h     2005-08-03 02:05:18.000000000 
+0200
+++ libatomic-ops-1.0/src/atomic_ops.h  2005-10-27 21:01:29.000000000 +0200
@@ -219,6 +219,9 @@
 # if defined(__cris__) || defined(CRIS)
 #   include "atomic_ops/sysdeps/gcc/cris.h"
 # endif
+# if defined(__mips__)
+#   include "atomic_ops/sysdeps/gcc/mips.h"
+# endif /* __mips__ */
 #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
 
 #if defined(__INTEL_COMPILER) && !defined(AO_USE_PTHREAD_DEFS)





--- End Message ---
--- Begin Message ---
Source: libatomic-ops
Source-Version: 1.2-3

We believe that the bug you reported is fixed in the latest version of
libatomic-ops, which is due to be installed in the Debian FTP archive:

libatomic-ops-dev_1.2-3_i386.deb
  to pool/main/liba/libatomic-ops/libatomic-ops-dev_1.2-3_i386.deb
libatomic-ops_1.2-3.diff.gz
  to pool/main/liba/libatomic-ops/libatomic-ops_1.2-3.diff.gz
libatomic-ops_1.2-3.dsc
  to pool/main/liba/libatomic-ops/libatomic-ops_1.2-3.dsc



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Ian Wienand <[EMAIL PROTECTED]> (supplier of updated libatomic-ops package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Sun, 04 Nov 2007 19:01:31 +1100
Source: libatomic-ops
Binary: libatomic-ops-dev
Architecture: source i386
Version: 1.2-3
Distribution: unstable
Urgency: low
Maintainer: Ian Wienand <[EMAIL PROTECTED]>
Changed-By: Ian Wienand <[EMAIL PROTECTED]>
Description: 
 libatomic-ops-dev - A library for atomic operations (development files)
Closes: 449152
Changes: 
 libatomic-ops (1.2-3) unstable; urgency=low
 .
   * Closes: #449152 -- updated MIPS patch from Thiemo Seufer
Files: 
 85af8faf23ead89bbebaa3a521c74083 702 - optional libatomic-ops_1.2-3.dsc
 155e094ab20030506e4c26baba3c9b23 13036 - optional libatomic-ops_1.2-3.diff.gz
 48ee500d0114579fbbc511d17df07397 59950 libdevel optional 
libatomic-ops-dev_1.2-3_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFHLX0XWDlSU/gp6ecRAv1WAKCFgROctXAz5xr+J05XdsR4QPky2ACg0ZbZ
gkQa4G9rwlMpfAEUq8erzXE=
=jxG3
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to