gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gcl-devel] libgmp tests...


From: Camm Maguire
Subject: Re: [Gcl-devel] libgmp tests...
Date: 16 Dec 2001 02:25:44 -0500

Greetings!

I get the same results on i386.  Here again is my understanding.  The
first step I wanted to take is to backport as few files as I could
from the 2.4.0 tarball, many of which have never appeared in the cvs,
to the current cvs to get it to build by itself.  Dr. Schelter only
needed 4 files from the gmp distribution (I can specify if there is
interest)., but included all these others simply not to break gmp's
configuration/machine detection setup.  I believe he was working on a
way to get gmp into gcl in a more compact fashion, among other things,
shortly before he passed away.

In any case, the whole gmp is not here by a long shot, so it does not
surprise me that some checks might fail.  The libtool modifications we
had to make to run the tests already points in this direction, as gmp
is very well supported, and I doubt very much this is a bug in their
Makefiles.  If you want, you might want to download the gmp tree
separately and build and check.  I have confirmed that the 4 files
Dr. Schelter had in the cvs are identical with those he shipped in
2.4.0.  And while I have not confirmed this, my understanding is that
he only needed to change the malloc to alloca in the mpn/mul_n.c file
(or some such) to play nicely with gcl garbage collection, and that
therefore this is the only current difference between these files and
their corresponding versions in the full gmp tree.

So in brief, these errors need not indicate that gcl's use of gmp has
errors, though they certainly represent a situation we want to fix.
The issue is, if gcl is not currently producing errors, then we should
carefully decide which way we want to go.  1) Import the whole gmp
library tree as a subbuild. 2) Try to get a hack gmp configuration
step going so we can just have 4 gmp C files, or 3) get GCL's use of
gmp to work with it dynamically linked as an external shared library.
The latter option is the most desirable, but it will also take some
understanding of what the garbage collection issues are.  As I had
posted earlier, I think Dr. Schelter had gotten gmp in GCL to be
relocatable too just before he died.  I don't know yet whether having
gmp as an external lib will reopen issues here as well.

In any case, comments most welcome !

Take care,

Robert Alan Byer <address@hidden> writes:

