Re: Error related to GCC LTO optimization for GMP at ARM AArch64
Hi, `configure --disable-assembly` solves the problem. Thanks! пн, 9 янв. 2023 г. в 11:09, Torbjörn Granlund : > Some One writes: > > Dear GMP devs, > > As I reported the same issue to gentoo bugzilla and retried to reproduce > for them with all logs attached, > I've found out that iproute2 magically started to compile OK. > > However, there were other sources whose compilation was broken. > > Unfortunately, I don't have time to isolate this problem. > > I long shot would be to disable assembly in the GMP build (by means of > .../configure --disable-assembly). The arm64 asm in GMP 6.2.1 followed > the ABI docs of the time, which turned out to cause problems at least in > some environments. > > -- > Torbjörn > Please encrypt, key id 0xC8601622 > ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: Error related to GCC LTO optimization for GMP at ARM AArch64
Some One writes: Dear GMP devs, As I reported the same issue to gentoo bugzilla and retried to reproduce for them with all logs attached, I've found out that iproute2 magically started to compile OK. However, there were other sources whose compilation was broken. Unfortunately, I don't have time to isolate this problem. I long shot would be to disable assembly in the GMP build (by means of .../configure --disable-assembly). The arm64 asm in GMP 6.2.1 followed the ABI docs of the time, which turned out to cause problems at least in some environments. -- Torbjörn Please encrypt, key id 0xC8601622 ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: Error related to GCC LTO optimization for GMP at ARM AArch64
As I've just researched iproute2 started to compile since I had upgraded dev-libs/mpfr from 4.1.1_p1 to 4.2.0, however liblinear and cmake still hang no matter if mpfr compiled with LTO or not. сб, 7 янв. 2023 г. в 16:10, Some One : > Dear GMP devs, > > As I reported the same issue to gentoo bugzilla and retried to reproduce > for them with all logs attached, > I've found out that iproute2 magically started to compile OK. > > However, there were other sources whose compilation was broken. > > Another example with all previous flags for GMP: > > 1. git clone https://github.com/cjlin1/liblinear.git > 2. cd liblinear/ && make: > c++ -Wall -Wconversion -O3 -fPIC -c -o newton.o newton.cpp > ... hangs on the first source ... > > Regards > > > > > > > пт, 6 янв. 2023 г. в 17:03, Some One : > >> 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 : >> >>> Some One 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 >>> >> ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: Error related to GCC LTO optimization for GMP at ARM AArch64
Dear GMP devs, As I reported the same issue to gentoo bugzilla and retried to reproduce for them with all logs attached, I've found out that iproute2 magically started to compile OK. However, there were other sources whose compilation was broken. Another example with all previous flags for GMP: 1. git clone https://github.com/cjlin1/liblinear.git 2. cd liblinear/ && make: c++ -Wall -Wconversion -O3 -fPIC -c -o newton.o newton.cpp ... hangs on the first source ... Regards пт, 6 янв. 2023 г. в 17:03, Some One : > 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 : > >> Some One 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 >> > ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: Error related to GCC LTO optimization for GMP at ARM AArch64
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 : > Some One 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 > ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs
Re: Error related to GCC LTO optimization for GMP at ARM AArch64
Some One 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 ___ gmp-bugs mailing list gmp-bugs@gmplib.org https://gmplib.org/mailman/listinfo/gmp-bugs