bjorn3
be6708428f
Rewrite LLVM's archive writer in Rust
...
This allows it to be used by other codegen backends
2022-11-26 19:35:32 +00:00
Daniel Paoliello
3a1ef50b34
Support raw-dylib functions being used inside inlined functions
2022-10-24 16:17:38 -07:00
bjorn3
e54a13f18b
Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
7c6c7e8785
Introduce an ArchiveBuilderBuilder
...
This avoids monomorphizing all linker code for each codegen backend and
will allow passing in extra information to the archive builder from the
codegen backend.
2022-07-28 09:08:47 +00:00
bjorn3
90da3c6f2b
Inline inject_dll_import_lib
2022-07-28 08:43:15 +00:00
bjorn3
7c93154a30
Move output argument from ArchiveBuilder::new to .build()
2022-07-28 08:39:19 +00:00
bors
b629c85bd7
Auto merge of #99745 - JohnTitor:rollup-lvrie64, r=JohnTitor
...
Rollup of 7 pull requests
Successful merges:
- #98211 (Implement `fs::get_path` for FreeBSD.)
- #99353 (Slightly improve mismatched GAT where clause error)
- #99593 (Suggest removing the tuple struct field for the unwrapped value)
- #99615 (Remove some explicit `self.infcx` for `FnCtxt`, which already derefs into `InferCtxt`)
- #99711 (Remove reachable coverage without counters)
- #99718 (Avoid `&str`/`Symbol` to `String` conversions)
- #99720 (Sync rustc_codegen_cranelift)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
2022-07-26 04:28:41 +00:00
bjorn3
7a3ed235eb
Merge commit 'c19edfd71a1d0ddef86c2c67fdb40718d40a72b4' into sync_cg_clif-2022-07-25
2022-07-25 16:07:57 +02:00
Daniel Paoliello
1f33785ed4
Enable raw-dylib for binaries
2022-07-22 09:55:14 -07:00
bjorn3
18c6fe5798
Remove the source archive functionality of ArchiveWriter
...
We now build archives through strictly additive means rather than taking
an existing archive and potentially substracting parts.
2022-06-19 12:56:31 +00:00
bjorn3
7ff0df5102
Fix "Remove src_files and remove_file"
2022-06-19 12:56:31 +00:00
bjorn3
43929a8a75
Remove src_files and remove_file
...
They only apply to the main source archive and their role can be
fulfilled through the skip argument of add_archive too.
2022-06-14 15:11:14 +00:00
bjorn3
609784711a
Unconditionally update symbols
...
All paths to an ArchiveBuilder::build call update_symbols first.
2022-02-10 18:27:18 +01:00
bjorn3
3426a730ff
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
2021-12-20 18:56:35 +01:00
Camille GILLOT
8961616e60
Move rustc_middle::middle::cstore to rustc_session.
2021-10-03 16:08:51 +02:00
bjorn3
86f9bcfb8e
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
2021-09-19 13:56:58 +02:00
bjorn3
977f279553
Move add_rlib and add_native_library to cg_ssa
...
This deduplicates logic between codegen backends
2021-09-01 14:43:27 +02:00
Richard Cobbe
6aa45b71b1
Add first cut of functionality for #58713 : support for #[link(kind = "raw-dylib")].
...
This does not yet support #[link_name] attributes on functions, the #[link_ordinal]
attribute, #[link(kind = "raw-dylib")] on extern blocks in bin crates, or
stdcall functions on 32-bit x86.
2021-06-04 18:01:35 -07:00
bjorn3
fa702d0d2b
Merge commit '40dd3e2b7089b5e96714e064b731f6dbf17c61a9' into sync_cg_clif-2021-05-27
2021-05-27 13:08:14 +02:00
Luqman Aden
db555e1284
Implement RFC 2951: Native link modifiers
...
This commit implements both the native linking modifiers infrastructure
as well as an initial attempt at the individual modifiers from the RFC.
It also introduces a feature flag for the general syntax along with
individual feature flags for each modifier.
2021-05-05 16:04:25 -07:00
bjorn3
7a6ea77473
Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05
2021-03-05 19:12:59 +01:00
bjorn3
477aa67802
Merge commit '5988bbd24aa87732bfa1d111ba00bcdaa22c481a' into sync_cg_clif-2020-11-27
2020-11-27 20:48:53 +01:00
Vadim Petrochenkov
bf66988aa1
Collapse all uses of target.options.foo
into target.foo
...
with an eye on merging `TargetOptions` into `Target`.
`TargetOptions` as a separate structure is mostly an implementation detail of `Target` construction, all its fields logically belong to `Target` and available from `Target` through `Deref` impls.
2020-11-08 17:29:13 +03:00
bjorn3
216c4ae463
Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01
2020-11-03 11:00:04 +01:00
bjorn3
ac4f7deb2f
Add 'compiler/rustc_codegen_cranelift/' from commit '793d26047f994e23415f8f6bb5686ff25d3dda92'
...
git-subtree-dir: compiler/rustc_codegen_cranelift
git-subtree-mainline: cf798c1ec6
git-subtree-split: 793d26047f
2020-10-26 09:53:27 +01:00