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