Update llvm/clang toolchain to a new google3 stable version r300080. Android will also use the same version.
Cherry picks: r301243, r300531, r300571. Plus a local patch to link with libunwind when rtlib=compiler-rt
chromiumos-sdk test run with llvm-next is clean https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/chromiumos-sdk/builds/2202
Another cherry pick: r300583
Also picked r301505 to disable GVNHoist pass (https://buganizer.corp.google.com/issues/37718617).
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/fd00fa4043be5bff16ff3c48066f59f4246ec6c2 commit fd00fa4043be5bff16ff3c48066f59f4246ec6c2 Author: Manoj Gupta <manojgupta@google.com> Date: Thu Apr 27 18:15:45 2017 Update llvm/clang to r300080. Rebase llvm/clang compiler to r300080. Includes cherrypicks: r300571, r300531, r300583, r301243. llvm-next now tracks current google3 stable r301047. BUG= chromium:714983 TEST= The performance and stability of target boards is good. https://dashboards.corp.google.com/google::_27e80daf_9a51_4369_9b98_4e31f1f87ae4 https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/llvm_next_toolchain TEST=Chromiumos-sdk test job passed. https://uberchromegw.corp.google.com/i/chromiumos.tryserver/builders/chromiumos-sdk/builds/2202 Change-Id: I21ca2c1136a687e42998eff0bfb1ba2f0af6d454 Reviewed-on: https://chromium-review.googlesource.com/488321 Commit-Ready: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Ting-Yuan Huang <laszio@chromium.org> [rename] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/clang/clang-5.0_pre300080.ebuild [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/d6168b6ed57fe78bf42f57509d73bde2680105b5.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/files/cherry/bde56a96995a329cf1df5716b1f84b32aac6c174.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/6300980dd120ee39c6acb1449269a01e892ed3c7.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/files/cherry/385d9f6d5abb6b2d4ea27e59ac1e7b0e20d54f7c.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/80ea0f28fb5be3e632b0ae712823c28715f3bbe7.patch [modify] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/profiles/targets/chromeos/package.mask [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/88948ad1d3271c40709bd931b1822b5710aa3e9f.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/06f9b86145451df76f74540867ea0d1671e41d20.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/4c434043b9a5140cf6ab9231c82e6000bb6f31f6.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/15e919d001037b85218dbf135ccc9522f91a86e1.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/files/clang-4.0-asan-default-path.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/242e37443552dd128bb35e9f500e05d7d6f4afed.patch [rename] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/llvm-libunwind/llvm-libunwind-5.0_pre300080.ebuild [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/38ab2af2b57bc9390bb9b695001cba63b9262f2b.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/e604e8210fa49cfe23fb262e228d40734eaed141.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/files/llvm-next-leak-whitelist.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/133b0bceea54f061d2a4739a4cf93dcc0ece2879.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/9c5e4bac4a745f6a621dcf2803fa89f6bbe51862.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/files/cherry/46a48e5918ab64e40ed8b929fdb8d2ff4117cfa1.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/files/cherry/385d9f6d5abb6b2d4ea27e59ac1e7b0e20d54f7c.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/671d92a8e764a3266ecab219d791a27fb257be78.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/files/cherry/46a48e5918ab64e40ed8b929fdb8d2ff4117cfa1.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/cdc303e5ed4d3110e6f70931775a70bb1de44ed6.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/bc7dc480be4b503b81d4e63f97fb499b6873a1fa.patch [rename] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/files/clang-5.0-enable-libunwind-with-compiler-rt.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/1f177f4a3f2a90b90f5721a4962607d71d551223.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/cefec9cba5ec1629aac083bad2ad7e10e91dcf05.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/files/llvm-4.0-leak-whitelist.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/caba5d3de2f61c68651afdff72a223248a660384.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/5bf7eb503fb9d70121904ea8872f639b9497c1e6.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/32dc773aa73602b5d5ee6881df5d76decd776018.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/d7bfb58bc10fa2b57d986b3ca7e6b6d8b9a89974.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/c31c930cdf7d34987fb1d08e92a4532343241dd3.patch [rename] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-devel/llvm/llvm-5.0_pre300080.ebuild [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/e209ab4879923a83e9c223aa8318ad9644124189.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/9eaa3ef462b338fa2426930e2d3072b43291abcf.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/93418eeb1d886747332ff404f0e2651e8d77879a.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/3cd5f5be43861486db2205e85416d74403f063d2.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/objectsize-evalmodes.patch [add] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/files/llvm-next-leak-whitelist.patch [rename] https://crrev.com/fd00fa4043be5bff16ff3c48066f59f4246ec6c2/sys-libs/compiler-rt/compiler-rt-5.0_pre300080.ebuild [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/81323af362fc053dbea0758ca1e02d9af82c0da6.patch [delete] https://crrev.com/76a02c832b623b811fe508e238fd4e2ab85d1914/sys-devel/llvm/files/cherry/8ac75a18fca87788bd3c69cf0d2b511f438e3262.patch
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/0eeed993adc5f6c4165264caa80328e1a11b5bdd commit 0eeed993adc5f6c4165264caa80328e1a11b5bdd Author: Yunlian Jiang <yunlian@google.com> Date: Fri Apr 28 16:31:34 2017 cryptohome: fix unused lambda capture. This fixes the error lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] BUG= chromium:714983 TEST=FEATURES="test" emerge-reef cryptohome Change-Id: I64dfd2ad3527a4023873928d4bdb0e9e5d0ac234 Reviewed-on: https://chromium-review.googlesource.com/490487 Commit-Queue: Yunlian Jiang <yunlian@chromium.org> Tested-by: Yunlian Jiang <yunlian@chromium.org> Trybot-Ready: Yunlian Jiang <yunlian@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> [modify] https://crrev.com/0eeed993adc5f6c4165264caa80328e1a11b5bdd/cryptohome/tpm2_impl.cc
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/0f2599c4b6522d9175e638e8ad88e4f33a3d852e commit 0f2599c4b6522d9175e638e8ad88e4f33a3d852e Author: Yunlian Jiang <yunlian@google.com> Date: Fri Apr 28 16:04:39 2017 trunks: fix unused lambda capture. This fixes the warning lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] BUG= chromium:714983 TEST=FEATURES="test" emerge-reef trunks Change-Id: Ibd8a74df6c73357248ded496201d7162b15eb0d0 [modify] https://crrev.com/0f2599c4b6522d9175e638e8ad88e4f33a3d852e/trunks/power_manager_test.cc
The following revision refers to this bug: https://chromium.googlesource.com/aosp/platform/system/tpm/+/ec781e47ec1cf4676dbaa6ded30d4c25ef4409b5 commit ec781e47ec1cf4676dbaa6ded30d4c25ef4409b5 Author: Yunlian Jiang <yunlian@google.com> Date: Fri Apr 28 16:37:37 2017 attestation: fix unused lambda capture. This fixes the warning lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] BUG= chromium:714983 TEST=FEATURES="test" emerge-reef attestation Change-Id: I6de34b4ef38169ea93fb493fd71f509f1e20121b [modify] https://crrev.com/ec781e47ec1cf4676dbaa6ded30d4c25ef4409b5/attestation/common/tpm_utility_v2.cc
Will the above CL fixes this issue? https://uberchromegw.corp.google.com/i/chromeos/builders/scarlet-chrome-pfq/builds/37 attestation-0.0.1-r1625: [13/30] CXX aosp/system/tpm/attestation/common/common_library.tpm_utility_v2.o attestation-0.0.1-r1625: FAILED: aosp/system/tpm/attestation/common/common_library.tpm_utility_v2.o attestation-0.0.1-r1625: armv7a-cros-linux-gnueabi-clang++ -MMD -MF aosp/system/tpm/attestation/common/common_library.tpm_utility_v2.o.d -DUSE_TPM2 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I/build/scarlet/tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm -Iaosp/system/tpm/attestation/common_library.gen/include -Igen/include -I/build/scarlet/tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/platform2 -I/build/scarlet/tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/platform -I/build/scarlet/usr/include -Igen -Wall -Wno-psabi -ggdb3 -fstack-protector-strong -Wformat=2 -fvisibility=internal -Wa,--noexecstack -Werror --sysroot=/build/scarlet -DUSE_RTTI_FOR_TYPE_TAGS -Wno-c++11-extensions -Wno-unused-local-typedefs -DBASE_VER=395517 -pthread -I/build/scarlet/usr/include/chromeos -I/build/scarlet/usr/include/base-395517 -I/build/scarlet/usr/include/glib-2.0 -I/build/scarlet/usr/lib/glib-2.0/include -I/build/scarlet/usr/include/nss -I/build/scarlet/usr/include/nspr -I/build/scarlet/usr/include/dbus-1.0 -I/build/scarlet/usr/lib/dbus-1.0/include -fPIE -std=gnu++11 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -O2 -O2 -O2 -pipe -march=armv8-a+crc -mtune=cortex-a57.cortex-a53 -mfpu=crypto-neon-fp-armv8 -mfloat-abi=hard -g -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -clang-syntax -clang-syntax -fno-exceptions -fno-unwind-tables -fno-asynchronous-unwind-tables -c ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc -o aosp/system/tpm/attestation/common/common_library.tpm_utility_v2.o attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:785:19: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] attestation-0.0.1-r1625: base::Bind([this, &method, &callback]() { method.Run(callback); })); attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:519:3: note: in instantiation of function template specialization 'attestation::TpmUtilityV2::SendTpmManagerRequestAndWait<tpm_manager::ReadSpaceReply, base::Callback<void (const base::Callback<void (const tpm_manager::ReadSpaceReply &), base::internal::CopyMode::Copyable> &), base::internal::CopyMode::Copyable> >' requested here attestation-0.0.1-r1625: SendTpmManagerRequestAndWait( attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:785:19: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] attestation-0.0.1-r1625: base::Bind([this, &method, &callback]() { method.Run(callback); })); attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:819:3: note: in instantiation of function template specialization 'attestation::TpmUtilityV2::SendTpmManagerRequestAndWait<tpm_manager::GetTpmStatusReply, base::Callback<void (const base::Callback<void (const tpm_manager::GetTpmStatusReply &), base::internal::CopyMode::Copyable> &), base::internal::CopyMode::Copyable> >' requested here attestation-0.0.1-r1625: SendTpmManagerRequestAndWait( attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:785:19: error: lambda capture 'this' is not used [-Werror,-Wunused-lambda-capture] attestation-0.0.1-r1625: base::Bind([this, &method, &callback]() { method.Run(callback); })); attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: ../../../../../../../tmp/portage/chromeos-base/attestation-0.0.1-r1625/work/attestation-0.0.1/aosp/system/tpm/attestation/common/tpm_utility_v2.cc:884:3: note: in instantiation of function template specialization 'attestation::TpmUtilityV2::SendTpmManagerRequestAndWait<tpm_manager::RemoveOwnerDependencyReply, base::Callback<void (const base::Callback<void (const tpm_manager::RemoveOwnerDependencyReply &), base::internal::CopyMode::Copyable> &), base::internal::CopyMode::Copyable> >' requested here attestation-0.0.1-r1625: SendTpmManagerRequestAndWait( attestation-0.0.1-r1625: ^ attestation-0.0.1-r1625: 3 errors generated. If so, we should cherry-pick this CL into today's Chrome pfq to not block pfq, right?
nvm, scarlet-chrome-pfq is experimental build. It is not urgent for today's build.
Roll done. Some packages were broken by new warnings but are fixed now.
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/71e75736ff31bcb8181426dd32b39e8c6b93a532 commit 71e75736ff31bcb8181426dd32b39e8c6b93a532 Author: Manoj Gupta <manojgupta@google.com> Date: Sun Apr 30 04:07:51 2017 Update llvm-next to google3 stable r301387. Does not affect current llvm compiler used. BUG= chromium:714983 TEST=no clang crash. Change-Id: I55c8a16668d2028b6080527158c57cf7db169c0f Reviewed-on: https://chromium-review.googlesource.com/491067 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Trybot-Ready: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Yunlian Jiang <yunlian@chromium.org> [rename] https://crrev.com/71e75736ff31bcb8181426dd32b39e8c6b93a532/sys-libs/llvm-libunwind/llvm-libunwind-5.0_pre300080-r1.ebuild [rename] https://crrev.com/71e75736ff31bcb8181426dd32b39e8c6b93a532/sys-libs/compiler-rt/compiler-rt-5.0_pre300080-r1.ebuild [rename] https://crrev.com/71e75736ff31bcb8181426dd32b39e8c6b93a532/sys-devel/llvm/llvm-5.0_pre300080-r1.ebuild
Comment 1 by manojgupta@chromium.org
, Apr 25 2017