> -----BEGIN PGP SIGNED MESSAGE-----
> 
> 
> Attached is a CVS diff (sorry, it's all I have right now and I'm not much
> of a Unix person so please be kind :} ) of the changes I had to make to the
> /gcl/gmp/mpn/tests/Makefile.in and /gcl/gmp/mpz/tests/Makefile.in files to
> get the "make check" tests to work properly.
> 
> (basically I just had to tell them to use the libgmp.a library and not the
> libgmp.la library it was trying to build to use.)
> 
> Here are the test results for Tru64 Alpha...
> (I left out the grusom details of the failures...)
> 
>       PASS: t-mul
>       PASS: t-tdiv
>       PASS: t-tdiv_ui
>       PASS: t-fdiv
>       PASS: t-fdiv_ui
>       FAIL: t-gcd
>       PASS: dive
>       FAIL: t-sqrtrem
>       PASS: convert
>       PASS: io
>       PASS: logic
>       PASS: bit
>       FAIL: t-powm
>       FAIL: t-powm_ui
>       FAIL: t-pow_ui
>       PASS: t-2exp
>       FAIL: reuse
>       PASS: t-root
>       FAIL: t-jac
>       FAIL: t-bin
>       PASS: t-misc
> 
> So 8 of the 21 tests failed.
> 
> My question:  Can someone with a working copy of GCL give the tests a try 
> on their system and see if you come up with the same thing so I have an 
> idea if I have problems or not.  To run the tests, apply the diffs, re-run 
> the configure script and then go to gcl/gmp and do a "make check" and it 
> should compile and run the tests 
> for you.
> 
> You could skip applying my diffs and runnign the configure script my 
> editing the existing gcl/gmp/mpn/tests/Makefile and gcl/gmp/mpz/tests/Makefile
> and substuting "libgmp.la" with "libgmp.a" and it should work also.
> 
> I would appreciate in knowing this as both my Tru64 and OpenVMS ports so 
> far fail on the same tests so I would like to know if I'm heading in the
> right direction or not.
> 
> ===========================================================================
> 
> Index: mpn/tests/Makefile.in
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/gmp/mpn/tests/Makefile.in,v
> retrieving revision 1.1
> diff -u -r1.1 Makefile.in
> - --- mpn/tests/Makefile.in   15 Dec 2001 06:29:41 -0000      1.1
> +++ mpn/tests/Makefile.in     16 Dec 2001 03:48:36 -0000
> @@ -120,7 +120,7 @@
>  AUTOMAKE_OPTIONS = gnu $(top_builddir)/ansi2knr no-dependencies
>  
>  INCLUDES = -I$(top_srcdir)
> - -LDADD = $(top_builddir)/libgmp.la
> +LDADD = $(top_builddir)/libgmp.a
>  
>  EXTRA_PROGRAMS = \
>    add_n addmul_1 copy divmod_1 divrem lshift mul_1 rshift \
> @@ -133,7 +133,7 @@
>  EXTRA_DIST = x86call.asm x86check.c
>  
>  try_SOURCES = try.c ref.c trace.c spinner.c
> - -try_LDADD = @CALLING_CONVENTIONS_OBJS@ $(top_builddir)/libgmp.la
> +try_LDADD = @CALLING_CONVENTIONS_OBJS@ $(top_builddir)/libgmp.a
>  try_DEPENDENCIES = $(try_LDADD)
>  
>  CLEANFILES = $(EXTRA_PROGRAMS)
> @@ -156,52 +156,52 @@
>  add_n_SOURCES = add_n.c
>  add_n_OBJECTS =  add_n$U.$(OBJEXT)
>  add_n_LDADD = $(LDADD)
> - -add_n_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +add_n_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  add_n_LDFLAGS = 
>  addmul_1_SOURCES = addmul_1.c
>  addmul_1_OBJECTS =  addmul_1$U.$(OBJEXT)
>  addmul_1_LDADD = $(LDADD)
> - -addmul_1_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +addmul_1_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  addmul_1_LDFLAGS = 
>  copy_SOURCES = copy.c
>  copy_OBJECTS =  copy$U.$(OBJEXT)
>  copy_LDADD = $(LDADD)
> - -copy_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +copy_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  copy_LDFLAGS = 
>  divmod_1_SOURCES = divmod_1.c
>  divmod_1_OBJECTS =  divmod_1$U.$(OBJEXT)
>  divmod_1_LDADD = $(LDADD)
> - -divmod_1_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +divmod_1_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  divmod_1_LDFLAGS = 
>  divrem_SOURCES = divrem.c
>  divrem_OBJECTS =  divrem$U.$(OBJEXT)
>  divrem_LDADD = $(LDADD)
> - -divrem_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +divrem_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  divrem_LDFLAGS = 
>  lshift_SOURCES = lshift.c
>  lshift_OBJECTS =  lshift$U.$(OBJEXT)
>  lshift_LDADD = $(LDADD)
> - -lshift_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +lshift_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  lshift_LDFLAGS = 
>  mul_1_SOURCES = mul_1.c
>  mul_1_OBJECTS =  mul_1$U.$(OBJEXT)
>  mul_1_LDADD = $(LDADD)
> - -mul_1_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +mul_1_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  mul_1_LDFLAGS = 
>  rshift_SOURCES = rshift.c
>  rshift_OBJECTS =  rshift$U.$(OBJEXT)
>  rshift_LDADD = $(LDADD)
> - -rshift_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +rshift_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  rshift_LDFLAGS = 
>  sub_n_SOURCES = sub_n.c
>  sub_n_OBJECTS =  sub_n$U.$(OBJEXT)
>  sub_n_LDADD = $(LDADD)
> - -sub_n_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +sub_n_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  sub_n_LDFLAGS = 
>  submul_1_SOURCES = submul_1.c
>  submul_1_OBJECTS =  submul_1$U.$(OBJEXT)
>  submul_1_LDADD = $(LDADD)
> - -submul_1_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +submul_1_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  submul_1_LDFLAGS = 
>  am_try_OBJECTS =  try$U.$(OBJEXT) ref$U.$(OBJEXT) trace$U.$(OBJEXT) \
>  spinner$U.$(OBJEXT)
> @@ -210,7 +210,7 @@
>  tst_addsub_SOURCES = tst-addsub.c
>  tst_addsub_OBJECTS =  tst-addsub$U.$(OBJEXT)
>  tst_addsub_LDADD = $(LDADD)
> - -tst_addsub_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +tst_addsub_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  tst_addsub_LDFLAGS = 
>  COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
> $(CFLAGS)
>  LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) 
> $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
> Index: mpz/tests/Makefile.in
> ===================================================================
> RCS file: /cvsroot/gcl/gcl/gmp/mpz/tests/Makefile.in,v
> retrieving revision 1.1
> diff -u -r1.1 Makefile.in
> - --- mpz/tests/Makefile.in   15 Dec 2001 06:29:42 -0000      1.1
> +++ mpz/tests/Makefile.in     16 Dec 2001 03:48:36 -0000
> @@ -120,7 +120,7 @@
>  AUTOMAKE_OPTIONS = gnu no-dependencies $(top_builddir)/ansi2knr
>  
>  INCLUDES = -I$(top_srcdir)
> - -LDADD = $(top_builddir)/libgmp.la
> +LDADD = $(top_builddir)/libgmp.a
>  
>  check_PROGRAMS = t-mul t-tdiv t-tdiv_ui t-fdiv t-fdiv_ui t-gcd \
>    dive t-sqrtrem convert io logic bit t-powm t-powm_ui t-pow_ui t-2exp reuse 
> \
> @@ -150,107 +150,107 @@
>  bit_SOURCES = bit.c
>  bit_OBJECTS =  bit$U.$(OBJEXT)
>  bit_LDADD = $(LDADD)
> - -bit_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +bit_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  bit_LDFLAGS = 
>  convert_SOURCES = convert.c
>  convert_OBJECTS =  convert$U.$(OBJEXT)
>  convert_LDADD = $(LDADD)
> - -convert_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +convert_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  convert_LDFLAGS = 
>  dive_SOURCES = dive.c
>  dive_OBJECTS =  dive$U.$(OBJEXT)
>  dive_LDADD = $(LDADD)
> - -dive_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +dive_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  dive_LDFLAGS = 
>  io_SOURCES = io.c
>  io_OBJECTS =  io$U.$(OBJEXT)
>  io_LDADD = $(LDADD)
> - -io_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +io_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  io_LDFLAGS = 
>  logic_SOURCES = logic.c
>  logic_OBJECTS =  logic$U.$(OBJEXT)
>  logic_LDADD = $(LDADD)
> - -logic_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +logic_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  logic_LDFLAGS = 
>  reuse_SOURCES = reuse.c
>  reuse_OBJECTS =  reuse$U.$(OBJEXT)
>  reuse_LDADD = $(LDADD)
> - -reuse_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +reuse_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  reuse_LDFLAGS = 
>  t_2exp_SOURCES = t-2exp.c
>  t_2exp_OBJECTS =  t-2exp$U.$(OBJEXT)
>  t_2exp_LDADD = $(LDADD)
> - -t_2exp_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_2exp_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_2exp_LDFLAGS = 
>  t_bin_SOURCES = t-bin.c
>  t_bin_OBJECTS =  t-bin$U.$(OBJEXT)
>  t_bin_LDADD = $(LDADD)
> - -t_bin_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_bin_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_bin_LDFLAGS = 
>  t_fdiv_SOURCES = t-fdiv.c
>  t_fdiv_OBJECTS =  t-fdiv$U.$(OBJEXT)
>  t_fdiv_LDADD = $(LDADD)
> - -t_fdiv_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_fdiv_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_fdiv_LDFLAGS = 
>  t_fdiv_ui_SOURCES = t-fdiv_ui.c
>  t_fdiv_ui_OBJECTS =  t-fdiv_ui$U.$(OBJEXT)
>  t_fdiv_ui_LDADD = $(LDADD)
> - -t_fdiv_ui_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_fdiv_ui_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_fdiv_ui_LDFLAGS = 
>  t_gcd_SOURCES = t-gcd.c
>  t_gcd_OBJECTS =  t-gcd$U.$(OBJEXT)
>  t_gcd_LDADD = $(LDADD)
> - -t_gcd_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_gcd_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_gcd_LDFLAGS = 
>  t_jac_SOURCES = t-jac.c
>  t_jac_OBJECTS =  t-jac$U.$(OBJEXT)
>  t_jac_LDADD = $(LDADD)
> - -t_jac_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_jac_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_jac_LDFLAGS = 
>  t_misc_SOURCES = t-misc.c
>  t_misc_OBJECTS =  t-misc$U.$(OBJEXT)
>  t_misc_LDADD = $(LDADD)
> - -t_misc_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_misc_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_misc_LDFLAGS = 
>  t_mul_SOURCES = t-mul.c
>  t_mul_OBJECTS =  t-mul$U.$(OBJEXT)
>  t_mul_LDADD = $(LDADD)
> - -t_mul_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_mul_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_mul_LDFLAGS = 
>  t_pow_ui_SOURCES = t-pow_ui.c
>  t_pow_ui_OBJECTS =  t-pow_ui$U.$(OBJEXT)
>  t_pow_ui_LDADD = $(LDADD)
> - -t_pow_ui_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_pow_ui_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_pow_ui_LDFLAGS = 
>  t_powm_SOURCES = t-powm.c
>  t_powm_OBJECTS =  t-powm$U.$(OBJEXT)
>  t_powm_LDADD = $(LDADD)
> - -t_powm_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_powm_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_powm_LDFLAGS = 
>  t_powm_ui_SOURCES = t-powm_ui.c
>  t_powm_ui_OBJECTS =  t-powm_ui$U.$(OBJEXT)
>  t_powm_ui_LDADD = $(LDADD)
> - -t_powm_ui_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_powm_ui_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_powm_ui_LDFLAGS = 
>  t_root_SOURCES = t-root.c
>  t_root_OBJECTS =  t-root$U.$(OBJEXT)
>  t_root_LDADD = $(LDADD)
> - -t_root_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_root_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_root_LDFLAGS = 
>  t_sqrtrem_SOURCES = t-sqrtrem.c
>  t_sqrtrem_OBJECTS =  t-sqrtrem$U.$(OBJEXT)
>  t_sqrtrem_LDADD = $(LDADD)
> - -t_sqrtrem_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_sqrtrem_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_sqrtrem_LDFLAGS = 
>  t_tdiv_SOURCES = t-tdiv.c
>  t_tdiv_OBJECTS =  t-tdiv$U.$(OBJEXT)
>  t_tdiv_LDADD = $(LDADD)
> - -t_tdiv_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_tdiv_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_tdiv_LDFLAGS = 
>  t_tdiv_ui_SOURCES = t-tdiv_ui.c
>  t_tdiv_ui_OBJECTS =  t-tdiv_ui$U.$(OBJEXT)
>  t_tdiv_ui_LDADD = $(LDADD)
> - -t_tdiv_ui_DEPENDENCIES =  $(top_builddir)/libgmp.la
> +t_tdiv_ui_DEPENDENCIES =  $(top_builddir)/libgmp.a
>  t_tdiv_ui_LDFLAGS = 
>  COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) 
> $(CFLAGS)
>  LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(INCLUDES) 
> $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
> 
> ===========================================================================
> 
> 
>  +------------------+--------------------------+---------------+
>  | Robert Alan Byer | address@hidden | ICQ #65926579 |
>  +------------------+--------------------------+---------------+
>  | Send an E-mail request to obtain a copy of my PGP key.      |
>  +-------------------------------------------------------------+
>  | "It is by caffeine alone I set my mind in motion.  It is by |
>  |  cans of cola the thoughts aquire speed, the hands acquire  |
>  |  shakes, the shakes become a warning.  It is by caffeine    |
>  |  alone I set my mind in motion."                            |
>  +-------------------------------------------------------------+
> 
> 
> -----BEGIN PGP SIGNATURE-----
> Version: 2.6.3ia
> Charset: noconv
> 
> iQEVAwUBPBwajKVSqzlBVJbBAQHo/Qf+Iy6jH2wRQog4Zz7pT/LLbBCre4ixb/2t
> 5MKtuIMjstfxao9TCSJOf6WCxY3mBm7lSDFZbOjSf0kNLp7zZcVhZimtL69JAMec
> jf0LcN7yH3N7l8yG6dMQqrigUefe7T4ssmGtH71qEBydL9IikJ97nVGQ1M/q0hu4
> mgNitm7w/WjyohVq58dzv7lDbkKB4IOtTivg7Tmah/CisW1iqn2t7ij7lbhh+nwP
> 5BACgdEknV/HFOVFtCRjg4//6fZ+A+WQhC9xWkFriamPGd9hc1Iv5wmRJfHj1xgr
> 7F2+Rh+bXQRyfDyVkxdl1iiuwy7XkO6MLkLF9sL7aePe15W58U1HSg==
> =kyby
> -----END PGP SIGNATURE-----
> 
> _______________________________________________
> Gcl-devel mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/gcl-devel
> 
> 

-- 
Camm Maguire                                            address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah



reply via email to

[Prev in Thread] Current Thread [Next in Thread]