From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) by sourceware.org (Postfix) with ESMTPS id 1498E3858421 for ; Tue, 21 Dec 2021 14:52:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1498E3858421 Received: by mail-wm1-x329.google.com with SMTP id g191-20020a1c9dc8000000b0032fbf912885so2245008wme.4 for ; Tue, 21 Dec 2021 06:52:23 -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:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ROEeneVmbRnbz6lnq5iWrsCaZYlxViLwvJQRkHpX4S0=; b=OcgyEMVvaSLoxuhwl/C0euT4g6bcA362OQ8LhmRWKTGeJ0KceyWUXm9ophDCO2mtXc uXTORQk+QFiGZ6d/hrGInq0AxFOP44GNCtRIiBXl3RWA6DVA65ULG4UQy1GW31H3xYXN UesnoO6jnx73kzo8SC9SCZKPYfbLSgps8tHP2DwL7DhCGswJuJk3TpKmrA5TL96rrvaM G6hxKYiZeV8+J4fg/K2+P0Vn48tTLrd3O7jqiz6U3VsBFSJjUdERuT76w1+uNO4hU2lA Z6K9M2+8zqoYmVX0OOaJSxhqHUfWg3CzxWYuWIK4P+6t2L9x23MDDZ+lpdMLnAfwWbgn 7GGA== X-Gm-Message-State: AOAM533ZUIagAQ4LFb0VaYDPST21h2/fECEU8jT1vNpM66BZjDmJidhk npxgUvSuAuOh0cUn5mm7qWTTgu++/x2PVgKUnedjtw== X-Google-Smtp-Source: ABdhPJxYDS3VBzfzsCrfd/Mwn4ZDfG6FjJOUwKQl9T8J3o06058HKXUeJX1nd68T/s8oaH/7lWUnUunwsMBFmRHMoUs= X-Received: by 2002:a05:600c:4f13:: with SMTP id l19mr3043138wmq.194.1640098342091; Tue, 21 Dec 2021 06:52:22 -0800 (PST) MIME-Version: 1.0 References: <643003510.6048.1639917916322@jenkins.jenkins> <17E8F365-0D49-44A0-B680-C289161E6DDB@linaro.org> In-Reply-To: <17E8F365-0D49-44A0-B680-C289161E6DDB@linaro.org> From: =?UTF-8?B?RnLDqWTDqXJpYyBLb25yYWQ=?= Date: Tue, 21 Dec 2021 15:52:11 +0100 Message-ID: Subject: Re: [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects To: Maxim Kuvyrkov Cc: gcc-regression@gcc.gnu.org, Olivier Hainque 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, HTML_MESSAGE, 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" 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Dec 2021 14:52:25 -0000 Hi Maxim, No problem, thanks for the heads up. Best Regards, Fred On Tue, Dec 21, 2021 at 3:22 PM Maxim Kuvyrkov 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 > > > > 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: > > > > 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 .. > > > > > > Full commit (up to 1000 lines): > > > > commit 0515c95d5fe0a865f688f3ab89572b917e8f0185 > > Author: Frederic Konrad > > 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 > > Olivier Hainque > > > > 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. */ > > > > > >