Re: [Linaro-TCWG-CI] gcc-15-7765-g3866ca796d5: 8 regressions on master-thumb_m7_hard_eabi
Hi Jonathan, On Sun, 2 Mar 2025 at 23:28, Jonathan Wakely via Gcc-regression wrote: > > On Sun, 2 Mar 2025 at 02:42, wrote: > > > > Dear contributor, > > > > Our automatic CI has detected problems related to your patch(es). Please > > find some details below. > > > > In arm-eabi cortex-m7 hard, after: > > | commit gcc-15-7765-g3866ca796d5 > > | Author: Jonathan Wakely > > | Date: Thu Feb 27 13:27:17 2025 + > > | > > | libstdc++: Fix ranges::move and ranges::move_backward to use > > iter_move [PR105609] > > | > > | The ranges::move and ranges::move_backward algorithms are supposed > > to > > | use ranges::iter_move(iter) instead of std::move(*iter), which > > matters > > | for an iterator type with an iter_move overload findable by ADL. > > | ... 16 lines of the commit log omitted. > > > > Produces 8 regressions: > > | > > | regressions.sum: > > | Running libstdc++:libstdc++-dg/conformance.exp ... > > | FAIL: 25_algorithms/move/constrained.cc -std=gnu++20 (test for excess > > errors) > > | UNRESOLVED: 25_algorithms/move/constrained.cc -std=gnu++20 compilation > > failed to produce executable > > | FAIL: 25_algorithms/move/constrained.cc -std=gnu++26 (test for excess > > errors) > > | UNRESOLVED: 25_algorithms/move/constrained.cc -std=gnu++26 compilation > > failed to produce executable > > | ... and 4 more > > It looks like thumb has some unusual linking requirements that I'm not > familiar with, so undefined functions (which are never actually called > in the test) cause linker errors: > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/iterator_concepts.h:155:(.text._Z6test06N8pr1056091IE+0x6): > undefined reference to `pr105609::iter_move(pr105609::I const&)' > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > (_ZN8pr1056099iter_moveERKNS_1IE): Unknown destination type > (ARM/Thumb) in /tmp/ccqKQGzN.o This is a "recent" linker warning, which I added sometime during last year (so you need recent binutils if you want to try to reproduce the problem). It means that for some reason the destination symbol lacks a tag (asm directive) saying whether it's a thumb or an arm function. This is used by the linker when deciding which type of stub to insert (if any). For instance: ".type myfunc, %function" but normally the compiler adds this for you. But you mention "undefined functions", so that would probably be the reason, but how can the link succeed? Are you linking with "-z undefs" ? Thanks, Christophe > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/iterator_concepts.h:155:(.text._Z6test06N8pr1056091IE+0x6): > dangerous relocation: unsupported relocation > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:326:(.text._Z6test06N8pr1056091IE+0xc): > undefined reference to `pr105609::I::operator++()' > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > (_ZN8pr1056091IppEv): Unknown destination type (ARM/Thumb) in > /tmp/ccqKQGzN.o > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:326:(.text._Z6test06N8pr1056091IE+0xc): > dangerous relocation: unsupported relocation > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:323:(.text._Z6test06N8pr1056091IE+0x16): > undefined reference to `pr105609::I::operator==(pr105609::I) const' > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > (_ZNK8pr1056091IeqES0_): Unknown destination type (ARM/Thumb) in > /tmp/ccqKQGzN.o > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:323:(.text._Z6test06N8pr1056091IE+0x16): > dangerous relocation: unsupported relocation > > I think I should be able to workaround this. > ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] gcc-15-7765-g3866ca796d5: 8 regressions on master-thumb_m7_hard_eabi
On Mon, 3 Mar 2025 at 09:10, Christophe Lyon wrote: > > Hi Jonathan, > > On Sun, 2 Mar 2025 at 23:28, Jonathan Wakely via Gcc-regression > wrote: > > > > On Sun, 2 Mar 2025 at 02:42, wrote: > > > > > > Dear contributor, > > > > > > Our automatic CI has detected problems related to your patch(es). Please > > > find some details below. > > > > > > In arm-eabi cortex-m7 hard, after: > > > | commit gcc-15-7765-g3866ca796d5 > > > | Author: Jonathan Wakely > > > | Date: Thu Feb 27 13:27:17 2025 + > > > | > > > | libstdc++: Fix ranges::move and ranges::move_backward to use > > > iter_move [PR105609] > > > | > > > | The ranges::move and ranges::move_backward algorithms are > > > supposed to > > > | use ranges::iter_move(iter) instead of std::move(*iter), which > > > matters > > > | for an iterator type with an iter_move overload findable by ADL. > > > | ... 16 lines of the commit log omitted. > > > > > > Produces 8 regressions: > > > | > > > | regressions.sum: > > > | Running libstdc++:libstdc++-dg/conformance.exp ... > > > | FAIL: 25_algorithms/move/constrained.cc -std=gnu++20 (test for excess > > > errors) > > > | UNRESOLVED: 25_algorithms/move/constrained.cc -std=gnu++20 > > > compilation failed to produce executable > > > | FAIL: 25_algorithms/move/constrained.cc -std=gnu++26 (test for excess > > > errors) > > > | UNRESOLVED: 25_algorithms/move/constrained.cc -std=gnu++26 > > > compilation failed to produce executable > > > | ... and 4 more > > > > It looks like thumb has some unusual linking requirements that I'm not > > familiar with, so undefined functions (which are never actually called > > in the test) cause linker errors: > > > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/iterator_concepts.h:155:(.text._Z6test06N8pr1056091IE+0x6): > > undefined reference to `pr105609::iter_move(pr105609::I const&)' > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > > (_ZN8pr1056099iter_moveERKNS_1IE): Unknown destination type > > (ARM/Thumb) in /tmp/ccqKQGzN.o > > This is a "recent" linker warning, which I added sometime during last > year (so you need recent binutils if you want to try to reproduce the > problem). > It means that for some reason the destination symbol lacks a tag (asm > directive) saying whether it's a thumb or an arm function. This is > used by the linker when deciding which type of stub to insert (if > any). > For instance: ".type myfunc, %function" > but normally the compiler adds this for you. > > But you mention "undefined functions", so that would probably be the > reason, but how can the link succeed? Are you linking with "-z undefs" > ? See e.g. libstdc++-v3/testsuite/25_algorithms/move/constrained.cc The test06 function uses undefined member functions such as I::operator== but because test06 is never called, it shouldn't matter. I can move test06 to a separate { dg-do compile } test, where the linker isn't involved at all. > > Thanks, > > Christophe > > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/iterator_concepts.h:155:(.text._Z6test06N8pr1056091IE+0x6): > > dangerous relocation: unsupported relocation > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:326:(.text._Z6test06N8pr1056091IE+0xc): > > undefined reference to `pr105609::I::operator++()' > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > > (_ZN8pr1056091IppEv): Unknown destination type (ARM/Thumb) in > > /tmp/ccqKQGzN.o > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:326:(.text._Z6test06N8pr1056091IE+0xc): > > dangerous relocation: unsupported relocation > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:323:(.text._Z6test06N8pr1056091IE+0x16): > > undefined reference to `pr105609::I::operator==(pr105609::I) const' > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/destdir/x86_64-pc-linux-gnu/arm-eabi/bin/ld: > > (_ZNK8pr1056091IeqES0_): Unknown destination type (ARM/Thumb) in > > /tmp/ccqKQGzN.o > > /home/tcwg-buildslave/workspace/tcwg_gnu_1/abe/builds/x86_64-pc-linux-gnu/arm-eabi/gcc-gcc.git~master-stage2/arm-eabi/libstdc++-v3/include/bits/ranges_algobase.h:323:(.text._Z6test06N8pr1056091IE+0x16): > > dangerous relocation: unsupported relocation > > > > I think I should be able to workaround this. > > >
Re: [Linaro-TCWG-CI] gcc patch #107213: Failure on aarch64
Hello, On Mon, 3 Mar 2025 at 04:33, Jan Dubiec wrote: > > > Hello, > > I have recived the email quoted below. I wonder how my patch could have > caused an issue when the only file it touches is related to H8/300 > target, not ARM. As far as I can see in the logs you are not building an > H8/300 toolchain. Indeed, we build only on arm and aarch64 targets. > Best regards, > /J.D. > > PS. I am not subscribed so please CC me. I'm surprised, I did send you an email on Feb 28th, didn't you receive it? I was saying: === Sorry for this spurious notification, it seems we had a "disk full" issue on the build machine. You can ignore this error message. === Thanks, Christophe > > > Forwarded Message > Subject: [Linaro-TCWG-CI] gcc patch #107213: Failure on aarch64 > Date: Fri, 28 Feb 2025 02:06:28 + (UTC) > From: ci_not...@linaro.org > Reply-To: linaro-toolchain@lists.linaro.org > To: j...@o2.pl > > Dear contributor, > > Our automatic CI has detected problems related to your patch(es). Please > find some details below. > > In simplebootstrap_build master-aarch64-bootstrap, after: >| gcc patch https://patchwork.sourceware.org/patch/107213 >| Author: Jan Dubiec >| Date: Thu Feb 27 22:42:20 2025 +0100 >| | [PATCH] H8/300: PR target/109189 Silence -Wformat warnings > on Windows >| | This patch fixes annoying -Wformat warnings when gcc is > built >| on Windows/MinGW64. Instead of %ld it uses HOST_WIDE_INT_PRINT_DEC >| macro, just like many other targets do. >| ... 12 lines of the commit log omitted. >| ... applied on top of baseline commit: >| 8371e7f240c gimple-fold: Fix a pasto in > fold_truth_andor_for_ifcombine [PR119030] > > Produces Failure: >| Results changed to >| # reset_artifacts: >| -10 >| # true: >| 0 >| # build_abe bootstrap: >| # FAILED >| | From >| # reset_artifacts: >| -10 >| # true: >| 0 >| # build_abe bootstrap: >| 1 > > Used configuration : > *CI config* tcwg_simplebootstrap_build master-aarch64-bootstrap > *configure and test flags:* none, autodetected on > aarch64-unknown-linux-gnu > > If you have any questions regarding this report, please ask on > linaro-toolchain@lists.linaro.org mailing list. > > -8<--8<--8<-- > > The information below contains the details of the failures, and the ways > to reproduce a debug environment: > > You can find the failure logs in > * > https://ci.linaro.org/job/tcwg_simplebootstrap_build--master-aarch64-bootstrap-precommit/497/artifact/artifacts/artifacts.precommit/ > The full lists of regressions and improvements as well as configure and > make commands are in > * > https://ci.linaro.org/job/tcwg_simplebootstrap_build--master-aarch64-bootstrap-precommit/497/artifact/artifacts/artifacts.precommit/notify/ > > Current build : > https://ci.linaro.org/job/tcwg_simplebootstrap_build--master-aarch64-bootstrap-precommit/497/artifact/artifacts > Reference build : > https://ci.linaro.org/job/tcwg_simplebootstrap_build--master-aarch64-bootstrap-build/83/artifact/artifacts > > Warning: we do not enable maintainer-mode nor automatically update > generated files, which may lead to failures if the patch modifies the > master files. > ___ > linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org > To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org
Re: [Linaro-TCWG-CI] gcc patch #107213: Failure on aarch64
On 03.03.2025 09:58, Christophe Lyon wrote: [...] PS. I am not subscribed so please CC me. I'm surprised, I did send you an email on Feb 28th, didn't you receive it? I was saying: I received it about three hours after sending my previous message. Regards, /J.D. ___ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org