On Wednesday, 25 July 2018 at 08:57:41 UTC, Zheng (Vic) Luo wrote:

gcc and clang provides an option "-ffreestanding" to bypass optimizations that need libc support. Although we can hack around this issue by making our implementation complicated enough/using assembly to bypass the optimizer, it would be better to provide a standard flag like "-ffreestanding" for all compilers to disable such optimizations, so that developers won't have to hack around different compiler implementations.

I ran into this with LDC and discussed it at https://forum.dlang.org/post/[email protected] The solution for me was to compile with `-disable-simplify-libcalls`.

I never ran into this issue with GDC when I was compiling with `-nophoboslib -nostdinc -nodefaultlibs -nostdlib`. If I remember correctly, GDC would generate calls to `memset`, `memcpy`, and friends but seemed to be smart enough not to rewrite my own implementations of those functions, so as long as I implemented those functions everything worked fine.

I'll have more to say in response to one of your other posts.

Mike

Reply via email to