Your message dated Sat, 19 Feb 2005 18:47:31 -0500
with message-id <[EMAIL PROTECTED]>
and subject line Bug#287276: fixed in libatomic-ops 0.5.1-2
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)

--------------------------------------
Received: (at submit) by bugs.debian.org; 26 Dec 2004 17:18:56 +0000
>From [EMAIL PROTECTED] Sun Dec 26 09:18:55 2004
Return-path: <[EMAIL PROTECTED]>
Received: from astra.telenet-ops.be [195.130.132.58] 
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1Cic2h-0006SD-00; Sun, 26 Dec 2004 09:18:55 -0800
Received: from localhost (localhost.localdomain [127.0.0.1])
        by astra.telenet-ops.be (Postfix) with SMTP id 4121D328048
        for <[EMAIL PROTECTED]>; Sun, 26 Dec 2004 18:18:36 +0100 (MET)
Received: from kabel.telenet.be (D5775FD9.kabel.telenet.be [213.119.95.217])
        by astra.telenet-ops.be (Postfix) with ESMTP id E76DE328302
        for <[EMAIL PROTECTED]>; Sun, 26 Dec 2004 18:18:35 +0100 (MET)
Received: by kabel.telenet.be (Postfix, from userid 501)
        id 7D72226137; Sun, 26 Dec 2004 18:18:35 +0100 (CET)
Date: Sun, 26 Dec 2004 18:18:35 +0100
From: Kurt Roeckx <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: libatomic-ops: Support for amd64.
Message-ID: <[EMAIL PROTECTED]>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="FL5UXtIhxfXey3p5"
Content-Disposition: inline
User-Agent: Mutt/1.4.2.1i
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2004_03_25 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE 
        autolearn=no version=2.60-bugs.debian.org_2004_03_25
X-Spam-Level: 


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Package: libatomic-ops
Version: 0.5.1-1
Tags: patch

Hi,

I've ported the package to amd64.  I based the x86_64.h on the
x86.h version.  Basicly I just had to change the prefixes from
"l" to "q".  There was one other change I did and that was change
an int to an AO_t, which I did in the x86.h too.  This should
have no effect on x86 since both an int and long are 32 bit, but
on amd64 a long is 64 bit.

With the attached patch, "make check" succesfully does both
tests.


PS: There seem to be header files for other arches too.  They
haven't been tested at all or what?


Kurt


--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="libatomic-ops-0.5.1+amd64.diff"

diff -urN libatomic-ops-0.5.1/debian/control 
libatomic-ops-0.5.1+amd64/debian/control
--- libatomic-ops-0.5.1/debian/control  2004-12-26 17:54:26.380953128 +0100
+++ libatomic-ops-0.5.1+amd64/debian/control    2004-12-26 17:50:15.000000000 
+0100
@@ -8,7 +8,7 @@
 Package: libatomic-ops
 Section: libs
 Depends: ${shlibs:Depends}
-Architecture: ia64 i386
+Architecture: ia64 i386 amd64
 Description: A library for atomic operations (run-time)
  Libatomic-ops implements a large collection of operations, each one
  of which is a combination of an (optional) atomic memory operation,
@@ -22,7 +22,7 @@
 Package: libatomic-ops-dev
 Section: libdevel
 Depends: ${shlibs:Depends}
-Architecture: ia64 i386
+Architecture: ia64 i386 amd64
 Description: A library for atomic operations (development files)
  Libatomic-ops implements a large collection of operations, each one
  of which is a combination of an (optional) atomic memory operation,
