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

Bump Prebuilt Toolchain #763

Merged
merged 1 commit into from
Jan 20, 2021
Merged

Bump Prebuilt Toolchain #763

merged 1 commit into from
Jan 20, 2021

Conversation

alonamid
Copy link
Contributor

Related issue: #732

Type of change: bug fix

Impact: other

Release Notes

Copy link
Contributor

@davidbiancolin davidbiancolin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@davidbiancolin
Copy link
Contributor

This is out-of-scope for this PR, but I'm slightly concerned about having the tars in the main repo as it might lead to considerable bloating. It seems to me using a submodule or an S3 bucket, that we only pull in on running ec2fast would be desirable. Or @a0u, do think these tarsballs are small enough it shouldn't matter

@a0u
Copy link
Member

a0u commented Jan 18, 2021

@davidbiancolin: Yeah, git LFS or S3 would be the proper solution, although I don't think the problem is that urgent just yet.
Compared to the old FireSim prebuilt toolchain, there are two measures that improve the efficiency of storing the tarballs in git:

  • This repo is shallow-cloned by Chipyard during the install, so the blobs corresponding to the older builds aren't actually fetched:
    module=toolchains/riscv-tools/riscv-gnu-toolchain-prebuilt
    git config --unset submodule."${module}".update || :
    git submodule update --init --depth 1 "${module}"

    (Note: This means we have to be diligent about tagging commits so they remain reachable by past Chipyard releases.)
  • All x86 binaries are also stripped, which saves considerable space.

However, the git history bloat will eventually make it unwieldy to maintain, although at our release cadence (every ~6 months) we still have some headroom.

@davidbiancolin
Copy link
Contributor

Oh, i'm stupid. It's already a submodule. + Shallow clone, opts -- yeah no reason to change this anytime soon. Sorry for the confusion.

@a0u
Copy link
Member

a0u commented Jan 18, 2021

@alonamid: Did the riscv-gnu-toolchain commit hash not change? What is different about this version?

@davidbiancolin
Copy link
Contributor

For some reason, the commited tarballs didn't match the hash / checked in sources. When I built an SPEC with the prebuilt toolchain I'd see failures consistent with an old riscv-gcc bug, whereas if i built teh toolchain from scratch they ran cleanly. I checked the submodule pointers and they looked good. So Alon kindly rebuilt the toolchain.

@davidbiancolin
Copy link
Contributor

I think @NathanTP tried running spec2017 recently and had problems. This is probably why.

Copy link
Member

@a0u a0u left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok, that was probably my fault somehow.

@alonamid alonamid merged commit 516b3f3 into dev Jan 20, 2021
@jerryz123 jerryz123 deleted the bump-prebuilt-toolchains branch October 1, 2022 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants