From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) by sourceware.org (Postfix) with ESMTPS id E93663858C2C for ; Tue, 21 Dec 2021 14:22:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E93663858C2C Received: by mail-lj1-x234.google.com with SMTP id 207so21633048ljf.10 for ; Tue, 21 Dec 2021 06:22:01 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=sBaZ7EPGhBgxZrYcj1XH0x75QhCMMAbLLS1aCyjlX0I=; b=a4Rk8izSPJhAuPCYV1cMPS8KIFoQ+rz6CPyZgM22G46k/l7KrXgbYdfJUwHlEciY57 HTS1SZ/cT4KnVNdfRlNw9jRNav/NZApPJGFUCyQiTkevFvL/9Mrh+F7+MlU5fggzWK7P Mm2vZXt8argJw2f+0sIViDZhEwYyRSph5hN4vL8xk6Vxt/UDwC5LX/4b5erEC9sKAzEs +5E/ggeHgjepP6tgasJYadZ0Gh3BzjxULrqXvT0IjZqSJoAbZde8vwfeqmKLu8e3ZN/K fAnRmXQLDH5uXY3OzUbo9W6K2rt8Y7nuW3rnwiBtRKNScOI+U50xF9iMYfQGJAxXTCjF Inhg== X-Gm-Message-State: AOAM533EYXsxfhVrcVadWOwIbiMmC8jJEn1yboXPA1UDUm1IDLSafa57 NBCqsodWF5v22ju1EYjiMrMxNV36AFM7 X-Google-Smtp-Source: ABdhPJwuIN9ctwGlOzDke+jnpzkC8R6lBstqsf045Wdrhzb7KfWBq+N2T4x/+0u+NN0CgS2fKeHVsA== X-Received: by 2002:a2e:6e0d:: with SMTP id j13mr2639326ljc.124.1640096520766; Tue, 21 Dec 2021 06:22:00 -0800 (PST) Received: from [192.168.0.135] ([185.30.228.158]) by smtp.gmail.com with ESMTPSA id e17sm2725261lfr.296.2021.12.21.06.21.59 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Dec 2021 06:22:00 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\)) Subject: Re: [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects From: Maxim Kuvyrkov In-Reply-To: <643003510.6048.1639917916322@jenkins.jenkins> Date: Tue, 21 Dec 2021 17:21:59 +0300 Cc: gcc-regression@gcc.gnu.org Content-Transfer-Encoding: quoted-printable Message-Id: <17E8F365-0D49-44A0-B680-C289161E6DDB@linaro.org> References: <643003510.6048.1639917916322@jenkins.jenkins> To: Frederic Konrad X-Mailer: Apple Mail (2.3608.120.23.2.7) X-Spam-Status: No, score=-11.5 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 X-BeenThere: gcc-regression@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-regression mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Dec 2021 14:22:03 -0000 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: >=20 > [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared = objects: > commit 0515c95d5fe0a865f688f3ab89572b917e8f0185 > Author: Frederic Konrad >=20 > VxWorks config fixes for shared objects >=20 > Results regressed to > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1 -- --set = gcc_override_configure=3D--disable-libsanitizer --set = gcc_override_configure=3D--disable-multilib --set = gcc_override_configure=3D--with-cpu=3Dcortex-m4 --set = gcc_override_configure=3D--with-mode=3Dthumb --set = gcc_override_configure=3D--with-float=3Dhard: > -8 > # build_abe newlib: > -6 > # build_abe stage2 -- --set = gcc_override_configure=3D--disable-libsanitizer --set = gcc_override_configure=3D--disable-multilib --set = gcc_override_configure=3D--with-cpu=3Dcortex-m4 --set = gcc_override_configure=3D--with-mode=3Dthumb --set = gcc_override_configure=3D--with-float=3Dhard: > -5 > # benchmark -- -Os_LTO_mthumb = artifacts/build-0515c95d5fe0a865f688f3ab89572b917e8f0185/results_id: > 1 >=20 > from > # reset_artifacts: > -10 > # build_abe binutils: > -9 > # build_abe stage1 -- --set = gcc_override_configure=3D--disable-libsanitizer --set = gcc_override_configure=3D--disable-multilib --set = gcc_override_configure=3D--with-cpu=3Dcortex-m4 --set = gcc_override_configure=3D--with-mode=3Dthumb --set = gcc_override_configure=3D--with-float=3Dhard: > -8 > # build_abe newlib: > -6 > # build_abe stage2 -- --set = gcc_override_configure=3D--disable-libsanitizer --set = gcc_override_configure=3D--disable-multilib --set = gcc_override_configure=3D--with-cpu=3Dcortex-m4 --set = gcc_override_configure=3D--with-mode=3Dthumb --set = gcc_override_configure=3D--with-float=3Dhard: > -5 > # benchmark -- -Os_LTO_mthumb artifacts/build-baseline/results_id: > 1 >=20 > THIS IS THE END OF INTERESTING STUFF. BELOW ARE LINKS TO BUILDS, = REPRODUCTION INSTRUCTIONS, AND THE RAW COMMIT. >=20 > This commit has regressed these CI configurations: > - tcwg_bmk_gnu_eabi_stm32/gnu_eabi-master-arm_eabi-coremark-Os_LTO >=20 > First_bad build: = https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_e= abi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0515c95d5f= e0a865f688f3ab89572b917e8f0185/ > Last_good build: = https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_e= abi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/build-0ecb48d753= 005405f84876ed3032c4cda789e072/ > Baseline build: = https://ci.linaro.org/job/tcwg_bmk_ci_gnu_eabi-bisect-tcwg_bmk_stm32-gnu_e= abi-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_e= abi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/ >=20 > Reproduce builds: > > mkdir investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185 > cd investigate-gcc-0515c95d5fe0a865f688f3ab89572b917e8f0185 >=20 > # Fetch scripts > git clone https://git.linaro.org/toolchain/jenkins-scripts >=20 > # 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_e= abi-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_e= abi-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_e= abi-master-arm_eabi-coremark-Os_LTO/15/artifact/artifacts/test.sh --fail > chmod +x artifacts/test.sh >=20 > # Reproduce the baseline build (build all pre-requisites) > ./jenkins-scripts/tcwg_bmk-build.sh @@ = artifacts/manifests/build-baseline.sh >=20 > # 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/ >=20 > cd gcc >=20 > # Reproduce first_bad build > git checkout --detach 0515c95d5fe0a865f688f3ab89572b917e8f0185 > ../artifacts/test.sh >=20 > # Reproduce last_good build > git checkout --detach 0ecb48d753005405f84876ed3032c4cda789e072 > ../artifacts/test.sh >=20 > cd .. > >=20 > Full commit (up to 1000 lines): > > commit 0515c95d5fe0a865f688f3ab89572b917e8f0185 > Author: Frederic Konrad > Date: Fri Nov 6 19:42:27 2020 +0100 >=20 > VxWorks config fixes for shared objects >=20 > 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). >=20 > 2020-11-06 Fred Konrad > Olivier Hainque >=20 > 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(-) >=20 > 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 >=20 > 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. */ >=20 > #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 >=20 > #undef VXWORKS_LIB_SPEC > @@ -177,7 +187,14 @@ along with GCC; see the file COPYING3. If not = see > %{non-static:--force-dynamic --export-dynamic}}}" >=20 > #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 >=20 > /* Setup the crtstuff begin/end we might need for dwarf EH = registration. */ >=20 >