Re: [Linaro-TCWG-CI] gcc-15-7765-g3866ca796d5: 8 regressions on master-thumb_m7_hard_eabi

2025-03-03 Thread Christophe Lyon
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

2025-03-03 Thread Jonathan Wakely
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

2025-03-03 Thread Christophe Lyon
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

2025-03-03 Thread Jan Dubiec

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