diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-03-16 02:16:30 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2009-03-16 02:16:30 +0000 |
commit | 2ca285b098890abde89fc79bbaf69432b14f18d1 (patch) | |
tree | d08f6c7bd1d6b3d5d11eeb3a311650afdf317a4c /elf/dl-load.c | |
parent | 7e342603659dddcb768a516b93844870884ad2c4 (diff) | |
download | glibc-2ca285b098890abde89fc79bbaf69432b14f18d1.tar glibc-2ca285b098890abde89fc79bbaf69432b14f18d1.tar.gz glibc-2ca285b098890abde89fc79bbaf69432b14f18d1.tar.bz2 glibc-2ca285b098890abde89fc79bbaf69432b14f18d1.zip |
[BZ #9733]
* elf/dl-load.c (_dl_map_object_from_fd): Only call audit hooks
if we are not loading a new audit library.
* elf/dl-reloc (_dl_relocate_object): Third parameter is now a bitmask.
Only use profiling trampoline for auditing if we are not relocating
an audit library.
* elf/dl-open.c (dl_open_worker): Adjust _dl_relocate_object call.
* elf/rtld.c: Likewise.
* sysdeps/generic/ldsodefs.h: Adjust _dl_relocate_object prototype.
Diffstat (limited to 'elf/dl-load.c')
-rw-r--r-- | elf/dl-load.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/elf/dl-load.c b/elf/dl-load.c index c77c259156..0deb51e445 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -941,7 +941,8 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, { #ifdef SHARED /* Auditing checkpoint: we are going to add new objects. */ - if (__builtin_expect (GLRO(dl_naudit) > 0, 0)) + if ((mode & __RTLD_AUDIT) == 0 + && __builtin_expect (GLRO(dl_naudit) > 0, 0)) { struct link_map *head = GL(dl_ns)[nsid]._ns_loaded; /* Do not call the functions for any auditing object. */ |