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
rustc_apfloat
rustc_arena
rustc_ast
rustc_ast_lowering
rustc_ast_passes
rustc_ast_pretty
rustc_attr
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
rustc_data_structures
rustc_driver
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
rustc_graphviz
rustc_hir
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
rustc_hir_typeck Auto merge of #103431 - Dylan-DPC:rollup-oozfo89, r=Dylan-DPC 2022-10-23 11:33:18 +00:00
rustc_incremental
rustc_index
rustc_infer
rustc_interface Introduce dedicated -Zdylib-lto flag for enabling LTO on dylibs 2022-10-23 13:48:03 +02:00
rustc_lexer
rustc_lint Rollup merge of #103402 - joshtriplett:niche-wrap-fix, r=oli-obk 2022-10-23 14:48:17 -07:00
rustc_lint_defs
rustc_llvm
rustc_log
rustc_macros
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
rustc_mir_dataflow
rustc_mir_transform
rustc_monomorphize
rustc_parse Rollup merge of #103333 - chenyukang:yukang/fix-103143, r=wesleywiser 2022-10-25 08:01:27 +09:00
rustc_parse_format
rustc_passes
rustc_plugin_impl
rustc_privacy
rustc_query_impl
rustc_query_system
rustc_resolve Rollup merge of #103350 - clubby789:refer-to-assoc-method, r=wesleywiser 2022-10-25 08:01:27 +09:00
rustc_save_analysis
rustc_serialize
rustc_session Introduce dedicated -Zdylib-lto flag for enabling LTO on dylibs 2022-10-23 13:48:03 +02:00
rustc_smir
rustc_span Auto merge of #102536 - scottmcm:lookup_line-tweak, r=jackh726 2022-10-24 07:24:45 +00:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection
rustc_traits
rustc_transmute
rustc_ty_utils
rustc_type_ir