aboutsummaryrefslogtreecommitdiff
path: root/compiler_wrapper
AgeCommit message (Collapse)Author
2020-02-06compiler_wrapper: add update_compiler_wrapper.shJian Cai
Add a script that rebuilds and installs the compier wrappers for debugging. BUG=chromium:1042452 TEST=Verified locally. Change-Id: If0b26132c88b8885fbc411cf51ed27aa9dd8f835 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2037909 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Tested-by: Jian Cai <jiancai@google.com>
2020-01-24compiler_wrapper: strip newline char from resource dir.Manoj Gupta
The resource dir value returned by calling clang has a new line character. This breaks running clang with "-Xclang-path=/path/to/<clang_dir>" functionality as the resource directory with this new line does not exist. BUG=chromium:1044790 TEST=compilation with "-Xclang-path=/path/to/<clang_dir>" works. Change-Id: I0ef31108719aed02a433aff3e751e961892dd15a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2017844 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-01-22compiler_wrapper: add python search pathJian Cai
Exporting BISECT_STAGE to POPULATE_GOOD currently makes the wrapper fail to build any files with the error message of "ModuleNotFoundError: No module named 'bisect_driver'". This patch fixes the issue by adding search path for bisect_driver.py explicitly. BUG=chromium:1042452 TEST=verified locally. Change-Id: I7c73459b377d9011c7087a9e241db378ffb216e8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/2003947 Tested-by: Jian Cai <jiancai@google.com> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2020-01-13compiler_wrapper: strip march=tremont for gccJustin TerAvest
As for goldmont, tremont is too new a march for the version of gcc that is used. Thus, the flags processor for gcc should translate that request back to silvermont. This is needed to use the new march with clang. BUG=b:147468258 TEST=go test Change-Id: Idc6b04f40fc7f0a663b1ff8ff57df109a2193dad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1995313 Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Justin TerAvest <teravest@chromium.org> Commit-Queue: Justin TerAvest <teravest@chromium.org> Tested-by: Justin TerAvest <teravest@chromium.org>
2019-11-01toolchain_utils: Remove comparison to old wrapper from compiler_wrapper.Tobias Bosch
BUG=chromium:773875 TEST='go test' passes Change-Id: Iecbe15067bf37fd86fbb8a907d42df32288821d6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1884701 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-10-31toolchain_utils: Upgrade compiler wrapper for llvm r370808.Caroline Tice
BUG=chromium:1001317 TEST=In progress Change-Id: I78481d2ca3f555d670e7e5972e547f94d2be22a8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1888745 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tobias Bosch <tbosch@google.com> Commit-Queue: Caroline Tice <cmtice@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org>
2019-10-29toolchain_utils: Add post-user flags to compiler_wrapper.Caroline Tice
This adds the ability to add flags to the compiler command that cannot be overridden by the user (e.g. when we MUST turn off a warning). It adds '-Wno-implicit-int-float-conversion as such a flag for llvm-next. BUG=chromium:1018778 TEST='go test' passes Change-Id: Ic57747be9719be83d3c5f7d7b4f4263f69f4de61 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1881725 Reviewed-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org> Commit-Queue: Caroline Tice <cmtice@chromium.org> Tested-by: Caroline Tice <cmtice@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-10-17compiler_wrapper: remove WITH_TIDY support for android.Tobias Bosch
Also consolidates most of the android specific logic into one place so it's clear which flags are used and which ones are not. Also detects wrapping of clang-tidy for future special casing. BUG=chromium:773875 TEST=unit tests, golden tests TEST=android's test_compiler.py --with-tidy Change-Id: Ic83340ba63ec3ea4c3c174069d3dc017ecbcdd72 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1866603 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-10-11compiler_wrapper: Disable new pass manager with sanitizers+coverage.Manoj Gupta
Useing sanitizers and coverage together in new pass manager causes clang to crash. Avoid the crash by disabling new pass manager in these cases. BUG=chromium:1013622 TEST=go test Change-Id: Ifc787e9f288891e3e1b68c791f0ddaa508d8c816 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1856379 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-10-11compiler_wrapper: Replace UserHomeDir uses.Tobias Bosch
os.UserHomeDir is not available in the Go version in Cros SDK. Replace by explicit env value of "HOME". BUG=None TEST=go test Change-Id: Ia0da2d9bce042510fcc1b14cb074dadfe4d0f2f2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1856381 Commit-Queue: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tobias Bosch <tbosch@google.com> Tested-by: Manoj Gupta <manojgupta@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
2019-10-11Android wrapper: Support wrapping clang-tidyTobias Bosch
Android uses the wrapper also for clang-tidy. TEST=golden tests BUG=chromium:773875 Change-Id: I17534b44b1bc7e6b60002f2660966f27d70301ad Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1854899 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-10-10toolchain-utils: Enable poison system warning in llvm-nextDenis Nikitin
Add "poison-system-directories" warning in llvm-next builds. Treat as an error. BUG=None TEST=not tested Change-Id: Iaca80da6f38d27fe8e98a67c6701a7884d2ca5b2 Reviewed-on: https://chromium-review.googlesource.com/1839120 Tested-by: Denis Nikitin <denik@chromium.org> Commit-Ready: Denis Nikitin <denik@chromium.org> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Tobias Bosch <tbosch@google.com>
2019-10-08Android wrapper: Support build.py without bundle.pyTobias Bosch
For Android, we don't want to first clone the sources to a target directory in order to build the wrapper. TEST=manually ran the script. BUG=chromium:773875 Change-Id: I6b45868b8fb06274c29ce7e8dfc3d40f9a2f6aa5 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1834484 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-10-02Android wrapper: Support compile with fallback.Tobias Bosch
The old android wrapper supports to use a fallback compiler in case of errors. This replicates this logic. See https://cs.corp.google.com/android/toolchain/llvm_android/compiler_wrapper.py. BUG=chromium:773875 TEST=unit test, golden tests comparing to old wrapper Change-Id: Iff7281e6e21c4834f9a4493884ed7b3d66b87967 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1833898 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-30Android wrapper: Support @param files for bisection.Tobias Bosch
BUG=chromium:773875 TEST=unit test Change-Id: I94f99977f823e098aae39c79b9e01603fd84f5fa Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1832309 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-30Android wrapper: Add support for --gomacc-path.Tobias Bosch
This is used by Android. To keep the wrappers in sync, we also support it on ChromeOS. BUG=chromium:773875 TEST=golden tests and comparison against old andorid wrapper. Change-Id: I02d7456ead1c94327eb6810aeef4d106596518ec Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1831789 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-09-30Initial support for the android wrapper.Tobias Bosch
BUG=chromium:773875 TEST=golden tests and comparison against old andorid wrapper. Change-Id: Ic11be4bc1399adcbf9c50134928aceda45e936ca Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1831787 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-26Support extra args for llvm next.Tobias Bosch
Also removes the capability of defining the old wrapper path now that we are getting close to landing it. BUG=chromium:773875 TEST=golden tests and comparison against old wrapper. Change-Id: I543ddb1651edf2a269917f8afb5a667129bc3561 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1826986 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-17Allow to pass in argv0 from ld.so via an env variable.Tobias Bosch
This is needed for the standalone toolchain that creates wrappers for all dynamically linked binaries that calls the binaries via `ld.so`. As `ld.so` does not support forwarding argv0, we are using this env variable in the wrapper script as workaround. See also https://chromium-review.googlesource.com/c/chromiumos/chromite/+/1790440 BUG=chromium:1003841 TEST=verified manually that the standalone toolchain works with the TEST=new wrapper. Change-Id: I7b4cc056286c2da8a9c34d1cb79720b424fc2f25 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1801198 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-16clang wrappers: Use LLD as the default linker.Manoj Gupta
Match the changes to python wrapper in CL:1686078. Also add small fix for echo path, it should be /bin/echo instead of /usr/bin/echo. BUG=chromium:979909 TEST=go test Change-Id: I5e626febd5abab4f9824aba1e158f264bf75be9e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1803778 Tested-by: Manoj Gupta <manojgupta@chromium.org> Reviewed-by: Tobias Bosch <tbosch@google.com>
2019-09-13Use execve with properly merged env variables.Tobias Bosch
This reverts 478cfee03066d58ca3899753de95a58f35a96835 (Modify hostenv and use execv instead of execve). The original problem was actually that execve doesn't merge updates into the environment variables, in contrast to exec.Command. Now that we have our own merging logic (to e.g. support removal of variables), we can just use that. BUG=chromium:773875 TEST=emerge-kevin sci-libs/tensorflow Change-Id: I4a8412a73f4e79ad7b6d502602f442b2524efb06 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1804354 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-09-13Allow to remove env variables.Tobias Bosch
Previously, we only supported setting env variables to empty, but not to remove it. This lead to the case that we never removed the CCACHE_DISABLE env variable, which kept the ccache disabled, and caused a performance regression compared to the old wrapper as the new wrapper didn't use the ccache in this case. This cl also adds tests for the real exec and run commands to prevent regressions in these cases. BUG=chromium:773875 TEST=new unit tests TEST=performance analysis for TEST=emerge-veyron_jerry --nodeps chromeos-kernel-4_19 Change-Id: I5ca88ba8d7b05c3e12e292465fcd4ff9925b0344 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1802159 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-09-09Modify hostenv and use execv instead of execve.Tobias Bosch
This is needed so that the gentoo sandbox picks up changes to the SANDBOX_WRITE env variable correctly, which we update for ccache. BUG=chromium:773875 TEST=emerge-kevin sci-libs/tensorflow Change-Id: I6377c109f30071182b5af6948f320c7c53df4062 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1792228 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-09-09wrapper: add chmods/umasks to double-build bitsGeorge Burgess IV
counterpart of I8a92edb8ca7641e443564d20ac32fd78963d3254 BUG=chromium:914081 TEST=go test Change-Id: I29e22ebd0767d16c1d66bdf41857bf7c79ea11b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1792233 Tested-by: George Burgess <gbiv@chromium.org> Reviewed-by: Tobias Bosch <tbosch@google.com>
2019-09-06Use libc execve instead of syscall.ExecveTobias Bosch
Also create a dynamically linked binary. BUG=chromium:1000863 TEST=manual test against portage sandbox Change-Id: I36db7eac14466f41fbc1f0a41979039d8eaa1d83 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1789670 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-26Only resolve cmd path against $PATH if path does not contain a folder.Tobias Bosch
BUG=chromium:773875 TEST=unit test Change-Id: I442afcfac00bcdbdfa33b739087af12987c57584 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1772176 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-23Add docs how to update the ChromeOS wrappers.Tobias Bosch
BUG=chromium:773875 TEST=n/a Change-Id: Ie22f86d75799c3307636c11488774c40606281f7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1769478 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-22Capture spaces in arguments to the old shell wrapper.Tobias Bosch
BUG=chromium:773875 TEST=unit test, emerge chromeos-base/chromeos-ec Change-Id: I9287998dedab1a23f7f4ad06aa1cd7dcd75cc04b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1764627 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-22Always use /proc/self/cwd to get current directory.Tobias Bosch
We are not using os.getwd() as this sometimes uses the value of the PWD env variable. This has the following problems: - if PWD=/proc/self/cwd, os.getwd() will return "/proc/self/cwd", and we need to read the link to get the actual wd. However, we can't always do this as we are calculating the path to clang, and following a symlinked cwd first would make this calculation invalid. - the old python wrapper doesn't respect the PWD env variable either, so if we did we would fail the comparison to the old wrapper. BUG=chromium:773875 TEST=emerge-lakitu app-emulation/docker Change-Id: Ifc49ab4eed66121f6710b38cf8457173fb559204 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1764624 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-22Only resolve symlinks for wd for /proc/self/cwdTobias Bosch
This is important as we are calculating the path to clang sometimes relative, and resolving regular symlinked directories makes this calculation invalid. BUG=chromium:773875 TEST=executed the clang wrapper in a symlinked directory Change-Id: I695db983861dea9fd047fb0bdf265a732a184963 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1764505 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-21Support \ while capturing stdout / stderr.Tobias Bosch
Also don't store stdout / stderr in old wrapper if we are not mocking commands. BUG=chromium:773875 TEST=emerge app-text/openjade Change-Id: I54e2167f011e14a468aa7800d2d5aae13ecb0c61 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1764497 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-21Support symlinks as value of os.Getwd()Tobias Bosch
Also print the input command when the old and new wrapper differ. This happends when the wrapper is invoked like this: PWD=/proc/self/cwd x86_64-cros-linux-gnu-clang ... BUG=chromium:773875 TEST=emerge sci-libs/tensorflow Change-Id: Ic5441c05241ad07d10f60c90b7dbfaa60e8018dd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1764490 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-21Use a fixed tempdir for executing the old wrapper.Tobias Bosch
Needed as sometimes $TMPDIR requires shell invocation. BUG=chromium:773875 TEST=emerge dev-python/pygobject Change-Id: Ia6681b383ef2b026c4009c579190fe8736a7c4ec Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1763252 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-21Only tee stdin if a "-" was passed the compiler.Tobias Bosch
This allows to remove the workaround in env.Run, and fixes the bug in the workaround that it didn't return exit code errors correctly. BUG=chromium:773875 TEST=manually tested in the chroot. Change-Id: I486b30b65ba3ad6249aa89e82e292c66378187a2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1762345 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-21Support "gcc", "clang" as compiler namesTobias Bosch
BUG=chromium:773875 TEST=golden tests, emerge-lakitu sys-kernel/linux-headers Change-Id: I205059a9f61484caaf69ed340fd42a47531e00f8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1762344 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-20Fix old wrapper path for goden tests of gcc host config.Tobias Bosch
This reverts an accidental change from https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1760971 which ran the tests without comparing to the old wrapper. BUG=chromium:773875 TEST=ran golden tests while comparing to old wrapper. Change-Id: I735cf6be573b74ea6ca3eac43422ca15108407f8 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1762385 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-20Match old wrapper for ordering of -mthumb and -fno-stack-protectorTobias Bosch
BUG=chromium:773875 TEST=golden tests and compare to old wrapper Change-Id: Iac9f45390cbe6076d3e3851da85de7d27fe11ed7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1762376 Reviewed-by: George Burgess <gbiv@chromium.org> Reviewed-by: Luis Lozano <llozano@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-20Forward os.Stdin to child processes.Tobias Bosch
BUG=chromium:773875 TEST=unit tests, build glibc with compiler wrapper Change-Id: I0b5c1f5adaee18499b72747cd6042b00a9d52c1d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1760973 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-20Correctly parse eabi compiler names.Tobias Bosch
BUG=chromium:773875 TEST=unit tests, compile cross-armv7m-cros-eabi/newlib Change-Id: Ia98442a69b01cff87c52b6ac84dc39c47d5e998e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1760465 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-19Support calling old wrapper with utf8 in stdout/stderr.Tobias Bosch
BUG=chromium:773875 TEST=unit tests, build glibc with compiler wrapper Change-Id: I44df02ed46e72a10f444eb319ed8b51f0c6a3819 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1760972 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-19Store change id as version in the config.Tobias Bosch
This helps in debugging the wrapper. The version can be printed via the -print-config command. BUG=chromium:773875 TEST=unit test Change-Id: Ic6f84b4ccaa4a201473c408022d80c73f6ee7899 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1760971 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-16Allow arguments with spaces when comparing to the old wrapper.Tobias Bosch
BUG=chromium:773875 TEST=unit test Change-Id: Ib284463c7904ab4ac737c401b2b7928bbae98655 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1756215 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-16Fix build: Update goldensTobias Bosch
These change were accidentally added in crrev/c/1757222. The local presubmit didn't catch them as I had crrev/c/1754085 ontop in the branch. BUG=chromium:773875 TEST=unit test Change-Id: If8703ea3ff412135a36d76027b3393da044bf504 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1757087 Reviewed-by: George Burgess <gbiv@chromium.org> Tested-by: Tobias Bosch <tbosch@google.com>
2019-08-16Resolve wrapper path against path envTobias Bosch
BUG=chromium:773875 TEST=unit test Change-Id: I150eb18a5d765d43ee7a2341767ff41f6641c6ac Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1757222 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-15Pass the old wrapper path as a linker argumentTobias Bosch
BUG=chromium:773875 TEST=unit test and comparison to old wrapper Change-Id: I97cff81f2b42a01f82ba66668693b17a27c14672 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1754130 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-15Only evaluate one level of links for the linkerTobias Bosch
This matches the behavior of the old wrapper. BUG=chromium:773875 TEST=unit test and comparison to old wrapper Change-Id: Ie9c50a7f72c9a8b33b3b84005f759fba5131b68a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1754129 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-15Properly escape stdout / stderr of nested commandsTobias Bosch
BUG=chromium:773875 TEST=unit test and comparison to old wrapper Change-Id: I47fdac56a7b8d972ccb4015222b533cb5e1e37ba Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1754128 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-15Minor adjustments to bundle.py and build.pyTobias Bosch
Make sure to copy build.py Pass path of bundle.py to git log call, so that bundle.py can be called from any path. Also adds missing copyright header to bundle.README (this is checked when copying the readme into sys-devel/llvm/files) Removes pie from build.py as that doesn't work with gcc as linker. BUG=chromium:773875 TEST=unit test and comparison to old wrapper Change-Id: Iee28ebcb4bed59cc9e91d3bd29eefd04f76b196a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1754127 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-13Allow wrapper to build with cros sdk.Tobias Bosch
Cros sdk uses go version 1.11. BUG=chromium:773875 TEST=unit test Change-Id: Ib76cb21b47f24263e3c0f9fad6321192ad4cf801 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1752535 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>
2019-08-13Add more golden tests for wrapper pathsTobias Bosch
Especially for: - calling the wrapper with absolute path - calling the wrapper in a deep directory - calling a symlinked wrapper BUG=chromium:773875 TEST=unit test Change-Id: Ib01562d6c40d8d2ae0c439081fc04625663dcd07 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/toolchain-utils/+/1752524 Tested-by: Tobias Bosch <tbosch@google.com> Reviewed-by: George Burgess <gbiv@chromium.org>