rust/compiler
Jubilee 60e8ab6ba8
Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser
Set "symbol name" in raw-dylib import libraries to the decorated name

`windows-rs` received a bug report that mixing raw-dylib generated and the Windows SDK import libraries was causing linker failures: <https://github.com/microsoft/windows-rs/issues/3285>

The root cause turned out to be #124958, that is we are not including the decorated name in the import library and so the import name type is also not being correctly set.

This change modifies the generation of import libraries to set the "symbol name" to the fully decorated name and correctly marks the import as being data vs function.

Note that this also required some changes to how the symbol is named within Rust: for MSVC we now need to use the decorated name but for MinGW we still need to use partially decorated (or undecorated) name.

Fixes #124958

Passing i686 MSVC and MinGW build: <https://github.com/rust-lang/rust/actions/runs/11000433888?pr=130586>

r? `@ChrisDenton`
2024-11-07 18:48:20 -08:00
..
rustc Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_abi
rustc_arena
rustc_ast Add documentation on ast::Attribute 2024-11-05 16:38:15 +01:00
rustc_ast_ir
rustc_ast_lowering Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_ast_passes
rustc_ast_pretty
rustc_attr
rustc_baked_icu_data
rustc_borrowck Auto merge of #132580 - compiler-errors:globs, r=Noratrieb 2024-11-05 08:30:56 +00:00
rustc_builtin_macros
rustc_codegen_cranelift remove 'platform-intrinsic' ABI leftovers 2024-11-07 17:42:49 +01:00
rustc_codegen_gcc Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser 2024-11-07 18:48:20 -08:00
rustc_codegen_llvm Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser 2024-11-07 18:48:20 -08:00
rustc_codegen_ssa Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser 2024-11-07 18:48:20 -08:00
rustc_const_eval Rollup merge of #132057 - RalfJung:miri-abi-compat, r=wesleywiser 2024-11-07 13:08:27 +01:00
rustc_data_structures
rustc_driver
rustc_driver_impl
rustc_error_codes
rustc_error_messages
rustc_errors
rustc_expand
rustc_feature
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir
rustc_hir_analysis Rollup merge of #132734 - RalfJung:platform-intrinsic, r=compiler-errors 2024-11-07 18:19:38 +01:00
rustc_hir_pretty
rustc_hir_typeck Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_incremental
rustc_index
rustc_index_macros
rustc_infer Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_interface Rollup merge of #132259 - mrkajetanp:branch-protection-pauth-lr, r=davidtwco 2024-11-05 20:10:49 +01:00
rustc_lexer
rustc_lint Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_lint_defs
rustc_llvm PassWrapper: adapt for new parameter in LLVM 2024-11-05 15:49:37 +11:00
rustc_log
rustc_macros
rustc_metadata
rustc_middle Rollup merge of #132734 - RalfJung:platform-intrinsic, r=compiler-errors 2024-11-07 18:19:38 +01:00
rustc_mir_build Auto merge of #132580 - compiler-errors:globs, r=Noratrieb 2024-11-05 08:30:56 +00:00
rustc_mir_dataflow
rustc_mir_transform
rustc_monomorphize
rustc_next_trait_solver Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_parse
rustc_parse_format
rustc_passes
rustc_pattern_analysis
rustc_privacy
rustc_query_impl
rustc_query_system
rustc_resolve Rollup merge of #132567 - estebank:bad-suggestion, r=Nadrieril 2024-11-05 20:10:51 +01:00
rustc_sanitizers
rustc_serialize
rustc_session Rollup merge of #130586 - dpaoliello:fixrawdylib, r=wesleywiser 2024-11-07 18:48:20 -08:00
rustc_smir
rustc_span Basic inline assembly support for SPARC and SPARC64 2024-11-07 21:19:03 +09:00
rustc_symbol_mangling
rustc_target Auto merge of #132472 - taiki-e:sparc-asm, r=Amanieu 2024-11-07 21:07:06 +00:00
rustc_trait_selection Remove unused intercrate dependencies 2024-11-07 14:17:16 +00:00
rustc_traits
rustc_transmute
rustc_ty_utils Make fn_abi_sanity_check a bit stricter 2024-11-07 15:54:40 +00:00
rustc_type_ir
rustc_type_ir_macros
stable_mir