| ▲ | duped an hour ago | ||||||||||||||||||||||||||||||||||
The interpreter/loader is glibc and a key part of bootstrapping an executable built against glibc is loading libc itself before continuing on to load the program. Versioning is a problem when distributing binaries linked against a newer glibc to distros that ship an older one. The C compiler doesn't really care as much. | |||||||||||||||||||||||||||||||||||
| ▲ | okanat an hour ago | parent [-] | ||||||||||||||||||||||||||||||||||
> The C compiler doesn't really care as much. Until you define a thread local variable (C11) or use atomics (also C11) or define a global with an initial value. Then it happily generates code that depends on "whatever my target glibc + ld-linux.so needs". | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||