I see libstd.rlib is shipped monolithically (not sure whether it's the right word) on my x86_64 laptop. It only contains a .rmeta file and a single .o file (which is presumably generated by partial linking or incremental linking). I wonder whether this can be done for a normal rlib built from user's code.
I find that some code is omitted even with -C link-dead-code. I'm thinking maybe if my rlibs were all monolithic, link-dead-code would work as I expected so that I can find all symbol definitions in my final executable.