[Pkg-lyx-devel] svn commit: r274 - in /lyx/branches/lyx-1.5/debian: changelog patches/boost_ia64 patches/series

pelle at users.alioth.debian.org pelle at users.alioth.debian.org
Fri Mar 23 11:47:06 UTC 2007


Author: pelle
Date: Fri Mar 23 10:47:05 2007
New Revision: 274

URL: http://svn.debian.org/wsvn/pkg-lyx/?sc=1&rev=274
Log:
* Add patch boost_ia64 from upstream r17506 to add ia64 support to the
  included boost library. Closes: #415636.

Added:
    lyx/branches/lyx-1.5/debian/patches/boost_ia64
Modified:
    lyx/branches/lyx-1.5/debian/changelog
    lyx/branches/lyx-1.5/debian/patches/series

Modified: lyx/branches/lyx-1.5/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-lyx/lyx/branches/lyx-1.5/debian/changelog?rev=274&op=diff
==============================================================================
--- lyx/branches/lyx-1.5/debian/changelog (original)
+++ lyx/branches/lyx-1.5/debian/changelog Fri Mar 23 10:47:05 2007
@@ -1,3 +1,10 @@
+lyx (1.5.0~beta1-2) UNRELEASED; urgency=low
+
+  * Add patch boost_ia64 from upstream r17506 to add ia64 support to the
+    included boost library. Closes: #415636.
+
+ -- Per Olofsson <pelle at debian.org>  Fri, 23 Mar 2007 11:46:27 +0100
+
 lyx (1.5.0~beta1-1) experimental; urgency=low
 
   * Checked out upstream development snapshot.

Added: lyx/branches/lyx-1.5/debian/patches/boost_ia64
URL: http://svn.debian.org/wsvn/pkg-lyx/lyx/branches/lyx-1.5/debian/patches/boost_ia64?rev=274&op=file
==============================================================================
--- lyx/branches/lyx-1.5/debian/patches/boost_ia64 (added)
+++ lyx/branches/lyx-1.5/debian/patches/boost_ia64 Fri Mar 23 10:47:05 2007
@@ -1,0 +1,162 @@
+Index: lyx-1.5/lyx-devel/trunk/boost/boost/detail/sp_counted_base_gcc_ia64.hpp
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ lyx-1.5/lyx-devel/trunk/boost/boost/detail/sp_counted_base_gcc_ia64.hpp	2007-03-23 11:40:39.000000000 +0100
+@@ -0,0 +1,157 @@
++#ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
++#define BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED
++
++//
++//  detail/sp_counted_base_gcc_ia64.hpp - g++ on IA64
++//
++//  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
++//  Copyright 2004-2006 Peter Dimov
++//  Copyright 2005 Ben Hutchings
++//
++//  Distributed under the Boost Software License, Version 1.0. (See
++//  accompanying file LICENSE_1_0.txt or copy at
++//  http://www.boost.org/LICENSE_1_0.txt)
++//
++//
++//  Lock-free algorithm by Alexander Terekhov
++//
++
++#include <typeinfo>
++
++namespace boost
++{
++
++namespace detail
++{
++
++inline void atomic_increment( int * pw )
++{
++    // ++*pw;
++
++    int tmp;
++
++    // No barrier is required here but fetchadd always has an acquire or
++    // release barrier associated with it.  We choose release as it should be
++    // cheaper.
++    __asm__ ("fetchadd4.rel %0=%1,1" :
++         "=r"(tmp), "=m"(*pw) :
++         "m"( *pw ));
++}
++
++inline int atomic_decrement( int * pw )
++{
++    // return --*pw;
++
++    int rv;
++
++    __asm__ ("     fetchadd4.rel %0=%1,-1 ;; \n"
++             "     cmp.eq        p7,p0=1,%0 ;; \n"
++             "(p7) ld4.acq       %0=%1    " :
++             "=&r"(rv), "=m"(*pw) :
++             "m"( *pw ) :
++             "p7");
++
++    return rv;
++}
++
++inline int atomic_conditional_increment( int * pw )
++{
++    // if( *pw != 0 ) ++*pw;
++    // return *pw;
++
++    int rv, tmp, tmp2;
++
++    __asm__ ("0:   ld4          %0=%3           ;; \n"
++         "     cmp.eq       p7,p0=0,%0        ;; \n"
++         "(p7) br.cond.spnt 1f                \n"
++         "     mov          ar.ccv=%0         \n"
++         "     add          %1=1,%0           ;; \n"
++         "     cmpxchg4.acq %2=%3,%1,ar.ccv ;; \n"
++         "     cmp.ne       p7,p0=%0,%2       ;; \n"
++         "(p7) br.cond.spnt 0b                \n"
++         "     mov          %0=%1             ;; \n"
++         "1:" : 
++         "=&r"(rv), "=&r"(tmp), "=&r"(tmp2), "=m"(*pw) :
++         "m"( *pw ) :
++         "ar.ccv", "p7");
++
++    return rv;
++}
++
++class sp_counted_base
++{
++private:
++
++    sp_counted_base( sp_counted_base const & );
++    sp_counted_base & operator= ( sp_counted_base const & );
++
++    int use_count_;        // #shared
++    int weak_count_;       // #weak + (#shared != 0)
++
++public:
++
++    sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
++    {
++    }
++
++    virtual ~sp_counted_base() // nothrow
++    {
++    }
++
++    // dispose() is called when use_count_ drops to zero, to release
++    // the resources managed by *this.
++
++    virtual void dispose() = 0; // nothrow
++
++    // destroy() is called when weak_count_ drops to zero.
++
++    virtual void destroy() // nothrow
++    {
++        delete this;
++    }
++
++    virtual void * get_deleter( std::type_info const & ti ) = 0;
++
++    void add_ref_copy()
++    {
++        atomic_increment( &use_count_ );
++    }
++
++    bool add_ref_lock() // true on success
++    {
++        return atomic_conditional_increment( &use_count_ ) != 0;
++    }
++
++    void release() // nothrow
++    {
++        if( atomic_decrement( &use_count_ ) == 0 )
++        {
++            dispose();
++            weak_release();
++        }
++    }
++
++    void weak_add_ref() // nothrow
++    {
++        atomic_increment( &weak_count_ );
++    }
++
++    void weak_release() // nothrow
++    {
++        if( atomic_decrement( &weak_count_ ) == 0 )
++        {
++            destroy();
++        }
++    }
++
++    long use_count() const // nothrow
++    {
++        return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
++    }
++};
++
++} // namespace detail
++
++} // namespace boost
++
++#endif  // #ifndef BOOST_DETAIL_SP_COUNTED_BASE_GCC_IA64_HPP_INCLUDED

Modified: lyx/branches/lyx-1.5/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-lyx/lyx/branches/lyx-1.5/debian/patches/series?rev=274&op=diff
==============================================================================
--- lyx/branches/lyx-1.5/debian/patches/series (original)
+++ lyx/branches/lyx-1.5/debian/patches/series Fri Mar 23 10:47:05 2007
@@ -1,1 +1,2 @@
 05.configure.py_prog_prefer
+boost_ia64




More information about the Pkg-lyx-devel mailing list