Updating configfsf.*

Torbjorn Granlund tg at gmplib.org
Tue May 3 22:43:44 CEST 2011


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

  > The latter still is not robust, since we don't make any promises about
  > the existence of configfsf.guess.  (They could provide their own
  > config.guess, stored outside of GMP, though.)
  
  Would it make sense to introduce some option to gmp to do this robustly?

Is there a compelling reason for that?

  (kind of the reverse of --enable-fat, compile only for the lowest
  common base of the category, but still with asm) Maybe not, but that
  would be a way to avoid people doing this kind of hack.

  I'll advise them to use --enable-fat.
  
Good idea.  It will be great to have all x86 assembly code tested on
Darwin.  :-(

  The libtoolize thing is not for darwin, it is for places where the
  failures look like: "no rule to make target add_n.lo" and are because
  recent autoconf is incompatible with ancient ltmain.sh.
  
Ah, they use a much newer autoconf than we have in ~gmp/usr/bin on
shell.gmplib.org?

  Hmm, actually, now I've applied that patch, the CXXFLAGS look correct
  on Darwin. I have no idea why but I won't look into it more.
  
One should be humbly grateful when things mysteriously just work.  :-)

  Their Darwin build of the main branch (5.0 works) now fails with:
  
  ld: in mpn/.libs/mod_34lsub1.o, in section __DATA,__data reloc 0:
  X86_64_RELOC_SUBTRACTOR must have r_extern=1
  
  which is much more like the usual bugs that get reported :-)
  
Yep, welcome to the Darwin linker...  http://gmplib.org/macos.html

So this used to work, but magically broke?  I bet it is the jumptab used
in mpn/x86_64/mod_34lsub1.asm that triggers some bug.  But it has not
changed for about 5 months...

Perhaps subtracting .rodata and .text symbols isn't entirely kosher (see
L(tab) in the file).  If I understand the pedagogical error message
right, they want some of these symbols to be exported.

Perhaps sticking this inside the file will help?  :-)

ifdef(`DARWIN',`define(`L(tab)',MPN(this_horrible_symbol_is_the_result_of_a_workaround_for_problems_on_darwin_that_suggested_that_we_export_a_local_symbol))
	.export L(tab)')

-- 
Torbjörn


More information about the gmp-devel mailing list