This is an automated email from the git hooks/post-receive script. misterc-guest pushed a commit to annotated tag upstream/2.3.2.000platform-issues2-206d1f7+dfsg in repository seqan2.
commit 23692a211728258172b126325c1e883fc58bd71b Author: Michael R. Crusoe <[email protected]> Date: Thu Oct 26 05:13:29 2017 -0700 New upstream version 2.3.2.000platform-issues2-206d1f7+dfsg --- apps/yara/tests/run_tests.py | 12 +++++++++--- include/seqan/parallel/parallel_lock.h | 2 ++ include/seqan/platform.h | 11 ++++++++++- include/seqan/stream/file_stream.h | 2 +- include/seqan/stream/stream_compressor.h | 22 ++++++++++++++-------- 5 files changed, 36 insertions(+), 13 deletions(-) diff --git a/apps/yara/tests/run_tests.py b/apps/yara/tests/run_tests.py index ba87e82..5dc3e5d 100644 --- a/apps/yara/tests/run_tests.py +++ b/apps/yara/tests/run_tests.py @@ -69,12 +69,18 @@ def main(source_base, binary_base): exts = [os.path.basename(fname).split('.', 1)[-1] for fname in glob.glob(ph.inFile('gold/%s-genome.*' % organism))] + # gold standard binary files created on little endian + if sys.byteorder != 'little': + td = [] + else: + td = [(ph.inFile('gold/%s-genome.%s' % (organism, ext)), + ph.outFile('%s-genome.%s' % (organism, ext)), 'md5') for ext in exts] + conf = app_tests.TestConf( program=path_to_indexer, args=[ph.inFile('input/%s-genome.fa' % organism), - '-o', ph.outFile('%s-genome' % organism)], - to_diff=[(ph.inFile('gold/%s-genome.%s' % (organism, ext)), - ph.outFile('%s-genome.%s' % (organism, ext)), 'md5') for ext in exts]) + '-o', ph.outFile('%s-genome' % organism)], + to_diff=td) conf_list.append(conf) # ============================================================ diff --git a/include/seqan/parallel/parallel_lock.h b/include/seqan/parallel/parallel_lock.h index 54f6a44..92126bf 100644 --- a/include/seqan/parallel/parallel_lock.h +++ b/include/seqan/parallel/parallel_lock.h @@ -215,6 +215,8 @@ yieldProcessor() { #if defined(STDLIB_VS) // Visual Studio - all platforms. YieldProcessor(); +#elif defined(__armel__) || defined(__ARMEL__) // arm, but broken + asm volatile ("nop" ::: "memory"); // default operation - does nothing => Might lead to passive spinning. #elif defined(__arm__) || defined(__aarch64__) // ARM. __asm__ __volatile__ ("yield" ::: "memory"); #elif defined(__sparc) // SPARC diff --git a/include/seqan/platform.h b/include/seqan/platform.h index 365f5de..accaeab 100644 --- a/include/seqan/platform.h +++ b/include/seqan/platform.h @@ -488,7 +488,7 @@ template <typename T> constexpr void ensure_little_endian(T &) {} -#if !SEQAN_BIG_ENDIAN +#if SEQAN_BIG_ENDIAN inline void ensure_little_endian(int16_t & in) { in = htole16(in); @@ -527,4 +527,13 @@ inline void ensure_little_endian(double & in) } #endif // SEQAN_BIG_ENDIAN +// DEFAULT PAGESIZE FOR MMAP +#ifndef SEQAN_DEFAULT_PAGESIZE + #if SEQAN_IS_64_BIT + #define SEQAN_DEFAULT_PAGESIZE 64 * 1024 + #else + #define SEQAN_DEFAULT_PAGESIZE 4 * 1024 + #endif +#endif + #endif // HEADER GUARD diff --git a/include/seqan/stream/file_stream.h b/include/seqan/stream/file_stream.h index 1cd43f7..e640086 100644 --- a/include/seqan/stream/file_stream.h +++ b/include/seqan/stream/file_stream.h @@ -178,7 +178,7 @@ clear(FilePage<TValue, TSpec> & me) // Class FilePager // ---------------------------------------------------------------------------- -template <unsigned SEQAN_PAGESIZE = 4 * 1024> +template <unsigned SEQAN_PAGESIZE = SEQAN_DEFAULT_PAGESIZE> struct FixedPagingScheme { enum { pageSize = SEQAN_PAGESIZE }; diff --git a/include/seqan/stream/stream_compressor.h b/include/seqan/stream/stream_compressor.h index e39e9ce..e820b4b 100644 --- a/include/seqan/stream/stream_compressor.h +++ b/include/seqan/stream/stream_compressor.h @@ -276,16 +276,20 @@ compress(TTarget & target, TSourceIterator & source, CompressionContext<BgzfFile // Helper Function _bgzfUnpackXX() // ---------------------------------------------------------------------------- -inline unsigned short +inline uint16_t _bgzfUnpack16(char const * buffer) { - return *reinterpret_cast<unsigned short const *>(buffer); + uint16_t tmp = *reinterpret_cast<uint16_t const *>(buffer); + ensure_little_endian(tmp); + return tmp; } -inline unsigned +inline uint32_t _bgzfUnpack32(char const * buffer) { - return *reinterpret_cast<unsigned const *>(buffer); + uint32_t tmp = *reinterpret_cast<uint32_t const *>(buffer); + ensure_little_endian(tmp); + return tmp; } // ---------------------------------------------------------------------------- @@ -293,15 +297,17 @@ _bgzfUnpack32(char const * buffer) // ---------------------------------------------------------------------------- inline void -_bgzfPack16(char * buffer, unsigned short value) +_bgzfPack16(char * buffer, uint16_t value) { - *reinterpret_cast<unsigned short *>(buffer) = value; + ensure_little_endian(value); + *reinterpret_cast<uint16_t *>(buffer) = value; } inline void -_bgzfPack32(char * buffer, unsigned value) +_bgzfPack32(char * buffer, uint32_t value) { - *reinterpret_cast<unsigned *>(buffer) = value; + ensure_little_endian(value); + *reinterpret_cast<uint32_t *>(buffer) = value; } -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/seqan2.git _______________________________________________ debian-med-commit mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
