Compiling musl with crossdev generates warnings of the form
x86_64-gentoo-linux-musl-strip: Unable to recognise the format of the input file `/var/tmp/portage/cross-armv7a-hardfloat-linux-musleabi/musl-1.1.10-r1/image/usr/armv7a-hardfloat-linux-musleabi/usr/lib/rcrt1.o'
which in the end cause
/usr/libexec/gcc/armv7a-hardfloat-linux-musleabi/ld: skipping incompatible /usr/armv7a-hardfloat-linux-musleabi/usr/lib/libc.a when searching for -lc
when trying to do static linking.
Obviously the wrong strip command is used and this seems to cause the
breakage. (and this is not specific to the architectures in the example)
The glibc and uclibc ebuilds disable stripping and are therefore not
affected. The glibc ebuild suggests that this is due to bug 46186. I'm
not sure whether this applies also to musl but one possible solution
would be to disable stripping for musl.
prepstrip uses unconditionally the strip from CHOST. So another
possibility would be to ensure that in the crosscompiling situation
both CHOST and CTARGET point to the target arch while CBUILD points
to the arch we are building on.
i don't know why this has been re-assigned -- it's clearly a bug in the musl ebuild. read the other C library ebuilds to see how to handle this case.
is this still a thing with recent musl-1.1.24?