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 <andre...@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  <andre...@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-arm-spec2k6-Os/16/artifact/artifacts/build-8a55f9c57a1ffd900262aa2fc2015822dc059331/
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-arm-spec2k6-Os/16/artifact/artifacts/build-b6bf4d8a773cde07e751542f2911307d78b717fd/
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-arm-spec2k6-Os/16/

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-arm-spec2k6-Os/16/artifact/artifacts/manifests/build-baseline.sh
 --fail
curl -o artifacts/manifests/build-parameters.sh 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-Os/16/artifact/artifacts/manifests/build-parameters.sh
 --fail
curl -o artifacts/test.sh 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-Os/16/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

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/ci/tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-Os

Artifacts: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-Os/16/artifact/artifacts/
Build log: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-Os/16/consoleText

Full commit (up to 1000 lines):
<cut>
commit b6bf4d8a773cde07e751542f2911307d78b717fd
Author: Andreas Tobler <andre...@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  <andre...@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  <andre...@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  <ubiz...@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 mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to