Problem with running benchmarks from gmpbench 0.2

Lance W. Patterson lwjudd at windstream.net
Sun Dec 23 18:09:02 CET 2012


GMP Version -  5.1.0(pre-packaged)

Test Program -  gmpbench, specifically "multiply, divide, and pi"

Problem - GMP 5.1 built without issues and "make check" did not report any
errors.  However, when I run the benchmarks, I receive the following error
when attempting to compile "multiply, divide, and pi".   "gcd" and "rsa"
build and run okay.

 

C:/mingw64/msys/local/lib\libgmp.a(bdiv_q_1.o):fake:(.text+0x28): undefined
reference to `__gmp_binvert_limb_table at GOTPCREL'

 

This was mentioned in an archive message from 2009, but I did not find a
solution.  The macro definition for this is in "gmp-impl.h" as.

 

#define binvert_limb_table  __gmp_binvert_limb_table

 __GMP_DECLSPEC extern const unsigned char  binvert_limb_table[128];

 

The table definition is in "mp_minv_tab.c".

 

Also, the benchmarks have a bug that does not correctly identify the
msys/mingw64(or 32) environment to choose the correct header files for the
function "cputime()".  The end of every benchmark source file has a
compilation directive to determine which header(s) to use.  msys/ming(32/64)
would use <time.h>. 

Configuration Options for building GMP - I just ran "./configure" and let
the script decide.

Decided:

ABI=64

CC=gcc -std=gnu99

CFLAGS=-I/usr/local/include

CPPFLAGS=

GMP_LDFLAGS=

CXX=

CXXFLAGS=

path= x86_64/k10 x86_64/k8 x86_64 generic

Compiler Version(using "gcc -v")

 

Using built-in specs.

COLLECT_GCC=c:\mingw64\bin\gcc.exe

COLLECT_LTO_WRAPPER=c:/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/4.7.0/l
to-wrapper.exe

Target: x86_64-w64-mingw32

Configured with: ../../../build/gcc/src/configure
--target=x86_64-w64-mingw32
--prefix=/c/bb/vista64-mingw32/mingw-x86-x86_64/build/build/root
--with-sysroot=/c/bb/vista64-mingw32/mingw-x86-x86_64/build/build/root
--enable-languages=all,obj-c++ --enable-fully-dynamic-string
--disable-multilib

Thread model: win32

gcc version 4.7.0 20111220 (experimental) (GCC)

Uname output("uname -a")

 

MINGW32_NT-6.1 DREAMTHEATER 1.0.17(0.48/3/2) 2011-04-24 23:39 i686 Msys

config.guess output

 

k10-pc-mingw32

configfsf.guess output

 

i686-pc-mingw32

 

 



More information about the gmp-bugs mailing list