aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-09-15compiler_wrapper: fix use-llvm-next testGeorge Burgess IV
The history of this test looks weird. We've had it intermittently enabled/disabled depending on whether we're passing flags specifically to llvm-next versions of clang. At the moment, it's failing due to a lack of `-Wl,-z,nostart-stop-gc`, which was removed in a previous CL. BUG=None TEST=go test Change-Id: I4b1ab9e5d39ba0e5575f89f51e4e83afba24a025 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162667 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-09-15compiler_wrapper: update golden filesGeorge Burgess IV
Tests are failing at HEAD; looks like prior changes forgot to update these. BUG=None TEST=go test Change-Id: Ia88b182ba0a922807f0857d8dc3df96de4528aa7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3162666 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-09-15Excise cros_logging moduleChris McDonald
The cros_logging module is deprecated and all usages are being removed. The lint referred to by the comment removed in this CL is no longer a thing, so remove this mention of the deprecated module from the tree. BUG=b:191490453 TEST=None Change-Id: Ifcd4cb18e87fdbd3a92747b0fdbac434d51fd055 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3161649 Tested-by: Chris McDonald <cjmcdonald@chromium.org> Auto-Submit: Chris McDonald <cjmcdonald@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-09-09compiler_wrapper: disable unused-but-set warningsRyan Beltran
This CL disables no-unused-but-set-variable warnings globally in the compiler wrapper. A seperate CL will specifically reenable this warning for platform2. This prevents breakage do to unised variables in third_party. BUG=None TEST=None Change-Id: I2ea44b6249715d3b036843b13d668d50b9b7669d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3150656 Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Auto-Submit: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2021-09-07OWNERS.toolchain: clean upGeorge Burgess IV
The CrOS toolchain team has seen changes over the last ~year and a half. This CL updates this file to match the current toolchain team. BUG=None TEST=None Change-Id: I65e08922bb91fd5634e30c1e717fe28e62c68ce6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3133551 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Christopher Di Bella <cjdb@google.com> Reviewed-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Michael Benfield <mbenfield@google.com> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-09-02users of mail-sheriff: s/sheriff/detectiveGeorge Burgess IV
Starting tonight, an alias for the mail-sheriff program will be mail-detective. Swap to that. This includes forced auto-style-fixing from yapf. BUG=b:198446837 TEST=None Change-Id: I8f7375347c17095a7d53408617f8e46078f3db54 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3137913 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-09-02email_sender: s/sheriff/detectiveGeorge Burgess IV
Now that our backend for this supports detective as an alternate spelling of sheriff, we can migrate this. This includes forced auto-style-fixing from yapf. BUG=b:198446837 TEST=Unittests Change-Id: Ib371911a006d40149dfbf91cc5daf834066a451c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3137202 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-08-25compiler_wrapper: support -W[no-]unused-set-variableJian Cai
BUG=b:194845241 TEST=emerge-atlas harfbuzz Change-Id: I262883ee20ed0fc69fcc3bf119d3068f4cf7729b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3061363 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-08-12Add upstream-workon.bash scriptJordan R Abrahams
upstream-workon is a script which aids toolchain developers by keeping the local, fully patched source in some non-ephemeral local directory inside the chroot. At the moment, it's still in a prototype phase (the end goal would be to make it quite a bit safer, and also move it out of bash). This is the first commit for the script, meant to act as a base for future work. BUG=b:186803200 TEST=mkdir ~/llvm; upstream_workon.bash init sys-devel/llvm ~/llvm TEST=upstream_workon.bash build sys-devel/llvm TEST=upstream_workon.bash install sys-devel/llvm TEST=upstream_workon.bash link sys-devel/llvm ~/llvm_src_tree Change-Id: Ifa1b1520d621cbe8b435d4ebb1ae71dc28548fcf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3068075 Commit-Queue: Jordan R Abrahams <ajordanr@google.com> Tested-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-08-11llvm_tools: update llvm major in non-llvm ebuildsRyan Beltran
This CL implements updating the llvm major version in non-llvm ebuilds. An example of the current behavior (which uprevs the major version only for the LLVM ebuild) can be seen here: https://crrev.com/c/3080644/2 BUG=b:196193631 TEST=./update_chromeos_llvm_hash_unittest.py Change-Id: Icf82f0a8a4a01b255d0eeb242fe139aaa6957920 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3088319 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2021-08-11style.yapf: force indentation to 2George Burgess IV
We recently had to swap from a base style of Chromium to Pep8, since the former has been removed from yapf. Apparently this wasn't a complete nop. Keep the existing indent width. The other changes implied by the pep => yapf transition can probably be fixed up incrementally. BUG=None TEST=yapf'ed a random file Change-Id: I736b61c413720870870f62cedfddeb9f81b934c4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3089512 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-08-09llvm_tools: more informative message when checking out llvm-project-copyBob Haarman
We keep a clone of the LLVM repository, which we create if it did not already exist. This takes a while, so we inform the user. However, the message did not specify where we are cloning to or why. This change makes the message take the form: Checking out LLVM to '<path>' so that we can map between commit hashes and revision numbers. This may take a while, but only has to be done once. BUG=b:192699914 TEST=ran llvm_tools/get_llvm_hash.py with a few parameters Change-Id: I86d83f03ab293c5cfb3014e80175c674740a2818 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3078689 Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-08-07compiler_wrapper: Update install scriptManoj Gupta
Update wrapper installation script now that we have separate clang and gcc wrappers. BUG=b:186803617 TEST=run install_compiler_wrapper.sh Change-Id: I14ee2ffc6f74adb9699066a54dbead98e2f2e220 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3078693 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jian Cai <jiancai@google.com>
2021-08-05afdo_metadata: Publish the new kernel profilesManoj Gupta
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Ia1b921900388cfa7bb21c30813356d7e367e8e0b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3076780 Tested-by: Manoj Gupta <manojgupta@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Jian Cai <jiancai@google.com> Commit-Queue: Jian Cai <jiancai@google.com>
2021-08-04llvm_tools: use upstream revert_checkerGeorge Burgess IV
Sourcing this properly from LLVM is awkward, since at the least, we'd need to keep an LLVM git repo around. On top of that, we'd need to come up with some way to pin this at a specific version (since the evolution of LLVM ideally shouldn't impact the functionality of bits here). Rather than dealing with all of that, let's just copy this from the repo and declare victory. Changes should be super rare anyway. :) BUG=chromium:194731505 TEST=./nightly_revert_checker_test.py Change-Id: I6179cae57d01bee7cae7883c93f71cb9c2f1f3d1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3068861 Reviewed-by: Bob Haarman <inglorion@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-08-04crosperf: reuse perf reportsJian Cai
This reuses existing perf reports to identify idle samples instead of regenerating them. BUG=b:194737325 TEST=Ran crosperf with cwp benchmarks. Change-Id: Ib024addbcfb278815fa55dcab20c6d7db90b287a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3062781 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-08-04compiler_wrapper: Fix static libgcc handlingManoj Gupta
Do not add static-libgcc to compiler command line if user is passing {shared|static}-libgcc. BUG=b:187794119 TEST=CQ Change-Id: Iecd969dd11632837013bea71df9547bd08bbf30c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3064572 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Auto-Submit: Manoj Gupta <manojgupta@chromium.org>
2021-08-03llvm_tools: add newline at the end of PATCHES.jsonJian Cai
This appeases the "file needs a trailing newline" lint warning when running `repo upload` with local changes created by get_upstream_patch.py. BUG=b:194873857 TEST=`repo upload` passed. Change-Id: Icc4bf60009182290f2d0beb10f5ee7fefe14e044 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3068076 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-08-03Edit style guide to match pep8Jordan R Abrahams
At the request of gbiv@, I'm updating the yapf style guide to pep8, as the chromium style apparently has very similar style to pep8. BUG=None TEST=CQ Change-Id: I965250cc7482aed4791a09391b37487bc00e618f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3068280 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Jordan R Abrahams <ajordanr@google.com> Commit-Queue: Jordan R Abrahams <ajordanr@google.com>
2021-08-03git_llvm_rev: prefer upstream/* branches over non-upstream/ branchesGeorge Burgess IV
It seems that LLVM has an old precedent of `release/${version}` branches, but has swapped to naming new branches `upstream/release/${version}`. This includes a retroactive addition of `upstream/release/${version}` for old versions, which makes the `ValueError` here get raised. Prefer the newer, shinier names. BUG=b:194731505 TEST=./git_llvm_rev_test.py Change-Id: If170c004eae0edf1a69792207e5c681deb10e50b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3068860 Reviewed-by: Bob Haarman <inglorion@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-07-27crosperf: remove idle samples from crosperf reportJian Cai
Right now Crosperf reports include samples from idle functions. Filtering these samples from the reports allow users to have more accurate evaluation of the performance impact of code changes as they focuson the meaningful samples. BUG=b:194737325 TEST=unit tests passed. Change-Id: I22bc3c78999eec9a141440e92ce52457a4bfa0a3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3054437 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-07-27crosperf: update location debug infoChromeOS Developer
This fix the missing symbols in perf report due to the misplaced debug information. BUG=b:194540821 TEST=Ran crosperf and verified all the symbols are present in the perf report. Change-Id: Ifed66ac6073d175d99a71e64f5e89925fabdaa92 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3050514 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-07-24compiler_wrapper: Update for gcc -> llvm ebuild migrationManoj Gupta
Update compiler wrapper for migrating the wrappers from gcc to llvm ebuild. This assumes that clang wrappers now live in /usr/bin/ instead of /usr/x86-64-pc-linux-gnu/... and is no longer co-located with gcc wrappers. BUG=b:186803617 TEST=CQ, SDK tryjobs Change-Id: I60082913dbf5a3c6ce992ea951955086b280af43 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3046721 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2021-07-23Revert "[llvm_tools] automatically uprevs sys-devel/gcc whenever LLVM_NEXT ↵Manoj Gupta
is changed" This reverts commit a5725194cabd4244fd04c106c3a8d8b0d246b751. Reason for revert: breaks llvm-next testing. b/194493350 Original change's description: > [llvm_tools] automatically uprevs sys-devel/gcc whenever LLVM_NEXT is changed > > BUG=b:192996912 > TEST=update_chromeos_llvm_hash_unittest.py verified via CQ > > Change-Id: Id06f054fdc4400c9b9af48c5383172192cb9a8a3 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3021576 > Tested-by: Christopher Di Bella <cjdb@google.com> > Auto-Submit: Christopher Di Bella <cjdb@google.com> > Reviewed-by: Luis Lozano <llozano@chromium.org> > Commit-Queue: Christopher Di Bella <cjdb@google.com> Bug: b:192996912, b:194493350 Change-Id: I3a8e70bc20f09d92d594c1821b90157b6b5aba18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3048754 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2021-07-21Temporarily disable -Wdeprecated-copy and -Wdeprecated-declarations.Luis Lozano
BUG=b:191618957 TEST=wrapper test Change-Id: I4340173ae681a6c5f022a3b1f1e890d2c9ee8b99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3036676 Commit-Queue: Luis Lozano <llozano@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org> Auto-Submit: Luis Lozano <llozano@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-07-17afdo_metadata: Publish the new kernel profilesChromeOS Developer
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I243691ed09c42b114c594eea0467fd1f94cf440b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3036204 Reviewed-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Jian Cai <jiancai@google.com> Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org>
2021-07-14[llvm_tools] automatically uprevs sys-devel/gcc whenever LLVM_NEXT is changedChristopher Di Bella
BUG=b:192996912 TEST=update_chromeos_llvm_hash_unittest.py verified via CQ Change-Id: Id06f054fdc4400c9b9af48c5383172192cb9a8a3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3021576 Tested-by: Christopher Di Bella <cjdb@google.com> Auto-Submit: Christopher Di Bella <cjdb@google.com> Reviewed-by: Luis Lozano <llozano@chromium.org> Commit-Queue: Christopher Di Bella <cjdb@google.com>
2021-07-09compiler_wrapper: bundle.py default output dirRyan Beltran
This CL implements defaulting the output directory for bundle.py to the location of compiler wrapper files in third_party/chromiumos-overlay. This also prevents bundle.py from creating directories unless a new --create flag is specified. BUG=None TEST=Manually tested Change-Id: I64d055a73332d3faafad730beda30886212346ee Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/3016910 Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-06-26afdo_metadata: Publish the new kernel profilesRyan Beltran
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I4091d87b7899ef75faa4054069b5c26dfb89f63e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2989634 Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org>
2021-06-18compiler_wrapper: add --rewrapper-path supportGeorge Burgess IV
This CL adds --rewrapper-path support to the compiler, as requested in the linked bug. The use of this is mutually exclusive with that of --gomacc-path. We currently look for either a `--gomacc-path` flag or a `GOMACC_PATH` env var to enable goma. If any rewrapper flag is specified, this disables our checking of `GOMACC_PATH` for the purposes of mutual exclusivity checking. BUG=b:190741226 TEST=go test, a few manual invocations Change-Id: I03dd2835a313806a9700c49c47c82fecf19a4b7f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2956696 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-06-18compiler_wrapper: refactor goma => "remote compile"George Burgess IV
This is intended to be no functional change. In most places, we use "goma" as a way of saying "remote compilation;" this CL clarifies which is which. BUG=b:190741226 TEST=go test Change-Id: Ia03c1a05486c907cd6f7bc33b59a56c98db5d527 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2956695 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-06-18compiler_wrapper: refactor goma flag parsingGeorge Burgess IV
This is in preparation for adding more flag parsing of this type. BUG=b:190741226 TEST=go test Change-Id: Ief431a6e30b6ba22767cdd46247e362508addd4b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2956694 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-06-18compiler_wrapper: make goma testing use its own functionGeorge Burgess IV
this logic was repetitive, and we're adding more functions where we need it. BUG=b:190741226 TEST=go test Change-Id: I9736142ec59b22d58776d35357a7aa380365a228 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2956693 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-06-18compiler_wrapper: fix flaky testsGeorge Burgess IV
We're running many tests in parallel that have dependencies on the `umask` global. We shouldn't be running these in parallel with each other, since they may read values for this that're set by other goroutines. Since these are difficult to spot, this CL does two things: - Requiring that all tests mark themselves as either readers of or writers to umask. Any test that does this gets run in serial with other tests that do it. - Requires code that modifies/reads the umask to go through `env.umask`, rather than `syscall.Umask`. This allows us to cheaply and accurately verify that a test's dependency on the process' umask was stated. BUG=b:186801841 TEST=`go test -count=100` passed Change-Id: Ifa871cfa48c005646499b21c1bfa1a4799ca641b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2956692 Reviewed-by: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2021-06-16afdo_metadata: Publish the new kernel profilesCaroline Tice
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Ia7e61ba2985fd7381fd9fac6ef73b3c69721344c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2963886 Reviewed-by: Denis Nikitin <denik@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org> Auto-Submit: Caroline Tice <cmtice@chromium.org> Commit-Queue: Caroline Tice <cmtice@chromium.org>
2021-06-08[compiler_wrapper] explicitly enables `libgcc` as the unwindlibChristopher Di Bella
This is in preparation for our migration to libunwind. BUG=b:187785190 TEST=Tested locally and on CQ Disallow-Recycled-Builds: test-failures Change-Id: I1b11d54de3d9550086ead05c3880f149e2e2f839 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2945100 Tested-by: Christopher Di Bella <cjdb@google.com> Tested-by: Luis Lozano <llozano@chromium.org> Auto-Submit: Christopher Di Bella <cjdb@google.com> Commit-Queue: Luis Lozano <llozano@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org>
2021-06-08llvm-next: add nostart-stop-gc to the list of flags.Luis Lozano
This functionality causes problems for several packages and it seems to be only of importance for instrumented profiling which we don't use. BUG=b:187743526 TEST=CQ Change-Id: I441b96223dc8e09eb113608b85cde918faf2753f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2943079 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org> Commit-Queue: Luis Lozano <llozano@chromium.org> Auto-Submit: Luis Lozano <llozano@chromium.org>
2021-06-02afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I29ec205822a75088d2c4c5897508b8dc05419a2e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2931116 Reviewed-by: Caroline Tice <cmtice@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2021-05-25llvm_tools: detect cros checkout for default chroot_pathRyan Beltran
This CL improves the assumptions made when selecting the default chroot path in update_chromeos_llvm_hash.py. Previously, it assumed the chrome source tree was installed to ~/chromiumos which didn't work for people with multiple chroots or with different naming. Now we detect whether or not we are inside of the cros source tree and use that cros checkout if so (otherwise defaulting back to old logic). BUG=None TEST=./update_chromeos_llvm_hash.py produced CL:2912507 without specifiying chroot_path manually Change-Id: Idb6dfc18a6f7a95c36eba4209dc43e08e373d6e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2912956 Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-05-25llvm_tools: Fix lint warnings in llvm update toolsRyan Beltran
This CL fixes some glint errors that were causing repo upload to reqiure a no-verify flag, it also includes yapf formatting. BUG=None TEST=Reran unit tests in affected files Change-Id: Ifa9827f204d2b7f1973a901722e0f5390ef850aa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2912511 Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-05-25llvm_tools: llvm version detection for roll toolsRyan Beltran
This CL implements version detection for update_chromeos_llvm_hash so that uprevs will automatically get the correct major version in the llvm ebuild. BUG=b:186802799 TEST=Updated unit tests and ran tools manually Change-Id: Id3a21ff7f708ce38303e27202428fb3bb519bafe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2910173 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org> Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
2021-05-25update_kernel_afdo: Check last week profilesDenis Nikitin
The script handles Monday differently which make it failing when profiles are not uploaded yet. Instead we need to check profiles updated within the last week so we can safely run the script any day given that profiles are updated weekly. BUG=None TEST=./afdo_tools/update_kernel_afdo Change-Id: I15489e8462c0fbceb9a73c3e3bec3027e26b18d4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2915677 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2021-05-24toolchain-utils: Remove uses of "readelf --debug-dump=info"Caroline Tice
Now that we have switched to DWARF v5, using 'readelf --debug-dump=info' no longer works. This CL replaces such uses with llvm-dwarfdump instead. BUG=b:186027147 TEST=Verified manually that the commands are equivalent. Change-Id: Ib9ced19aad729c6e24bf5b0714b53c761f55d868 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2914600 Reviewed-by: Jordan R Abrahams <ajordanr@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org> Auto-Submit: Caroline Tice <cmtice@chromium.org> Commit-Queue: Manoj Gupta <manojgupta@chromium.org>
2021-05-19Bisection: add better support for Chrome.Jian Cai
This adds custom path for Chrome, and calls deploy_chrome instead of cros_deploy. Also adds --use_flags and --noreboot options. BUG=b:188061539 TEST=Verified locally Change-Id: Id7ca51199ac7877df57632258e87dab3612113c5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2894357 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-05-15afdo_tools: Improve update_kernel_afdo scriptDenis Nikitin
By default the script now will create a commit and give a prompt on how to submit the change. Neither sync or clean-up needed to submit the change. The new workflow doesn't touch existing checkout and ignores (and keeps) any local changes. Without arguments the script tries to update metadata in all channels: canary (main), beta and stable. To update afdo metadata in specific channel run: ./update_kernel_afdo canary|beta|stable. BUG=None TEST=afdo_tools/update_kernel_afdo produces 3 commits in release-R92, release-R91 and release-R90 Change-Id: I61c8c743a4634d2ab4e4837f8a31a31a6cea2c2a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2872860 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org>
2021-05-15llvm_tool: make either --sha or --differential required.Jian Cai
This fixed the following error when only --sha or --differential is used. TypeError: can only concatenate list (not "NoneType") to list BUG=b:187554374 TEST=get_upstream_patch.py --chroot_path <chroot> --start llvm --sha <sha> TEST=get_upstream_patch.py --chroot_path <chroot> --start llvm --differential <rev> TEST=get_upstream_patch.py --chroot_path <chroot> --start llvm Change-Id: Ie50e1c081a6a41859d7e4db7a2d815e48b84fa3d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2898172 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2021-05-14afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: Iae55344ec782df0043f2ff12077bb1ee90c572cc Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2897950 Tested-by: Denis Nikitin <denik@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2021-05-10llvm_tool: support differential reviews in the cherry-pick tool.Jian Cai
Rename cherrypick_cl.py to get_llvm_upstream.py, and add --differential option for creating local patches based on differential reviews. This should help testing experimental Clang/LLVM patches on ChromeOS. BUG=chromium:1202311 TEST=Successfully run the script with --sha $SHA --differential $DIFFERENTIAL_REVISION Change-Id: I7bd1704d1079352db52fc4690ef453436fe854de Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2861111 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2021-05-07crosperf: update default remotesDenis Nikitin
Replace chromeos2-row10-rack9-host1 bob machine. The new name is chromeos6-row3-rack13-host15. Replace chromeos2-row10-rack9-host21 elm with chromeos6-row14-rack15-host21 BUG=b:186870515, b:185164408 TEST=cros shell chromeos6-row3-rack13-host15.cros TEST=cros shell chromeos6-row14-rack15-host21.cros Change-Id: I6030b6ec2e5dff723a72561daa1b3c3b13bd4ba2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2876366 Reviewed-by: Caroline Tice <cmtice@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2021-05-07afdo_metadata: Publish the new kernel profilesDenis Nikitin
Update chromeos-kernel-3_18 Update chromeos-kernel-4_4 Update chromeos-kernel-4_14 Update chromeos-kernel-4_19 Update chromeos-kernel-5_4 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator Change-Id: I5f773fca63c33e9e7e2346c6e689f5eab47c372a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2878856 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>