Error related to GCC LTO optimization for GMP at ARM AArch64

Some One gluker at gmail.com
Fri Jan 6 18:03:02 CET 2023


Hi,

Let me try to reproduce the whole process with original GMP source:

1. I've downloaded https://gmplib.org/download/gmp/gmp-6.2.1.tar.xz

2. Exported my CFLAGS with LTO enabled:
export COMMON_FLAGS="-O3 -march=native -mcpu=native -pipe -funroll-loops \
    -fomit-frame-pointer -fforce-addr -ftracer -fno-stack-protector -flto"
export CFLAGS="${COMMON_FLAGS}"
export CXXFLAGS="${COMMON_FLAGS}"

3. Configure, make & install GMP with gcc version 12.2.1 20221231:
./configure --prefix=/usr/ --libdir=/usr/lib64/ --enable-cxx
make -j4
make install

4. Cloned iproute2:
git clone git://git.kernel.org/pub/scm/network/iproute2/iproute2.git

5. Try to compile iproute2 with hang as follows:
    CC       tc_cbq.o
    CC       tc_estimator.o
    ... hangs here ...

6. Commented out the following piece of iproute2 code in tc/tc_estimator.c:
           // if (A/(-log(w)) > time_const)
           //      break;

7. Continued to compile iproute2 and compilation went OK

Same error was reproduced with current https://gmplib.org/repo/gmp-6.2/

Switching off LTO let iproute2 compile OK

Regards!

пт, 6 янв. 2023 г. в 15:00, Torbjörn Granlund <tg at gmplib.org>:

> Some One <gluker at gmail.com> writes:
>
>   I've found the problem related to GCC LTO optimization for GMP for ARM
>   aarch64
>   under QEMU with ARM Neoverse-N1 virt-4.2 (Oracle Cloud) and ARM virt-7.2
>   (Apple M1)
>   both running the latest Gentoo with gmp-6.2.1-r5 compiled by both
>   gcc version 11.3.1 20221209 and gcc version 12.2.1 20221231.
>
>   To reproduce:
>   1. Compile GMP with LTO optimization -- compiles OK
>   2. Try to compile iproute2-6.1.0 or cmake-3.25.1 -- compilation hangs
>   during the process
>
>   Disabling LTO optimization for GMP solves the problem.
>
> I would not expect any GMP developer to attempt to reproduce this
> problem.  You're using a patched GMP ("-r5") in an environment which
> would be very close to impossible to reproduce!
>
> You need to isolate this problem and only then report it to the package
> maintainer of the buggy program.
>
> --
> Torbjörn
> Please encrypt, key id 0xC8601622
>


More information about the gmp-bugs mailing list