This calls back to this question Linker error 'undefined reference to memcpy' when not linking libc - #4 by MarcusGrass which gives a bit of background.
I was trying to build a no_std no libc binary and it complained about missing symbols, memcpy specifically in that case. The suggestion was to link compiler-builtins, which probably would have worked. However, I couldn't because the build script immediately segfaulted. I settled for just implementing a #[no_mangle] memcpy and went on my merry way.
Yesterday the problem resurfaced when trying to do this in a bigger project and it turns out the problem seems to be that any dependency will fail to compile if they have a build-script because trying to run any build-script causes a segfault.
Again a minimal(ish) repro can be found here GitHub - MarcusGrass/nostd-alloc-repr if adding the dependency
compiler_builtins = "0.1.82" (or any other dependency with a build-script)
error: failed to run custom build command for `compiler_builtins v0.1.82` Caused by: process didn't exit successfully: `/home/gramar/code/rust/no_std/target/lto/build/compiler_builtins-78c1eb17a6c061f5/build-script-build` (signal: 11, SIGSEGV: invalid memory reference)
The build-scripts are pretty vanilla, I'm guessing that the culprit is in the
[target.'cfg(all())'] rustflags = [ "-C", "link-arg=-fuse-ld=lld", "-C", "link-arg=-nostartfiles", # <---- ]
But can I get that to not apply to build-scripts or work around this in some way?
Grateful for any help, I'm a bit out of my element here.