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

Reply via email to