[Debian-med-packaging] Bug#972004: Assembly code not working for mips64el and ppc64el (Was: Bug#972004: bowtie ftbfs on several release architectures)

Étienne Mollier etienne.mollier at mailoo.org
Mon Oct 12 21:22:39 BST 2020


Hi Andreas,

Andreas Tille, on 2020-10-12 17:56:38 +0200:
> 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?

I believe that cpuid.h is an architecture specific header, but
the upstream source code ships with a custom third_party/cpuid.h
which probably mainly targets amd64, hence issues on non amd64.

I ran an arm64 build a few minutes ago, after having excluded
third_party/.  This way, the source code gently failed back to
the system provided cpuid.h which should be always be
appropriate.  My build went through on arm64, as well as the
test suite.

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

As a side note, I believe that the $(filter ...) statement added
in the patch to be able to list architectures reverted the
logic, so replaced the ifeq (...) statement to an ifneq (...).

Most changes are available on my machine.  I would have
suggested to push them, but my build targeting mips64el failed
and it seems that its because `uname -m` returns mips64 on that
architecture.  I'm not 100% sure of the name for the other
architectures, maybe listing CPUs handling popcnt might be
simpler ?

Anyway in hope any of these ideas helps...

Kind Regards,
-- 
Étienne Mollier <etienne.mollier at mailoo.org>
Old rsa/3072: 5ab1 4edf 63bb ccff 8b54  2fa9 59da 56fe fff3 882d
New rsa/4096: 8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/2, please excuse my verbosity.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/debian-med-packaging/attachments/20201012/4fc2dd80/attachment.sig>


More information about the Debian-med-packaging mailing list