Issue 1486: cgo: fix C++ dynamic initialization of static variables when using alwayslink = True (#4438)
<!-- Thanks for sending a PR! Before submitting:
1. If this is your first PR, please read CONTRIBUTING.md and sign the
CLA
first. We cannot review code without a signed CLA.
2. Please file an issue *first*. All features and most bug fixes should
have
an associated issue with a design discussed and decided upon. Small bug
fixes and documentation improvements don't need issues.
3. New features and bug fixes must have tests. Documentation may need to
be updated. If you're unsure what to update, send the PR, and we'll
discuss
in review.
4. Note that PRs updating dependencies and new Go versions are not
accepted.
Please file an issue instead.
-->
**What type of PR is this?**
Bug fix
**What does this PR do? Why is it needed?**
Fixes static linking against libraries that have `alwayslink = True`
specified. Fixes C++'s dynamic initialization of static variables when
using cgo
**Which issues(s) does this PR fix?**
Fixes #1486
---
Related to https://github.com/bazel-contrib/rules_go/pull/2584 and
https://github.com/bazel-contrib/rules_go/pull/2294
9 files changed