Skip to content

Reset Go build modes for the Nogo tool - #15104

Merged
copybara-service[bot] merged 1 commit into
masterfrom
test/cl990407447
Oct 1, 2026
Merged

copybara-service[bot] merged 1 commit into
masterfrom
test/cl990407447

Conversation

@copybara-service

Copy link
Copy Markdown

Reset Go build modes for the Nogo tool

Nogo's exec dependencies select the execution platform but retain the Go build modes of the package being analyzed. A static target can therefore make the analyzer link statically against the execution toolchain. This fails with the hermetic GNU toolchain, which provides shared glibc linking stubs rather than static archives 1.

Route all four Nogo tool dependencies through rules_go's go_reset_target 2, retaining their exec transitions for platform selection. This resets Go build modes before configuring the analyzer, independently of the package's static, race, or other mode settings. Keep the existing nogo binary and its analysis target available for direct use.

Assisted-by: Codex
FUTURE_COPYBARA_INTEGRATE_REVIEW=#15048 from tamird:nogo-reset-exec-mode dca9ff6

@copybara-service copybara-service Bot added the exported Issue was exported automatically label Sep 29, 2026
@copybara-service
copybara-service Bot force-pushed the test/cl990407447 branch 2 times, most recently from 4d32f37 to 4628b6f Compare October 1, 2026 05:41
Nogo's exec dependencies select the execution platform but retain the Go build modes of the package being analyzed. A static target can therefore make the analyzer link statically against the execution toolchain. This fails with the hermetic GNU toolchain, which provides shared glibc linking stubs rather than static archives [1].

Route all four Nogo tool dependencies through rules_go's go_reset_target [2], retaining their exec transitions for platform selection. This resets Go build modes before configuring the analyzer, independently of the package's static, race, or other mode settings. Keep the existing nogo binary and its analysis target available for direct use.

[1]: https://app.buildbuddy.io/invocation/00d0c051-3fef-4fcb-b279-b158879c216e
[2]: https://github.com/bazel-contrib/rules_go/blob/v0.57.0/go/private/rules/transition.bzl#L312-L339

Assisted-by: Codex
COPYBARA_INTEGRATE_REVIEW=#15048 from tamird:nogo-reset-exec-mode dca9ff6
PiperOrigin-RevId: 991461175
@copybara-service
copybara-service Bot merged commit 71a606a into master Oct 1, 2026
7 of 10 checks passed
@copybara-service
copybara-service Bot deleted the test/cl990407447 branch October 1, 2026 06:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

exported Issue was exported automatically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant