Novell Home

LD ASSUME KERNEL

What is LD_ASSUME_KERNEL all about?

The environment variable LD_ASSUME_KERNEL can be set to a value that indicates the kernel OS API version an application is compatible with and is used by the Linux Dynamic Linker/Loader for determining what directory paths to use when loading the Standard C Library (GLIBC or libc.so.6). This is the primary mechanism for dealing with backwards compatibility for applications written for older Linux versions.

Here are the directory paths that are chosen based on the setting of LD_ASSUME_KERNEL:

/lib/libc.so.6

/lib/i686/libc.so.6

/lib/tls/libc.so.6

One of the primary distinguishers of features is the difference between the older LinuxThreads POSIX threading model and the newer threading model NPTL (Native POSIX Thread Library). This can be determined as follows on a Linux BASH command line;

developer@linux:~> /lib/libc.so.6
GNU C Library stable release version 2.3.5 (20050802), by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Configured for i686-suse-linux.
Compiled by GNU CC version 4.0.2 20050901 (prerelease) (SUSE Linux).
Compiled on a Linux 2.6.12 system on 2005-09-09.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        linuxthreads-0.10 by Xavier Leroy
        GNU Libidn by Simon Josefsson
        NoVersion patch for broken glibc 2.0 binaries
        BIND-8.2.3-T5B
        libthread_db work sponsored by Alpha Processor Inc
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
developer@linux:~>
developer@linux:~> /lib/tls/libc.so.6
GNU C Library stable release version 2.3.5 (20050802), by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Configured for i686-suse-linux.
Compiled by GNU CC version 4.0.2 20050901 (prerelease) (SUSE Linux).
Compiled on a Linux 2.6.12 system on 2005-09-09.
Available extensions:
        GNU libio by Per Bothner
        crypt add-on version 2.1 by Michael Glad and others
        Native POSIX Threads Library by Ulrich Drepper et al
        GNU Libidn by Simon Josefsson
        NoVersion patch for broken glibc 2.0 binaries
        BIND-8.2.3-T5B
        NIS(YP)/NIS+ NSS modules 0.19 by Thorsten Kukuk
Thread-local storage support included.
For bug reporting instructions, please see:
<http://www.gnu.org/software/libc/bugs.html>.
developer@linux:~>

(Note: This example is on SLES 9. SLES 10 has deprecated support for Linux Threads and only supports NPTL)

© 2014 Novell