[CI-NOTIFY]: TCWG Bisect tcwg_bmk_tk1/llvm-release-arm-spec2k6-O2_LTO - Build # 13 - Successful!

2021-08-25 Thread ci_notify
Successfully identified regression in *llvm* in CI configuration 
tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2_LTO.  So far, this commit has 
regressed CI configurations:
 - tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2_LTO

Culprit:

commit 9be8f8b34d9b150cd1811e3556fe9d0cd735ae29
Author: Fangrui Song 
Date:   Thu Mar 25 21:55:27 2021 -0700

[sanitizer] Simplify GetTls with dl_iterate_phdr

GetTls is the range of

* thread control block and optional TLS_PRE_TCB_SIZE
* static TLS blocks plus static TLS surplus

On glibc, lsan requires the range to include
`pthread::{specific_1stblock,specific}` so that allocations only referenced 
by
`pthread_setspecific` can be scanned.

This patch uses `dl_iterate_phdr` to collect TLS ranges. Find the one
with `dlpi_tls_modid==1` as one of the initially loaded module, then find
consecutive ranges. The boundaries give us addr and size.

This allows us to drop the glibc internal `_dl_get_tls_static_info` and
`InitTlsSize` entirely. Use the simplified method with non-Android Linux for
now, but in theory this can be used with *BSD and potentially other ELF 
OSes.

In the future, we can move `ThreadDescriptorSize` code to lsan (and consider
intercepting `pthread_setspecific`) to avoid hacks in generic code.

See https://reviews.llvm.org/D93972#2480556 for analysis on GetTls usage
across various sanitizers.

Differential Revision: https://reviews.llvm.org/D98926


Results regressed to (for first_bad == 9be8f8b34d9b150cd1811e3556fe9d0cd735ae29)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-5
# build_llvm true:
-3
# true:
0
# benchmark -- -O2_LTO_marm 
artifacts/build-9be8f8b34d9b150cd1811e3556fe9d0cd735ae29/results_id:
1
# 456.hmmer,hmmer_base.default  regressed by 103

from (for last_good == 9d375a40c3df90dd48edc0e1b1115c702c55d716)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-5
# build_llvm true:
-3
# true:
0
# benchmark -- -O2_LTO_marm 
artifacts/build-9d375a40c3df90dd48edc0e1b1115c702c55d716/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-O2_LTO/13/artifact/artifacts/build-9d375a40c3df90dd48edc0e1b1115c702c55d716/
Results ID of last_good: 
tk1_32/tcwg_bmk_llvm_tk1/bisect-llvm-release-arm-spec2k6-O2_LTO/4304
Artifacts of first_bad build: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-O2_LTO/13/artifact/artifacts/build-9be8f8b34d9b150cd1811e3556fe9d0cd735ae29/
Results ID of first_bad: 
tk1_32/tcwg_bmk_llvm_tk1/bisect-llvm-release-arm-spec2k6-O2_LTO/4302
Build top page/logs: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-O2_LTO/13/

Configuration details:


Reproduce builds:

mkdir investigate-llvm-9be8f8b34d9b150cd1811e3556fe9d0cd735ae29
cd investigate-llvm-9be8f8b34d9b150cd1811e3556fe9d0cd735ae29

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-O2_LTO/13/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-O2_LTO/13/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-O2_LTO/13/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 /llvm/ ./ ./bisect/baseline/

cd llvm

# Reproduce first_bad build
git checkout --detach 9be8f8b34d9b150cd1811e3556fe9d0cd735ae29
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 9d375a40c3df90dd48edc0e1b1115c702c55d716
../artifacts/test.sh

cd ..


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-spec2

Moving to l...@lists.linux.dev

2021-08-25 Thread Nathan Chancellor

Hi everyone,

We are shifting the ClangBuiltLinux mailing list from 
clang-built-li...@googlegroups.com to l...@lists.linux.dev. Google 
Groups has served us well but moving to lists.linux.dev allows for 
easier archival (as we will be on lore.kernel.org automatically) and 
allows for people to subscribe to us easier, as they only need an email 
address, rather than a Google account.


Please follow these directions to subscribe to the new mailing list:

https://subspace.kernel.org/index.html#subscribing

Some more information about lists.linux.dev:

https://www.kernel.org/lists-linux-dev.html
https://subspace.kernel.org/lists.linux.dev.html

