-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
Fix dso_local for external statics with linkage #150494
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
Conversation
This test currently doesn't fulfill its purpose, as `external dso_local`
can still match `external {{.*}}`. Fix this by using CHECK-NOT directives.
Also, this test is expanded to all platforms where it makes sense, instead
of restricting to loongarch.
The current code applies `dso_local` to the internal generated symbols instead of the actually-externally one.
|
rustbot has assigned @jdonszelmann. Use |
|
I'm sorry, I'm not sure that I'm the right person for this PR. Though idk if rerolling works because we'd just get a hot potato situation for this kind of PR. Sometimes I assign @bjorn3 to PRs like this because I know it's sort of in his area of expertise, but for this one I'm not sure. However, maybe he can assign either himself or whoever he thinks is more knowledgeable in this area |
|
This PR makes sense to me. @bors r+ |
|
thanks bjorn! |
Fix dso_local for external statics with linkage Tracking issue of the feature: rust-lang#127488 DSO local attributes are not correctly applied to extern statics with `#[linkage = "foo"]` as we generate an internal global for such statics, and the we evaluate (and apply) DSO attributes on the internal one instead. Fix this by applying DSO local attributes on the actually extern ones, too.
Fix dso_local for external statics with linkage Tracking issue of the feature: rust-lang#127488 DSO local attributes are not correctly applied to extern statics with `#[linkage = "foo"]` as we generate an internal global for such statics, and the we evaluate (and apply) DSO attributes on the internal one instead. Fix this by applying DSO local attributes on the actually extern ones, too.
Fix dso_local for external statics with linkage Tracking issue of the feature: rust-lang#127488 DSO local attributes are not correctly applied to extern statics with `#[linkage = "foo"]` as we generate an internal global for such statics, and the we evaluate (and apply) DSO attributes on the internal one instead. Fix this by applying DSO local attributes on the actually extern ones, too.
Rollup of 11 pull requests Successful merges: - #148196 (Implement create_dir_all() to operate iteratively instead of recursively) - #150494 ( Fix dso_local for external statics with linkage) - #150788 (THIR patterns: Replace `AscribeUserType` and `ExpandedConstant` wrappers with per-node data) - #150799 (Fix ICE: can't type-check body of DefId for issue #148729) - #150804 (Remove std_detect_file_io and std_detect_dlsym_getauxval features) - #150852 (std: sys: fs: uefi: Implement File::write) - #150871 (Use f64 NaN in documentation instead of sqrt(-1.0)) - #150878 (Emit an error for linking staticlibs on BPF) - #150911 (Add missing documentation for globs feature) - #150913 (compiler: Forward attributes to eii-expanded macros) - #150916 (Once again, reorganize the EII tests a bit) r? @ghost
Rollup of 12 pull requests Successful merges: - #150947 (alloctests: Don't run the longer partial-sort tests under Miri) - #148196 (Implement create_dir_all() to operate iteratively instead of recursively) - #150494 ( Fix dso_local for external statics with linkage) - #150788 (THIR patterns: Replace `AscribeUserType` and `ExpandedConstant` wrappers with per-node data) - #150799 (Fix ICE: can't type-check body of DefId for issue #148729) - #150804 (Remove std_detect_file_io and std_detect_dlsym_getauxval features) - #150852 (std: sys: fs: uefi: Implement File::write) - #150871 (Use f64 NaN in documentation instead of sqrt(-1.0)) - #150878 (Emit an error for linking staticlibs on BPF) - #150911 (Add missing documentation for globs feature) - #150913 (compiler: Forward attributes to eii-expanded macros) - #150916 (Once again, reorganize the EII tests a bit) r? @ghost
Rollup merge of #150494 - extern_linkage_dso_local, r=bjorn3 Fix dso_local for external statics with linkage Tracking issue of the feature: #127488 DSO local attributes are not correctly applied to extern statics with `#[linkage = "foo"]` as we generate an internal global for such statics, and the we evaluate (and apply) DSO attributes on the internal one instead. Fix this by applying DSO local attributes on the actually extern ones, too.
Tracking issue of the feature: #127488
DSO local attributes are not correctly applied to extern statics with
#[linkage = "foo"]as we generate an internal global for such statics, and the we evaluate (and apply) DSO attributes on the internal one instead.Fix this by applying DSO local attributes on the actually extern ones, too.