Illegal subtraction in tmp-dive_1.s

Marc Glisse marc.glisse at
Thu Apr 16 07:16:58 CEST 2009

On Wed, 15 Apr 2009, Dennis Clarke wrote:

> I hit this repeatedly on Solaris x86.
> Assembler:
>        "tmp-dive_1.s", line 292 : Illegal subtraction in ... ".DOT-0 -
> __gmp_binvert_limb_table"
> cc: assembler failed for tmp-dive_1.s

Funny, on linux x86_64 with Sun Studio I also got an Illegal subtraction, 
but a different one: the Sun assembler refuses to compute differences of 
symbols in different sections, and x86_64/sqr_basecase.asm does just that. 
Moving "TEXT" before L(jmptab) in the 2 places where it occurs fixes it (I 
know gcc had a similar problem with bug 31713, fixed in 2007) and the 
result passes all tests.

Could you try with the latest March express compiler to check whether you 
get the same error or a slightly different message?

Marc Glisse

More information about the gmp-discuss mailing list