On Mon, 11 Mar 2024 at 16:38, Maxim Kuvyrkov <[email protected]> wrote:
>
> > On Jan 30, 2024, at 23:03, [email protected] wrote:
> >
> > Dear contributor, our automatic CI has detected problems related to your
> > patch(es). Please find some details below. If you have any questions,
> > please follow up on [email protected] mailing list,
> > Libera's #linaro-tcwg channel, or ping your favourite Linaro toolchain
> > developer on the usual project channel.
> >
> > We appreciate that it might be difficult to find the necessary logs or
> > reproduce the issue locally. If you can't get what you need from our CI
> > within minutes, let us know and we will be happy to help.
> >
> > We track this report status in https://linaro.atlassian.net/browse/GNU-1136
> > , please let us know if you are looking at the problem and/or when you have
> > a fix.
> >
> > In master-arm after:
> >
> > | commit gdb-14-branchpoint-1411-g033bc67bdb0
> > | Author: Tom Tromey <[email protected]>
> > | Date: Tue Sep 19 17:39:31 2023 -0600
> > |
> > | Only search types in cp_lookup_rtti_type
> > |
> > | This changes cp_lookup_rtti_type to only search for types -- not
> > | functions or variables. Due to the symbol-matching hack, this could
> > | just use SEARCH_TYPE_DOMAIN, but I think it's better to be clear;
> > also
> > | I hold on to some hope that perhaps the hack can someday be removed.
> >
> > FAIL: 2 regressions
> >
> > regressions.sum:
> > === libstdc++ tests ===
> >
> > Running libstdc++:libstdc++-prettyprinters/prettyprinters.exp ...
> > FAIL: libstdc++-prettyprinters/cxx11.cc print ecmiaow
> > FAIL: libstdc++-prettyprinters/cxx11.cc print emiaow
>
> Hi Tom,
> Hi Jonathan,
>
> After the above GDB patch I see 2 new failures both for aarch64-linux-gnu and
> arm-linux-gnueabihf in GCC's libstdc++ testsuite. The log [1] says:
> ===
> $35 = warning: RTTI symbol not found for class 'main::custom_cat'
> warning: RTTI symbol not found for class 'main::custom_cat'
> got: $35 = warning: RTTI symbol not found for class 'main::custom_cat'
> FAIL: libstdc++-prettyprinters/cxx11.cc print emiaow
> skipping: warning: RTTI symbol not found for class 'main::custom_cat'
> std::error_code = {std::_V2::error_category: 42}
> skipping: std::error_code = {std::_V2::error_category: 42}
> $36 = warning: RTTI symbol not found for class 'main::custom_cat'
> warning: RTTI symbol not found for class 'main::custom_cat'
> got: $36 = warning: RTTI symbol not found for class 'main::custom_cat'
> FAIL: libstdc++-prettyprinters/cxx11.cc print ecmiaow
> ===
>
> Which way should I dig -- GDB or libstdc++? Does this look like libstdc++
> testcase needs an update?
Just a guess, but maybe making the type global instead of a local type
(with no linkage) will solve it:
--- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
+++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
@@ -63,6 +63,11 @@ struct datum
std::unique_ptr<datum> global;
+struct custom_cat : std::error_category {
+ const char* name() const noexcept { return "miaow"; }
+ std::string message(int) const { return ""; }
+};
+
int
main()
{
@@ -179,10 +184,7 @@ main()
std::error_condition ecinval =
std::make_error_condition(std::errc::invalid_argument);
// { dg-final { note-test ecinval {std::error_condition =
{"generic": EINVAL}} } }
- struct custom_cat : std::error_category {
- const char* name() const noexcept { return "miaow"; }
- std::string message(int) const { return ""; }
- } cat;
+ custom_cat cat;
std::error_code emiaow(42, cat);
// { dg-final { note-test emiaow {std::error_code = {custom_cat: 42}} } }
std::error_condition ecmiaow(42, cat);
If this works, I think this change to the test is reasonable. A local
type as an error_category probably doesn't make sense in real code.
But I don't know if this is revealing some issue with Tom's patch and
how it handles local types (or any types without linkage).
>
>
> [1]
> https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-aarch64-build/lastSuccessfulBuild/artifact/artifacts/00-sumfiles/libstdc++.log.xz
>
> Thanks!
>
> --
> Maxim Kuvyrkov
> https://www.linaro.org
>
>
> >
> >
> > You can find the failure logs in *.log.1.xz files in
> > -
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/987/artifact/artifacts/00-sumfiles/
> > The full lists of regressions and progressions as well as configure and
> > make commands are in
> > -
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/987/artifact/artifacts/notify/
> > The list of [ignored] baseline and flaky failures are in
> > -
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/987/artifact/artifacts/sumfiles/xfails.xfail
> >
> > The configuration of this build is:
> > CI config tcwg_gnu_native_check_gcc master-arm
> >
> > -----------------8<--------------------------8<--------------------------8<--------------------------
> > The information below can be used to reproduce a debug environment:
> >
> > Current build :
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/987/artifact/artifacts
> > Reference build :
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/986/artifact/artifacts
> >
> > Reproduce last good and first bad builds:
> > https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gdb/sha1/033bc67bdb0c74d1c63a1998a7e9679a408ba6e4/tcwg_gnu_native_check_gcc/master-arm/reproduction_instructions.txt
> >
> > Full commit :
> > https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=033bc67bdb0c74d1c63a1998a7e9679a408ba6e4
> >
> > List of configurations that regressed due to this commit :
> > * tcwg_gnu_native_check_gcc
> > ** master-arm
> > *** FAIL: 2 regressions
> > ***
> > https://git-us.linaro.org/toolchain/ci/interesting-commits.git/plain/gdb/sha1/033bc67bdb0c74d1c63a1998a7e9679a408ba6e4/tcwg_gnu_native_check_gcc/master-arm/details.txt
> > ***
> > https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-arm-build/987/artifact/artifacts
>
>
_______________________________________________
linaro-toolchain mailing list -- [email protected]
To unsubscribe send an email to [email protected]