diff -urN libatomic-ops-0.5.1/src/atomic_ops/sysdeps/gcc/x86.h 
libatomic-ops-0.5.1+amd64/src/atomic_ops/sysdeps/gcc/x86.h
--- libatomic-ops-0.5.1/src/atomic_ops/sysdeps/gcc/x86.h        2004-06-23 
05:17:30.000000000 +0200
+++ libatomic-ops-0.5.1+amd64/src/atomic_ops/sysdeps/gcc/x86.h  2004-12-26 
17:53:24.273394912 +0100
@@ -78,7 +78,7 @@
 AO_INLINE AO_TS_t
 AO_test_and_set_full(volatile AO_t *addr)
 {
-  int oldval;
+  AO_t oldval;
   /* Note: the "xchg" instruction does not need a "lock" prefix */
   __asm__ __volatile__("xchgl %0, %1"
                : "=r"(oldval), "+m"(*(addr))
diff -urN libatomic-ops-0.5.1/src/atomic_ops/sysdeps/gcc/x86_64.h 
libatomic-ops-0.5.1+amd64/src/atomic_ops/sysdeps/gcc/x86_64.h
--- libatomic-ops-0.5.1/src/atomic_ops/sysdeps/gcc/x86_64.h     1970-01-01 
01:00:00.000000000 +0100
+++ libatomic-ops-0.5.1+amd64/src/atomic_ops/sysdeps/gcc/x86_64.h       
2004-12-26 17:49:21.000000000 +0100
@@ -0,0 +1,103 @@
+/* 
+ * Copyright (c) 1991-1994 by Xerox Corporation.  All rights reserved.
+ * Copyright (c) 1996-1999 by Silicon Graphics.  All rights reserved.
+ * Copyright (c) 1999-2003 by Hewlett-Packard Company. All rights reserved.
+ *
+ *
+ * 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.
+ *
+ * Some of the machine specific code was borrowed from our GC distribution.
+ */
+
+/* The following really assume we have a 486 or better.  Unfortunately */
+/* gcc doesn't define a suitable feature test macro based on command   */
+/* line options.                                                       */
+/* We should perhaps test dynamically.                                 */
+
+#include "../aligned_atomic_load_store.h"
+
+/* Real X86 implementations, except for some old WinChips, appear      */
+/* to enforce ordering between memory operations, EXCEPT that a later  */
+/* read can pass earlier writes, presumably due to the visible         */
+/* presence of store buffers.                                          */
+/* We ignore both the WinChips, and the fact that the official specs   */
+/* seem to be much weaker (and arguably too weak to be usable).                
*/
+
+#include "../ordered_except_wr.h"
+
+#if defined(AO_USE_PENTIUM4_INSTRS)
+AO_INLINE void
+AO_nop_full()
+{
+  __asm__ __volatile__("mfence" : : : "memory");
+}
+
+#define AO_HAVE_NOP_FULL
+
+#else
+
+/* We could use the cpuid instruction.  But that seems to be slower    */
+/* than the default implementation based on test_and_set_full.  Thus   */
+/* we omit that bit of misinformation here.                            */
+
+#endif
+
+/* As far as we can tell, the lfence and sfence instructions are not   */
+/* currently needed or useful for cached memory accesses.              */
+
+/* Really only works for 486 and later */
+AO_INLINE AO_t
+AO_fetch_and_add_full (volatile AO_t *p, long incr)
+{
+  AO_t result = incr;
+
+  __asm__ __volatile__ ("lock; xaddq %0, %1" :
+                       "+r" (result), "+m" (*p) : : "memory");
+  return result;
+}
+
+#define AO_HAVE_fetch_and_add_full
+
+/* Really only works for 486 and later */
+AO_INLINE void
+AO_or_full (volatile AO_t *p, AO_t incr)
+{
+  __asm__ __volatile__ ("lock; orq %1, %0" :
+                       "+m" (*p) : "r" (incr) : "memory");
+}
+
+#define AO_HAVE_or_full
+
+AO_INLINE AO_TS_t
+AO_test_and_set_full(volatile AO_t *addr)
+{
+  AO_t oldval;
+  /* Note: the "xchg" instruction does not need a "lock" prefix */
+  __asm__ __volatile__("xchgq %0, %1"
+               : "=r"(oldval), "+m"(*(addr))
+               : "0"(1) : "memory");
+  return oldval;
+}
+
+#define AO_HAVE_test_and_set_full
+
+/* Returns nonzero if the comparison succeeded. */
+AO_INLINE int
+AO_compare_and_swap_full(volatile AO_t *addr,
+                            AO_t old, AO_t new_val) 
+{
+  char result;
+  __asm__ __volatile__("lock; cmpxchgq %2, %0; setz %1"
+                      : "+m"(*(addr)), "=q"(result)
+                      : "r" (new_val), "a"(old) : "memory");
+  return (int) result;
+}
+
+#define AO_HAVE_compare_and_swap_full
diff -urN libatomic-ops-0.5.1/src/atomic_ops.h 
libatomic-ops-0.5.1+amd64/src/atomic_ops.h
--- libatomic-ops-0.5.1/src/atomic_ops.h        2004-06-23 05:17:30.000000000 
+0200
+++ libatomic-ops-0.5.1+amd64/src/atomic_ops.h  2004-12-26 17:42:55.000000000 
+0100
@@ -193,6 +193,9 @@
 # if defined(__i386__)
 #   include "atomic_ops/sysdeps/gcc/x86.h"
 # endif /* __i386__ */
+# if defined(__x86_64__)
+#   include "atomic_ops/sysdeps/gcc/x86_64.h"
+# endif /* __i386__ */
 # if defined(__ia64__)
 #   include "atomic_ops/sysdeps/gcc/ia64.h"
 #   define AO_GENERALIZE_TWICE

--FL5UXtIhxfXey3p5--

---------------------------------------
Received: (at 287276-close) by bugs.debian.org; 19 Feb 2005 23:56:20 +0000
>From [EMAIL PROTECTED] Sat Feb 19 15:56:20 2005
Return-path: <[EMAIL PROTECTED]>
Received: from newraff.debian.org [208.185.25.31] (mail)
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1D2eSS-0006ig-00; Sat, 19 Feb 2005 15:56:20 -0800
Received: from katie by newraff.debian.org with local (Exim 3.35 1 (Debian))
        id 1D2eJv-0002TO-00; Sat, 19 Feb 2005 18:47:31 -0500
From: Al Stone <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
X-Katie: $Revision: 1.55 $
Subject: Bug#287276: fixed in libatomic-ops 0.5.1-2
Message-Id: <[EMAIL PROTECTED]>
Sender: Archive Administrator <[EMAIL PROTECTED]>
Date: Sat, 19 Feb 2005 18:47:31 -0500
Delivered-To: [EMAIL PROTECTED]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 
X-CrossAssassin-Score: 2

Source: libatomic-ops
Source-Version: 0.5.1-2

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_0.5.1-2_i386.deb
  to pool/main/liba/libatomic-ops/libatomic-ops-dev_0.5.1-2_i386.deb
libatomic-ops_0.5.1-2.diff.gz
  to pool/main/liba/libatomic-ops/libatomic-ops_0.5.1-2.diff.gz
libatomic-ops_0.5.1-2.dsc
  to pool/main/liba/libatomic-ops/libatomic-ops_0.5.1-2.dsc
libatomic-ops_0.5.1-2_i386.deb
  to pool/main/liba/libatomic-ops/libatomic-ops_0.5.1-2_i386.deb



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.
Al Stone <[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: Sat, 19 Feb 2005 15:47:31 -0700
Source: libatomic-ops
Binary: libatomic-ops libatomic-ops-dev
Architecture: source i386
Version: 0.5.1-2
Distribution: unstable
Urgency: low
Maintainer: Ian Wienand <[EMAIL PROTECTED]>
Changed-By: Al Stone <[EMAIL PROTECTED]>
Description: 
 libatomic-ops - A library for atomic operations (run-time)
 libatomic-ops-dev - A library for atomic operations (development files)
Closes: 244910 287276
Changes: 
 libatomic-ops (0.5.1-2) unstable; urgency=low
 .
   * Closes: bug#287276: support for amd64 added (thanks to Kurt
     Roeckx <[EMAIL PROTECTED]> for the patch).
   * Closes: bug#244910: all architectures have now been enabled (only
     i386, ia64, amd64 are absolutely known to work, however)
Files: 
 efcc09b65f64aa48a793f20aa0b6d7a8 646 - optional libatomic-ops_0.5.1-2.dsc
 b608c3b1724fb88f9068a1511b1e38bd 6862 - optional libatomic-ops_0.5.1-2.diff.gz
 6d2c55cf72d3233ede93c4e87938af19 10940 libs optional 
libatomic-ops_0.5.1-2_i386.deb
 795e17657fd7a49b8d02f07e7ba18558 22570 libdevel optional 
libatomic-ops-dev_0.5.1-2_i386.deb

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

iD8DBQFCF8xYso6+T7qY4V0RAmXWAJ9Em7GFLKuNcwfG6zuNVgMzpodS/wCggmE0
UjlOfd1jS1hgceHqaiYtwGI=
=G5Vd
-----END PGP SIGNATURE-----


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to