DragonFly BSD
DragonFly commits List (threaded) for 2011-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Alex Hornung <alexh@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 24 Jul 2011 05:54:52 -0700 (PDT)

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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]