diff options
author | Andreas Schwab <schwab@redhat.com> | 2010-05-03 08:08:28 -0700 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2010-05-03 08:08:28 -0700 |
commit | 5a2a1d75043138e696222ced4560de2fb90b8024 (patch) | |
tree | 76c2da1388b8787ebabb9e61cf27d7510d1f5a7b /ChangeLog | |
parent | c739ec3d81a34a87d8ae1276eab4f5880afc3476 (diff) | |
download | glibc-5a2a1d75043138e696222ced4560de2fb90b8024.tar.gz glibc-5a2a1d75043138e696222ced4560de2fb90b8024.tar.xz glibc-5a2a1d75043138e696222ced4560de2fb90b8024.zip |
Don't deadlock in __dl_iterate_phdr while (un)loading objects.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index ad1d327e12..4005fc82c5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2010-02-02 Andreas Schwab <schwab@redhat.com> + + * sysdeps/generic/ldsodefs.h (struct rtld_global): Add + _dl_load_write_lock. + * elf/rtld.c (_rtld_global): Initialize it. + * elf/dl-support.c (_dl_load_write_lock): Define . + * elf/dl-close.c (_dl_close_worker): Lock GL(dl_load_write_lock) + when modifying the list of loaded objects. + * elf/dl-load.c (lose): Likewise. + * elf/dl-object.c (_dl_new_object): Likewise. + * elf/dl-iteratephdr.c (__dl_iterate_phdr): Lock + GL(dl_load_write_lock) instead of GL(dl_load_lock). + 2010-05-03 Ulrich Drepper <drepper@redhat.com> * elf/dl-iteratephdr.c (__dl_iterate_phdr): Remove unnecessary |