https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67728
--- Comment #17 from Marc Glisse <glisse at gcc dot gnu.org> --- (In reply to Andrew Roberts from comment #15) > not entirely clear what you mean by reproducing the issue without > downloading mpfr, mpc, isl etc. Do you mean the missing symbol in GMP or the > issues with GMP when using assembly code? If you could please clarify. The missing symbol (not sure what "issues with GMP when using assembly code" you are talking about). > I've built GMP 6.1.0 on its own on ARM armv7l, using the following > conifgurations: The whole point is that those external builds don't seem to reproduce the issue, probably because they don't use exactly the same options... > So I think the problem is that ISL is using a symbol which isn't always > available on all targets when no assembler is selected. In PR 70211, I see: /home/alarm/gcc/gcc-build/./gmp/.libs/libgmp.a(divrem_1.o): In function `__gmpn_divrem_1': divrem_1.c:(.text+0xb0): undefined reference to `__gmpn_invert_limb' meaning that the reference to __gmpn_invert_limb comes from GMP itself, not ISL. If you called nm on this libgmp.a, you would see uses of __gmpn_invert_limb but no definition. > 2) I've also found that different gcc versions require different versions of > ISL to build. For example ISL 0.14 does not work with gcc < 5.0.0, you need > ISL 0.12.2. If there are dependencies on on which versions gcc needs for a > given release, shouldn't they also be documented (and the > download_prerequisites script updated accordingly). I think download_prerequisites is updated. And the requirements were documented, although I am not sure how to get them except looking at the archives for https://gcc.gnu.org/install/prerequisites.html around the date of the release of 4.9.0 or 5.0.1.