dlmodadd(3C)dlmodadd(3C)NAMEdlmodadd() - register information about dynamically generated functions
SYNOPSIS
[flag]... file... [library]...
DESCRIPTION
registers information about a dynamically generated function, which can
be retrived through The interface can be used to remove the registered
information.
associate_handle is the module handle for an existing module with which
the new function is associated. When the dynamic loader is called from
the new function, it will behave as if it had been called from the
associated module. This handle must be a handle returned by or
func_start is the starting address of the generated machine code for
the function. It is NOT the address of a function descriptor.
func_size is the size, in bytes, of the generated machine code.
linkage_ptr is the gp (global pointer) value to be used for the func‐
tion. It could be the gp of the associated module. It must be set to
a valid value, even if the generated code doesn't actually use gp, as
it is required at a minimum for following the personality routine
pointer in the unwind information.
unwind_info is a pointer to the beginning of the unwind info block for
the function. The unwind info block contains the header word, unwind
descriptors, personality routine pointer, and language-specific data,
as described in the Itanium-based system document.
When is invoked to register information about a dynamically generated
function, the dynamic loader creates an unwind header and a single-
entry unwind table for the function. The unwind header is associated
with the address range occupied by the dynamically generated function.
The routine returns a handle as identification of the newly-added func‐
tion. Handles returned by share the same namespace as handles returned
by and but they may not be used in calls to or If is called with an
ip_value that belongs to a function that has been registered with it
returns the associate_handle specified during invocation. If a library
is unloaded by the unwind info for all dynamically generated functions
associated with the library being unloaded is also removed.
MULTITHREAD USAGE
This routine is thread-safe.
RETURN VALUE
If successful, returns a handle as identification of the newly-added
function. NULL is returned otherwise.
ERRORS
If fails, a subsequent call to returns one of the following values:
Out of memory.
Cannot apply relocation in library.
failed on entry to
failed on exit from
Invalid
argument .
failed on entry to or exit from
AUTHOR
was developed by HP.
SEE ALSOld(1), dlclose(3C), dlerrno(3C), dlerror(3C), dlget(3C), dlmod‐
remove(3C), dlopen(3C), dlsym(3C), a.out(4), dld.so(5).
Texts and Tutorials
(See the option)
(See manuals(5) for ordering information)
dlmodadd(3C)