-
Notifications
You must be signed in to change notification settings - Fork 31
feat!: ship one binary — bundle exec-harness and memtrack, drop the LD_PRELOAD hack #531
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
Open
moha-bekh
wants to merge
35
commits into
main
Choose a base branch
from
spike/cod-3440-memtrack-musl
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
5abd69c
chore(memtrack): add argp.h stub for musl builds
moha-bekh 51bb339
ci: add throwaway COD-3440 musl check workflow
moha-bekh 331541e
feat(exec-harness)!: remove the LD_PRELOAD hack
moha-bekh f539a42
fix(instrument-hooks): never fall back to the noop impl on Linux
moha-bekh 48d370f
ci: add throwaway COD-3218 exec-harness check workflow
moha-bekh 4edc228
ci: trigger the COD-3218 check on spike branch pushes
moha-bekh 59c9756
ci: fix three wrong assertions in the COD-3218 check
moha-bekh 11785e4
ci: sweep benchmark size to test the fixed-overhead model
moha-bekh d7d36be
revert: restore measure.rs and shared.rs to their state on main
moha-bekh b631658
fix(valgrind): track subprocesses for exec-harness runs
moha-bekh c43aaba
build(memtrack): move the portable half of the musl recipe into cargo…
moha-bekh 21525d5
test(memtrack): resolve libc symbols in a child, not in the test process
moha-bekh 6bb8b75
ci: cover both arches in the COD-3440 musl check, and scope its CFLAGS
moha-bekh 728fdde
refactor(exec-harness,memtrack): move each CLI into its crate's lib
moha-bekh 5c8807b
feat(runner): bundle exec-harness as a subcommand instead of download…
moha-bekh 7368b6a
feat(runner): bundle memtrack too, and drop the download machinery
moha-bekh 763c894
build(memtrack): put the whole musl recipe in the cargo config
moha-bekh 36afa18
build(exec-harness,memtrack): stop releasing the component crates
moha-bekh a05e42e
ci: catch up with memtrack and exec-harness being bundled
moha-bekh 6fdfd07
docs(contributing): drop the component-crate release process
moha-bekh 3ce6305
test(executor): serialize the tests that share the global runner FIFOs
moha-bekh c87836c
test(local): fail loudly when a git setup command fails
moha-bekh 2ec7cee
ci: drop the two throwaway spike workflows
moha-bekh 069fbab
docs(exec-harness,executor): cut two comments that narrate the change
moha-bekh 99827e6
fix(cli): stop honouring CODSPEED_SELF_EXE outside tests
moha-bekh c862935
fix(cli): dispatch bundled subcommands before any runner setup
moha-bekh 8e2d7e3
ci: build both musl targets on every pull request
moha-bekh 4d78ed2
test(run-environment): revert the git helper in the local provider tests
moha-bekh f0367dd
fix(cli): hide the bundled subcommands from the help output
moha-bekh f1110dd
fix(executor): keep --separate-threads off for exec-harness runs
moha-bekh 4026657
refactor(executor): drop the no-op memtrack install step
moha-bekh 0ed58f6
test(memtrack): resolve libc from the Ubuntu multiarch path
moha-bekh fbe9e0d
test(executor): restore the per-suite semaphores
moha-bekh 2290f63
docs: cut the comments this branch added
moha-bekh cdd0727
docs: keep the comments this branch does not otherwise touch
moha-bekh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,24 @@ | ||
| # Nothing here is `force = true`, so a shell exporting `CFLAGS` or `CPATH` wins | ||
| # and breaks the musl build. | ||
| # | ||
| # `libbpf-sys` vendors elfutils, whose `configure` looks for `argp`, `obstack` | ||
| # and `fts`; musl has none of them, so it stops before libelf even though a | ||
| # libelf-only build never calls them. Pre-seeding the cache skips the checks. | ||
| [env] | ||
| ac_cv_search_argp_parse = "none required" | ||
| ac_cv_search__obstack_free = "none required" | ||
| ac_cv_search_fts_close = "none required" | ||
|
|
||
| # The `argp.h` stub. `CPATH` and not `CFLAGS -I<path>`, because `relative = true` | ||
| # only works on a bare path. The stub defers to the real header under glibc. | ||
| CPATH = { value = "crates/memtrack/musl", relative = true } | ||
|
|
||
| # Debian's musl-gcc runs with -nostdinc, so the kernel UAPI headers libbpf needs | ||
| # have to be added back, last so a glibc build is unaffected. Both triplets are | ||
| # listed because `[env]` cannot branch on the arch; a missing one is ignored. | ||
| CFLAGS = "-idirafter /usr/include/x86_64-linux-gnu -idirafter /usr/include/aarch64-linux-gnu -idirafter /usr/include" | ||
|
|
||
| # rustc links with `-nodefaultlibs`; libbpf's C code needs the outline-atomic | ||
| # helpers from libgcc on aarch64. | ||
| [target.aarch64-unknown-linux-musl] | ||
| rustflags = ["-C", "link-arg=-lgcc"] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.