Bill Allombert on Fri, 06 Nov 2009 16:03:38 +0100


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

Re: Bug#49: - and more Math::Pari problems


On Thu, Nov 05, 2009 at 05:09:49PM -0800, Ilya Zakharevich wrote:
> On Wed, Oct 28, 2009 at 11:17:50PM +0100, Bill Allombert wrote:
> BTW, two recurring problems I see reported during automated testing are
> 
> =======================================================
>   asm-specifier for variable `hiremainder' conflicts with asm clobber list
> 
> 	 on gcc 3.4.6 sun4u sparc SUNW,Sun-Fire-V490
> 
> Was it ever fixed?  (I expect it is not Math::Pari specific). 

Maybe not, but it is hard to say. Could you send the patch to the list ?

> =======================================================
>   /export/home/bob/cpantesting/perl-5.8.9/.cpan/build/Math-Pari-2.010803-6AyWtB/blib/arch/auto/Math/Pari/Pari.so:
>   symbol overflow: referenced symbol not found at
>   /export/home/bob/cpantesting/perl-5.8.9/lib/5.8.9/i86pc-solaris/DynaLoader.pm
>   line 226.
> 
> This one I'm not so sure: it might be busted Math::Pari build logic...
> 
> The configuration is
> 
> #     DEFINE => q[ -Derr=pari_err -DSOLARIS -DDYNAMIC_PLOTTING]
> #     INC => q[ -I ../pari-2.1.7/src -I$(PARI_DIR)/src/headers -I$(PARI_DIR)/src/graph -I.]
> #     LIBS => q[-lm]
> #     macro => { ASSCPPDEFINE=>q[], ASSDEFINE=>q[$(DEFINE)], ASFLAGS=>q[], ASSCMD=>q[$(CCCMD) $(CCCDLFLAGS)], PARI_DIR=>q[../pari-2.1.7]
> 
> The important part is, I think, ASSCMD = $(CCCMD) $(CCCDLFLAGS) (which
> uses -KPIC).  So the dynamic linking should be kinda OK, right?
> 
> =======================================================

The symbol overflow is special, especially on sparc. 
overflow can be either:
1) a local variable (through the LOCAL_OVERFLOW macro)
2) a register (%g6 on sparc)
3) a global symbol
However, option 1) only works with gcc so we also provide overflow as a global
symbol in that case. PARI 2.1. is known to have some issue with this process in
corner cases (like sparc).  PARI 2.1 is very old and completly unsupported.
PARI 2.3 fix that issue.

Cheers,
Bill.