Skip to content

compiler-wrapper: unvendor, v1.1.0, make GCC determinstic - #4829

Merged
haampie merged 4 commits into
developfrom
hs/compiler-wrapper/extract
May 20, 2026
Merged

compiler-wrapper: unvendor, v1.1.0, make GCC determinstic#4829
haampie merged 4 commits into
developfrom
hs/compiler-wrapper/extract

Conversation

@haampie

@haampie haampie commented May 13, 2026

Copy link
Copy Markdown
Member
  • Unvendor the cc.sh script, so we do proper releases
  • Add v1.1.0 with -frandom-seed support to make GCC output deterministic.

Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
@spackbot-triage spackbot-triage Bot added the update-package Modifications to packages in the repository label May 13, 2026

@kwryankrattiger kwryankrattiger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I agree this is the right call.

Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
@haampie haampie changed the title compiler-wrapper: unvendor compiler-wrapper: unvendor, v1.1.0, make GCC determinstic May 13, 2026
@spackbot-triage spackbot-triage Bot added the new-version Modifications to packages' `depends_on()` directives label May 13, 2026
Signed-off-by: Harmen Stoppels <me@harmenstoppels.nl>
@haampie

haampie commented May 13, 2026

Copy link
Copy Markdown
Member Author

Sigh,

g++: fatal error: cannot execute '/usr/libexec/gcc/aarch64-linux-gnu/13/collect2': execv: Argument list too long

@tgamblin

Copy link
Copy Markdown
Member

I love this -- but please hold off on this so that we can get complete history in the compiler-wrapper repo. There are a lot of contributors to that script and I don't want them to miss out on credit if it's going standalone.

I think that repo is worth some attention outside Spack -- our compiler wrapper is very much battle tested and the evolution / features, etc. that made it that way are IMO interesting.

@haampie
haampie marked this pull request as draft May 14, 2026 11:29
@haampie

haampie commented May 14, 2026

Copy link
Copy Markdown
Member Author

History of https://github.com/spack/compiler-wrapper/ is restored (from 3 separate repos, using git-filter-repo on spack and spack-packages). I have also deleted the v1.1.0 and retagged v1.0 since it wasn't used in Spack yet.

The v1.1.0 release requires at a minimum spack/compiler-wrapper#8 to fix "Argument list too long".

@tgamblin

Copy link
Copy Markdown
Member

Isn't 1.0 the version of the current compiler wrapper in Spack? I guess if this is the same as the current version it's fine. Labeling this 1.1 or something would make a clear break and would make it easier to run, e.g., spack find compiler-wrapper@1.1: to find only the ones from github.

> spack find compiler-wrapper
-- darwin-sequoia-m1 / no compilers -----------------------------
compiler-wrapper@1.0  compiler-wrapper@1.0

-- darwin-tahoe-m1 / no compilers -------------------------------
compiler-wrapper@1.0  compiler-wrapper@1.0

Signed-off-by: Harmen Stoppels <harmenstoppels@gmail.com>
@haampie
haampie marked this pull request as ready for review May 19, 2026 07:30
@haampie

haampie commented May 19, 2026

Copy link
Copy Markdown
Member Author

In short:

  • v1.0 the same script as before
  • v1.1.0 faster and makes GCC itself reproducible with -frandom-seed

@haampie
haampie enabled auto-merge (squash) May 20, 2026 07:11
@haampie
haampie merged commit 93d3027 into develop May 20, 2026
17 checks passed
@haampie
haampie deleted the hs/compiler-wrapper/extract branch May 20, 2026 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-version Modifications to packages' `depends_on()` directives update-package Modifications to packages in the repository

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants