unw_set_iterate_phdr_function - Man Page

set dl_iterate_phdr implementation

Synopsis

#include <libunwind.h>

typedef int (*unw_iterate_phdr_callback_t)(struct dl_phdr_info *, size_t, void *);
typedef int (*unw_iterate_phdr_func_t)(unw_iterate_phdr_callback_t, void *);

void unw_set_iterate_phdr_function(unw_addr_space_t as, unw_iterate_phdr_func_t function);

Description

The unw_set_iterate_phdr_function() routine sets the dl_iterate_phdr implementation of address space as to the function by argument function​. The function will be called whenever libunwind needs to iterate over the program headers of the application.  This is normally done by calling dl_iterate_phdr, but this function is not signal safe.  With the help of a custom implementation caching and iterating over the program headers is also possible in an signal-safe manner.  Though the burden lies on the user of libunwind​.

Thread and Signal Safety

unw_set_iterate_phdr_function() is thread safe. If the local address space  is passed in argument as, this routine is also safe to use from  a signal handler.

See Also

libunwind(3libunwind), unw_create_addr_space(3libunwind), dl_iterate_phdr(3libunwind),

Author

Bert Wesarg
Email: bert.wesarg@googlemail.com
WWW: http://www.nongnu.org/libunwind/​.

Info

29 August 2023 Programming Library