Updating libc

27-Mar-2020 21:02 by 3 Comments

Updating libc - movies about multicultural dating

There is currently no support for a proxy loader, nor any definition of the metadata that might be used to run this process.With a change to the application build process, a different ELF interpreter could be used (this time under /opt, like the rest of software collections).

The new components are injected through shell environment variables, namely PATH (for commands) and (for dynamic libraries).For example, some versions of the Google Chrome browser started to warn users on Red Hat Enterprise Linux 7 that future versions of Chrome would not support their operating system.The Chromium source code contained a version check, flagging all versions of the GNU C Library (glibc) older than 2.19 as obsolete.The current GNU/Linux development model strongly encourages that programs are recompiled for each distribution on which they are run.This model is not popular with independent software vendors who ship pre-compiled binaries: usually, they only want to produce one binary for each architecture, not one binary per architecture and distribution.But adding new externally visible interfaces is different.

The problem related to dynamic linking and plug-in frameworks still exists.

A potential approach might be to replace the named loader with a proxy loader that can inspect application metadata to decide which real loader to use instead of the default one.

The downside is that unmarked applications can’t use this method.

However, the interpreter is an integral part of glibc and has to be upgraded in lock-step with the rest of the glibc (notably, ).

Without additional measures, the kernel will always use the system ELF interpreter to load programs, and this interpreter is unlikely to be able to load a glibc version provided as a software collection and stored in some directory references in the environment variable.

Mere backporting of interfaces will not make the system glibc acceptable to software which performs such explicit version checks.