Hello Khem Raj and Rich Felker.

I don't understand what you mean by it "breaks cross compilation". The
> ldso link produced is not used for compiling anything; it's only used
> for executing programs, which you don't do when cross compiling musl
> or cross compiling applications against it. The link is setup to be
> installed on the $host, not to be used on the $build where it's not
> needed.

> Could you could explain what specifically you're trying to do that's
> not working as desired?
I am doing musl cross compilation using "x86_64-pc-linux-musl-emerge -v1 sys-libs/musl". It cross compiles it and copies everything into the folder "/usr/x86_64-pc-linux-musl".

For example "./usr/lib/libc.so" becomes "/usr/x86_64-pc-linux-musl/usr/lib/libc.so". "./lib/ld-musl-x86_64.so.1" becomes "/usr/x86_64-pc-linux-musl/lib/ld-musl-x86_64.so.1". So this installation breaks all absolute symlinks.

I think the easiest way to fix it will be to keep all symlinks in musl relative. Now I have "ld-musl-x86_64.so.1 -> ../usr/lib/libc.so" and it works perfect. Thank you.