Hello community, here is the log from the commit of package boost for openSUSE:Factory checked in at 2014-05-10 08:32:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/boost (Old) and /work/SRC/openSUSE:Factory/.boost.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "boost" Changes: -------- --- /work/SRC/openSUSE:Factory/boost/boost.changes 2014-04-06 07:10:14.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.boost.new/boost.changes 2014-05-10 08:32:20.000000000 +0200 @@ -1,0 +2,15 @@ +Tue Apr 29 14:34:41 UTC 2014 - [email protected] + +- ppc64 ABIv2 support +- enable build_context for ppc64le +- added patches: + * boost-ppc64-abiv2-context.patch + * boost-ppc64-abiv2-coroutine.patch +------------------------------------------------------------------- +Sat Apr 19 17:40:27 UTC 2014 - [email protected] + +- Fix quoting while creating shared build instructions +- Properly configure library list +- bjam-alignment.patch: fix alignment check in bjam + +------------------------------------------------------------------- New: ---- bjam-alignment.patch boost-ppc64-abiv2-context.patch boost-ppc64-abiv2-coroutine.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ boost.spec ++++++ --- /var/tmp/diff_new_pack.6fURGB/_old 2014-05-10 08:32:23.000000000 +0200 +++ /var/tmp/diff_new_pack.6fURGB/_new 2014-05-10 08:32:23.000000000 +0200 @@ -37,7 +37,7 @@ %endif # context hasn't been ported to most architectures yet -%ifarch %ix86 x86_64 %arm mips ppc ppc64 +%ifarch %ix86 x86_64 %arm mips ppc ppc64 ppc64le %define build_context 1 %else %define build_context 0 @@ -109,6 +109,7 @@ Patch20: boost-strict_aliasing.patch Patch50: boost-use_std_xml_catalog.patch Patch60: boost-glibc-2.18.patch +Patch61: bjam-alignment.patch #PATCH-FIX-UPSTREAM A post-release patch. Patch71: boost-1.54-001-coroutine.patch #PATCH-FIX-UPSTREAM A post-release patch. @@ -119,6 +120,11 @@ Patch74: boost-1.54-change85160.patch #PATCH-FIX-UPSTREAM https://svn.boost.org/trac/boost/ticket/9041 Patch75: boost-1.54.0-thread-link_atomic.patch +#PATCH-FIX-UPSTREAM https://github.com/boost-at/boost_1_55_0/commit/4221b902fe3a3a9ff1e2d384acf46eceda782160 +Patch76: boost-ppc64-abiv2-context.patch +#PATCH-FIX-UPSTREAM https://github.com/boost-at/boost_1_55_0/commit/e0fc16ec166c90564487f99078ed228e27828d2e +Patch77: boost-ppc64-abiv2-coroutine.patch + Recommends: %{all_libs} %define _docdir %{_datadir}/doc/packages/boost-%{version} @@ -430,11 +436,14 @@ %patch20 %patch50 %patch60 -p1 +%patch61 -p1 %patch71 -p1 %patch72 -p1 %patch73 -p1 %patch74 -p0 %patch75 -p1 +%patch76 -p1 +%patch77 -p1 #stupid build machinery copies .orig files find . -name \*.orig -exec rm {} + @@ -442,7 +451,7 @@ find . -type f -exec chmod u+w {} + # Create shared build instructions -cat << EOF >.build +cat << \EOF >.build # Now build it J_P=%{jobs} J_G=$(getconf _NPROCESSORS_ONLN) @@ -476,10 +485,10 @@ export REGEX_FLAGS="--with-icu" export EXPAT_INCLUDE=/usr/include EXPAT_LIBPATH=%{_libdir} export PYTHON_FLAGS -LIBRARIES_FLAGS= +LIBRARIES_FLAGS=--with-libraries=all %if !%build_context # coroutine depends on context -LIBRARIES_FLAGS+=" --without-context --without-coroutine" +LIBRARIES_FLAGS+=" --without-libraries=context,coroutine" %endif EOF @@ -487,11 +496,11 @@ . ./.build # Set PATH, MANPATH and LD_LIBRARY_PATH for mpi -source /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh # use supplied bootstrap.sh instead of mucking with old bjam # see also: https://svn.boost.org/trac/boost/ticket/9304 -./bootstrap.sh --with-libraries=all \ +./bootstrap.sh $LIBRARIES_FLAGS \ --prefix=%{_prefix} --exec-prefix=%{_bindir} \ --libdir=%{_libdir} --includedir=%{_includedir} @@ -526,7 +535,7 @@ . ./.build # Set PATH, MANPATH and LD_LIBRARY_PATH for mpi -source /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh +. /var/mpi-selector/data/$(rpm --qf "%{NAME}-%{VERSION}" -q openmpi).sh ./b2 install \ --prefix=%{buildroot}%{_prefix} --exec-prefix=%{buildroot}%{_bindir} \ ++++++ bjam-alignment.patch ++++++ Index: boost_1_54_0/tools/build/v2/engine/function.c =================================================================== --- boost_1_54_0.orig/tools/build/v2/engine/function.c +++ boost_1_54_0/tools/build/v2/engine/function.c @@ -230,7 +230,7 @@ STACK * stack_global() static void check_alignment( STACK * s ) { - assert( (size_t)s->data % sizeof( LIST * ) == 0 ); + assert( (size_t)s->data % __alignof__( LIST * ) == 0 ); } void * stack_allocate( STACK * s, int size ) ++++++ boost-ppc64-abiv2-context.patch ++++++ ++++ 752 lines (skipped) ++++++ boost-ppc64-abiv2-coroutine.patch ++++++ diff --git a/boost/coroutine/detail/coroutine_context.hpp b/boost/coroutine/detail/coroutine_context.hpp --- a/boost/coroutine/detail/coroutine_context.hpp +++ b/boost/coroutine/detail/coroutine_context.hpp @@ -34,27 +34,33 @@ namespace boost { namespace coroutines { namespace detail { - -class BOOST_COROUTINES_DECL coroutine_context : private context::fcontext_t, - private stack_context +// class hold stack-context and coroutines execution-context +class BOOST_COROUTINES_DECL coroutine_context { private: - stack_context * stack_ctx_; - context::fcontext_t * ctx_; + stack_context stack_ctx_; + context::fcontext_t *ctx_; public: typedef void( * ctx_fn)( intptr_t); + // default ctor represents the current execution-context coroutine_context(); - explicit coroutine_context( ctx_fn, stack_context *); + // ctor creates a new execution-context running coroutine-fn `fn` + // `ctx_` will be allocated on top of the stack managed by parameter + // `stack_ctx` + coroutine_context( ctx_fn fn, stack_context const& stack_ctx); coroutine_context( coroutine_context const&); coroutine_context& operator=( coroutine_context const&); intptr_t jump( coroutine_context &, intptr_t = 0, bool = true); + + stack_context & stack_ctx() + { return stack_ctx_; } }; }}} diff --git a/libs/coroutine/src/detail/coroutine_context.cpp b/libs/coroutine/src/detail/coroutine_context.cpp --- a/libs/coroutine/src/detail/coroutine_context.cpp +++ b/libs/coroutine/src/detail/coroutine_context.cpp @@ -34,20 +34,20 @@ namespace coroutines { namespace detail { coroutine_context::coroutine_context() : - fcontext_t(), stack_ctx_( this), ctx_( this) + stack_ctx_(), + ctx_( 0) { #if defined(BOOST_USE_SEGMENTED_STACKS) __splitstack_getcontext( stack_ctx_->segments_ctx); #endif } -coroutine_context::coroutine_context( ctx_fn fn, stack_context * stack_ctx) : - fcontext_t(), stack_ctx_( stack_ctx), - ctx_( context::make_fcontext( stack_ctx_->sp, stack_ctx_->size, fn) ) +coroutine_context::coroutine_context( ctx_fn fn, stack_context const& stack_ctx) : + stack_ctx_( stack_ctx), + ctx_( context::make_fcontext( stack_ctx_.sp, stack_ctx_.size, fn) ) {} coroutine_context::coroutine_context( coroutine_context const& other) : - fcontext_t(), stack_ctx_( other.stack_ctx_), ctx_( other.ctx_) {} @@ -79,7 +79,7 @@ coroutine_context::jump( coroutine_context & other, intptr_t param, bool preserv return ret; #else - return context::jump_fcontext( ctx_, other.ctx_, param, preserve_fpu); + return context::jump_fcontext( & ctx_, other.ctx_, param, preserve_fpu); #endif } -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
