Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch From Clang To GCC To Fix Code Coverage Issues #989

Closed
5 tasks
garethellis0 opened this issue Oct 25, 2019 · 3 comments
Closed
5 tasks

Switch From Clang To GCC To Fix Code Coverage Issues #989

garethellis0 opened this issue Oct 25, 2019 · 3 comments
Assignees
Labels
Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding
Milestone

Comments

@garethellis0
Copy link
Contributor

garethellis0 commented Oct 25, 2019

Description of the task

In #985, we setup our toolchain to use arm-none-eabi-gcc for arm targets, and clang for x86_64 targets. Unfortunately, bazel has issues getting proper code coverage from clang, and so we have a somewhat hacky script to manually convert the coverage outputs from clang into a format that CodeCov can understand. As such we would like to switch back to gcc, which bazel properly supports in terms of reading coverage (at least for some versions of gcc). We should use the newest version of gcc possible.

Relevant Bazel Issues

bazelbuild/bazel#9406
bazelbuild/bazel#8217
bazelbuild/bazel#7719

Acceptance criteria

  • Download gcc instead of clang via the WORKSPACE file the associated external build file
  • Change the wrapper scripts in cc_toolchain/wrappers for clang to gcc
  • Implement a gcc toolchain configuration in cc_toolchain_config.bzl and remove the clang one
  • Change everything in cc_toolchain/BUILD from clang to gcc
  • Remove the convert_profdata_to_lcov script, and make sure codecov still works (will probably need to add back the -s bazel-testlogs flag to the codecov command in .travis.yml)

Blocked By

#1124

@garethellis0 garethellis0 added Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding G2 - Paying Tech Debt labels Oct 25, 2019
@jonathanlew jonathanlew self-assigned this Jan 25, 2020
@jonathanlew jonathanlew added this to the February 15th milestone Feb 8, 2020
@jonathanlew
Copy link
Contributor

Will look into this after #1129 gets merged

@MathewMacDougall MathewMacDougall modified the milestones: February 15th, March 7th Mar 7, 2020
@MathewMacDougall
Copy link
Contributor

Was this not resolved by #1184 ?

@MathewMacDougall MathewMacDougall modified the milestones: March 7th, March 14th Mar 10, 2020
@jonathanlew
Copy link
Contributor

Was this not resolved by #1184 ?

Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Difficulty - 13 Require a good understanding of relevant systems and tools, and may require some pathfinding
Projects
None yet
Development

No branches or pull requests

3 participants