os-rust/compiler
bors 31d754a1df Auto merge of #102988 - dpaoliello:inlinerawdylib, r=dpaoliello
Support raw-dylib functions being used inside inlined functions

Fixes #102714

Issue Details:
When generating the import library for `raw-dylib` symbols, we currently only use the functions and variables declared within the current crate. This works fine if all crates are static libraries or `rlib`s as the generated import library will be contained in the static library or `rlib` itself, but if a dependency is a dynamic library AND the use of a `raw-dylib` function or variable is inlined or part of a generic instantiation then the current crate won't see its dependency's import library and so linking will fail.

Fix Details:
Instead, when we generate the import library for a `dylib` or `bin` crate, we will now generate it for the symbols both for the current crate and all upstream crates. We do this in two steps so that the import library for the current crate is passed into the linker first, thus it is preferred if there are any ambiguous symbols.
2022-10-25 04:57:51 +00:00
..
rustc Don't rerun the build script for the compiler each time on linux 2022-07-10 23:57:25 -05:00
rustc_apfloat Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_arena Make use of [wrapping_]byte_{add,sub} 2022-08-23 19:32:37 +04:00
rustc_ast Fix TyKind::is_simple_path. 2022-10-18 15:51:23 +11:00
rustc_ast_lowering Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_ast_passes Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_ast_pretty Rename AssocItemKind::TyAlias to AssocItemKind::Type 2022-10-10 02:31:37 +00:00
rustc_attr Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_borrowck Rollup merge of #103382 - compiler-errors:anon-apit-lt-region-ice, r=cjgillot 2022-10-25 08:01:28 +09:00
rustc_builtin_macros Rollup merge of #99939 - saethlin:pre-sort-tests, r=thomcc,jackh726 2022-10-24 19:32:25 +09:00
rustc_codegen_cranelift Support raw-dylib functions being used inside inlined functions 2022-10-24 16:17:38 -07:00
rustc_codegen_gcc Support raw-dylib functions being used inside inlined functions 2022-10-24 16:17:38 -07:00
rustc_codegen_llvm Support raw-dylib functions being used inside inlined functions 2022-10-24 16:17:38 -07:00
rustc_codegen_ssa Support raw-dylib functions being used inside inlined functions 2022-10-24 16:17:38 -07:00
rustc_const_eval Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_data_structures fix some typos 2022-10-21 18:04:00 +08:00
rustc_driver Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_error_codes Remove redundant sentence 2022-10-24 00:52:26 -07:00
rustc_error_messages Introduce dedicated -Zdylib-lto flag for enabling LTO on dylibs 2022-10-23 13:48:03 +02:00
rustc_errors Auto merge of #103431 - Dylan-DPC:rollup-oozfo89, r=Dylan-DPC 2022-10-23 11:33:18 +00:00
rustc_expand Auto merge of #94063 - Aaron1011:pretty-print-rental, r=lcnr 2022-10-24 13:35:48 +00:00
rustc_feature Rollup merge of #99939 - saethlin:pre-sort-tests, r=thomcc,jackh726 2022-10-24 19:32:25 +09:00
rustc_fs_util Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_graphviz Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_hir Use tidy-alphabetical in the compiler 2022-10-12 17:49:10 +05:30
rustc_hir_analysis Delay span bug when we can't map lifetimes back in collect_trait_impl_trait_tys 2022-10-24 18:45:50 +00:00
rustc_hir_pretty pretty: fix to print some lifetimes on HIR pretty-print 2022-10-15 23:34:21 +09:00
rustc_hir_typeck Auto merge of #103431 - Dylan-DPC:rollup-oozfo89, r=Dylan-DPC 2022-10-23 11:33:18 +00:00
rustc_incremental Rollup merge of #102829 - compiler-errors:rename-impl-item-kind, r=TaKO8Ki 2022-10-10 00:09:42 +09:00
rustc_index Remove from compiler/ crates 2022-09-29 16:49:04 +09:00
rustc_infer Auto merge of #103345 - Nilstrieb:diag-flat, r=compiler-errors 2022-10-23 09:06:39 +00:00
rustc_interface Introduce dedicated -Zdylib-lto flag for enabling LTO on dylibs 2022-10-23 13:48:03 +02:00
rustc_lexer Remove from compiler/ crates 2022-09-29 16:49:04 +09:00
rustc_lint Rollup merge of #103402 - joshtriplett:niche-wrap-fix, r=oli-obk 2022-10-23 14:48:17 -07:00
rustc_lint_defs Rollup merge of #102635 - lcnr:incoherent_auto_trait_objects, r=jackh726 2022-10-22 00:13:59 +02:00
rustc_llvm Avoid LLVM-deprecated Optional::hasValue 2022-09-26 16:51:18 -07:00
rustc_log Add diagnostic translation lints to crates that don't emit them 2022-08-18 19:29:02 +01:00
rustc_macros Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_metadata Auto merge of #103431 - Dylan-DPC:rollup-oozfo89, r=Dylan-DPC 2022-10-23 11:33:18 +00:00
rustc_middle Rollup merge of #103414 - compiler-errors:rpit-print-lt, r=cjgillot 2022-10-23 14:48:17 -07:00
rustc_mir_build Introduce InhabitedPredicate 2022-10-22 13:20:06 -05:00
rustc_mir_dataflow Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_mir_transform Introduce deduced parameter attributes, and use them for deducing readonly on 2022-10-21 02:33:15 -07:00
rustc_monomorphize Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_parse Rollup merge of #103333 - chenyukang:yukang/fix-103143, r=wesleywiser 2022-10-25 08:01:27 +09:00
rustc_parse_format Detect and reject out-of-range integers in format string literals 2022-10-01 01:05:01 +02:00
rustc_passes Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_plugin_impl Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_privacy Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_query_impl Introduce deduced parameter attributes, and use them for deducing readonly on 2022-10-21 02:33:15 -07:00
rustc_query_system Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_resolve Rollup merge of #103350 - clubby789:refer-to-assoc-method, r=wesleywiser 2022-10-25 08:01:27 +09:00
rustc_save_analysis Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_serialize remove cfg(bootstrap) 2022-09-26 10:14:45 +02:00
rustc_session Introduce dedicated -Zdylib-lto flag for enabling LTO on dylibs 2022-10-23 13:48:03 +02:00
rustc_smir Only keep one version of ImplicitSelfKind. 2022-09-13 19:18:23 +02:00
rustc_span Auto merge of #102536 - scottmcm:lookup_line-tweak, r=jackh726 2022-10-24 07:24:45 +00:00
rustc_symbol_mangling Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_target Split is_stable from rustc_target::spec::abi::is_enabled. 2022-10-19 12:41:11 +02:00
rustc_trait_selection Auto merge of #103345 - Nilstrieb:diag-flat, r=compiler-errors 2022-10-23 09:06:39 +00:00
rustc_traits rm try_normalize_mir_const_after_erasing_regions 2022-10-17 10:54:03 +02:00
rustc_transmute Remove TypeckResults from InferCtxt 2022-10-07 07:06:19 -05:00
rustc_ty_utils Migrate all diagnostics 2022-10-23 10:09:44 +02:00
rustc_type_ir Deny const variables as well 2022-10-19 17:11:40 +00:00