I have added CI maintainers/mailing lists that send us regular reports 
to this announcement. Please continue to send us emails about build 
results, just switch the email from clang-built-li...@googlegroups.com 
to l...@lists.linux.dev so that they get archived as a part of lore and 
can be easily searched, especially with the upcoming 
https://x-lore.kernel.org/all/.


I will send a patch shortly to update MAINTAINERS.

Cheers,
Nathan
___
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain


[CI-NOTIFY]: TCWG Bisect tcwg_bmk_tk1/llvm-release-arm-spec2k6-O2_LTO - Build # 14 - Successful!

2021-08-25 Thread ci_notify
Successfully identified regression in *llvm* in CI configuration 
tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2_LTO.  So far, this commit has 
regressed CI configurations:
 - tcwg_bmk_llvm_tk1/llvm-release-arm-spec2k6-O2_LTO

Culprit:

commit efa7df1682c2859dabe3646ee7dc01e68629417f
Author: Gabor Marton 
Date:   Thu Mar 25 15:40:26 2021 +0100

[Analyzer] Track RValue expressions

It makes sense to track rvalue expressions in the case of special
concrete integer values. The most notable special value is zero (later
we may find other values). By tracking the origin of 0, we can provide a
better explanation for users e.g. in case of division by 0 warnings.
When the divisor is a product of a multiplication then now we can show
which operand (or both) was (were) zero and why.

Differential Revision: https://reviews.llvm.org/D99344


Results regressed to (for first_bad == efa7df1682c2859dabe3646ee7dc01e68629417f)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-5
# build_llvm true:
-3
# true:
0
# benchmark -- -O2_LTO_marm 
artifacts/build-efa7df1682c2859dabe3646ee7dc01e68629417f/results_id:
1
# 456.hmmer,hmmer_base.default  regressed by 103

from (for last_good == 1696b8ae96b2d8bcbf90894bd344a8a090f43c84)
# reset_artifacts:
-10
# build_abe binutils:
-9
# build_abe stage1 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-8
# build_abe linux:
-7
# build_abe glibc:
-6
# build_abe stage2 -- --set gcc_override_configure=--with-mode=arm --set 
gcc_override_configure=--disable-libsanitizer:
-5
# build_llvm true:
-3
# true:
0
# benchmark -- -O2_LTO_marm 
artifacts/build-1696b8ae96b2d8bcbf90894bd344a8a090f43c84/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-O2_LTO/14/artifact/artifacts/build-1696b8ae96b2d8bcbf90894bd344a8a090f43c84/
Results ID of last_good: 
tk1_32/tcwg_bmk_llvm_tk1/bisect-llvm-release-arm-spec2k6-O2_LTO/4320
Artifacts of first_bad build: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-O2_LTO/14/artifact/artifacts/build-efa7df1682c2859dabe3646ee7dc01e68629417f/
Results ID of first_bad: 
tk1_32/tcwg_bmk_llvm_tk1/bisect-llvm-release-arm-spec2k6-O2_LTO/4322
Build top page/logs: 
https://ci.linaro.org/job/tcwg_bmk_ci_llvm-bisect-tcwg_bmk_tk1-llvm-release-arm-spec2k6-O2_LTO/14/

Configuration details:


Reproduce builds:

mkdir investigate-llvm-efa7df1682c2859dabe3646ee7dc01e68629417f
cd investigate-llvm-efa7df1682c2859dabe3646ee7dc01e68629417f

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-O2_LTO/14/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-O2_LTO/14/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-O2_LTO/14/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 /llvm/ ./ ./bisect/baseline/

cd llvm

# Reproduce first_bad build
git checkout --detach efa7df1682c2859dabe3646ee7dc01e68629417f
../artifacts/test.sh

# Reproduce last_good build
git checkout --detach 1696b8ae96b2d8bcbf90894bd344a8a090f43c84
../artifacts/test.sh

cd ..


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-O2_LTO

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

Full commit (up to 1000 lines):

commit efa7df1682c2859dabe3646ee7dc01e68629417f
Author: Gabor Marton 
Date:   Thu Mar 25 15:40:26 2021 +0100

[Analyzer] Track RValue expressions

It makes sense to track rvalue expressions in the case of special
concrete integer values. The most notable special value is zero (later
we may find other values). By tracking th