On Mon, 11 Mar 2024 at 16:38, Maxim Kuvyrkov <maxim.kuvyr...@linaro.org> wrote: > > > On Jan 30, 2024, at 23:03, ci_not...@linaro.org 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 linaro-toolchain@lists.linaro.org 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 <t...@tromey.com> > > | 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 -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org