Add -Zinstrument-mcount={fentry-nop-record,fentry-record} - #160184
Open
pmur wants to merge 1 commit into
Open
Conversation
Collaborator
|
r? @mati865 rustbot has assigned @mati865. Use Why was this reviewer chosen?The reviewer was selected based on:
|
pmur
force-pushed
the
murp/add-mcount-opts
branch
from
July 29, 2026 22:28
6eff8aa to
c8679c9
Compare
mati865
reviewed
Jul 30, 2026
Comment on lines
+204
to
+208
| match opts.unstable_opts.instrument_mcount { | ||
| InstrumentMcount::Mcount(_) => { | ||
| fp.ratchet(FramePointer::Always); | ||
| } | ||
| _ => {} |
Member
There was a problem hiding this comment.
You can avoid turning it into match with this:
Suggested change
| match opts.unstable_opts.instrument_mcount { | |
| InstrumentMcount::Mcount(_) => { | |
| fp.ratchet(FramePointer::Always); | |
| } | |
| _ => {} | |
| if let InstrumentMcount::Mcount(_) = opts.unstable_opts.instrument_mcount { | |
| fp.ratchet(FramePointer::Always); | |
| } |
Comment on lines
-275
to
-269
| o => { | ||
| panic!("Unsupported or impossible mcount option {o:?}"); | ||
| } | ||
| InstrumentMcount::Disabled => {} |
Member
There was a problem hiding this comment.
I don't think this change is helpful.
Collaborator
|
Reminder, once the PR becomes ready for a review, use |
The linux kernel still uses fentry for x86 and s390x arches. s390x depends entirely on the compiler to record and nop these sections. This facilitates support for inserting nop's and/or recording the location of each mcount call in a special section named `__mcount_loc`. These attributes are currently only supported with fentry on the s390x target, otherwise they are quietly ignored (except on s390x).
pmur
force-pushed
the
murp/add-mcount-opts
branch
from
July 30, 2026 20:19
c8679c9 to
3874adb
Compare
Contributor
Author
|
@rustbot ready |
mati865
approved these changes
Aug 3, 2026
Member
There was a problem hiding this comment.
Sorry, the update has slipped under my radar.
@bors r+
Contributor
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 3, 2026
Add -Zinstrument-mcount={fentry-nop-record,fentry-record}
The linux kernel still uses fentry for x86 and s390x arches. s390x depends entirely on the compiler to record and nop these sections.
This facilitates support for inserting nop's and/or recording the location of each mcount call in a special section named `__mcount_loc`.
These attributes are currently only supported with fentry on the s390x target, otherwise they are quietly ignored (except on s390x).
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 3, 2026
…uwer Rollup of 23 pull requests Successful merges: - #153749 (Account for ownership mismatch on argument that doesn't meet bound) - #159326 (Deny multiple EII impls on a single item) - #159535 (Optimize slice::contains for bytewise types) - #159595 (Promote loongarch32-unknown-none* to Tier 2) - #160007 (allow `-Ldependency` search paths for panic runtimes) - #160184 (Add -Zinstrument-mcount={fentry-nop-record,fentry-record}) - #160320 (point at trait definition when it is used as a derive macro) - #160369 (When suggesting method names, prefer *exact* doc aliases over similar names) - #160406 (`DepKind` cleanups) - #160424 (Use `thread::available_parallelism` as the default limit for backend parallelism) - #159303 (Fix ICE for direct inline const generic defaults) - #159977 (Add regression test for bool indexing codegen) - #160011 (remove InterpError::map_err_info) - #160165 (reject `...` without pattern post-expansion) - #160295 (Fix rustdoc ICE when checking if a generic arg can be elided) - #160305 (Linkify C-SKY targets in `platform-support.md`) - #160314 (fix borrowck ICE for consts with fn pointer type) - #160322 (ElaborateBoxDeref: remove unnecessary projection) - #160338 (Add regression test for supertrait associated type normalization through dyn) - #160340 (Add regression test for unused_parens on contract clauses) - #160371 (Add doc aliases for transpositions `read_exact_buf` and `read_exact_buf_at`) - #160384 (Add PR body notes for Cargo lock file maintenance) - #160435 (bump tracing-tree)
JonathanBrouwer
added a commit
to JonathanBrouwer/rust
that referenced
this pull request
Aug 3, 2026
Add -Zinstrument-mcount={fentry-nop-record,fentry-record}
The linux kernel still uses fentry for x86 and s390x arches. s390x depends entirely on the compiler to record and nop these sections.
This facilitates support for inserting nop's and/or recording the location of each mcount call in a special section named `__mcount_loc`.
These attributes are currently only supported with fentry on the s390x target, otherwise they are quietly ignored (except on s390x).
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 4, 2026
…uwer Rollup of 26 pull requests Successful merges: - #153749 (Account for ownership mismatch on argument that doesn't meet bound) - #158727 (std: use `readdir` on nearly all UNIX platforms) - #159130 (a bit optimize four-digit chunks in integer formatting) - #159326 (Deny multiple EII impls on a single item) - #159535 (Optimize slice::contains for bytewise types) - #159595 (Promote loongarch32-unknown-none* to Tier 2) - #160184 (Add -Zinstrument-mcount={fentry-nop-record,fentry-record}) - #160320 (point at trait definition when it is used as a derive macro) - #160369 (When suggesting method names, prefer *exact* doc aliases over similar names) - #160406 (`DepKind` cleanups) - #160424 (Use `thread::available_parallelism` as the default limit for backend parallelism) - #159303 (Fix ICE for direct inline const generic defaults) - #159977 (Add regression test for bool indexing codegen) - #160011 (remove InterpError::map_err_info) - #160165 (reject `...` without pattern post-expansion) - #160295 (Fix rustdoc ICE when checking if a generic arg can be elided) - #160305 (Linkify C-SKY targets in `platform-support.md`) - #160314 (fix borrowck ICE for consts with fn pointer type) - #160322 (ElaborateBoxDeref: remove unnecessary projection) - #160338 (Add regression test for supertrait associated type normalization through dyn) - #160340 (Add regression test for unused_parens on contract clauses) - #160371 (Add doc aliases for transpositions `read_exact_buf` and `read_exact_buf_at`) - #160384 (Add PR body notes for Cargo lock file maintenance) - #160412 (Move duplicate-names check for #[rustc_must_implement_one_of] to attribute parser) - #160435 (bump tracing-tree) - #160449 (Fix lookup of object files)
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The linux kernel still uses fentry for x86 and s390x arches. s390x depends entirely on the compiler to record and nop these sections.
This facilitates support for inserting nop's and/or recording the location of each mcount call in a special section named
__mcount_loc.These attributes are currently only supported with fentry on the s390x target, otherwise they are quietly ignored (except on s390x).