public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* [TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687]
@ 2021-12-20 12:38 ci_notify
  2021-12-21 14:19 ` Maxim Kuvyrkov
  0 siblings, 1 reply; 2+ messages in thread
From: ci_notify @ 2021-12-20 12:38 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: gcc-regression

[TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687]:
commit 9a4b4514bde2fe2f287f6549ef51326fb8918008
Author: Jonathan Wakely <jwakely@redhat.com>

    libstdc++: Support old and new T_FMT for en_HK locale [PR103687]

Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-8
# build_abe newlib:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-5
# benchmark -- -O2_LTO_mthumb artifacts/build-9a4b4514bde2fe2f287f6549ef51326fb8918008/results_id:
1

from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-8
# build_abe newlib:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-5
# benchmark -- -O2_LTO_mthumb artifacts/build-baseline/results_id:
1

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.

This commit has regressed these CI configurations:
 - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-O2_LTO

First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-9a4b4514bde2fe2f287f6549ef51326fb8918008/
Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-85a438fc78dd12249ca854a3e5c577fefeb1a5cd/
Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-baseline/
Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-gcc-9a4b4514bde2fe2f287f6549ef51326fb8918008
cd investigate-gcc-9a4b4514bde2fe2f287f6549ef51326fb8918008

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/manifests/build-baseline.sh --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/manifests/build-parameters.sh --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/test.sh --fail
chmod +x artifacts/test.sh

# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh

# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/

cd gcc

# Reproduce first_bad build
git checkout --detach 9a4b4514bde2fe2f287f6549ef51326fb8918008
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 85a438fc78dd12249ca854a3e5c577fefeb1a5cd
../artifacts/test.sh

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit 9a4b4514bde2fe2f287f6549ef51326fb8918008
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Dec 14 22:14:48 2021 +0000

    libstdc++: Support old and new T_FMT for en_HK locale [PR103687]
    
    This checks whether the locale data for en_HK includes %p and adjusts
    the string being tested accordingly. To account for Jakub's fix to make
    %I parse "12" as 0 instead of 12, we need to change the expected value
    for the case where the locale format doesn't include %p. Also change the
    time from 12:00:00 to 12:02:01 so we can tell if the minutes and seconds
    get mixed up.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/103687
            * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore
            original locale before returning.
            * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p
            in locale's T_FMT and adjust accordingly.
            * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
---
 .../22_locale/time_get/get_date/wchar_t/4.cc       |  9 +++---
 .../22_locale/time_get/get_time/char/2.cc          | 33 ++++++++++++++++++++--
 .../22_locale/time_get/get_time/wchar_t/2.cc       | 33 ++++++++++++++++++++--
 3 files changed, 65 insertions(+), 10 deletions(-)

diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
index d227d4b1ce0..f6de882e4bd 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
@@ -39,7 +39,7 @@ void test01()
 
   wistringstream iss;
   iss.imbue(loc_tw);
-  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc()); 
+  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc());
 
   const ios_base::iostate good = ios_base::goodbit;
   ios_base::iostate errorstate = good;
@@ -66,13 +66,14 @@ void test01()
 static bool debian_date_format()
 {
 #ifdef D_FMT
+  std::string orig = setlocale(LC_TIME, NULL);
   if (setlocale(LC_TIME, "zh_TW.UTF-8") != NULL)
   {
     // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31413
     // and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71641#c2
-    if (*nl_langinfo(D_FMT) == '%')
-      return true;
-    setlocale(LC_TIME, "C");
+    std::string d_fmt = nl_langinfo(D_FMT);
+    setlocale(LC_TIME, orig.c_str());
+    return d_fmt[0] == '%';
   }
 #endif
   return false;
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
index a847748dc27..b40971a9bf7 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
@@ -25,6 +25,8 @@
 #include <sstream>
 #include <testsuite_hooks.h>
 
+static bool ampm_time_format();
+
 void test02()
 {
   using namespace std;
@@ -36,19 +38,23 @@ void test02()
   locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
+  const int pm = ampm_time_format() ? 12 : 0;
   const string empty;
-  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
+  const tm time_bday = __gnu_test::test_tm(1, 2, 0+pm, 4, 3, 71, 0, 93, 0);
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
   istringstream iss;
-  const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc()); 
+  const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
   const ios_base::iostate good = ios_base::goodbit;
   ios_base::iostate errorstate = good;
 
   // inspection of named locales, en_HK
   iss.imbue(loc_hk);
-  iss.str("12:00:00 PM PST"); 
+  if (pm)
+    iss.str("12:02:01 PM PST");
+  else
+    iss.str("12:02:01 PST"); // %I means 12-hour clock, so parsed as 12am
   // Hong Kong in California! Well, they have Paris in Vegas... this
   // is all a little disney-esque anyway. Besides, you can get decent
   // Dim Sum in San Francisco.
@@ -62,6 +68,27 @@ void test02()
   VERIFY( errorstate == ios_base::eofbit );
 }
 
+#include <locale.h>
+#if __has_include(<langinfo.h>)
+# include <langinfo.h>
+#endif
+#include <string.h>
+
+static bool ampm_time_format()
+{
+#ifdef T_FMT
+  std::string orig = setlocale(LC_TIME, NULL);
+  if (setlocale(LC_TIME, ISO_8859(1,en_HK)) != NULL)
+  {
+    // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103687
+    std::string t_fmt = nl_langinfo(T_FMT);
+    setlocale(LC_TIME, orig.c_str());
+    return t_fmt.find("%p") != std::string::npos;
+  }
+#endif
+  return false;
+}
+
 int main()
 {
   test02();
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
index b5d61e1afdb..b74604ef472 100644
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
+++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
@@ -25,6 +25,8 @@
 #include <sstream>
 #include <testsuite_hooks.h>
 
+static bool ampm_time_format();
+
 void test02()
 {
   using namespace std;
@@ -36,19 +38,23 @@ void test02()
   locale loc_hk = locale(ISO_8859(1,en_HK));
   VERIFY( loc_hk != loc_c );
 
+  const int pm = ampm_time_format() ? 12 : 0;
   const wstring empty;
-  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
+  const tm time_bday = __gnu_test::test_tm(1, 2, 0+pm, 4, 3, 71, 0, 93, 0);
 
   // create an ostream-derived object, cache the time_get facet
   iterator_type end;
   wistringstream iss;
-  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc()); 
+  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc());
   const ios_base::iostate good = ios_base::goodbit;
   ios_base::iostate errorstate = good;
 
   // inspection of named locales, en_HK
   iss.imbue(loc_hk);
-  iss.str(L"12:00:00 PM PST"); 
+  if (pm)
+    iss.str(L"12:02:01 PM PST");
+  else
+    iss.str(L"12:02:01 PST"); // %I means 12-hour clock, so parsed as 12am
   // Hong Kong in California! Well, they have Paris in Vegas... this
   // is all a little disney-esque anyway. Besides, you can get decent
   // Dim Sum in San Francisco.
@@ -62,6 +68,27 @@ void test02()
   VERIFY( errorstate == ios_base::eofbit );
 }
 
+#include <locale.h>
+#if __has_include(<langinfo.h>)
+# include <langinfo.h>
+#endif
+#include <string.h>
+
+static bool ampm_time_format()
+{
+#ifdef T_FMT
+  std::string orig = setlocale(LC_TIME, NULL);
+  if (setlocale(LC_TIME, ISO_8859(1,en_HK)) != NULL)
+  {
+    // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103687
+    std::string t_fmt = nl_langinfo(T_FMT);
+    setlocale(LC_TIME, orig.c_str());
+    return t_fmt.find("%p") != std::string::npos;
+  }
+#endif
+  return false;
+}
+
 int main()
 {
   test02();
</cut>
>From ci_notify@linaro.org  Mon Dec 20 14:10:24 2021
Return-Path: <ci_notify@linaro.org>
X-Original-To: gcc-regression@gcc.gnu.org
Delivered-To: gcc-regression@gcc.gnu.org
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [IPv6:2a00:1450:4864:20::32a])
 by sourceware.org (Postfix) with ESMTPS id 427AF385B833
 for <gcc-regression@gcc.gnu.org>; Mon, 20 Dec 2021 14:10:22 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 427AF385B833
Received: by mail-wm1-x32a.google.com with SMTP id
 a83-20020a1c9856000000b00344731e044bso6734402wme.1
 for <gcc-regression@gcc.gnu.org>; Mon, 20 Dec 2021 06:10:22 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:from:date:to:cc:message-id:subject:mime-version
 :list-id;
 bh=dkkjA67v4ph+UNnatUj5YqlfG/LKEaheUlAUDN2wZp4=;
 b=0DDfE/orzPs3B/NLnadAoqbMHaZGcF0OodkRPg6pUmVMSX1vqmVqxp3EJ20Bv0ybVl
 NwCMCwUZQZbvRSPe+OhYCoI0LbiK9Yodjvu0jqlsI+EXCP0KtXsVABV8BXow55/gYttT
 YgVS9WLss3P1/GedajJfuipi9GSs0a714+6YCkY5wEG/vvV/sBGfVV4KGMTO8LIvyC4P
 H5cl5JOIaWquTv5WLxJVEKXrRvyXwfxuJsAXlkOPs46TH1E6mcu8BdlPoaUJgdZgWAV+
 iQCbpxdOB+FG4Uq3/feom1HYtD2DarSrNGizw2dI11pw1PUniQZE7nwMQwU9dVLNwVIX
 8oaA==
X-Gm-Message-State: AOAM530Sfiew1W/Obo0NIaOaxXN85EhTQusCsnYflAJFY24Z0+tdMnS0
 MryHoilYGn8hPdki4AX+Ej+ANg==
X-Google-Smtp-Source: ABdhPJxxJG8pUZ4UaF0EMBR1oVkdzJDSBoBhdiu0DkamEHHqPfeBLUMCkUJ4yq5rtPaCTNNFU081Kw==
X-Received: by 2002:a05:600c:2059:: with SMTP id
 p25mr3748166wmg.151.1640009421300; 
 Mon, 20 Dec 2021 06:10:21 -0800 (PST)
Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175])
 by smtp.gmail.com with ESMTPSA id p5sm16398476wrd.13.2021.12.20.06.10.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Dec 2021 06:10:20 -0800 (PST)
From: ci_notify@linaro.org
X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org
Date: Mon, 20 Dec 2021 14:10:19 +0000 (UTC)
To: GDB Administrator <gdbadmin@sourceware.org>
Cc: gcc-regression@gcc.gnu.org
Message-ID: <1866969814.6387.1640009420878@jenkins.jenkins>
Subject: [TCWG CI] Regression caused by binutils: Automatic date update in
 version.in
MIME-Version: 1.0
X-Jenkins-Job: TCWG Bisect tcwg_bmk_stm32/gnu_eabi-release-arm_eabi-coremark-O3
X-Jenkins-Result: SUCCESS
X-Spam-Status: No, score=-13.8 required=5.0 tests=BAYES_00, DKIM_SIGNED,
 DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_LOTSOFHASH,
 RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS,
 TXREP autolearn=ham autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 server2.sourceware.org
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
X-BeenThere: gcc-regression@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-regression mailing list <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Dec 2021 14:10:24 -0000

[TCWG CI] Regression caused by binutils: Automatic date update in version.in:
commit 172e0da3ef21df39617a13d33db131c2c556b107
Author: GDB Administrator <gdbadmin@sourceware.org>

    Automatic date update in version.in

Results regressed to
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-8
# build_abe newlib:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-5
# benchmark -- -O3_mthumb artifacts/build-172e0da3ef21df39617a13d33db131c2c556b107/results_id:
1

from
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-8
# build_abe newlib:
-6
# build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
-5
# benchmark -- -O3_mthumb artifacts/build-baseline/results_id:
1

THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.

This commit has regressed these CI configurations:
 - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-release-arm_eabi-coremark-O3

First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/build-172e0da3ef21df39617a13d33db131c2c556b107/
Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/build-d012e2bb911edc98d4038ea1e630d92ed869844f/
Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/build-baseline/
Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-binutils-172e0da3ef21df39617a13d33db131c2c556b107
cd investigate-binutils-172e0da3ef21df39617a13d33db131c2c556b107

# Fetch scripts
git clone https://git.linaro.org/toolchain/jenkins-scripts

# Fetch manifests and test.sh script
mkdir -p artifacts/manifests
curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/manifests/build-baseline.sh --fail
curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/manifests/build-parameters.sh --fail
curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/2/artifact/artifacts/test.sh --fail
chmod +x artifacts/test.sh

# Reproduce the baseline build (build all pre-requisites)
./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh

# Save baseline build state (which is then restored in artifacts/test.sh)
mkdir -p ./bisect
rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /binutils/ ./ ./bisect/baseline/

cd binutils

# Reproduce first_bad build
git checkout --detach 172e0da3ef21df39617a13d33db131c2c556b107
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach d012e2bb911edc98d4038ea1e630d92ed869844f
../artifacts/test.sh

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit 172e0da3ef21df39617a13d33db131c2c556b107
Author: GDB Administrator <gdbadmin@sourceware.org>
Date:   Mon Dec 13 00:00:33 2021 +0000

    Automatic date update in version.in
---
 bfd/version.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bfd/version.h b/bfd/version.h
index 058c12ce07b..284876afcfb 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -16,7 +16,7 @@
 
    In releases, the date is not included in either version strings or
    sonames.  */
-#define BFD_VERSION_DATE 20211212
+#define BFD_VERSION_DATE 20211213
 #define BFD_VERSION @bfd_version@
 #define BFD_VERSION_STRING  @bfd_version_package@ @bfd_version_string@
 #define REPORT_BUGS_TO @report_bugs_to@
</cut>
>From hjl@sc.intel.com  Mon Dec 20 18:48:08 2021
Return-Path: <hjl@sc.intel.com>
X-Original-To: gcc-regression@gcc.gnu.org
Delivered-To: gcc-regression@gcc.gnu.org
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by sourceware.org (Postfix) with ESMTPS id 7FAD73858C60
 for <gcc-regression@gcc.gnu.org>; Mon, 20 Dec 2021 18:48:07 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7FAD73858C60
X-IronPort-AV: E=McAfee;i="6200,9189,10204"; a="264432688"
X-IronPort-AV: E=Sophos;i="5.88,221,1635231600"; d="scan'208";a="264432688"
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Dec 2021 10:47:50 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,221,1635231600"; d="scan'208";a="569950596"
Received: from scymds01.sc.intel.com ([10.148.94.138])
 by fmsmga008.fm.intel.com with ESMTP; 20 Dec 2021 10:47:50 -0800
Received: from gnu-ivb-1.sc.intel.com (gnu-ivb-1.sc.intel.com [172.25.70.227])
 by scymds01.sc.intel.com with ESMTP id 1BKIloJD011718;
 Mon, 20 Dec 2021 10:47:50 -0800
Received: by gnu-ivb-1.sc.intel.com (Postfix, from userid 1000)
 id 6F6A0120088; Mon, 20 Dec 2021 10:47:50 -0800 (PST)
Date: Mon, 20 Dec 2021 10:47:50 -0800
To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org
Subject: Regressions on master at commit r12-6075 vs commit r12-6070 on
 Linux/i686
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20211220184750.6F6A0120088@gnu-ivb-1.sc.intel.com>
From: "H.J. Lu" <hjl@sc.intel.com>
X-Spam-Status: No, score=-3466.6 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,
 SPF_HELO_NONE, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
 server2.sourceware.org
X-BeenThere: gcc-regression@gcc.gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Gcc-regression mailing list <gcc-regression.gcc.gnu.org>
List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=unsubscribe>
List-Archive: <https://gcc.gnu.org/pipermail/gcc-regression/>
List-Post: <mailto:gcc-regression@gcc.gnu.org>
List-Help: <mailto:gcc-regression-request@gcc.gnu.org?subject=help>
List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-regression>,
 <mailto:gcc-regression-request@gcc.gnu.org?subject=subscribe>
X-List-Received-Date: Mon, 20 Dec 2021 18:48:08 -0000

New failures:

New passes:
FAIL: gfortran.dg/secnds.f   -O1  execution test


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687]
  2021-12-20 12:38 [TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687] ci_notify
@ 2021-12-21 14:19 ` Maxim Kuvyrkov
  0 siblings, 0 replies; 2+ messages in thread
