[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