Skip to content

Tighten up link attributes for llvm-wrapper bindings #118142

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Nov 22, 2023

Conversation

saethlin
Copy link
Member

Fixes #118084 by moving all of the declarations of symbols from llvm_rust into a separate extern block with #[link(name = "llvm-wrapper", kind = "static")].

This also renames LLVMTimeTraceProfiler* to LLVMRustTimeTraceProfiler* because those are functions from llvm_rust.

r? tmiasko

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Nov 21, 2023
@tmiasko
Copy link
Contributor

tmiasko commented Nov 21, 2023

@bors r+

@bors
Copy link
Collaborator

bors commented Nov 21, 2023

📌 Commit e6f8edf has been approved by tmiasko

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 21, 2023
bors added a commit to rust-lang-ci/rust that referenced this pull request Nov 22, 2023
…mpiler-errors

Rollup of 6 pull requests

Successful merges:

 - rust-lang#118012 (Add support for global allocation in smir)
 - rust-lang#118013 (Enable Rust to use the EHCont security feature of Windows)
 - rust-lang#118100 (Enable profiler in dist-powerpc64-linux)
 - rust-lang#118142 (Tighten up link attributes for llvm-wrapper bindings)
 - rust-lang#118147 (Fix some unnecessary casts)
 - rust-lang#118161 (Allow defining opaques in `check_coroutine_obligations`)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit dd9f3ad into rust-lang:master Nov 22, 2023
@rustbot rustbot added this to the 1.76.0 milestone Nov 22, 2023
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Nov 22, 2023
Rollup merge of rust-lang#118142 - saethlin:llvm-linkage, r=tmiasko

Tighten up link attributes for llvm-wrapper bindings

Fixes rust-lang#118084 by moving all of the declarations of symbols from `llvm_rust` into a separate extern block with `#[link(name = "llvm-wrapper", kind = "static")]`.

This also renames `LLVMTimeTraceProfiler*` to `LLVMRustTimeTraceProfiler*` because those are functions from `llvm_rust`.

r? tmiasko
@saethlin saethlin deleted the llvm-linkage branch December 14, 2023 23:48
matthiaskrgr added a commit to matthiaskrgr/rust that referenced this pull request Feb 1, 2025
Add link attribute for Enzyme's LLVMRust FFI

Since rust-lang#133429 landed, the compiler doesn't build with `-Zcross-crate-inline-threshold=always`. I don't expect anyone else to test or fix issues with that goofy configuration, so I'm fixing it.

This PR adds a link attribute just like rust-lang#118142 for all the new LLVMRust functions. They were actually added in rust-lang#130060 but weren't used until just now.
rust-timer added a commit to rust-lang-ci/rust that referenced this pull request Feb 1, 2025
Rollup merge of rust-lang#136374 - saethlin:enzyme-linkage, r=oli-obk

Add link attribute for Enzyme's LLVMRust FFI

Since rust-lang#133429 landed, the compiler doesn't build with `-Zcross-crate-inline-threshold=always`. I don't expect anyone else to test or fix issues with that goofy configuration, so I'm fixing it.

This PR adds a link attribute just like rust-lang#118142 for all the new LLVMRust functions. They were actually added in rust-lang#130060 but weren't used until just now.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

LLVMRust symbols not defined when building with -Zcross-crate-inline-threshold=always
4 participants