rustc_codegen_clr
rustc_codegen_clr copied to clipboard
[Linker issue] Latest commit fails to compile example in QUICKSTART.md
Describe the bug Latest commit fails to compile example in QUICKSTART.md,
error:
> cargo run
warning: unused manifest key: build
warning: unused manifest key: unstable
Compiling c v0.1.0 (C:\Users\myusername\Documents\code\5-22-24\c)
error: linking with `\\?\C:\Users\myusername\Documents\code\rustc_codegen_clr\target\debug\linker.exe` failed: exit code: 0xc0000135
|
= note: "\\\\?\\C:\\Users\\myusername\\Documents\\code\\rustc_codegen_clr\\target\\debug\\linker.exe" "/NOLOGO" "C:\\Users\\myusername\\AppData\\Local\\Temp\\rustcAsZO3H\\symbols.o" "C:\\Users\\myusername\\Documents\\code\\5-22-24\\c\\target\\debug\\deps\\c.bc" "/LIBPATH:C:\\Users\\myusername\\Documents\\code\\5-22-24\\c\\target\\debug\\deps" "/LIBPATH:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd-8ac42145e0282c2a.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libpanic_unwind-50670a58b21a47e0.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_demangle-175d80d3c3db88b7.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libstd_detect-07381e2f40221155.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libhashbrown-c83e267e89319fe0.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_alloc-6fd6593ddc25dc10.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libunwind-27634911093fa9aa.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcfg_if-60c84f47f1803ffa.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\liballoc-7bfd0a6d1a588dbd.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\librustc_std_workspace_core-cca5aeb939a92213.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcore-0a7d9524c210bd3d.rlib" "C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib\\libcompiler_builtins-d827b00cff8216d8.rlib" "kernel32.lib" "advapi32.lib" "kernel32.lib" "ntdll.lib" "userenv.lib" "ws2_32.lib" "kernel32.lib" "ws2_32.lib" "kernel32.lib" "/defaultlib:msvcrt" "/NXCOMPAT" "/LIBPATH:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\x86_64-pc-windows-msvc\\lib" "/OUT:C:\\Users\\myusername\\Documents\\code\\5-22-24\\c\\target\\debug\\deps\\c.exe" "/OPT:REF,NOICF" "/DEBUG" "/PDBALTPATH:%_PDB%" "/NATVIS:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\intrinsic.natvis" "/NATVIS:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\liballoc.natvis" "/NATVIS:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libcore.natvis" "/NATVIS:C:\\Users\\myusername\\.rustup\\toolchains\\nightly-x86_64-pc-windows-msvc\\lib\\rustlib\\etc\\libstd.natvis" "--cargo-support"
= note:
error: could not compile `c` (bin "c") due to 1 previous error
Example of miscompiled code
extern "C" {
fn puts(msg: *const u8);
}
fn main() {
// A heap-allocated string!
let mut string = String::with_capacity(100);
string.push('H');
string.push('e');
string.push('l');
string.push('l');
string.push('o');
string.push('.');
string.push('\n');
string.push('\0');
unsafe { puts(string.as_ptr()) };
// String literals work too.
unsafe { puts("Rust + NET = <3!\n\0".as_ptr()) };
}
Expected behavior It should run normally.
Info about your system (please complete the following information):
- OS: Windows 10 x86
Additional context None