Date: Fri, 28 Jan 2000 17:27:05 -0800 (PST) From: John Polstra <jdp@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/libexec/rtld-elf rtld.c rtld.h src/libexec/rtld-elf/alpha reloc.c src/libexec/rtld-elf/i386 reloc.c Message-ID: <200001290127.RAA14672@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jdp 2000/01/28 17:27:05 PST
Modified files:
libexec/rtld-elf rtld.c rtld.h
libexec/rtld-elf/alpha reloc.c
libexec/rtld-elf/i386 reloc.c
Log:
When a threads package registers locking methods with dllockinit(),
figure out which shared object(s) contain the the locking methods
and fully bind those objects as if they had been loaded with
LD_BIND_NOW=1. The goal is to keep the locking methods from
requiring any lazy binding. Otherwise infinite recursion occurs
in _rtld_bind.
This fixes the infinite recursion problem in the linuxthreads port.
Revision Changes Path
1.43 +38 -9 src/libexec/rtld-elf/rtld.c
1.15 +4 -2 src/libexec/rtld-elf/rtld.h
1.10 +49 -23 src/libexec/rtld-elf/alpha/reloc.c
1.6 +26 -11 src/libexec/rtld-elf/i386/reloc.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001290127.RAA14672>
