diff options
author | Sadaf Ebrahimi <sadafebrahimi@google.com> | 2022-11-11 23:35:38 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-11 23:35:38 +0000 |
commit | 40214b48188358a80b7478bfff21d4814dd9177c (patch) | |
tree | 77dc031614745bb406dbd90cea9a082a1b5cdd54 /compiler_wrapper/command.go | |
parent | a51582ad9cb50ec284f4718765bd5d31fa0069d4 (diff) | |
parent | 584b8e46d146a2bcfeffd64448a2d8e92904168d (diff) | |
download | toolchain-utils-40214b48188358a80b7478bfff21d4814dd9177c.tar.gz |
Upgrade toolchain-utils to 2c474af4f370b143032144aff1ff1985f789e20f am: 8b320f7173 am: d444309511 am: 584b8e46d1android-14.0.0_r45android-14.0.0_r44android-14.0.0_r43android-14.0.0_r42android-14.0.0_r41android-14.0.0_r40android-14.0.0_r39android-14.0.0_r38android-14.0.0_r27android-14.0.0_r26android-14.0.0_r25android-14.0.0_r24android-14.0.0_r23android-14.0.0_r22android-14.0.0_r21android-14.0.0_r20android-14.0.0_r19android-14.0.0_r18android-14.0.0_r17android-14.0.0_r16aml_rkp_341510000aml_rkp_341311000aml_rkp_341114000aml_rkp_341015010aml_rkp_341012000aml_hef_341717050aml_hef_341613000aml_hef_341512030aml_hef_341415040aml_hef_341311010aml_hef_341114030aml_cfg_341510000android14-qpr1-s2-releaseandroid14-qpr1-releaseandroid14-mainline-healthfitness-releaseandroid14-devandroid14-d2-s5-releaseandroid14-d2-s4-releaseandroid14-d2-s3-releaseandroid14-d2-s2-releaseandroid14-d2-s1-releaseandroid14-d2-release
Original change: https://android-review.googlesource.com/c/platform/external/toolchain-utils/+/2292563
Change-Id: Ida212764c332af8ba8ab8aaa62a7d2a007e3314e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'compiler_wrapper/command.go')
-rw-r--r-- | compiler_wrapper/command.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/compiler_wrapper/command.go b/compiler_wrapper/command.go index eb040b25..e2a5176d 100644 --- a/compiler_wrapper/command.go +++ b/compiler_wrapper/command.go @@ -1,4 +1,4 @@ -// Copyright 2019 The Chromium OS Authors. All rights reserved. +// Copyright 2019 The ChromiumOS Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -76,7 +76,7 @@ func runCmdWithTimeout(env env, cmd *command, t time.Duration) error { cmdCtx.Stderr = env.stderr() if err := cmdCtx.Start(); err != nil { - return newErrorwithSourceLocf("exec error: %v", err) + return fmt.Errorf("exec error: %w", err) } err := cmdCtx.Wait() if ctx.Err() == nil { @@ -265,6 +265,21 @@ func (builder *commandBuilder) transformArgs(transform func(arg builderArg) stri builder.args = newArgs } +// Allows to filter arg pairs, useful for eg when having adjacent unsupported args +// like "-Wl,-z -Wl,defs" +func (builder *commandBuilder) filterArgPairs(keepPair func(arg1, arg2 builderArg) bool) { + newArgs := builder.args[:0] + for i := 0; i < len(builder.args); i++ { + if i == len(builder.args)-1 || keepPair(builder.args[i], builder.args[i+1]) { + newArgs = append(newArgs, builder.args[i]) + } else { + // skip builder.args[i]) as well as next item + i++ + } + } + builder.args = newArgs +} + func (builder *commandBuilder) updateEnv(updates ...string) { builder.envUpdates = append(builder.envUpdates, updates...) } |