On Thu, 26 Oct 2023 at 19:44, Lewis Hyatt <lhy...@gmail.com> wrote:
>
> On Thu, Oct 26, 2023 at 12:48 PM Christophe Lyon
> <christophe.l...@linaro.org> wrote:
> >
> > On Thu, 26 Oct 2023 at 18:18, Lewis Hyatt <lhy...@gmail.com> wrote:
> > >
> > > On Thu, Oct 26, 2023 at 4:49 AM Christophe Lyon
> > > <christophe.l...@linaro.org> wrote:
> > > > We have noticed that the new tests fail on aarch64 with:
> > > > .../aarch64-unknown-linux-gnu/libc/usr/lib/crt1.o: in function `_start':
> > > > .../sysdeps/aarch64/start.S:110:(.text+0x38): undefined reference to 
> > > > `main'
> > > >
> > > > Looking at the test, I'd say it lacks a dg-do compile (to avoid
> > > > linking), but how does it work on other targets?
> > >
> > > Thanks for pointing it out. I am definitely under the impression that
> > > { dg-do compile } is the default and doesn't need to be specified, I
> > > have never seen it not be the case before... Is that just not correct?
> > > I tried it out on the cfarm (gcc185) for aarch64-redhat-linux and it
> > > works for me there too, I tried the test individually and also as part
> > > of the whole check-gcc-c++ target.
> > >
> > > I do see that there are target-dependent functions in
> > > testsuite/lib/*.exp that will change dg-do-what-default under some
> > > circumstances... but I also see in dg-pch.exp (which is the one
> > > relevant for this test g++.dg/pch/pr36887.C) that dg-do-what-default
> > > is set to compile explicitly.
> >
> > Indeed, thanks for checking.
> >
> > > Note sure what the best next step is, should I just add { dg-do
> > > compile } since it's harmless in any case, or is there something else
> > > worth looking into here? I'm not sure why I couldn't reproduce the
> > > issue on the compile farm machine either, maybe you wouldn't mind
> > > please check if adding this line fixes it for you anyway? Thanks...
> >
> > Can you share the compile line for this test in g++.log?
> >
>
> Sure, here is what I got on aarch64 for
>
> make RUNTESTFLAGS=pch.exp=pr36887.C check-gcc-c++
>
> For making the PCH:
>
> xg++ -B/dev/shm/lhyatt/build/gcc/testsuite/g++/../../ ./pr36887.H
> -fdiagnostics-plain-output -nostdinc++
> -I/dev/shm/lhyatt/build/aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
> -I/dev/shm/lhyatt/build/aarch64-unknown-linux-gnu/libstdc++-v3/include
> -I/dev/shm/lhyatt/src/libstdc++-v3/libsupc++
> -I/dev/shm/lhyatt/src/libstdc++-v3/include/backward
> -I/dev/shm/lhyatt/src/libstdc++-v3/testsuite/util -fmessage-length=0
> -g -o pr36887.H.gch
>
> For compiling the test:
>
> xg++ -B/dev/shm/lhyatt/build/gcc/testsuite/g++/../../
> /dev/shm/lhyatt/src/gcc/testsuite/g++.dg/pch/pr36887.C
> -fdiagnostics-plain-output -nostdinc++
> -I/dev/shm/lhyatt/build/aarch64-unknown-linux-gnu/libstdc++-v3/include/aarch64-unknown-linux-gnu
> -I/dev/shm/lhyatt/build/aarch64-unknown-linux-gnu/libstdc++-v3/include
> -I/dev/shm/lhyatt/src/libstdc++-v3/libsupc++
> -I/dev/shm/lhyatt/src/libstdc++-v3/include/backward
> -I/dev/shm/lhyatt/src/libstdc++-v3/testsuite/util -fmessage-length=0
> -g -I. -Dwith_PCH -S -o pr36887.s
>
> (and then it repeats with -O2 added, or with -g removed as well)

OK, thanks.

Our CI harness adds a few linker options to g++
(-Wl,--dynamic-linker=XXX, -Wl-,-rpath...)
which seem to force the GCC driver to invoke the linker.

So, nothing to fix on the testsuite side ;-)

I'll have a look to check if this is a driver bug, or if it can be
fixed in our scripts.

Sorry for the false alarm,

Christophe

>
> > Actually I'm seeing several similar errors in our g++.log, not
> > reported before because they were "pre-existing" failures.
> > So something is confusing the testsuite and puts it into link mode.
> >
> > I am currently building from scratch, without our CI scripts to get
> > some additional logs in a setup that probably matches yours. Then I
> > should be able to add more traces a dejagnu level to understand what's
> > happening.
> >
> > Thanks,
> >
> > Christophe

Reply via email to