Control: reopen -a
Control: tags -1 help

On Mon, Oct 12, 2020 at 02:50:41PM +0500, Andrey Rahmatullin wrote:
> > while I've fixed the issue for arm64 the new version of bowtie seems to
> > have some new assembly code where mips64el, ppc64el and others are
> > stumbling upon [1]:
> The reason it works on arm64 is 
> 
> ifeq (aarch64,$(shell uname -m))
>         POPCNT_CAPABILITY=0
> endif
> 
> in Makefile. It's clearly not supposed to run on anything else non-Intel
> but you can try patching this to also disable popcnt on other non-Intel.

My patch [1] worked for ppc64el and s390x.  However for arm64 (and others)
a new build error occures:

...
In file included from ebwt_build.cpp:8:
ds.h: In function ‘void mkeyQSortSuf2(const T&, size_t, TIndexOffU*, size_t, 
TIndexOffU*, int, size_t, size_t, size_t, size_t, EList<long unsigned int>*) 
[with T = S2bDnaString]’:
ds.h:497:3: warning: ‘tmp2’ may be used uninitialized in this function 
[-Wmaybe-uninitialized]
  497 |   list_[cur_++] = el;
      |   ^~~~~
ds.h:497:3: warning: ‘tmp3’ may be used uninitialized in this function 
[-Wmaybe-uninitialized]
  497 |   list_[cur_++] = el;
      |   ^~~~~
ds.h:497:3: warning: ‘tmp4’ may be used uninitialized in this function 
[-Wmaybe-uninitialized]
  497 |   list_[cur_++] = el;
      |   ^~~~~
In file included from processor_support.h:17,
                 from ebwt.h:41,
                 from ebwt_build.cpp:10:
third_party/cpuid.h: In constructor ‘Ebwt::Ebwt(TStr, bool, int32_t, int32_t, 
int32_t, int32_t, int32_t, int, const string&, bool, bool, TIndexOffU, 
TIndexOffU, TIndexOffU, int, EList<FileBuf*>&, EList<RefRecord>&, 
EList<unsigned int>&, TIndexOffU, const RefReadInParams&, uint32_t, int32_t, 
int32_t, bool, bool, bool, bool) [with TStr = S2bDnaString]’:
third_party/cpuid.h:103:3: error: impossible constraint in ‘asm’
  103 |   __asm__ ("cpuid\n\t"     \
      |   ^~~~~~~
third_party/cpuid.h:162:3: note: in expansion of macro ‘__cpuid’
  162 |   __cpuid (__ext, __eax, __ebx, __ecx, __edx);
      |   ^~~~~~~
third_party/cpuid.h:103:3: error: impossible constraint in ‘asm’
  103 |   __asm__ ("cpuid\n\t"     \
      |   ^~~~~~~
third_party/cpuid.h:185:3: note: in expansion of macro ‘__cpuid’
  185 |   __cpuid (__level, *__eax, *__ebx, *__ecx, *__edx);
      |   ^~~~~~~
In file included from ebwt_build.cpp:8:
...

Any idea how to deal with this?

Kind regards

       Andreas.


[1] 
https://salsa.debian.org/med-team/bowtie/-/blob/master/debian/patches/popcnt_capability.patch

-- 
http://fam-tille.de

Reply via email to