Chris Denton
d7198a541d
Always use ar_archive_writer for import libs
2024-08-17 19:10:46 +00:00
bjorn3
3ea9313de3
Merge commit '69b3f5a426a5c1c05236a45b36f6679d95fbe01b' into sync_cg_clif-2024-08-09
2024-08-09 17:18:46 +00:00
bjorn3
37da264107
Move computation of decorated names out of the create_dll_import_lib method
2024-07-30 10:32:32 +00:00
bjorn3
161d2476d5
Move temp file name generation out of the create_dll_import_lib method
2024-07-30 10:10:41 +00:00
Trevor Gross
25dce8f92b
Rollup merge of #124033 - bjorn3:ar_archive_writer_0_3_0, r=davidtwco
...
Sync ar_archive_writer to LLVM 18.1.3
From LLVM 15.0.0-rc3. This adds support for COFF archives containing Arm64EC object files and has various fixes for AIX big archive files.
2024-07-16 16:15:13 -05:00
bjorn3
d0d2e60886
Merge commit '659243d85c7489412bd0faa1c068d904a6042941' into sync_cg_clif-2024-07-13
2024-07-13 18:39:03 +00:00
bjorn3
322c2f6b13
Sync ar_archive_writer to LLVM 18.1.3
...
From LLVM 15.0.0-rc3. This adds support for COFF archives containing
Arm64EC object files and has various fixes for AIX big archive files.
2024-07-07 16:56:35 +00:00
823984418
c460cf1737
remove useless lifetime of ArchiveBuilder
2024-02-26 22:37:04 +08:00
bjorn3
5399526aee
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
e3311e4717
Support raw-dylib functions being used inside inlined functions
2022-10-24 16:17:38 -07:00
bjorn3
9950bd1dc5
Merge commit '266e96785ab71834b917bf474f130a6d8fdecd4b' into sync_cg_clif-2022-10-23
2022-10-23 16:22:55 +02:00
bjorn3
451817e48f
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
34b37e76dd
Inline inject_dll_import_lib
2022-07-28 08:43:15 +00:00
bjorn3
e0697a309d
Move output argument from ArchiveBuilder::new to .build()
2022-07-28 08:39:19 +00:00
bors
1fb02e0409
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
640c3f730a
Merge commit 'c19edfd71a1d0ddef86c2c67fdb40718d40a72b4' into sync_cg_clif-2022-07-25
2022-07-25 16:07:57 +02:00
Daniel Paoliello
0fed1a5f57
Enable raw-dylib for binaries
2022-07-22 09:55:14 -07:00
bjorn3
73b3ae0b8a
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
abb9b60f09
Fix "Remove src_files and remove_file"
2022-06-19 12:56:31 +00:00
bjorn3
fc0c753c2d
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
4e39cde7f3
Unconditionally update symbols
...
All paths to an ArchiveBuilder::build call update_symbols first.
2022-02-10 18:27:18 +01:00
bjorn3
799e067912
Merge commit '97e504549371d7640cf011d266e3c17394fdddac' into sync_cg_clif-2021-12-20
2021-12-20 18:56:35 +01:00
Camille GILLOT
03c02be0a7
Move rustc_middle::middle::cstore to rustc_session.
2021-10-03 16:08:51 +02:00
bjorn3
5d3b8e7c1b
Merge commit '61667dedf55e3e5aa584f7ae2bd0471336b92ce9' into sync_cg_clif-2021-09-19
2021-09-19 13:56:58 +02:00
bjorn3
677c786109
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
1248ff139d
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
d6b03451e6
Merge commit '40dd3e2b7089b5e96714e064b731f6dbf17c61a9' into sync_cg_clif-2021-05-27
2021-05-27 13:08:14 +02:00
Luqman Aden
91dc6967fe
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
27886cd6b6
Merge commit '9a0c32934ebe376128230aa8da3275697b2053e7' into sync_cg_clif-2021-03-05
2021-03-05 19:12:59 +01:00
bjorn3
d404840788
Merge commit '5988bbd24aa87732bfa1d111ba00bcdaa22c481a' into sync_cg_clif-2020-11-27
2020-11-27 20:48:53 +01:00
Vadim Petrochenkov
e9c34b3cf8
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
285c7c66dc
Merge commit '03f01bbe901d60b71cf2c5ec766aef5e532ab79d' into update_cg_clif-2020-11-01
2020-11-03 11:00:04 +01:00
bjorn3
4971028775
Rustup to rustc 1.49.0-nightly ( dd7fc54eb
2020-10-15)
2020-10-16 09:35:48 +02:00
bjorn3
c8699076f9
Document almost all modules
...
Fixes #1082
2020-09-23 15:13:49 +02:00
CohenArthur
4e685a512e
fmt: Run cargo fmt since it is available
2020-08-28 12:10:48 +02:00
bjorn3
8664ccc27f
Remove ArchiveConfig
2020-08-08 16:19:42 +02:00
bjorn3
240e178532
Don't panic on io errors
...
Fixes #920
2020-08-08 16:14:11 +02:00
bjorn3
748d516e0d
Use builtin ranlib instead of running external ranlib
...
This makes it possible to create rlibs for any target without installing
a toolchain for the target
Fixes #763
2020-07-15 16:28:21 +02:00
bjorn3
893497c93e
Infer the path of toolchain binaries from the linker path
2020-07-09 18:55:46 +02:00
bjorn3
eb8fd197ab
Prelude cleanup
2020-06-20 18:44:49 +02:00
bjorn3
282e3055e1
Only run ranlib when necessary
2020-06-16 11:40:21 +02:00
bjorn3
bcd357a0ae
Rustup to rustc 1.45.0-nightly ( 46e85b432
2020-05-24)
2020-05-25 12:41:33 +02:00
bjorn3
485e52e153
Rustup to rustc 1.45.0-nightly ( 7ced01a73
2020-04-30)
2020-05-01 17:51:51 +02:00
Venkata Jaswanth U
78cdfc6c92
Fixes #958 : Use session.fatal() instead of assert!
2020-04-14 21:36:28 +05:30
bjorn3
f288959c00
Limit publicness to crate where possible and remove unused imports
2020-03-27 12:14:45 +01:00
bjorn3
6b30d508f7
Fix some FIXME's and add some new FIXME's
2020-03-21 16:52:02 +01:00
bjorn3
9ab2af56aa
Rustup to rustc 1.43.0-nightly ( 4ad624882
2020-03-03)
2020-03-04 15:04:28 +01:00
bjorn3
a3f27a4428
Use archive_format for determining if gnu style archives should be emitted
...
Fixes #893
2020-02-14 19:12:43 +01:00
bjorn3
af4009d8c8
Rustup to rustc 1.39.0-nightly ( eb48d6bde
2019-09-12)
2019-09-13 21:03:26 +02:00
bjorn3
cd0e862282
Update ar
...
Fixes #672
2019-09-01 11:17:01 +02:00