libgcrypt clang asm configure issue.

Dmytro Kovalov dmytro.a.kovalov at globallogic.com
Mon Oct 31 11:57:54 CET 2022


Hello Jacob ,

Thanks for the fast response!

So you mentioned the problem is in clang ATT compatibility. But could you
please confirm the UAL supports ATT style , because I haven't found any
information there.

Thanks,
Best Regards.

On Mon, 31 Oct 2022, 04:56 Jacob Bachmeyer, <jcb62281 at gmail.com> wrote:

> Dmytro Kovalov via Gnupg-users wrote:
> > Hello,
> >
> > I found a strange libgcrypt behavior on ARM with clang built.
> >
> > There is a big gap in performance of libgcrypt, built by clang, in
> > comparison with gcc on my ARM target machine.
> > The simple profile test shows 100-500% advantage of gcc gcrypt.
> > I found an awkward workaround to beat this issue, but need your help
> > to find the best way to fix it.
> >
> > The root cause is next:
> > Due to clang strict assembler syntax rules the unified assembler ARM
> > check doesn't pass.
> > Assembler check fails while ./configure for flags:
> > HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS
> > HAVE_GCC_INLINE_ASM_NEON
> >
> > As a workaround I remove '%' from registers names in
> > configure.ac <http://configure.ac/
> <http://configure.ac>
> >,
> > arm mips lib *.S files,
> > cipher/*arm.S,*armv7-neon.S files.
> >
> > Could you please help with a more correct - polite way to compile
> > libgcrypt with assembler code?
>
> I would suggest using the GNU toolchain. :-)
>
> The problem is that the GNU assembler traditionally expects register
> names to be prefixed with %, using a syntax based on that of the old
> AT&T assembler and known (simply enough) as "AT&T syntax" while many
> vendor assemblers use a different syntax. Note that the configure tests
> in question are for GCC-or-strictly-compatible. If clang does not
> support the GNU assembler syntax, then it is not fully compatible with
> GCC, and libgcrypt is being compiled correctly.
>
> Since LLVM claims compatibility with GCC, you should direct your
> complaints there: CLang apparently claims compatibility with the GNU
> toolchain, but does not support GNU assembler syntax.
>
>
> -- Jacob
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20221031/55721362/attachment.html>


More information about the Gnupg-users mailing list