aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-08-03llvm_tools: add a tool to bisect clang crashesJian Cai
Add a tool that downloads clang crash diagnoses from chrome-toolchain-artifacts/clang-crash-dignoses and send them to 4c server for bisection. BUG=chromium:1056904 TEST=local tests Change-Id: I75081259705c236a20173fc591d080c6b0504cc5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2325008 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-07-31default_remotes: Update toolchain DUT namesTiancong Wang
BUG=b:153872557 TEST=None Change-Id: Ibc9f16d253ee9bd113fc654846462e647dc0594c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2327953 Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org> Auto-Submit: Tiancong Wang <tcwang@google.com>
2020-07-30compiler_wrapper: add -fexperimental-new-pass-managerJian Cai
LLVM is currently build with DENABLE_EXPERIMENTAL_NEW_PASS_MANAGER=ON on Chrome OS. This is however not reflected in clang crash diagnoses. Adding -fexperimental-new-pass-manager to help with reproducibility on 4c. BUG=chromium:1111103 TEST=CQ tests. Change-Id: Ie01431dff397e982469e29c9132e21374354762d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2327414 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-07-29llvm_tools: clarify that syncing all of llvm is only done onceGeorge Burgess IV
There was some confusion about the intended frequency of LLVM syncs. Adding a bit to the "syncing" message should hopefully clear that up. BUG=None TEST=None Change-Id: I2454267602d9eaab79073882b172d61b3cb98daa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321565 Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: Luis Lozano <llozano@chromium.org>
2020-07-28llvm_tools: check for uncommited changes before cherry-picksJian Cai
Exit when uncommited changes in chromiumos-overlay repo is detected. BUG=chromium:1057428 TEST=local tests. Change-Id: I6dacfb67028036b415672c8fba622b49c4ae8b76 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321560 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org>
2020-07-28afdo_tools: Update script to sort profiles by timestampTiancong Wang
Our update_kernel_afdo tries to get all the profiles with gsutil. However, the command gives results by sorting the profile name, so the last profile is not necessarily the newest. A counter example is: R86-13310.3-1594633089.gcov.xz appears after R86-13310.18-1595237847.gcov.xz So this patch sorts the results of gsutil by the timestamp and grep all the master profiles (otherwise we might get some beta/stable profiles). BUG=None TEST=Tool can be used to generate kernel_afdo.json CL Change-Id: I9c9f6ee2ab446f5e07ea577e11f0c3d562bff5e3 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321122 Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-07-27afdo_metadata: Update kernel AFDO profilesTiancong Wang
Update chromeos-kernel-3_18 to R86-13310.26-1595842968 Update chromeos-kernel-4_4 to R86-13352.0-1595842406 Update chromeos-kernel-4_14 to R86-13310.26-1595842760 Update chromeos-kernel-4_19 to R86-13354.0-1595842495 BUG=None TEST=None Change-Id: I329100ceb860288c95d6abbf71270eda774f126f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321277 Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Tiancong Wang <tcwang@google.com>
2020-07-27llvm_tools: remove future importGeorge Burgess IV
Now that we're guaranteed to be on py3, this isn't needed. Mostly doing this to test a crbug feature. Fixed: 1109998 BUG=chromium:1109998 TEST=None Change-Id: I1f5d0c9c7c1297e9281be07ced4127e42546b3c8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2321109 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Denis Nikitin <denik@chromium.org>
2020-07-24compiler_wrapper: Updated instructions for updating the wrapperinglorion
This change adds some more details on how to test and commit changes to the compiler wrapper. BUG=None TEST=Followed the steps locally to verify that they work. Change-Id: I5a3d644e92fd94ed3792a59a30f39db08053390d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2305371 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Jian Cai <jiancai@google.com>
2020-07-24rust_tools: add a monitor for upstream gentoo commits + rust releasesGeorge Burgess IV
Apparently it's useful to watch upstream Gentoo's patches to dev-lang/rust, and it'd be nice in general if we were pinged for new Rust stable releases. This CL adds a tool to handle the alerting of all of that for us. BUG=None TEST=Ran in a few different ways with `--skip_email` Change-Id: Ie972872d597870c715266f88df50812b55e30c75 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2314745 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-07-22compiler_wrapper: add -clang-tidy-flag supportGeorge Burgess IV
This CL adds support for specifying compiler flags that're meant to be passed only to clang-tidy. This allows for easier local experimentation with clang-tidy by users. BUG=chromium:982944 TEST=`WITH_TIDY=1 emerge-amd64-generic biod` with custom cflags; cq+1 on crrev.com/c/2308774 Change-Id: I654559d14a78ade4920fe37757fb5b249a997290 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2309152 Reviewed-by: Caroline Tice <cmtice@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-07-21afdo_metadata: Publish the new kernel profilesLuis Lozano
Update chromeos-kernel-3_18 to R86-13310.18-1595237847 Update chromeos-kernel-4_4 to R86-13333.0-1595237618 Update chromeos-kernel-4_14 to R86-13310.18-1595237997 Update chromeos-kernel-4_19 to R86-13329.0-1595238172 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator. Change-Id: I6171e28a5beff90a66b70bacc415679a48c23371 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2311358 Commit-Queue: Luis Lozano <llozano@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Luis Lozano <llozano@chromium.org> Auto-Submit: Luis Lozano <llozano@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-07-20Put reference filters on 'git ls-remote'.Allen Webb
This saves time and bandwidth expecially as the number of references scale up with uploaded CLs. BUG=None TEST=CQ passes Change-Id: Idf0e9eea97bc533ec21f29cfd8267a260f7322ef Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2302949 Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Allen Webb <allenwebb@google.com> Tested-by: Allen Webb <allenwebb@google.com>
2020-07-18compiler_wrapper: rename update_compiler_wrapper.shJian Cai
Rename the script to install_compiler_wrapper.sh to avoid confusion with chromiumos-overlay/sys-devel/llvm/files/update_compiler_wrapper.sh. BUG=None. Test=None. Change-Id: I39bbc3dc4a63fa480c394f2e92c1723033cdc321 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2304726 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Bob Haarman <inglorion@chromium.org>
2020-07-14compiler_wrapper: remove -grecord-gcc-switchesBob Haarman
-grecord-gcc-switches causes the compiler and compiler flags to be stored in the produced debug information. This causes Goma builds to be non-deterministic, because the compiler path differs depending on whether the compiler was run locally or on Goma. This, in turn, causes cache pollution and needless work. Since we are not in fact using the information stored by -grecord-gcc-switches, this change disables it. We can re-enable it when we want to start using the information, provided we come up with another way to avoid the issues described earlier. BUG=chromium:1103065 TEST=Build an object file in chromeos-chrome and check that info is absent Change-Id: Ib8022a3a1baf2e4b5d3d9d1453deb67f539baff4 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2290624 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-07-13afdo_metadata: Update kernel AFDO profilesJian Cai
Update chromeos-kernel-3_18 to R86-13310.3-1594633089 Update chromeos-kernel-4_4 to R86-13333.0-1594632882 Update chromeos-kernel-4_14 to R86-13308.0-1594632874 Update chromeos-kernel-4_19 to R86-13329.0-1594633362 BUG=chromium:1081332 TEST=None. Change-Id: Icd1f2478c1e8b7d7d03d9fabc2808bc81ded81d7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2296122 Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Jian Cai <jiancai@google.com> Tested-by: Jian Cai <jiancai@google.com>
2020-07-09afdo_metadata: Update kernel AFDO profilesDenis Nikitin
Update chromeos-kernel-3_18 to R86-13308.0-1594028349 Update chromeos-kernel-4_4 to R86-13308.0-1594028015 Update chromeos-kernel-4_14 to R86-13308.0-1594028311 Update chromeos-kernel-4_19 to R86-13310.6-1594027984 BUG=None TEST=None Change-Id: Ia9c0386c41248346eda403eddf93539c9fd4e743 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2289901 Tested-by: Denis Nikitin <denik@chromium.org> Auto-Submit: Denis Nikitin <denik@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-06-30presubmits: respect CHROMEOS_ROOT_DIRECTORY when entering the chrootGeorge Burgess IV
BUG=chromium:1100659 TEST=Ran presubmits inside of the CrOS tree, and outside with CHROMEOS_ROOT_DIRECTORY set. Change-Id: I119d13f8f7b6b0f8a1c94750fe5e90be5ad952be Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2274728 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-30presubmits: add types to check-presubmit.py.George Burgess IV
Since presubmits handle py3 gracefully now && we're starting to add types in many places, it seems worth it to add these for better understandability in the future. No functional change is intended. BUG=chromium:1100659 TEST=Ran the presubmits. Change-Id: If4134b4d10b0f3692a52803e12c8e503b4574be5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2274727 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-29Update AFDO kernel profiles.Caroline Tice
(Weekly sheriff "workaround".) BUG=None TEST=None Change-Id: I7b4ca0213a28bde81ad83e9aab1ae8bf1dc5925e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2274717 Reviewed-by: Tiancong Wang <tcwang@google.com> Reviewed-by: Bob Haarman <inglorion@chromium.org> Commit-Queue: Caroline Tice <cmtice@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org>
2020-06-29Update owners fileManoj Gupta
Reflect current members of toolchain team. BUG=None TEST=None Change-Id: If6582da1f4352e3fdff415870d86a28c4fe92853 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2274096 Reviewed-by: Bob Haarman <inglorion@chromium.org> Tested-by: Manoj Gupta <manojgupta@chromium.org>
2020-06-29cros_util: fix up namingTiancong Wang
Since these two scripts are tracking upstream Chrome OS repos, fixing naming is a bit harder. This patch creates a variable to hold the name of the main branch, so it's easier to fix these files in case any future name fixing on upstream. Also run `yapf` during presubmit. BUG=chromium:1099035 TEST=None Change-Id: Ic72a213dadf12b382a76fe50d48cde6fcecc3b25 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2270728 Reviewed-by: Caroline Tice <cmtice@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>
2020-06-29cros_utils: clean up unused file/codeTiancong Wang
As an effort to fix up naming in crbug.com/1099035, we can just remove the unused code and variable in these two files. BUG=chromium:1099035 TEST=buildbot_utils_unittest.py pass after the removal. Change-Id: Id4c12aeab9bf44b67e58b11c4297ceafe441421d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2270723 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Caroline Tice <cmtice@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>
2020-06-26compiler_wrapper: redirect clang crash dignosesJian Cai
Redirect all diagnoses of clang crashes to a dedicated directory using fcrash-diagnostics-dir so we can upload these files to the cloud. The flag was added to clangPostFlags to overwite redirection done on package level. BUG=chromium:1056904 TEST=None Change-Id: I78bfc77d7f3af8556b4308f2e71407d627627747 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2251038 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Jian Cai <jiancai@google.com> Tested-by: Jian Cai <jiancai@google.com>
2020-06-25debug_info_test: fix up namingGeorge Burgess IV
This replaces 'whitelist' with 'allowlist' in debug_info_test's file names, as a follow up to the previous NFC CL's cleanups. BUG=chromium:1099035 TEST=CQ+1 Change-Id: I0e99fa230a78251a6a555941db6f4758d0cf9367 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2265050 Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2020-06-25debug_info_test: replace whitelist with allowlistGeorge Burgess IV
This CL tweaks language to better reflect the intent that's meant to be conveyed, per go/chromium-project-code-inclusion . This change is meant to trivially be a local, functional nop; renaming extensions will be a later CL. BUG=chromium:1099035 TEST=CQ+1 Change-Id: Iaee8b96c54660b4ebb4363a230e768c3da3f885a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2265049 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org> Commit-Queue: George Burgess <gbiv@chromium.org>
2020-06-24llvm_tools: fix up namingGeorge Burgess IV
This replaces `master` with `main` where possible, per the linked bug. Since upstream LLVM has a `master` branch, and there appears to be general support in FOSS for swapping to a different naming convention (`main`), this also makes LLVM's upstream branch name into a constant that we can easily flip if needed. BUG=chromium:1099035 TEST=Unittests Change-Id: I0844cfb4fec00f761e39b0443299daa918fa37ab Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2265047 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-24android_merge_from_upstream: fix up namingGeorge Burgess IV
This replaces `master` with `main` where possible, per the linked bug. It also switches to a more concise way of making sure we're never on the local branch. BUG=chromium:1099035 TEST=Ran the script in android-llvm Change-Id: I0e656057acec857a2c91480cbd822a5bc6778563 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2265045 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-24afdo_tools: add update_kernel_afdo scriptBob Haarman
This adds a script, update_kernel_afdo, which automatically updates afdo_metadata/kernel_afdo.json. The changes are then shown with git diff and can be committed with git commit after review. BUG=None TEST=Ran the script, including with some variations to see the failure modes. Change-Id: Ibe473a80a874e32ddcb9c292e1c018fac72e7292 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2261732 Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com>
2020-06-24wrapper: add support for Tricium clang-tidyGeorge Burgess IV
This adds a special `WITH_TIDY` mode that's specifically for use with Tricium. Crucially, this has us dump diagnostics as YAML, and stash a fair amount of information about each clang-tidy invocation in the same place where we dump YAML. These bits are intended to be used by the script added in I54ecc88d38faa4bfd502d632d3fd5c74734dabc0. BUG=chromium:1035951 TEST=Ran on all platform2 packages `emerge`able on amd64-generic. Change-Id: I63ef06dc6ddc016ebb6ba0c4a0cea8320fef7415 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2245785 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-24afdo_metadata: Publish the new kernel profilesBob Haarman
Update chromeos-kernel-3_18 to R85-13295.0-1592818714 Update chromeos-kernel-4_4 to R85-13295.0-1592818619 Update chromeos-kernel-4_14 to R85-13295.0-1592818845 Update chromeos-kernel-4_19 to R85-13295.0-1592818980 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator. Change-Id: I67a06d70eb03b4d7d43d3ff7716bc13e758f4368 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2261738 Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Bob Haarman <inglorion@chromium.org> Tested-by: Bob Haarman <inglorion@chromium.org>
2020-06-20crosperf: Save cpuinfo and top logsDenis Nikitin
Copy cpuinfo and top logs into results directory. BUG=None TEST=tested on local DUT. Change-Id: Ic868894d681db4a27f78e378945e1e565d4a5cc7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2255007 Reviewed-by: Zhizhou Yang <zhizhouy@google.com> Commit-Queue: Denis Nikitin <denik@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2020-06-20wrapper: fork() before exec()ingGeorge Burgess IV
This CL is a wild guess that tries to work around what appears to be an incredibly rare Go runtime bug (https://github.com/golang/go/issues/24484). As mentioned on the chromium bug, apparently execve is taking a while... somehow, and `pthread_create` fails with `EAGAIN` concurrently. So the intent here is to `fork()` + `exec()`. `fork()` will a) dispose of the thread that's trying to `pthread_create` b) isolate the `exec` in its own process, so the parent's runtime can spin up as many threads as it likes in peace. This slows down an 'ideal' kernel build (aka a build where ccache is a 100% hit rate, so the compiler wrapper's overheads are very pronounced) by ~4% in my measurements. BUG=chromium:1095528 TEST=sdk tryjob; CQ Change-Id: I73e1b238738b74c85def4709c09610f586fb04e5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2252552 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-19wrapper: print android-llvm@ when using the Android wrapper.George Burgess IV
Otherwise, the wrapper might say: ``` Internal error. Please report to chromeos-toolchain@google.com. ``` to Android developers in some cases. BUG=b:159291805 TEST=`go test` Change-Id: I9a96068f02a2c6ce5e251c8754e267dfb1a30db1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2252553 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-19wrapper: tweak "toolchain doesn't exist" checks in the updaterGeorge Burgess IV
When stderr is connected to a tty, equery will output things if it fails due to being unable to find a package. When it's not, equery will output nothing on failure. BUG=None TEST=./update_compiler_wrapper.sh Change-Id: I7d16d6a531f1f28fc0157873176d41f6881cd04b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2252550 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-15wrapper: allow Android to specify their own llvm-flagsGeorge Burgess IV
Given the discussion on https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/1330695, it sounds like our Android friends want to be able to tweak llvm-next flags without going through chromium-review + having to pull their changes back into Android. This CL allows them to make changes to their llvm-next flags entirely locally, and isolates CrOS' llvm-next flags from Android's. BUG=None TEST=Built the wrapper for CrOS and Android. Change-Id: If1bcfe762a4f368db9816557752651edc877f497 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2247003 Reviewed-by: Pirama Arumuga Nainar <pirama@google.com> Reviewed-by: Tiancong Wang <tcwang@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-15afdo_metadata: publish the new kernel profiles (6/15)zhizhouy
Update chromeos-kernel-3_18 to R85-13280.0-1592213569 Update chromeos-kernel-4_4 to R85-13280.0-1592213800 Update chromeos-kernel-4_14 to R85-13280.0-1592214019 Update chromeos-kernel-4_19 to R85-13280.0-1592214191 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator. Change-Id: I01a53b0a7bc09eae07c21f134a8ac90cc357eb58 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2246535 Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Zhizhou Yang <zhizhouy@google.com> Tested-by: Zhizhou Yang <zhizhouy@google.com>
2020-06-11[android wrapper] Write warning report to stdout on AndroidPirama Arumuga Nainar
Write the warning report to stdout (surrounded by a tag <LLVM_NEXT_ERROR_REPORT>). Currently OUT_DIR only gets passed to local compiles, and so remote compiles can't do the double build. Even if they write to /tmp, RBE or Goma won't know to copy them as part of the output. Packaging the warnings reports is a problem as well since the additional build step needs extra surgery in soong (it's not possible to add a dangling, optional build step in Ninja). Writing the reports to stdout conveniently solves both these issues. We can just scrape the reports with a script. Originall reviewed at https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/1328433/2. BUG=None TEST=build master with r391452 and check progress past new errors. Change-Id: I5f1f71faba002836067a82f6aa4b26d5ba8b7b99 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2239371 Commit-Queue: Pirama Arumuga Nainar <pirama@google.com> Tested-by: Pirama Arumuga Nainar <pirama@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-06-11[compiler-wrapper] Handle double build for clang-tidyPirama Arumuga Nainar
For clang-tidy, the equivalent of -Werror is --warnings-as-errors (or -warnings-as-errors). The error message will also have "warnings-as-errors". So, 1. Trigger double-build if "warnings-as-errors" is in *stdout*. Clang-tidy will also fail if clang issues a Werror diagnostic. In this case, we'd get "clang-diagnostic" in stdout. Do a re-build in both these cases. 2. Remove flags containing "-warnings-as-errors" in the rerun. Unlike -Werror/Wno-error, clang-tidy doesn't have a -no-warnings-as-errors to override a prior -warnings-as-errors. Existing double-build processing will disable -Werror flags to Clang. Originally reviewed at https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/1322200. BUG=None TEST=go test Change-Id: I18de245972da81e0ac3600f9098b71cec82e9e96 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2239370 Commit-Queue: Pirama Arumuga Nainar <pirama@google.com> Tested-by: Pirama Arumuga Nainar <pirama@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-06-08afdo_metadata: Remove the entry for 3.14Tiancong Wang
Since we do not update AFDO profiels for kernel 3.14 anymore, there is no need to keep the entry. BUG=None TEST=None Change-Id: If39a5beabd246a703c3aeb458a27ec450a88dffe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2236653 Reviewed-by: Tiancong Wang <tcwang@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>
2020-06-08afdo_metadata: Publish new kernel profilesTiancong Wang
Update chromeos-kernel-3_18 to R85-13261.0-1591608892 Update chromeos-kernel-4_4 to R85-13261.0-1591609702 Update chromeos-kernel-4_14 to R85-13261.0-1591609294 Update chromeos-kernel-4_19 to R85-13261.0-1591608770 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator. Change-Id: Iffe88879b401d79ea03d4edcf9ebac6849010ed1 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2236652 Commit-Queue: Tiancong Wang <tcwang@google.com> Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Tested-by: Tiancong Wang <tcwang@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org>
2020-06-05crosperf: Include PID in topstatsDenis Nikitin
Top statistics was showing commands which could combined multiple processes. To include PID in topstats we need to split the commands into separate processes. The process PID is appended to the command name in topstats. The top chrome process is the renderer process running the benchmark. The list size depends on the number of non-chrome processes which we limit to 5. For example with 10 chrome processes in the top with 10 following non-chrome processes the list will show 15 entries. BUG=None TEST=Tested on eve, bob and cheza. Change-Id: Ibf1e61c8cb522aba13cd51a590bb7e24597f66a6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2227626 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Denis Nikitin <denik@chromium.org>
2020-06-02pgo_tools: update the merge script to work with recipe and buildbucketzhizhouy
Since the scheduled builder for toolchain team has been migrated to recipe and also we are launching builders manually with `bb` command, this CL updates the PGO merging and uploading script to make it work with the change. BUG=chromium:1076624 TEST=Tested with 3 different modes and exception raising. Change-Id: I993d1cbbf7ba66502e6bc6b8d82bd97cfda67b1e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2225841 Tested-by: Zhizhou Yang <zhizhouy@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-06-02compiler_wrapper: add a `static` optionGeorge Burgess IV
If this option is specified, we'll build a fully static binary, rather than having it link with libc. If unspecified, our behavior shouldn't differ from what we have today. BUG=chromium:1087435 TEST=CQ Change-Id: If3939336e4e10d0279501f56ffbed8272a5f546c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2219362 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-06-02afdo_metadata: Publish the new kernel profilesManoj Gupta
Update chromeos-kernel-3_18 to R85-13099.14-1591004759 Update chromeos-kernel-4_4 to R85-13099.14-1591004478 Update chromeos-kernel-4_14 to R85-13099.14-1591004258 Update chromeos-kernel-4_19 to R85-13099.7-1590399205 BUG=None TEST=Verified in kernel-release-afdo-verify-orchestrator. Change-Id: Ib09c2089219cc6f1a3d2962bf91605855ed63a1f Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2225443 Tested-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Tiancong Wang <tcwang@google.com> Auto-Submit: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Tiancong Wang <tcwang@google.com> Commit-Queue: Tiancong Wang <tcwang@google.com>
2020-05-28results_cache: also `return` instead of `raise`ingGeorge Burgess IV
Hasty CLs are hasty. What can I say? ¯\_(ツ)_/¯ Zhizhou says we want to 'succeed' in this case with a log message, though. BUG=chromium:1079048 TEST=Unittests Change-Id: I70ea71dae42d7bee069d7311e14059061c5fa0a9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2220215 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: George Burgess <gbiv@chromium.org>
2020-05-28crosperf: fix a bug where we tar the world in results_cacheGeorge Burgess IV
This consumes potentially tons of disk. Also we'll raise in this situation from now on, since it never seems to be what we want. BUG=chromium:1079048 TEST=Unittests Change-Id: Ie1933b5ff0b939777d7e1d6d35dd5a29039ca07a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2220291 Reviewed-by: Zhizhou Yang <zhizhouy@google.com> Tested-by: George Burgess <gbiv@chromium.org>
2020-05-28crosperf: fix compress dir for tast testszhizhouy
Tast results directory has different name from test_that results, causing a bug when compress_results option is on. This CL fixes it. BUG=chromium:1079048 TEST=Tested with tast and test_that benchmarks in crosperf Change-Id: I06e6615c748aeeb2fc4576f4e1bcfdad93526962 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2218541 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Zhizhou Yang <zhizhouy@google.com> Tested-by: Zhizhou Yang <zhizhouy@google.com>
2020-05-28crosperf: do not pass -p for ssh by defaultzhizhouy
The default value of FLAGS_ssh_port has been changed in an earlier CL:2202616, causing crosperf failures when running ssh. According to CL:2209173, the system will help decide the port to use for ssh, so we don't need to specify it explicitly in our command. BUG=None TEST=tested with lab machines with crosperf Change-Id: Ie40dc1a21452b01cb0643e191110f03e009b7c73 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2218540 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Commit-Queue: Zhizhou Yang <zhizhouy@google.com> Tested-by: Zhizhou Yang <zhizhouy@google.com>
2020-05-27afdo_redaction: Implement a script to remove cold functions in AFDO profiles.Tiancong Wang
Implement a script to keep removing cold functions in AFDO profiles until the target is met. The result will be a smaller profile that can possibly result in smaller binary size. Also support passing the source CWP and benchmark profiles to analyze how many functions are trimmed from the source profiles, etc. The script will be used in experimental AFDO pipeline first, no impact on prod profiles so far. BUG=chromium:1062014 TEST=unittest pass Change-Id: I651ce3f47ee8061557e3f1cdc83fd770e1b2b9ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2216445 Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Tiancong Wang <tcwang@google.com> Tested-by: Tiancong Wang <tcwang@google.com>