Skip to main content

glibc_loader

Function glibc_loader 

Source
pub fn glibc_loader(target: TargetTuple) -> &'static str
Expand description

The absolute path glibc’s loader is installed at on the target.

A different table from musl’s and not a different spelling of it. musl names every loader after the architecture in one directory; glibc’s names come from each port’s history, so three of them are called ld64.so with a number that means something different per architecture, two are in /lib64 rather than /lib, and i386’s carries no architecture in its name at all because it was the only one when it was named.

The rows with more than one answer are the ones where the loader and the program have to agree about register usage. 32-bit ARM has the hard float and soft float split, RISC-V and LoongArch spell the float ABI and the data model into the name, and AArch64 has a byte order in it. Getting one wrong produces a binary the kernel will not start, with a message about a missing file, and it is a string nothing at link time can check.