From: Maxim Kuvyrkov @ 2021-12-21 14:19 UTC (permalink / raw)
  To: Jonathan Wakely; +Cc: gcc-regression

Hi Jonathan,

This was sent out due to a bug in our CI.  Sorry for the noise.

Regards,

--
Maxim Kuvyrkov
https://www.linaro.org

> On 20 Dec 2021, at 15:38, ci_notify@linaro.org wrote:
> 
> [TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687]:
> commit 9a4b4514bde2fe2f287f6549ef51326fb8918008
> Author: Jonathan Wakely <jwakely@redhat.com>
> 
>    libstdc++: Support old and new T_FMT for en_HK locale [PR103687]
> 
> Results regressed to
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -O2_LTO_mthumb artifacts/build-9a4b4514bde2fe2f287f6549ef51326fb8918008/results_id:
> 1
> 
> from
> # reset_artifacts:
> -10
> # build_abe binutils:
> -9
> # build_abe stage1 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -8
> # build_abe newlib:
> -6
> # build_abe stage2 -- --set gcc_override_configure=--disable-libsanitizer --set gcc_override_configure=--disable-multilib --set gcc_override_configure=--with-cpu=cortex-m4 --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--with-float=hard:
> -5
> # benchmark -- -O2_LTO_mthumb artifacts/build-baseline/results_id:
> 1
> 
> THIS IS THE END OF INTERESTING STUFF.  BELOW ARE LINKS TO BUILDS, REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT.
> 
> This commit has regressed these CI configurations:
> - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-O2_LTO
> 
> First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-9a4b4514bde2fe2f287f6549ef51326fb8918008/
> Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-85a438fc78dd12249ca854a3e5c577fefeb1a5cd/
> Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/build-baseline/
> Even more details: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/
> 
> Reproduce builds:
> <cut>
> mkdir investigate-gcc-9a4b4514bde2fe2f287f6549ef51326fb8918008
> cd investigate-gcc-9a4b4514bde2fe2f287f6549ef51326fb8918008
> 
> # Fetch scripts
> git clone https://git.linaro.org/toolchain/jenkins-scripts
> 
> # Fetch manifests and test.sh script
> mkdir -p artifacts/manifests
> curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/manifests/build-baseline.sh --fail
> curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/manifests/build-parameters.sh --fail
> curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/15/artifact/artifacts/test.sh --fail
> chmod +x artifacts/test.sh
> 
> # Reproduce the baseline build (build all pre-requisites)
> ./jenkins-scripts/tcwg_bmk-build.sh @@ artifacts/manifests/build-baseline.sh
> 
> # Save baseline build state (which is then restored in artifacts/test.sh)
> mkdir -p ./bisect
> rsync -a --del --delete-excluded --exclude /bisect/ --exclude /artifacts/ --exclude /gcc/ ./ ./bisect/baseline/
> 
> cd gcc
> 
> # Reproduce first_bad build
> git checkout --detach 9a4b4514bde2fe2f287f6549ef51326fb8918008
> ../artifacts/test.sh
> 
> # Reproduce last_good build
> git checkout --detach 85a438fc78dd12249ca854a3e5c577fefeb1a5cd
> ../artifacts/test.sh
> 
> cd ..
> </cut>
> 
> Full commit (up to 1000 lines):
> <cut>
> commit 9a4b4514bde2fe2f287f6549ef51326fb8918008
> Author: Jonathan Wakely <jwakely@redhat.com>
> Date:   Tue Dec 14 22:14:48 2021 +0000
> 
>    libstdc++: Support old and new T_FMT for en_HK locale [PR103687]
> 
>    This checks whether the locale data for en_HK includes %p and adjusts
>    the string being tested accordingly. To account for Jakub's fix to make
>    %I parse "12" as 0 instead of 12, we need to change the expected value
>    for the case where the locale format doesn't include %p. Also change the
>    time from 12:00:00 to 12:02:01 so we can tell if the minutes and seconds
>    get mixed up.
> 
>    libstdc++-v3/ChangeLog:
> 
>            PR libstdc++/103687
>            * testsuite/22_locale/time_get/get_date/wchar_t/4.cc: Restore
>            original locale before returning.
>            * testsuite/22_locale/time_get/get_time/char/2.cc: Check for %p
>            in locale's T_FMT and adjust accordingly.
>            * testsuite/22_locale/time_get/get_time/wchar_t/2.cc: Likewise.
> ---
> .../22_locale/time_get/get_date/wchar_t/4.cc       |  9 +++---
> .../22_locale/time_get/get_time/char/2.cc          | 33 ++++++++++++++++++++--
> .../22_locale/time_get/get_time/wchar_t/2.cc       | 33 ++++++++++++++++++++--
> 3 files changed, 65 insertions(+), 10 deletions(-)
> 
> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
> index d227d4b1ce0..f6de882e4bd 100644
> --- a/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
> +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_date/wchar_t/4.cc
> @@ -39,7 +39,7 @@ void test01()
> 
>   wistringstream iss;
>   iss.imbue(loc_tw);
> -  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc()); 
> +  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc());
> 
>   const ios_base::iostate good = ios_base::goodbit;
>   ios_base::iostate errorstate = good;
> @@ -66,13 +66,14 @@ void test01()
> static bool debian_date_format()
> {
> #ifdef D_FMT
> +  std::string orig = setlocale(LC_TIME, NULL);
>   if (setlocale(LC_TIME, "zh_TW.UTF-8") != NULL)
>   {
>     // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31413
>     // and https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71641#c2
> -    if (*nl_langinfo(D_FMT) == '%')
> -      return true;
> -    setlocale(LC_TIME, "C");
> +    std::string d_fmt = nl_langinfo(D_FMT);
> +    setlocale(LC_TIME, orig.c_str());
> +    return d_fmt[0] == '%';
>   }
> #endif
>   return false;
> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
> index a847748dc27..b40971a9bf7 100644
> --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
> +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/char/2.cc
> @@ -25,6 +25,8 @@
> #include <sstream>
> #include <testsuite_hooks.h>
> 
> +static bool ampm_time_format();
> +
> void test02()
> {
>   using namespace std;
> @@ -36,19 +38,23 @@ void test02()
>   locale loc_hk = locale(ISO_8859(1,en_HK));
>   VERIFY( loc_hk != loc_c );
> 
> +  const int pm = ampm_time_format() ? 12 : 0;
>   const string empty;
> -  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
> +  const tm time_bday = __gnu_test::test_tm(1, 2, 0+pm, 4, 3, 71, 0, 93, 0);
> 
>   // create an ostream-derived object, cache the time_get facet
>   iterator_type end;
>   istringstream iss;
> -  const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc()); 
> +  const time_get<char>& tim_get = use_facet<time_get<char> >(iss.getloc());
>   const ios_base::iostate good = ios_base::goodbit;
>   ios_base::iostate errorstate = good;
> 
>   // inspection of named locales, en_HK
>   iss.imbue(loc_hk);
> -  iss.str("12:00:00 PM PST"); 
> +  if (pm)
> +    iss.str("12:02:01 PM PST");
> +  else
> +    iss.str("12:02:01 PST"); // %I means 12-hour clock, so parsed as 12am
>   // Hong Kong in California! Well, they have Paris in Vegas... this
>   // is all a little disney-esque anyway. Besides, you can get decent
>   // Dim Sum in San Francisco.
> @@ -62,6 +68,27 @@ void test02()
>   VERIFY( errorstate == ios_base::eofbit );
> }
> 
> +#include <locale.h>
> +#if __has_include(<langinfo.h>)
> +# include <langinfo.h>
> +#endif
> +#include <string.h>
> +
> +static bool ampm_time_format()
> +{
> +#ifdef T_FMT
> +  std::string orig = setlocale(LC_TIME, NULL);
> +  if (setlocale(LC_TIME, ISO_8859(1,en_HK)) != NULL)
> +  {
> +    // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103687
> +    std::string t_fmt = nl_langinfo(T_FMT);
> +    setlocale(LC_TIME, orig.c_str());
> +    return t_fmt.find("%p") != std::string::npos;
> +  }
> +#endif
> +  return false;
> +}
> +
> int main()
> {
>   test02();
> diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
> index b5d61e1afdb..b74604ef472 100644
> --- a/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
> +++ b/libstdc++-v3/testsuite/22_locale/time_get/get_time/wchar_t/2.cc
> @@ -25,6 +25,8 @@
> #include <sstream>
> #include <testsuite_hooks.h>
> 
> +static bool ampm_time_format();
> +
> void test02()
> {
>   using namespace std;
> @@ -36,19 +38,23 @@ void test02()
>   locale loc_hk = locale(ISO_8859(1,en_HK));
>   VERIFY( loc_hk != loc_c );
> 
> +  const int pm = ampm_time_format() ? 12 : 0;
>   const wstring empty;
> -  const tm time_bday = __gnu_test::test_tm(0, 0, 12, 4, 3, 71, 0, 93, 0);
> +  const tm time_bday = __gnu_test::test_tm(1, 2, 0+pm, 4, 3, 71, 0, 93, 0);
> 
>   // create an ostream-derived object, cache the time_get facet
>   iterator_type end;
>   wistringstream iss;
> -  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc()); 
> +  const time_get<wchar_t>& tim_get = use_facet<time_get<wchar_t> >(iss.getloc());
>   const ios_base::iostate good = ios_base::goodbit;
>   ios_base::iostate errorstate = good;
> 
>   // inspection of named locales, en_HK
>   iss.imbue(loc_hk);
> -  iss.str(L"12:00:00 PM PST"); 
> +  if (pm)
> +    iss.str(L"12:02:01 PM PST");
> +  else
> +    iss.str(L"12:02:01 PST"); // %I means 12-hour clock, so parsed as 12am
>   // Hong Kong in California! Well, they have Paris in Vegas... this
>   // is all a little disney-esque anyway. Besides, you can get decent
>   // Dim Sum in San Francisco.
> @@ -62,6 +68,27 @@ void test02()
>   VERIFY( errorstate == ios_base::eofbit );
> }
> 
> +#include <locale.h>
> +#if __has_include(<langinfo.h>)
> +# include <langinfo.h>
> +#endif
> +#include <string.h>
> +
> +static bool ampm_time_format()
> +{
> +#ifdef T_FMT
> +  std::string orig = setlocale(LC_TIME, NULL);
> +  if (setlocale(LC_TIME, ISO_8859(1,en_HK)) != NULL)
> +  {
> +    // See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103687
> +    std::string t_fmt = nl_langinfo(T_FMT);
> +    setlocale(LC_TIME, orig.c_str());
> +    return t_fmt.find("%p") != std::string::npos;
> +  }
> +#endif
> +  return false;
> +}
> +
> int main()
> {
>   test02();
> </cut>



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-12-21 14:19 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-20 12:38 [TCWG CI] Regression caused by gcc: libstdc++: Support old and new T_FMT for en_HK locale [PR103687] ci_notify
2021-12-21 14:19 ` Maxim Kuvyrkov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).