GMP 6.1.0 without assembly lacks ‘__gmpn_invert_lib’ on ARM

Torbjörn Granlund tg at gmplib.org
Wed Dec 16 13:02:19 UTC 2015


ludo at gnu.org (Ludovic Courtès) writes:

  When GMP 6.1.0 is built with --host=none-unknown-linux-gnueabihf on
  ARMv7 (the way GCC configures its in-tree GMP, as of GCC 4.9.3),
  ‘__gmpn_invert_lib’ is missing from the resulting libgmp.a.
  
  --8<---------------cut here---------------start------------->8---
  $ nm /gnu/store/v6ipb4br8h6sy9zc82aj464cjcgnv7gl-gmp-6.1.0/lib/libgmp.a |grep __gmpn_invert_limb
  nm: mp_clz_tab.o: no symbols
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
           U __gmpn_invert_limb
  00000000 T __gmpn_invert_limb
  nm: repl-vsnprintf.o: no symbols
  --8<---------------cut here---------------end--------------->8---
  
  This seems to be expected, but then it looks as though <gmp-impl.h> was
  erroneously referring to it, leading to undefined references, as
  reported at <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67728>.
  
I've tried to reproduce this on two different ARM systems, and failed.

I cannot reproduce any link errors, nor can I find the reference or
definitions of the symbol __gmpn_invert_limb.

It also puzzles me that you would get link errors given that
__gmpn_invert_limb is defined in your libgmp.a.

Note also that using "none" as CPU is deprecated and outputs a warning.

Many strange things indeed.

-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-bugs mailing list