The dynamic linker’s auditing interface allows external code to observe and affect the loading of dynamic objects. As this allows the external code to modify the operation of the program, great care should be taken when creating and deploying audit modules (auditors).
Audit modules should include link.h to import constants and
prototypes used by the audit API. Note that the audit interface is an
extension to the GNU C Library so requires _GNU_SOURCE to be defined
before including link.h.
Note that while auditors can do pretty much anything to the audited program, anything other than the uses documented here is not supported.