On Thu, Apr 05, 2012 at 11:32:39AM +1200, Michael Hope wrote:
So:
- Big endian: undefined, defaults to /lib/ld-linux.so.3
- Little endian, soft float: /lib/ld-linux.so.3
- Little endian, hard float: /libhf/ld-linux.so.3
Standard upstream practice supports having multiple variants that plausibly run on the same system at the same time, such as /lib and /lib64, and it seems reasonable to support hard and soft float variants that way via a directory such as /libhf. The Debian-style paths are not the default on any other architecture and I don't think it's appropriate to make them the default for this particular case only.
OK. Debian multiarch covers libraries and headers but not executables. As a MIPS hard float /usr/bin/ls would collide with an ARM hard float /usr/bin/ls then it's fine for the loader names to potentially collide as well.
In practice they wouldn't as most architecture has a subtily different loader name (cf. ld.so.1 for MIPS, ld-linux.so.2 for i386, and ld-linux.so.3 for ARM).
Yes, thankfully. More by luck than any design.
Cheers,