From owner-cvs-src-old@FreeBSD.ORG Sat Dec 25 08:51:36 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6C75810656C0 for ; Sat, 25 Dec 2010 08:51:36 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3C8758FC16 for ; Sat, 25 Dec 2010 08:51:36 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.4/8.14.4) with ESMTP id oBP8pakm082660 for ; Sat, 25 Dec 2010 08:51:36 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.4/8.14.4/Submit) id oBP8paPP082659 for cvs-src-old@freebsd.org; Sat, 25 Dec 2010 08:51:36 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <201012250851.oBP8paPP082659@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Sat, 25 Dec 2010 08:51:20 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/libexec/rtld-elf rtld.1 rtld.c rtld.h rtld_lock.c rtld_lock.h src/libexec/rtld-elf/amd64 reloc.c src/libexec/rtld-elf/arm reloc.c src/libexec/rtld-elf/i386 reloc.c src/libexec/rtld-elf/ia64 reloc.c src/libexec/rtld-elf/mips ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 25 Dec 2010 08:51:36 -0000 kib 2010-12-25 08:51:20 UTC FreeBSD src repository Modified files: libexec/rtld-elf rtld.1 rtld.c rtld.h rtld_lock.c rtld_lock.h libexec/rtld-elf/amd64 reloc.c libexec/rtld-elf/arm reloc.c libexec/rtld-elf/i386 reloc.c libexec/rtld-elf/ia64 reloc.c libexec/rtld-elf/mips reloc.c libexec/rtld-elf/powerpc reloc.c libexec/rtld-elf/powerpc64 reloc.c libexec/rtld-elf/sparc64 reloc.c Log: SVN rev 216695 on 2010-12-25 08:51:20Z by kib Implement support for ELF filters in rtld. Both normal and auxillary filters are implemented. Filtees are loaded on demand, unless LD_LOADFLTR environment variable is set or -z loadfltr was specified during the linking. This forces rtld to upgrade read-locked rtld_bind_lock to write lock when it encounters an object with filter during symbol lookup. Consolidate common arguments of the symbol lookup functions in the SymLook structure. Track the state of the rtld locks in the RtldLockState structure. Pass local RtldLockState through the rtld symbol lookup calls to allow lock upgrades. Reviewed by: kan Tested by: Mykola Dzham , nwhitehorn (powerpc) Revision Changes Path 1.20 +25 -19 src/libexec/rtld-elf/amd64/reloc.c 1.6 +31 -20 src/libexec/rtld-elf/arm/reloc.c 1.22 +23 -17 src/libexec/rtld-elf/i386/reloc.c 1.23 +14 -13 src/libexec/rtld-elf/ia64/reloc.c 1.8 +8 -5 src/libexec/rtld-elf/mips/reloc.c 1.13 +20 -17 src/libexec/rtld-elf/powerpc/reloc.c 1.3 +20 -17 src/libexec/rtld-elf/powerpc64/reloc.c 1.51 +8 -0 src/libexec/rtld-elf/rtld.1 1.162 +464 -249 src/libexec/rtld-elf/rtld.c 1.48 +40 -5 src/libexec/rtld-elf/rtld.h 1.10 +77 -25 src/libexec/rtld-elf/rtld_lock.c 1.6 +12 -4 src/libexec/rtld-elf/rtld_lock.h 1.18 +23 -18 src/libexec/rtld-elf/sparc64/reloc.c