Successfully identified regression in *gcc* in CI configuration tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-Os. So far, this commit has regressed CI configurations: - tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-Os
Culprit: <cut> commit b6bf4d8a773cde07e751542f2911307d78b717fd Author: Andreas Tobler andreast@gcc.gnu.org Date: Thu Apr 25 22:03:35 2019 +0200
freebsd64.h: Add bits for 32-bit multilib support.
2019-04-25 Andreas Tobler andreast@gcc.gnu.org
* config/i386/freebsd64.h: Add bits for 32-bit multilib support. * config/i386/t-freebsd64: New file. * config.gcc: Add the t-freebsd64 for multilib support.
From-SVN: r270586 </cut>
Results regressed to (for first_bad == b6bf4d8a773cde07e751542f2911307d78b717fd) # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--disable-libsanitizer: -8 # build_abe linux: -7 # build_abe glibc: -6 # build_abe stage2 -- --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--disable-libsanitizer: -5 # build_llvm true: -3 # true: 0 # benchmark -Os_mthumb -- artifacts/build-b6bf4d8a773cde07e751542f2911307d78b717fd/results_id: 1 # 429.mcf,mcf_base.default regressed by 104 # 470.lbm,lbm_base.default regressed by 103
from (for last_good == 8a55f9c57a1ffd900262aa2fc2015822dc059331) # reset_artifacts: -10 # build_abe binutils: -9 # build_abe stage1 -- --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--disable-libsanitizer: -8 # build_abe linux: -7 # build_abe glibc: -6 # build_abe stage2 -- --set gcc_override_configure=--with-mode=thumb --set gcc_override_configure=--disable-libsanitizer: -5 # build_llvm true: -3 # true: 0 # benchmark -Os_mthumb -- artifacts/build-baseline/results_id: 1
Artifacts of last_good build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... Results ID of last_good: tk1_32/tcwg_bmk_llvm_tk1/baseline-llvm-release-arm-spec2k6-Os/824 Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... Results ID of first_bad: tk1_32/tcwg_bmk_llvm_tk1/bisect-llvm-release-arm-spec2k6-Os/929 Build top page/logs: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-...
Configuration details:
Reproduce builds: <cut> mkdir investigate-gcc-b6bf4d8a773cde07e751542f2911307d78b717fd cd investigate-gcc-b6bf4d8a773cde07e751542f2911307d78b717fd
git clone https://git.linaro.org/toolchain/jenkins-scripts
mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... --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
cd gcc
# Reproduce first_bad build git checkout --detach b6bf4d8a773cde07e751542f2911307d78b717fd ../artifacts/test.sh
# Reproduce last_good build git checkout --detach 8a55f9c57a1ffd900262aa2fc2015822dc059331 ../artifacts/test.sh
cd .. </cut>
History of pending regressions and results: https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-local/c...
Artifacts: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-... Build log: https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-...
Full commit (up to 1000 lines): <cut> commit b6bf4d8a773cde07e751542f2911307d78b717fd Author: Andreas Tobler andreast@gcc.gnu.org Date: Thu Apr 25 22:03:35 2019 +0200
freebsd64.h: Add bits for 32-bit multilib support.
2019-04-25 Andreas Tobler andreast@gcc.gnu.org
* config/i386/freebsd64.h: Add bits for 32-bit multilib support. * config/i386/t-freebsd64: New file. * config.gcc: Add the t-freebsd64 for multilib support.
From-SVN: r270586 --- gcc/ChangeLog | 6 ++++++ gcc/config.gcc | 5 ++++- gcc/config/i386/freebsd64.h | 5 ++++- gcc/config/i386/t-freebsd64 | 30 ++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7cd02c850d3..3a927ed00d3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2019-04-25 Andreas Tobler andreast@gcc.gnu.org + + * config/i386/freebsd64.h: Add bits for 32-bit multilib support. + * config/i386/t-freebsd64: New file. + * config.gcc: Add the t-freebsd64 for multilib support. + 2019-04-25 Uroš Bizjak ubizjak@gmail.com
* doc/extend.texi (vector_size): Add missing comma after @xref. diff --git a/gcc/config.gcc b/gcc/config.gcc index 09fb9ecd2cd..c7a464c89d0 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -4927,7 +4927,10 @@ case ${target} in ;; i[34567]86-*-dragonfly* | x86_64-*-dragonfly*) ;; - i[34567]86-*-freebsd* | x86_64-*-freebsd*) + i[34567]86-*-freebsd*) + ;; + x86_64-*-freebsd*) + tmake_file="${tmake_file} i386/t-freebsd64" ;; ia64*-*-linux*) ;; diff --git a/gcc/config/i386/freebsd64.h b/gcc/config/i386/freebsd64.h index 1f99e812f01..bffe19c14ff 100644 --- a/gcc/config/i386/freebsd64.h +++ b/gcc/config/i386/freebsd64.h @@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see
#undef LINK_SPEC #define LINK_SPEC "\ - %{m32:-m elf_i386_fbsd} \ + %{m32:-m elf_i386_fbsd}%{!m32:-m elf_x86_64_fbsd} \ %{p:%nconsider using '-pg' instead of '-p' with gprof(1)} \ %{v:-V} \ %{assert*} %{R*} %{rpath*} %{defsym*} \ @@ -42,3 +42,6 @@ along with GCC; see the file COPYING3. If not see -dynamic-linker %(fbsd_dynamic_linker) } \ %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" + +#undef MULTILIB_DEFAULTS +#define MULTILIB_DEFAULTS { "m64" } diff --git a/gcc/config/i386/t-freebsd64 b/gcc/config/i386/t-freebsd64 new file mode 100644 index 00000000000..0dd05d479ac --- /dev/null +++ b/gcc/config/i386/t-freebsd64 @@ -0,0 +1,30 @@ +# Copyright (C) 2019 Free Software Foundation, Inc. +# +# This file is part of GCC. +# +# GCC is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3, or (at your option) +# any later version. +# +# GCC is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GCC; see the file COPYING3. If not see +# http://www.gnu.org/licenses/. + +# The 32-bit libraries are found in /usr/lib32 + +# To support i386 and x86-64, the directory structrue +# should be: +# +# /lib has x86-64 libraries. +# /lib32 has i386 libraries. +# + +MULTILIB_OPTIONS = m32 +MULTILIB_DIRNAMES = 32 +MULTILIB_OSDIRNAMES = ../lib32 </cut>
linaro-toolchain@lists.linaro.org