public inbox for gcc-regression@sourceware.org
help / color / mirror / Atom feed
From: Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
To: Frederic Konrad <konrad@adacore.com>
Cc: gcc-regression@gcc.gnu.org
Subject: Re: [TCWG CI] Regression caused by gcc: VxWorks config fixes for shared objects
Date: Tue, 21 Dec 2021 17:21:59 +0300 [thread overview]
Message-ID: <17E8F365-0D49-44A0-B680-C289161E6DDB@linaro.org> (raw)
In-Reply-To: <643003510.6048.1639917916322@jenkins.jenkins>
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>
next prev parent reply other threads:[~2021-12-21 14:22 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-19 12:45 ci_notify
2021-12-21 14:21 ` Maxim Kuvyrkov [this message]
2021-12-21 14:52 ` Frédéric Konrad
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=17E8F365-0D49-44A0-B680-C289161E6DDB@linaro.org \
--to=maxim.kuvyrkov@linaro.org \
--cc=gcc-regression@gcc.gnu.org \
--cc=konrad@adacore.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).