0

Following manual describes dynamic linker/loader libs:

The program ld.so handles a.out binaries, a format used long ago; ld-linux.so* handles ELF (/lib/ld-linux.so.1 for libc5, /lib/ld-linux.so.2 for glibc2), which everybody has been using for years now.

I use Ubuntu 15.04 and I don't have ld.so. My system contains a few symbolic link to ld-2.21.so:

/lib/ld-linux.so.2 -> /lib32/ld-linux.so.2
/lib32/ld-linux.so.2 -> ld-2.21.so
/lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.21.so

Does it mean that the system can't handle a.out binaries (because is not equipped with ld.so) ? Moreover ld-linux.so.2 is a symblic link not a lib as is described in the manual. How to explain that ?

1 Answer 1

2

Your system doesn't have /lib/ld.so, so it isn't equipped for dynamically linked a.out executables. It could be equipped for statically linked a.out executables, if your kernel includes support for them; Ubuntu's doesn't (this requires the CONFIG_BINFMT_AOUT kernel configuration option). The a.out format has been obsolescent on Linux for about 20 years and obsolete for about 15, so most systems today have stopped supporting it.

/lib/ld-linux.so.1 and /lib/ld-linux.so.2 are two different versions of the GNU/Linux ELF dynamic loader, each with its own ABI. Version 1, corresponding to libc5, has been obsolete for only a few years less than a.out and is not supported on most systems today. Version 2, corresponding to GNU libc6, is current.

Each architecture has its own naming convention and version number for the dynamic loader (different processor architectures have de facto different ABIs). /lib/ld-linux.so.2 is the x86_32 name. On x86_64, the usual location is /lib64/ld-linux-x86-64.so.2. On armel, the location is /lib/ld-linux.so.3, on armhf /lib/ld-linux-armhf.so.3, and so on.

/lib/ld-linux.so.2 is a library (or more precisely, a dynamically linked shared object — the dynamic loader is usually not called a library). The fact that it's a symlink to a regular file rather than a regular file doesn't change that: what makes it a library is its content.

This site is temporarily in read-only mode and not accepting new answers.

Not the answer you're looking for? Browse other questions tagged .