head 1.2; access; symbols pkgsrc-2013Q3:1.1.0.6 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.4 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.2 pkgsrc-2013Q1-base:1.1; locks; strict; comment @// @; 1.2 date 2013.11.12.16.49.07; author adam; state dead; branches; next 1.1; commitid jHJUZNiym2lOB0dx; 1.1 date 2013.01.20.09.06.59; author martin; state Exp; branches; next ; desc @@ 1.2 log @Changes 1.55.0: Support was removed from Config for some very old versions of compilers. The new minimum requirements are: Digitial Mars 8.41 GCC 3.3 Intel 6.0 Visual C++ 7.1 Other compilers are currently unchanged, but we are considering removing support for some other old compilers. Candidates for removal are: Metroworks C++ (i.e. codewarrior) SunPro 5.7 and earlier Borland C++ Builder 2006 (5.82) and earlier If you're using any of these, please let us know on the mailing lists. We will take into account any feedback received before making a decision. @ text @$NetBSD: patch-boost_context_detail_fcontext__sparc.hpp,v 1.1 2013/01/20 09:06:59 martin Exp $ # Implementation details for sparc --- /dev/null 2013-01-19 12:02:03.000000000 +0100 +++ boost/context/detail/fcontext_sparc.hpp 2013-01-19 19:21:19.000000000 +0100 @@@@ -0,0 +1,90 @@@@ +// Copyright Martin Husemann 2012 +// 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) + +#ifndef BOOST_CTX_DETAIL_FCONTEXT_SPARC_H +#define BOOST_CTX_DETAIL_FCONTEXT_SPARC_H + +#include + +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +extern "C" { + +#define BOOST_CONTEXT_CALLDECL + +// if defined(_LP64) we are compiling for sparc64, otherwise it is 32 bit +// sparc. + + +struct stack_t +{ + void * sp; + std::size_t size; + + stack_t() : + sp( 0), size( 0) + {} +}; + +struct fp_t +{ +#ifdef _LP64 + boost::uint64_t fp_freg[32]; + boost::uint64_t fp_fprs, fp_fsr; +#else + boost::uint64_t fp_freg[16]; + boost::uint32_t fp_fsr; +#endif + + fp_t() : + fp_freg(), +#ifdef _LP64 + fp_fprs(), +#endif + fp_fsr() + {} +} +#ifdef _LP64 + __attribute__((__aligned__(64))) // allow VIS instructions to be used +#endif +; + +struct fcontext_t +{ + fp_t fc_fp; // fpu stuff first, for easier alignement +#ifdef _LP64 + boost::uint64_t +#else + boost::uint32_t +#endif + fc_greg[8]; + stack_t fc_stack; + + fcontext_t() : + fc_fp(), + fc_greg(), + fc_stack() + {} +}; + +} + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CTX_DETAIL_FCONTEXT_SPARC_H @ 1.1 log @Add missing assembler code for the context library on sparc and sparc64 @ text @d1 1 a1 1 $NetBSD$ @