+
Point of view
All features
deferred class DL_FLAGS
Summary
Integer flag values used by DYNAMIC_SHARED_OBJECT
Direct parents
Insert list: ANY
Known children
Insert list: DYNAMIC_LINKING_LOADER, DYNAMIC_SHARED_OBJECT
Overview
Features
Validity
{ANY}
Required flags, either one must be specified
{ANY}
  • rtld_lazy: INTEGER_32
    Perform lazy binding.
  • rtld_now: INTEGER_32
    If this value is specified, or the environment variable LD_BIND_NOW is set to a non-empty string, all undeined symbols in the library are resolved before dlopen() returns.
Optional flags: zero of more of the following values may also be ORed
{ANY}
are_valid_dlflags (a_value: INTEGER_32): BOOLEAN
effective function
{ANY}
Are a_value valid flags to be used when creation a DYNAMIC_SHARED_OBJECT?
rtld_lazy: INTEGER_32
{ANY}
Perform lazy binding.
 Only resolve symbols as the code that references them is executed.  If the symbol is never referenced, then it is never resolved.  (Lazy binding is only performed for function references; references to variables are always immediately bound when the library is loaded.)
rtld_now: INTEGER_32
{ANY}
If this value is specified, or the environment variable LD_BIND_NOW is set to a non-empty string, all undeined symbols in the library are resolved before dlopen() returns.
 If this cannot be  done,  an  error  is returned.
rtld_global: INTEGER_32
{ANY}
The symbols defined by this library will be made available for symbol resolution of subsequently loaded libraries.
rtld_local: INTEGER_32
{ANY}
This is the converse of RTLD_GLOBAL, and the default if neither flag is specified.
 Symbols defined in this library are not made available to resolve references in subsequently loaded libraries.
rtld_nodelete: INTEGER_32
{ANY}
(since glibc 2.2) Do not unload the library during dlclose().
 Consequently, the library's static variables are not reini‐ tialized if the library is reloaded with dlopen()  at  a  later  time.   This  flag  is  not  specified  in POSIX.1-2001.
rtld_noload: INTEGER_32
{ANY}
(since glibc 2.2) Don't load the library.
 This can be used to test if the library is already resident (dlopen() returns NULL if it is not, or the library's handle if it is resident).  This flag can also be used to promote the  flags on a library that is already loaded.  For example, a library that was previously loaded with RTLD_LOCAL can be re-opened with RTLD_NOLOAD | RTLD_GLOBAL.  This flag is not specified in POSIX.1-2001.
rtld_deepbind: INTEGER_32
{ANY}
(since glibc 2.3.4) Place the lookup scope of the symbols in this library ahead of the global scope.
 This means that  a  self- contained  library will use its own symbols in preference to global symbols with the same name contained in libraries that have already been loaded.  This flag is not specified in POSIX.1-2001.