Potential issue with --enable-fat

Niels Möller nisse at lysator.liu.se
Mon Feb 10 16:23:43 CET 2025


Marc Glisse <marc.glisse at inria.fr> writes:

> Let's see. If I configure GMP with just --enable-fat, I still see in
> config.h
>
> #define HAVE_HOST_CPU_nehalem 1
>
> and longlong.h enables mulx based on
>
> #if X86_ASM_MULX \
>    && (HAVE_HOST_CPU_haswell || HAVE_HOST_CPU_broadwell \
>        || HAVE_HOST_CPU_skylake || HAVE_HOST_CPU_bd4 || HAVE_HOST_CPU_zen)

Torbjörn Granlund <tg at gmplib.org> writes:

> Emmanuel Lonca <emmanuel.lonca at univ-artois.fr> writes:
>
>   To what I understand from the GMP documentation, compiling with the
>   --enable-fat flag should produce a library that can be used on any x86
>   architecture.
>
> Yes, that's the idea IIRC.

It seems the above use in longlong.h is the only use of X86_ASM_MULX?
Then it seems right to completely disable that in fat builds, like

diff -r 1a2ad0e32507 configure.ac
--- a/configure.ac	Mon Feb 03 17:52:54 2025 +0100
+++ b/configure.ac	Mon Feb 10 16:21:35 2025 +0100
@@ -3843,7 +3843,9 @@ yes
     X86_PATTERN | X86_64_PATTERN)
       GMP_ASM_ALIGN_FILL_0x90
       if test "$x86_have_mulx" = yes; then
-        GMP_ASM_X86_MULX
+        if test "$enable_fat" = no; then
+	  GMP_ASM_X86_MULX
+	fi
       fi
       GMP_ASM_COFF_TYPE
       case $ABI in

Regards,
/Niels

-- 
Niels Möller. PGP key CB4962D070D77D7FCB8BA36271D8F1FF368C6677.
Internet email is subject to wholesale government surveillance.


More information about the gmp-bugs mailing list