> On Mar 11, 2024, at 20:52, Jonathan Wakely <jwak...@redhat.com> wrote: > > 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).
Hi Jonathan, Your above change to cxx11.cc <http://cxx11.cc/> fixes the failures [1]. Would you please commit it? Thanks! [1] https://ci.linaro.org/job/tcwg_gnu_native_check_gcc--master-aarch64-precommit/1/artifact/artifacts/artifacts.precommit/notify/mail-body.txt/*view*/ -- Maxim Kuvyrkov https://www.linaro.org _______________________________________________ linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org