gmp 4.3.0 asm errors on ppc64

Torbjorn Granlund tg at gmplib.org
Sun Apr 19 21:37:33 CEST 2009


Jørn Amundsen <Jorn.Amundsen at ntnu.no> writes:

  The divrem_1.asm and divrem_2.asm files do not compile on ppc64.

I build the code for several ppc64 machines without problems.
Please see http://gmplib.org/devel/testmachines.shtml.

  The CALL (mpn_invert_limb) statements seems to miss an accompanying
  EXTERN declaration. However, the m4 EXTERN macro seems to work with
  LEA only, and not with the CALL macros. To work around this, I had to
  declare an EXTERN_TEXT macro, to be used with the divrem asm CALL
  statements.
  
  I attach my patches applied when building rpms for AIX 5.3 with the
  IBM xlc compiler. The patches
  
Ah, you're saying that xlc cannot build GMP 4.3.0 in 64-bit mode.

  were applied to work around this problem. The remaining patches deals
  with packaging issues.
  
  I would like to stress that with the above patches, gmp 4.3.0 compiles
  cleanly and pass the test suite (make check) both in 32- and 64-bit
  mode on Power (using xlc 10.1.0.0).
  
Thanks.  Unfortunately, we support several environments and compilers,
and your patch does not define EXTERN_TEXT for these.

I don't understand why you introduce EXTERN_TEXT.  If .globl is the
right declaration for any externally defined symbol, why not use the
existing mechanism EXTERN?  Am I missing something?

-- 
Torbjörn


More information about the gmp-bugs mailing list