Summary: | libiberty cannot find __imp___acrt_iob_func for x86_64-w64-mingw32 cross toolchain for canadian compilation | ||
---|---|---|---|
Product: | binutils | Reporter: | cqwrteur <euloanty> |
Component: | binutils | Assignee: | Not yet assigned to anyone <unassigned> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | amodra, euloanty |
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | x86_64-w64-mingw32 | Target: | i586-msdosdjgp |
Build: | x86_64-linux-gnu | Last reconfirmed: | |
Attachments: | config file |
Description
cqwrteur
2022-06-01 17:10:17 UTC
Created attachment 14128 [details]
config file
https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=7273d78f3f7ae3701512f1ff423430f51b011ece I believe it breaks because of this commitment. It makes the binary compiled with the build compiler instead of the host compiler. It completely breaks Canadian compilation. BTW. The xmalloc thing should be just __builtin_trap(). No more debugging information and recovery thank you. void* xmalloc(size_t sz) noexcept { void* ptr = malloc(sz); if(!ptr) __builtin_trap(); return ptr; } Thank you. Since stdio on mingw-w64 bloats binary size. https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=b0de9ed86f3af84fbd636f94a58b9c4ad7f4e743 well it looks like this does not fix Canadian compilation. I can build the canadian cross you describe, using ~/src/binutils-gdb/configure \ --target=i586-msdosdjgpp --host=x86_64-w64-mingw32 --build=x86_64-linux-gnu \ --disable-gdb --disable-gdbserver --disable-sim --disable-readline \ --disable-libdecnumber --disable-libbacktrace --disable-gprofng --disable-nls $ file bfd/doc/chew bfd/doc/chew: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e68ec21e6eb9b489db730e2731ec73932e74c9b0, for GNU/Linux 3.2.0, not stripped $ file gas/as-new.exe gas/as-new.exe: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows And yes, I also see a fail to link bfd/doc/chew if I use source checked out at commit 739f9506642. |