public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
* [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects
@ 2021-12-19 12:45 ci_notify
  2021-12-21 14:21 ` Maxim Kuvyrkov
  0 siblings, 1 reply; 3+ messages in thread
From: ci_notify @ 2021-12-19 12:45 UTC (permalink / raw)
  To: Frederic Konrad; +Cc: gcc-regression

[TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects:
commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
Author: Frederic Konrad <konrad@adacore.com>

    VxWorks config fixes for shared objects

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 -- -Os_LTO_mthumb artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/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 -- -Os_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-Os_LTO

First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/
Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0ecb48d753005405f84876ed3032c4cda789e072/
Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_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-Os_LTO/15/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185
cd investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185

# 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-Os_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-Os_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-Os_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 0515c95d5fe0a865f688f3ab89572b917e8f0185
../artifacts/test.sh

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

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
Author: Frederic Konrad <konrad@adacore.com>
Date:   Fri Nov 6 19:42:27 2020 +0100

    VxWorks config fixes for shared objects
    
    This strengthens the VxWorks configuration files for the support
    of shared objects, which encompasses a VxWorks specific "non-static"
    mode for RTPs (in addition to -static and -shared).
    
    2020-11-06  Fred Konrad  <konrad@adacore.com>
                Olivier Hainque  <hainque@adacore.com>
    
    gcc/
            * config/vx-common.h: Define REAL_LIBGCC_SPEC since the
            '-non-static' option is not standard.
            * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Implement the LIBGCC_SPEC
            since REAL_LIBGCC_SPEC is used now.
            (STARTFILE_PREFIX_SPEC): Use the PIC VSB when building shared libraries
            or non-static binaries.
---
 gcc/config/vx-common.h |  7 +++++--
 gcc/config/vxworks.h   | 19 ++++++++++++++++++-
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
index a436bf14074..efa5d5f6a60 100644
--- a/gcc/config/vx-common.h
+++ b/gcc/config/vx-common.h
@@ -23,8 +23,11 @@ along with GCC; see the file COPYING3.  If not see
 /* Most of these will probably be overridden by subsequent headers.  We
    undefine them here just in case, and define VXWORKS_ versions of each,
    to be used in port-specific vxworks.h.  */
-#undef LIBGCC_SPEC
-#define LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
+
+/* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
+   handled in gcc.c.  */
+#undef REAL_LIBGCC_SPEC
+#define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
 #undef STARTFILE_SPEC
 #undef ENDFILE_SPEC
 
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index f76141ffdca..96076e3c272 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -143,11 +143,21 @@ along with GCC; see the file COPYING3.  If not see
    tlsLib, responsible for TLS support by the OS.  */
 
 #if TARGET_VXWORKS7
+
+/* For static links, /usr/lib/common has everything. For dynamic links,
+   /usr/lib/common/PIC has the static libs and objects that might be needed
+   in the closure (e.g. crt0.o), while the shared version of standard deps
+   (e.g. libc.so) are still in /usr/lib/common.  */
 #undef  STARTFILE_PREFIX_SPEC
-#define STARTFILE_PREFIX_SPEC "/usr/lib/common"
+#define STARTFILE_PREFIX_SPEC \
+  "%{shared|non-static:/usr/lib/common/PIC} /usr/lib/common"
+
 #define TLS_SYM "-u __tls__"
+
 #else
+
 #define TLS_SYM ""
+
 #endif
 
 #undef VXWORKS_LIB_SPEC
@@ -177,7 +187,14 @@ along with GCC; see the file COPYING3.  If not see
  		  %{non-static:--force-dynamic --export-dynamic}}}"
 
 #undef VXWORKS_LIBGCC_SPEC
+#if defined(ENABLE_SHARED_LIBGCC)
+#define VXWORKS_LIBGCC_SPEC                                             \
+"%{!mrtp:-lgcc -lgcc_eh}                                                \
+ %{mrtp:%{!static-libgcc:%{shared|non-static:-lgcc_s;:-lgcc -lgcc_eh}}  \
+         %{static-libgcc:-lgcc -lgcc_eh}}"
+#else
 #define VXWORKS_LIBGCC_SPEC "-lgcc"
+#endif
 
 /* Setup the crtstuff begin/end we might need for dwarf EH registration.  */
 
</cut>
>From ci_notify@linaro.org  Sun Dec 19 13:35:53 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-wr1-x432.google.com (mail-wr1-x432.google.com
 [IPv6:2a00:1450:4864:20::432])
 by sourceware.org (Postfix) with ESMTPS id 48FDE3858C60
 for <gcc-regression@gcc.gnu.org>; Sun, 19 Dec 2021 13:35:51 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 48FDE3858C60
Received: by mail-wr1-x432.google.com with SMTP id t26so14439043wrb.4
 for <gcc-regression@gcc.gnu.org>; Sun, 19 Dec 2021 05:35:51 -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=je8zKOIgcMazLTot/uismcfeMd5Let5rsXmpMEEmTQI=;
 b=OhXFfaNy1A/wQ2+pu7RV2+cv171LDd+1W+WdnIGBksz3OQq12jZ2CWPCDHu6w+BxZF
 DRNbkI/TWCexMnsm7pDlnqXOoyNPzQssYJjXEkAJRr9oGfEfksDlYec/aa/wOZQNvbM/
 cGE9aeib/EeN2ETvJCOYUW+ncgK8bG3fkcVjnCUJH4HVRRK1VQVI+glyNjUKd/406ln5
 1vZrgSEWu3qUXl9hZcFiEzl5Nh2lx9GG1DYn9IbPappuabenXOPJPQQki9WkRsrWqo7a
 PE3g+7K4AZ2ef++/2Dq/LDIZ8C+qkYbfvAHDb3P2jZ44x+JTuTs03VQjgKNXlZfPfo79
 I/+Q==
X-Gm-Message-State: AOAM53095QHSOMGjXGQ0AUdbNjJwuEfYyZE+FOwLVqLo7sLrv8dUkX6Q
 cREzGpRZ6KMKGyVOMaazACOCkw==
X-Google-Smtp-Source: ABdhPJwuepDpk6vuoA161miVARzACr6n8OxH6S9WzlZg+//b04QFgvF+0HJOpXKi9eZB2AnUrRGqGw==
X-Received: by 2002:adf:df09:: with SMTP id y9mr9330943wrl.594.1639920950198; 
 Sun, 19 Dec 2021 05:35:50 -0800 (PST)
Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175])
 by smtp.gmail.com with ESMTPSA id t11sm12502431wrz.97.2021.12.19.05.35.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 19 Dec 2021 05:35:49 -0800 (PST)
From: ci_notify@linaro.org
X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org
Date: Sun, 19 Dec 2021 13:35:48 +0000 (UTC)
To: Takashi Yano <takashi.yano@nifty.ne.jp>
Cc: gcc-regression@gcc.gnu.org
Message-ID: <1469739579.6057.1639920949795@jenkins.jenkins>
Subject: [TCWG CI] Regression caused by newlib: Cygwin: pty: Fix input
 switching failure.
MIME-Version: 1.0
X-Jenkins-Job: TCWG Bisect
 tcwg_bmk_stm32/gnu_eabi-master-arm_eabi-coremark-O2_LTO
X-Jenkins-Result: SUCCESS
X-Spam-Status: No, score=-13.6 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: Sun, 19 Dec 2021 13:35:53 -0000

[TCWG CI] Regression caused by newlib: Cygwin: pty: Fix input switching failure.:
commit 80f4b7d5456ea17d64998805fb3d64db091201fc
Author: Takashi Yano <takashi.yano@nifty.ne.jp>

    Cygwin: pty: Fix input switching failure.

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-80f4b7d5456ea17d64998805fb3d64db091201fc/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/14/artifact/artifacts/build-80f4b7d5456ea17d64998805fb3d64db091201fc/
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/14/artifact/artifacts/build-0795f704f750e4b441aa256b1b849e4ebe3af684/
Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-O2_LTO/14/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/14/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-newlib-80f4b7d5456ea17d64998805fb3d64db091201fc
cd investigate-newlib-80f4b7d5456ea17d64998805fb3d64db091201fc

# 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/14/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/14/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/14/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 /newlib/ ./ ./bisect/baseline/

cd newlib

# Reproduce first_bad build
git checkout --detach 80f4b7d5456ea17d64998805fb3d64db091201fc
../artifacts/test.sh

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

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit 80f4b7d5456ea17d64998805fb3d64db091201fc
Author: Takashi Yano <takashi.yano@nifty.ne.jp>
Date:   Wed Dec 15 12:25:58 2021 +0900

    Cygwin: pty: Fix input switching failure.
    
    - This patch fixes the failure of input switching between io_handle
      and io_handle_nat. This very rarely happens, however, input is
      wrongly switched to io_handle_nat even though the non-cygwin app
      is in the background.
---
 winsup/cygwin/fhandler_tty.cc | 3 +++
 winsup/cygwin/tty.cc          | 3 ++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index ee687d9adf..c8ad53cb78 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1056,6 +1056,7 @@ fhandler_pty_slave::set_switch_to_pcon (void)
       isHybrid = true;
       setup_locale ();
       myself->exec_dwProcessId = myself->dwProcessId;
+      myself->process_state |= PID_NEW_PG; /* Marker for pcon_fg */
       bool nopcon = (disable_pcon || !term_has_pcon_cap (NULL));
       WaitForSingleObject (pcon_mutex, INFINITE);
       bool pcon_enabled = setup_pseudoconsole (nopcon);
@@ -1168,6 +1169,7 @@ fhandler_pty_slave::reset_switch_to_pcon (void)
 		    }
 		}
 	      myself->exec_dwProcessId = 0;
+	      myself->process_state &= ~PID_NEW_PG;
 	      isHybrid = false;
 	    }
 	}
@@ -2272,6 +2274,7 @@ fhandler_pty_master::write (const void *ptr, size_t len)
 	      _pinfo *p = pids[i];
 	      if (p->ctty == get_ttyp ()->ntty
 		  && p->pgid == get_ttyp ()->getpgid ()
+		  && (p->process_state & PID_NOTCYGWIN)
 		  && (p->process_state & PID_NEW_PG))
 		{
 		  wpid = p->dwProcessId;
diff --git a/winsup/cygwin/tty.cc b/winsup/cygwin/tty.cc
index 2566f4c457..11ad3ec51f 100644
--- a/winsup/cygwin/tty.cc
+++ b/winsup/cygwin/tty.cc
@@ -392,7 +392,8 @@ tty::pcon_fg (pid_t pgid)
   for (unsigned i = 0; i < pids.npids; i++)
     {
       _pinfo *p = pids[i];
-      if (p->ctty == ntty && p->pgid == pgid && p->exec_dwProcessId)
+      if (p->ctty == ntty && p->pgid == pgid
+	  && (p->process_state & (PID_NOTCYGWIN | PID_NEW_PG)))
 	return true;
     }
   if (pgid > MAX_PID)
</cut>
>From ci_notify@linaro.org  Sun Dec 19 15:36:28 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-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [IPv6:2a00:1450:4864:20::42c])
 by sourceware.org (Postfix) with ESMTPS id CCAC03858C60
 for <gcc-regression@gcc.gnu.org>; Sun, 19 Dec 2021 15:36:25 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org CCAC03858C60
Received: by mail-wr1-x42c.google.com with SMTP id s1so14961038wrg.1
 for <gcc-regression@gcc.gnu.org>; Sun, 19 Dec 2021 07:36:25 -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=o9MPefyNbEvhATj8d4gtb/0nbNqx2yHf7zXPDxn3/tk=;
 b=VndjzzJpyBzzhlLZPlu+uHvcvScDcrKHdNr85R449s/l3nSHxHDBRh9e5v0pIK3JxS
 ID+7JaST5dBrFgz2stzGizGThEwOleYfUfcUO+pTXgzVV2DdKACSK9VGoCTkQkAty6WL
 zkHh66vVBZsfdKmdtw6mCVvJVMBrtlwuW7AmP4/bEnFhM7+vp+8R5w8dGKPFHAX3FUT1
 MFtAW4wNdf/KJTE9cDyQaMEfwfxgWEsf69XuwWcdRsLa611FG1x1TZtl0EPYE7sUIKtV
 CVmX79CJgeaJB9pwCJsecbCL0YcVI93xHs4mERkm1p44kqpmiLZ6i/N8tVtxn1etqqXk
 gdWg==
X-Gm-Message-State: AOAM531KJuJueaqtXU9YLaE7BHKbZmYsZrRJ7ZHofwAKigHWL4D8/K5U
 8gIg9kwt+yrU3cQbeFgnvpuGHQ==
X-Google-Smtp-Source: ABdhPJw54GSxJsafQP6FtcYevF8wAyMqjmU0wTFOoERTvk5zu3FLfuUeoIFbbCFL8faeZEdqlVj7NA==
X-Received: by 2002:a5d:64cc:: with SMTP id f12mr9725203wri.679.1639928184733; 
 Sun, 19 Dec 2021 07:36:24 -0800 (PST)
Received: from jenkins.jenkins (ci.linaro.org. [88.99.136.175])
 by smtp.gmail.com with ESMTPSA id g18sm18458427wmq.4.2021.12.19.07.36.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 19 Dec 2021 07:36:24 -0800 (PST)
From: ci_notify@linaro.org
X-Google-Original-From: linaro-infrastructure-errors@lists.linaro.org
Date: Sun, 19 Dec 2021 15:36:23 +0000 (UTC)
To: Harald Anlauf <anlauf@gmx.de>
Cc: gcc-regression@gcc.gnu.org
Message-ID: <1207918258.6080.1639928184262@jenkins.jenkins>
Subject: [TCWG CI] Regression caused by gcc: Fortran: fix checking of
 elemental functions of type CLASS
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.6 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: Sun, 19 Dec 2021 15:36:28 -0000

[TCWG CI] Regression caused by gcc: Fortran: fix checking of elemental functions of type CLASS:
commit ce80f2c0e7a86e555201e9e61a26306adff4a074
Author: Harald Anlauf <anlauf@gmx.de>

    Fortran: fix checking of elemental functions of type CLASS

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-ce80f2c0e7a86e555201e9e61a26306adff4a074/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/1/artifact/artifacts/build-ce80f2c0e7a86e555201e9e61a26306adff4a074/
Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/artifact/artifacts/build-a316bd50f82d04613fa224de7883260c6720896d/
Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-release-arm_eabi-coremark-O3/1/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/1/artifact/artifacts/

Reproduce builds:
<cut>
mkdir investigate-gcc-ce80f2c0e7a86e555201e9e61a26306adff4a074
cd investigate-gcc-ce80f2c0e7a86e555201e9e61a26306adff4a074

# 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/1/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/1/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/1/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 ce80f2c0e7a86e555201e9e61a26306adff4a074
../artifacts/test.sh

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

cd ..
</cut>

Full commit (up to 1000 lines):
<cut>
commit ce80f2c0e7a86e555201e9e61a26306adff4a074
Author: Harald Anlauf <anlauf@gmx.de>
Date:   Fri Dec 10 22:41:24 2021 +0100

    Fortran: fix checking of elemental functions of type CLASS
    
    gcc/fortran/ChangeLog:
    
            PR fortran/103606
            * resolve.c (resolve_fl_procedure): Do not access CLASS components
            before class container has been built.
    
    gcc/testsuite/ChangeLog:
    
            PR fortran/103606
            * gfortran.dg/pr103606.f90: New test.
    
    (cherry picked from commit 7e913caad081ea85da4f257265f2d3383cdbe8d5)
---
 gcc/fortran/resolve.c                  |  3 ++-
 gcc/testsuite/gfortran.dg/pr103606.f90 | 12 ++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index bf7902742e2..1367d58a963 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -13237,7 +13237,8 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
 
   /* An elemental function is required to return a scalar 12.7.1  */
   if (sym->attr.elemental && sym->attr.function
-      && (sym->as || (sym->ts.type == BT_CLASS && CLASS_DATA (sym)->as)))
+      && (sym->as || (sym->ts.type == BT_CLASS && sym->attr.class_ok
+		      && CLASS_DATA (sym)->as)))
     {
       gfc_error ("ELEMENTAL function %qs at %L must have a scalar "
 		 "result", sym->name, &sym->declared_at);
diff --git a/gcc/testsuite/gfortran.dg/pr103606.f90 b/gcc/testsuite/gfortran.dg/pr103606.f90
new file mode 100644
index 00000000000..43283184e89
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr103606.f90
@@ -0,0 +1,12 @@
+! { dg-do compile }
+! PR fortran/103606 -  ICE in resolve_fl_procedure
+! Contributed by G.Steinmetz
+
+program p
+  type t
+  end type
+contains
+  elemental function f() result(z) ! { dg-error "CLASS variable" }
+    class(t) :: z
+  end
+end
</cut>
>From hjl@sc.intel.com  Sun Dec 19 16:40:59 2021
Return-Path: <hjl@sc.intel.com>
X-Original-To: gcc-regression@gcc.gnu.org
Delivered-To: gcc-regression@gcc.gnu.org
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126])
 by sourceware.org (Postfix) with ESMTPS id D5D773858400
 for <gcc-regression@gcc.gnu.org>; Sun, 19 Dec 2021 16:40:57 +0000 (GMT)
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org D5D773858400
X-IronPort-AV: E=McAfee;i="6200,9189,10203"; a="226894528"
X-IronPort-AV: E=Sophos;i="5.88,218,1635231600"; d="scan'208";a="226894528"
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 19 Dec 2021 08:40:56 -0800
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.88,218,1635231600"; d="scan'208";a="616129161"
Received: from scymds01.sc.intel.com ([10.148.94.138])
 by orsmga004.jf.intel.com with ESMTP; 19 Dec 2021 08:40:56 -0800
Received: from gnu-clx-1.sc.intel.com (gnu-clx-1.sc.intel.com [172.25.70.216])
 by scymds01.sc.intel.com with ESMTP id 1BJGeulC019831;
 Sun, 19 Dec 2021 08:40:56 -0800
Received: by gnu-clx-1.sc.intel.com (Postfix, from userid 1000)
 id 2E96D3E001E; Sun, 19 Dec 2021 08:40:56 -0800 (PST)
Date: Sun, 19 Dec 2021 08:40:56 -0800
To: skpgkp2@gmail.com, hjl.tools@gmail.com, gcc-regression@gcc.gnu.org
Subject: Regressions on native/master at commit r12-6062 vs commit
 r12-6059 on Linux/x86_64
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: <20211219164056.2E96D3E001E@gnu-clx-1.sc.intel.com>
From: "H. J. Lu" <hjl@sc.intel.com>
X-Spam-Status: No, score=-3468.1 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
 KAM_LAZY_DOMAIN_SECURITY, KAM_NUMSUBJECT, 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: Sun, 19 Dec 2021 16:40:59 -0000

New failures:
FAIL: gcc.dg/uninit-pr89230-1.c  (test for bogus messages, line 21)
FAIL: gcc.dg/uninit-pr89230-1.c  (test for bogus messages, line 21)
FAIL: gcc.dg/uninit-pr89230-1.c  (test for bogus messages, line 21)

New passes:


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

* Re: [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects
  2021-12-19 12:45 [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects ci_notify
@ 2021-12-21 14:21 ` Maxim Kuvyrkov
  2021-12-21 14:52   ` Frédéric Konrad
  0 siblings, 1 reply; 3+ messages in thread
From: Maxim Kuvyrkov @ 2021-12-21 14:21 UTC (permalink / raw)
  To: Frederic Konrad; +Cc: gcc-regression

Hi Frederic,

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

Regards,

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

> On 19 Dec 2021, at 15:45, ci_notify@linaro.org wrote:
> 
> [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects:
> commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
> Author: Frederic Konrad <konrad@adacore.com>
> 
>    VxWorks config fixes for shared objects
> 
> 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 -- -Os_LTO_mthumb artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/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 -- -Os_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-Os_LTO
> 
> First_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/
> Last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0ecb48d753005405f84876ed3032c4cda789e072/
> Baseline build: https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_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-Os_LTO/15/artifact/artifacts/
> 
> Reproduce builds:
> <cut>
> mkdir investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185
> cd investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185
> 
> # 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-Os_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-Os_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-Os_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 0515c95d5fe0a865f688f3ab89572b917e8f0185
> ../artifacts/test.sh
> 
> # Reproduce last_good build
> git checkout --detach 0ecb48d753005405f84876ed3032c4cda789e072
> ../artifacts/test.sh
> 
> cd ..
> </cut>
> 
> Full commit (up to 1000 lines):
> <cut>
> commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
> Author: Frederic Konrad <konrad@adacore.com>
> Date:   Fri Nov 6 19:42:27 2020 +0100
> 
>    VxWorks config fixes for shared objects
> 
>    This strengthens the VxWorks configuration files for the support
>    of shared objects, which encompasses a VxWorks specific "non-static"
>    mode for RTPs (in addition to -static and -shared).
> 
>    2020-11-06  Fred Konrad  <konrad@adacore.com>
>                Olivier Hainque  <hainque@adacore.com>
> 
>    gcc/
>            * config/vx-common.h: Define REAL_LIBGCC_SPEC since the
>            '-non-static' option is not standard.
>            * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Implement the LIBGCC_SPEC
>            since REAL_LIBGCC_SPEC is used now.
>            (STARTFILE_PREFIX_SPEC): Use the PIC VSB when building shared libraries
>            or non-static binaries.
> ---
> gcc/config/vx-common.h |  7 +++++--
> gcc/config/vxworks.h   | 19 ++++++++++++++++++-
> 2 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
> index a436bf14074..efa5d5f6a60 100644
> --- a/gcc/config/vx-common.h
> +++ b/gcc/config/vx-common.h
> @@ -23,8 +23,11 @@ along with GCC; see the file COPYING3.  If not see
> /* Most of these will probably be overridden by subsequent headers.  We
>    undefine them here just in case, and define VXWORKS_ versions of each,
>    to be used in port-specific vxworks.h.  */
> -#undef LIBGCC_SPEC
> -#define LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
> +
> +/* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
> +   handled in gcc.c.  */
> +#undef REAL_LIBGCC_SPEC
> +#define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
> #undef STARTFILE_SPEC
> #undef ENDFILE_SPEC
> 
> diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
> index f76141ffdca..96076e3c272 100644
> --- a/gcc/config/vxworks.h
> +++ b/gcc/config/vxworks.h
> @@ -143,11 +143,21 @@ along with GCC; see the file COPYING3.  If not see
>    tlsLib, responsible for TLS support by the OS.  */
> 
> #if TARGET_VXWORKS7
> +
> +/* For static links, /usr/lib/common has everything. For dynamic links,
> +   /usr/lib/common/PIC has the static libs and objects that might be needed
> +   in the closure (e.g. crt0.o), while the shared version of standard deps
> +   (e.g. libc.so) are still in /usr/lib/common.  */
> #undef  STARTFILE_PREFIX_SPEC
> -#define STARTFILE_PREFIX_SPEC "/usr/lib/common"
> +#define STARTFILE_PREFIX_SPEC \
> +  "%{shared|non-static:/usr/lib/common/PIC} /usr/lib/common"
> +
> #define TLS_SYM "-u __tls__"
> +
> #else
> +
> #define TLS_SYM ""
> +
> #endif
> 
> #undef VXWORKS_LIB_SPEC
> @@ -177,7 +187,14 @@ along with GCC; see the file COPYING3.  If not see
>  		  %{non-static:--force-dynamic --export-dynamic}}}"
> 
> #undef VXWORKS_LIBGCC_SPEC
> +#if defined(ENABLE_SHARED_LIBGCC)
> +#define VXWORKS_LIBGCC_SPEC                                             \
> +"%{!mrtp:-lgcc -lgcc_eh}                                                \
> + %{mrtp:%{!static-libgcc:%{shared|non-static:-lgcc_s;:-lgcc -lgcc_eh}}  \
> +         %{static-libgcc:-lgcc -lgcc_eh}}"
> +#else
> #define VXWORKS_LIBGCC_SPEC "-lgcc"
> +#endif
> 
> /* Setup the crtstuff begin/end we might need for dwarf EH registration.  */
> 
> </cut>



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

* Re: [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects
  2021-12-21 14:21 ` Maxim Kuvyrkov
@ 2021-12-21 14:52   ` Frédéric Konrad
  0 siblings, 0 replies; 3+ messages in thread
From: Frédéric Konrad @ 2021-12-21 14:52 UTC (permalink / raw)
  To: Maxim Kuvyrkov; +Cc: gcc-regression, Olivier Hainque

Hi Maxim,

No problem, thanks for the heads up.

Best Regards,
Fred

On Tue, Dec 21, 2021 at 3:22 PM Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
wrote:

> Hi Frederic,
>
> This was sent out due to a bug in our CI.  Sorry for the noise.
>
> Regards,
>
> --
> Maxim Kuvyrkov
> https://www.linaro.org
>
> > On 19 Dec 2021, at 15:45, ci_notify@linaro.org wrote:
> >
> > [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared
> objects:
> > commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
> > Author: Frederic Konrad <konrad@adacore.com>
> >
> >    VxWorks config fixes for shared objects
> >
> > 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 -- -Os_LTO_mthumb
> artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/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 -- -Os_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-Os_LTO
> >
> > First_bad build:
> https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/
> > Last_good build:
> https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0ecb48d753005405f84876ed3032c4cda789e072/
> > Baseline build:
> https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_eabi-master-arm_eabi-coremark-Os_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-Os_LTO/15/artifact/artifacts/
> >
> > Reproduce builds:
> > <cut>
> > mkdir investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185
> > cd investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185
> >
> > # 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-Os_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-Os_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-Os_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 0515c95d5fe0a865f688f3ab89572b917e8f0185
> > ../artifacts/test.sh
> >
> > # Reproduce last_good build
> > git checkout --detach 0ecb48d753005405f84876ed3032c4cda789e072
> > ../artifacts/test.sh
> >
> > cd ..
> > </cut>
> >
> > Full commit (up to 1000 lines):
> > <cut>
> > commit 0515c95d5fe0a865f688f3ab89572b917e8f0185
> > Author: Frederic Konrad <konrad@adacore.com>
> > Date:   Fri Nov 6 19:42:27 2020 +0100
> >
> >    VxWorks config fixes for shared objects
> >
> >    This strengthens the VxWorks configuration files for the support
> >    of shared objects, which encompasses a VxWorks specific "non-static"
> >    mode for RTPs (in addition to -static and -shared).
> >
> >    2020-11-06  Fred Konrad  <konrad@adacore.com>
> >                Olivier Hainque  <hainque@adacore.com>
> >
> >    gcc/
> >            * config/vx-common.h: Define REAL_LIBGCC_SPEC since the
> >            '-non-static' option is not standard.
> >            * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Implement the
> LIBGCC_SPEC
> >            since REAL_LIBGCC_SPEC is used now.
> >            (STARTFILE_PREFIX_SPEC): Use the PIC VSB when building shared
> libraries
> >            or non-static binaries.
> > ---
> > gcc/config/vx-common.h |  7 +++++--
> > gcc/config/vxworks.h   | 19 ++++++++++++++++++-
> > 2 files changed, 23 insertions(+), 3 deletions(-)
> >
> > diff --git a/gcc/config/vx-common.h b/gcc/config/vx-common.h
> > index a436bf14074..efa5d5f6a60 100644
> > --- a/gcc/config/vx-common.h
> > +++ b/gcc/config/vx-common.h
> > @@ -23,8 +23,11 @@ along with GCC; see the file COPYING3.  If not see
> > /* Most of these will probably be overridden by subsequent headers.  We
> >    undefine them here just in case, and define VXWORKS_ versions of each,
> >    to be used in port-specific vxworks.h.  */
> > -#undef LIBGCC_SPEC
> > -#define LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
> > +
> > +/* REAL_LIBGCC_SPEC needs to be used since the non-static option is not
> > +   handled in gcc.c.  */
> > +#undef REAL_LIBGCC_SPEC
> > +#define REAL_LIBGCC_SPEC VXWORKS_LIBGCC_SPEC
> > #undef STARTFILE_SPEC
> > #undef ENDFILE_SPEC
> >
> > diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
> > index f76141ffdca..96076e3c272 100644
> > --- a/gcc/config/vxworks.h
> > +++ b/gcc/config/vxworks.h
> > @@ -143,11 +143,21 @@ along with GCC; see the file COPYING3.  If not see
> >    tlsLib, responsible for TLS support by the OS.  */
> >
> > #if TARGET_VXWORKS7
> > +
> > +/* For static links, /usr/lib/common has everything. For dynamic links,
> > +   /usr/lib/common/PIC has the static libs and objects that might be
> needed
> > +   in the closure (e.g. crt0.o), while the shared version of standard
> deps
> > +   (e.g. libc.so) are still in /usr/lib/common.  */
> > #undef  STARTFILE_PREFIX_SPEC
> > -#define STARTFILE_PREFIX_SPEC "/usr/lib/common"
> > +#define STARTFILE_PREFIX_SPEC \
> > +  "%{shared|non-static:/usr/lib/common/PIC} /usr/lib/common"
> > +
> > #define TLS_SYM "-u __tls__"
> > +
> > #else
> > +
> > #define TLS_SYM ""
> > +
> > #endif
> >
> > #undef VXWORKS_LIB_SPEC
> > @@ -177,7 +187,14 @@ along with GCC; see the file COPYING3.  If not see
> >                 %{non-static:--force-dynamic --export-dynamic}}}"
> >
> > #undef VXWORKS_LIBGCC_SPEC
> > +#if defined(ENABLE_SHARED_LIBGCC)
> > +#define VXWORKS_LIBGCC_SPEC
>  \
> > +"%{!mrtp:-lgcc -lgcc_eh}
> \
> > + %{mrtp:%{!static-libgcc:%{shared|non-static:-lgcc_s;:-lgcc -lgcc_eh}}
> \
> > +         %{static-libgcc:-lgcc -lgcc_eh}}"
> > +#else
> > #define VXWORKS_LIBGCC_SPEC "-lgcc"
> > +#endif
> >
> > /* Setup the crtstuff begin/end we might need for dwarf EH
> registration.  */
> >
> > </cut>
>
>


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

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

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-19 12:45 [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects ci_notify
2021-12-21 14:21 ` Maxim Kuvyrkov
2021-12-21 14:52   ` Frédéric Konrad

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).