GMP 5.0.5 build fails with tcc due to x86_64 asm (unknown register...)

bodrato at mail.dm.unipi.it bodrato at mail.dm.unipi.it
Thu Jun 21 18:47:16 CEST 2012


Ciao,

Il Mer, 20 Giugno 2012 9:54 pm, Niels Möller ha scritto:
> I think it makes sense to have --disable-assembly disable *all* use of
> assembly source files.

Agreed.

> For configure.in hacks, after a quick look I think what needs to be done
> is to have --disable-assembly disable any setting of
> HAVE_CALLING_CONVENTIONS (config.h value) and CALLING_CONVENTIONS_OBJS

> Are there any bad side effects of disabling these tests? I'm not sure

If we don't use our own asm, we probably don't need to worry about the
calling convention.

CALLING_CONVENTIONS_OBJS is defined only if $host is in X86_PATTERN |
X86_64_PATTERN. Its value is then nullified if $host in *-*-mingw* |
*-*-cygwin.

Is a patch like the following acceptable? Are there bad side effects?

*** /tmp/extdiff.HkSeLK/gmp.3700547fffb1/configure.in	2012-06-21
18:40:21.000000000 +0200
--- /home/marica/marciolino/gmp/configure.in	2012-06-21 17:57:19.800352165
+0200
***************
*** 2085,2091 ****
    #
                      eval tmp=\"\$CALLING_CONVENTIONS_OBJS$abi1\"
    test -n "$tmp" || eval tmp=\"\$CALLING_CONVENTIONS_OBJS$abi2\"
!   CALLING_CONVENTIONS_OBJS="$tmp"

    if test -n "$CALLING_CONVENTIONS_OBJS"; then
      AC_DEFINE(HAVE_CALLING_CONVENTIONS,1,
--- 2085,2095 ----
    #
                      eval tmp=\"\$CALLING_CONVENTIONS_OBJS$abi1\"
    test -n "$tmp" || eval tmp=\"\$CALLING_CONVENTIONS_OBJS$abi2\"
!   if test "$enable_assembly" = "yes"; then
!      CALLING_CONVENTIONS_OBJS="$tmp"
!   else
!      CALLING_CONVENTIONS_OBJS=""
!   fi

    if test -n "$CALLING_CONVENTIONS_OBJS"; then
      AC_DEFINE(HAVE_CALLING_CONVENTIONS,1,


I tested it on my system with both:
./configure --disable-assembly --disable-static&&make&&make check
and
CC=tcc ./configure --disable-assembly --disable-shared&&make&&make check

By the way, checking the code generated with "--disable-assembly" is very
slow; as expected. The code (quickly!) generated by tcc is even slower...

Regards,
m

-- 
http://bodrato.it/software/



More information about the gmp-devel mailing list