summaryrefslogtreecommitdiffstats
path: root/templates/man3/dlopen.3.pot
diff options
context:
space:
mode:
Diffstat (limited to 'templates/man3/dlopen.3.pot')
-rw-r--r--templates/man3/dlopen.3.pot1166
1 files changed, 1166 insertions, 0 deletions
diff --git a/templates/man3/dlopen.3.pot b/templates/man3/dlopen.3.pot
new file mode 100644
index 00000000..67dce1e4
--- /dev/null
+++ b/templates/man3/dlopen.3.pot
@@ -0,0 +1,1166 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR Free Software Foundation, Inc.
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2024-03-01 16:55+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dlopen"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-10-31"
+msgstr ""
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "dlclose, dlopen, dlmopen - open and close a shared object"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "LIBRARY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Dynamic linking library (I<libdl>, I<-ldl>)"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#include E<lt>dlfcn.hE<gt>>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<void *dlopen(const char *>I<filename>B<, int >I<flags>B<);>\n"
+"B<int dlclose(void *>I<handle>B<);>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<#define _GNU_SOURCE>\n"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<void *dlmopen(Lmid_t >I<lmid>B<, const char *>I<filename>B<, int >I<flags>B<);>\n"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dlopen()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The function B<dlopen>() loads the dynamic shared object (shared library) "
+"file named by the null-terminated string I<filename> and returns an opaque "
+"\"handle\" for the loaded object. This handle is employed with other "
+"functions in the dlopen API, such as B<dlsym>(3), B<dladdr>(3), "
+"B<dlinfo>(3), and B<dlclose>()."
+msgstr ""
+
+#. FIXME On Solaris, when handle is NULL, we seem to get back
+#. a handle for (something like) the root of the namespace.
+#. The point here is that if we do a dlmopen(LM_ID_NEWLM), then
+#. the filename==NULL case returns a different handle than
+#. in the initial namespace. But, on glibc, the same handle is
+#. returned. This is probably a bug in glibc.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<filename> is NULL, then the returned handle is for the main program. "
+"If I<filename> contains a slash (\"/\"), then it is interpreted as a "
+"(relative or absolute) pathname. Otherwise, the dynamic linker searches for "
+"the object as follows (see B<ld.so>(8) for further details):"
+msgstr ""
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "\\[bu]"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(ELF only) If the calling object (i.e., the shared library or executable "
+"from which B<dlopen>() is called) contains a DT_RPATH tag, and does not "
+"contain a DT_RUNPATH tag, then the directories listed in the DT_RPATH tag "
+"are searched."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If, at the time that the program was started, the environment variable "
+"B<LD_LIBRARY_PATH> was defined to contain a colon-separated list of "
+"directories, then these are searched. (As a security measure, this variable "
+"is ignored for set-user-ID and set-group-ID programs.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"(ELF only) If the calling object contains a DT_RUNPATH tag, then the "
+"directories listed in that tag are searched."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The cache file I</etc/ld.so.cache> (maintained by B<ldconfig>(8)) is "
+"checked to see whether it contains an entry for I<filename>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The directories I</lib> and I</usr/lib> are searched (in that order)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the object specified by I<filename> has dependencies on other shared "
+"objects, then these are also automatically loaded by the dynamic linker "
+"using the same rules. (This process may occur recursively, if those objects "
+"in turn have dependencies, and so on.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "One of the following two values must be included in I<flags>:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_LAZY>"
+msgstr ""
+
+#. commit 12b5b6b7f78ea111e89bbf638294a5413c791072
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Perform lazy binding. Resolve symbols only as the code that references them "
+"is executed. If the symbol is never referenced, then it is never resolved. "
+"(Lazy binding is performed only for function references; references to "
+"variables are always immediately bound when the shared object is loaded.) "
+"Since glibc 2.1.1, this flag is overridden by the effect of the "
+"B<LD_BIND_NOW> environment variable."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_NOW>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If this value is specified, or the environment variable B<LD_BIND_NOW> is "
+"set to a nonempty string, all undefined symbols in the shared object are "
+"resolved before B<dlopen>() returns. If this cannot be done, an error is "
+"returned."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Zero or more of the following values may also be ORed in I<flags>:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_GLOBAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The symbols defined by this shared object will be made available for symbol "
+"resolution of subsequently loaded shared objects."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_LOCAL>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This is the converse of B<RTLD_GLOBAL>, and the default if neither flag is "
+"specified. Symbols defined in this shared object are not made available to "
+"resolve references in subsequently loaded shared objects."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_NODELETE> (since glibc 2.2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Do not unload the shared object during B<dlclose>(). Consequently, the "
+"object's static and global variables are not reinitialized if the object is "
+"reloaded with B<dlopen>() at a later time."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_NOLOAD> (since glibc 2.2)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Don't load the shared object. This can be used to test if the object is "
+"already resident (B<dlopen>() returns NULL if it is not, or the object's "
+"handle if it is resident). This flag can also be used to promote the flags "
+"on a shared object that is already loaded. For example, a shared object "
+"that was previously loaded with B<RTLD_LOCAL> can be reopened with "
+"B<RTLD_NOLOAD\\ |\\ RTLD_GLOBAL>."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_DEEPBIND> (since glibc 2.3.4)"
+msgstr ""
+
+#. Inimitably described by UD in
+#. http://sources.redhat.com/ml/libc-hacker/2004-09/msg00083.html.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Place the lookup scope of the symbols in this shared object ahead of the "
+"global scope. This means that a self-contained object will use its own "
+"symbols in preference to global symbols with the same name contained in "
+"objects that have already been loaded."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<filename> is NULL, then the returned handle is for the main program. "
+"When given to B<dlsym>(3), this handle causes a search for a symbol in the "
+"main program, followed by all shared objects loaded at program startup, and "
+"then all shared objects loaded by B<dlopen>() with the flag B<RTLD_GLOBAL>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Symbol references in the shared object are resolved using (in order): "
+"symbols in the link map of objects loaded for the main program and its "
+"dependencies; symbols in shared objects (and their dependencies) that were "
+"previously opened with B<dlopen>() using the B<RTLD_GLOBAL> flag; and "
+"definitions in the shared object itself (and any dependencies that were "
+"loaded for that object)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Any global symbols in the executable that were placed into its dynamic "
+"symbol table by B<ld>(1) can also be used to resolve references in a "
+"dynamically loaded shared object. Symbols may be placed in the dynamic "
+"symbol table either because the executable was linked with the flag \"-"
+"rdynamic\" (or, synonymously, \"--export-dynamic\"), which causes all of the "
+"executable's global symbols to be placed in the dynamic symbol table, or "
+"because B<ld>(1) noted a dependency on a symbol in another object during "
+"static linking."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the same shared object is opened again with B<dlopen>(), the same object "
+"handle is returned. The dynamic linker maintains reference counts for "
+"object handles, so a dynamically loaded shared object is not deallocated "
+"until B<dlclose>() has been called on it as many times as B<dlopen>() has "
+"succeeded on it. Constructors (see below) are called only when the object "
+"is actually loaded into memory (i.e., when the reference count increases to "
+"1)."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A subsequent B<dlopen>() call that loads the same shared object with "
+"B<RTLD_NOW> may force symbol resolution for a shared object earlier loaded "
+"with B<RTLD_LAZY>. Similarly, an object that was previously opened with "
+"B<RTLD_LOCAL> can be promoted to B<RTLD_GLOBAL> in a subsequent B<dlopen>()."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "If B<dlopen>() fails for any reason, it returns NULL."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dlmopen()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This function performs the same task as B<dlopen>()\\[em]the I<filename> and "
+"I<flags> arguments, as well as the return value, are the same, except for "
+"the differences noted below."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<dlmopen>() function differs from B<dlopen>() primarily in that it "
+"accepts an additional argument, I<lmid>, that specifies the link-map list "
+"(also referred to as a I<namespace>) in which the shared object should be "
+"loaded. (By comparison, B<dlopen>() adds the dynamically loaded shared "
+"object to the same namespace as the shared object from which the "
+"B<dlopen>() call is made.) The I<Lmid_t> type is an opaque handle that "
+"refers to a namespace."
+msgstr ""
+
+#. FIXME: Is using dlinfo() RTLD_DI_LMID the right technique?
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<lmid> argument is either the ID of an existing namespace (which can be "
+"obtained using the B<dlinfo>(3) B<RTLD_DI_LMID> request) or one of the "
+"following special values:"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<LM_ID_BASE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Load the shared object in the initial namespace (i.e., the application's "
+"namespace)."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<LM_ID_NEWLM>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Create a new namespace and load the shared object in that namespace. The "
+"object must have been correctly linked to reference all of the other shared "
+"objects that it requires, since the new namespace is initially empty."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If I<filename> is NULL, then the only permitted value for I<lmid> is "
+"B<LM_ID_BASE>."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dlclose()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The function B<dlclose>() decrements the reference count on the dynamically "
+"loaded shared object referred to by I<handle>."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the object's reference count drops to zero and no symbols in this object "
+"are required by other objects, then the object is unloaded after first "
+"calling any destructors defined for the object. (Symbols in this object "
+"might be required in another object because this object was opened with the "
+"B<RTLD_GLOBAL> flag and one of its symbols satisfied a relocation in another "
+"object.)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"All shared objects that were automatically loaded when B<dlopen>() was "
+"invoked on the object referred to by I<handle> are recursively closed in the "
+"same manner."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A successful return from B<dlclose>() does not guarantee that the symbols "
+"associated with I<handle> are removed from the caller's address space. In "
+"addition to references resulting from explicit B<dlopen>() calls, a shared "
+"object may have been implicitly loaded (and reference counted) because of "
+"dependencies in other shared objects. Only when all references have been "
+"released can the shared object be removed from the address space."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "RETURN VALUE"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On success, B<dlopen>() and B<dlmopen>() return a non-NULL handle for the "
+"loaded object. On error (file could not be found, was not readable, had the "
+"wrong format, or caused errors during loading), these functions return NULL."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On success, B<dlclose>() returns 0; on error, it returns a nonzero value."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Errors from these functions can be diagnosed using B<dlerror>(3)."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For an explanation of the terms used in this section, see B<attributes>(7)."
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Interface"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Attribute"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Value"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".na\n"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ".nh\n"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<dlopen>(),\n"
+"B<dlmopen>(),\n"
+"B<dlclose>()"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Thread safety"
+msgstr ""
+
+#. type: tbl table
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "MT-Safe"
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "STANDARDS"
+msgstr ""
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<dlopen>()"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<dlclose>()"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "POSIX.1-2008."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<dlmopen>()"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_NOLOAD>"
+msgstr ""
+
+#. type: TQ
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_NODELETE>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "GNU."
+msgstr ""
+
+#. type: TP
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<RTLD_DEEPBIND>"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Solaris."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "HISTORY"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.0. POSIX.1-2001."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-leap-15-6 opensuse-tumbleweed
+msgid "glibc 2.3.4."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "dlmopen() and namespaces"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A link-map list defines an isolated namespace for the resolution of symbols "
+"by the dynamic linker. Within a namespace, dependent shared objects are "
+"implicitly loaded according to the usual rules, and symbol references are "
+"likewise resolved according to the usual rules, but such resolution is "
+"confined to the definitions provided by the objects that have been "
+"(explicitly and implicitly) loaded into the namespace."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<dlmopen>() function permits object-load isolation\\[em]the ability to "
+"load a shared object in a new namespace without exposing the rest of the "
+"application to the symbols made available by the new object. Note that the "
+"use of the B<RTLD_LOCAL> flag is not sufficient for this purpose, since it "
+"prevents a shared object's symbols from being available to I<any> other "
+"shared object. In some cases, we may want to make the symbols provided by a "
+"dynamically loaded shared object available to (a subset of) other shared "
+"objects without exposing those symbols to the entire application. This can "
+"be achieved by using a separate namespace and the B<RTLD_GLOBAL> flag."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<dlmopen>() function also can be used to provide better isolation than "
+"the B<RTLD_LOCAL> flag. In particular, shared objects loaded with "
+"B<RTLD_LOCAL> may be promoted to B<RTLD_GLOBAL> if they are dependencies of "
+"another shared object loaded with B<RTLD_GLOBAL>. Thus, B<RTLD_LOCAL> is "
+"insufficient to isolate a loaded shared object except in the (uncommon) "
+"case where one has explicit control over all shared object dependencies."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Possible uses of B<dlmopen>() are plugins where the author of the plugin-"
+"loading framework can't trust the plugin authors and does not wish any "
+"undefined symbols from the plugin framework to be resolved to plugin "
+"symbols. Another use is to load the same object more than once. Without "
+"the use of B<dlmopen>(), this would require the creation of distinct copies "
+"of the shared object file. Using B<dlmopen>(), this can be achieved by "
+"loading the same shared object file into different namespaces."
+msgstr ""
+
+#. DL_NNS
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The glibc implementation supports a maximum of 16 namespaces."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Initialization and finalization functions"
+msgstr ""
+
+#. info gcc "C Extensions" "Function attributes"
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Shared objects may export functions using the "
+"B<__attribute__((constructor))> and B<__attribute__((destructor))> function "
+"attributes. Constructor functions are executed before B<dlopen>() returns, "
+"and destructor functions are executed before B<dlclose>() returns. A "
+"shared object may export multiple constructors and destructors, and "
+"priorities can be associated with each function to determine the order in "
+"which they are executed. See the B<gcc> info pages (under \"Function "
+"attributes\") for further information."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"An older method of (partially) achieving the same result is via the use of "
+"two special symbols recognized by the linker: B<_init> and B<_fini>. If a "
+"dynamically loaded shared object exports a routine named B<_init>(), then "
+"that code is executed after loading a shared object, before B<dlopen>() "
+"returns. If the shared object exports a routine named B<_fini>(), then that "
+"routine is called just before the object is unloaded. In this case, one "
+"must avoid linking against the system startup files, which contain default "
+"versions of these files; this can be done by using the B<gcc>(1) I<-"
+"nostartfiles> command-line option."
+msgstr ""
+
+#
+#. Using these routines, or the gcc
+#. .B \-nostartfiles
+#. or
+#. .B \-nostdlib
+#. options, is not recommended.
+#. Their use may result in undesired behavior,
+#. since the constructor/destructor routines will not be executed
+#. (unless special measures are taken).
+#. .\" void _init(void) __attribute__((constructor));
+#. .\" void _fini(void) __attribute__((destructor));
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Use of B<_init> and B<_fini> is now deprecated in favor of the "
+"aforementioned constructors and destructors, which among other advantages, "
+"permit multiple initialization and finalization functions to be defined."
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Since glibc 2.2.3, B<atexit>(3) can be used to register an exit handler "
+"that is automatically called when a shared object is unloaded."
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "History"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "These functions are part of the dlopen API, derived from SunOS."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "BUGS"
+msgstr ""
+
+#. dlerror(): "invalid mode"
+#. https://sourceware.org/bugzilla/show_bug.cgi?id=18684
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"As at glibc 2.24, specifying the B<RTLD_GLOBAL> flag when calling "
+"B<dlmopen>() generates an error. Furthermore, specifying B<RTLD_GLOBAL> "
+"when calling B<dlopen>() results in a program crash (B<SIGSEGV>) if the "
+"call is made from any object loaded in a namespace other than the initial "
+"namespace."
+msgstr ""
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The program below loads the (glibc) math library, looks up the address of "
+"the B<cos>(3) function, and prints the cosine of 2.0. The following is an "
+"example of building and running the program:"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$ B<cc dlopen_demo.c -ldl>\n"
+"$ B<./a.out>\n"
+"-0.416147\n"
+msgstr ""
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Program source"
+msgstr ""
+
+#. http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
+#. http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
+#. http://austingroupbugs.net/view.php?id=74
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"#include E<lt>dlfcn.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"\\&\n"
+"#include E<lt>gnu/lib-names.hE<gt> /* Defines LIBM_SO (which will be a\n"
+" string such as \"libm.so.6\") */\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" void *handle;\n"
+" double (*cosine)(double);\n"
+" char *error;\n"
+"\\&\n"
+" handle = dlopen(LIBM_SO, RTLD_LAZY);\n"
+" if (!handle) {\n"
+" fprintf(stderr, \"%s\\en\", dlerror());\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" dlerror(); /* Clear any existing error */\n"
+"\\&\n"
+" cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
+"\\&\n"
+" /* According to the ISO C standard, casting between function\n"
+" pointers and \\[aq]void *\\[aq], as done above, produces undefined results.\n"
+" POSIX.1-2001 and POSIX.1-2008 accepted this state of affairs and\n"
+" proposed the following workaround:\n"
+"\\&\n"
+" *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
+"\\&\n"
+" This (clumsy) cast conforms with the ISO C standard and will\n"
+" avoid any compiler warnings.\n"
+"\\&\n"
+" The 2013 Technical Corrigendum 1 to POSIX.1-2008 improved matters\n"
+" by requiring that conforming implementations support casting\n"
+" \\[aq]void *\\[aq] to a function pointer. Nevertheless, some compilers\n"
+" (e.g., gcc with the \\[aq]-pedantic\\[aq] option) may complain about the\n"
+" cast used in this program. */\n"
+"\\&\n"
+" error = dlerror();\n"
+" if (error != NULL) {\n"
+" fprintf(stderr, \"%s\\en\", error);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" printf(\"%f\\en\", (*cosine)(2.0));\n"
+" dlclose(handle);\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. SRC END
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<ld>(1), B<ldd>(1), B<pldd>(1), B<dl_iterate_phdr>(3), B<dladdr>(3), "
+"B<dlerror>(3), B<dlinfo>(3), B<dlsym>(3), B<rtld-audit>(7), B<ld.so>(8), "
+"B<ldconfig>(8)"
+msgstr ""
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "gcc info pages, ld info pages"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-05"
+msgstr ""
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr ""
+
+#. type: SH
+#: debian-bookworm
+#, no-wrap
+msgid "VERSIONS"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"B<dlopen>() and B<dlclose>() are present in glibc 2.0 and later. "
+"B<dlmopen>() first appeared in glibc 2.3.4."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"POSIX.1-2001 describes B<dlclose>() and B<dlopen>(). The B<dlmopen>() "
+"function is a GNU extension."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm
+msgid ""
+"The B<RTLD_NOLOAD>, B<RTLD_NODELETE>, and B<RTLD_DEEPBIND> flags are GNU "
+"extensions; the first two of these flags are also present on Solaris."
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>dlfcn.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>gnu/lib-names.hE<gt> /* Defines LIBM_SO (which will be a\n"
+" string such as \"libm.so.6\") */\n"
+"int\n"
+"main(void)\n"
+"{\n"
+" void *handle;\n"
+" double (*cosine)(double);\n"
+" char *error;\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" handle = dlopen(LIBM_SO, RTLD_LAZY);\n"
+" if (!handle) {\n"
+" fprintf(stderr, \"%s\\en\", dlerror());\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " dlerror(); /* Clear any existing error */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " cosine = (double (*)(double)) dlsym(handle, \"cos\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /* According to the ISO C standard, casting between function\n"
+" pointers and \\[aq]void *\\[aq], as done above, produces undefined results.\n"
+" POSIX.1-2001 and POSIX.1-2008 accepted this state of affairs and\n"
+" proposed the following workaround:\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " *(void **) (&cosine) = dlsym(handle, \"cos\");\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" This (clumsy) cast conforms with the ISO C standard and will\n"
+" avoid any compiler warnings.\n"
+msgstr ""
+
+#. http://pubs.opengroup.org/onlinepubs/009695399/functions/dlsym.html#tag_03_112_08
+#. http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlsym.html#tag_16_96_07
+#. http://austingroupbugs.net/view.php?id=74
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" The 2013 Technical Corrigendum 1 to POSIX.1-2008 improved matters\n"
+" by requiring that conforming implementations support casting\n"
+" \\[aq]void *\\[aq] to a function pointer. Nevertheless, some compilers\n"
+" (e.g., gcc with the \\[aq]-pedantic\\[aq] option) may complain about the\n"
+" cast used in this program. */\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" error = dlerror();\n"
+" if (error != NULL) {\n"
+" fprintf(stderr, \"%s\\en\", error);\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" printf(\"%f\\en\", (*cosine)(2.0));\n"
+" dlclose(handle);\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-20"
+msgstr ""
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-30"
+msgstr ""
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr ""