git: rtld-elf - restore old tls/tcb code

看板DFBSD_commit作者時間14年前 (2011/07/24 21:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
commit 18d39a4f89a4c485af1b89815f4e63988532be5e Author: Alex Hornung <ahornung@gmail.com> Date: Sun Jul 24 14:45:50 2011 +0100 rtld-elf - restore old tls/tcb code * This was ported incorrectly from FreBSD; the dtv in the TCB needs to be updated properly. * This fixes a fairly tricky issue that appears in threaded programs using dlopen() and family, such as php and Java. It presented itself as a strcmp segfault in object_match_name() due to a messed up STAILQ ->next pointer. The pointer was being messed up by the TLS code. Reported-by: Peter Avalos, Antonio Huete, Francois Tigeot Summary of changes: libexec/rtld-elf/i386/reloc.c | 14 +++----------- libexec/rtld-elf/rtld.c | 1 - libexec/rtld-elf/x86_64/reloc.c | 9 ++------- 3 files changed, 5 insertions(+), 19 deletions(-) http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/18d39a4f89a4c485af1b89815f4e63988532be5e -- DragonFly BSD source repository
文章代碼(AID): #1EB1UQAq (DFBSD_commit)