Open
Description
I think #96444 might have broken the #[export_name = "\x01..."] LLVM workaround for avoiding the "@xyz" name mangling on x86. Compiling the following with i686-pc-windows-msvc
results in error LNK2001: unresolved external symbol _☺test1@0
:
#[export_name = "\x02test2"]
extern "stdcall" fn test2() {}
#[export_name = "\x01test1"]
extern "stdcall" fn test1() {}
I stumbled upon this when trying to use the \x01
workaround to specify the _aulldiv
symbol, which the MSVC linker expects to be named __aulldiv
(instead of __aulldiv@16
) in #![no_std]
x86 Windows crates.
Metadata
Metadata
Assignees
Labels
Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.Area: linking into static, shared libraries and binariesCategory: This is a bug.Operating system: WindowsLow priorityRelevant to the compiler team, which will review and decide on the PR/issue.Performance or correctness regression from one stable version to another.