From owner-cvs-gnu Sat Jan 11 16:16:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id QAA17648 for cvs-gnu-outgoing; Sat, 11 Jan 1997 16:16:47 -0800 (PST) Received: (from jdp@localhost) by freefall.freebsd.org (8.8.4/8.8.4) id QAA17638; Sat, 11 Jan 1997 16:16:41 -0800 (PST) Date: Sat, 11 Jan 1997 16:16:41 -0800 (PST) From: John Polstra Message-Id: <199701120016.QAA17638@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/i386 md.c md.h src/gnu/usr.bin/ld/ldd ldd.c src/gnu/usr.bin/ld/rtld rtld.1 rtld.c Sender: owner-cvs-gnu@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk jdp 97/01/11 16:16:40 Modified: gnu/usr.bin/ld/i386 md.c md.h Log: Add support for the LD_BIND_NOW environment variable. If it is set to a nonempty string, then function calls are relocated at program start-up rather than lazily. This variable is standard on Sun and SVR4 systems. The dlopen() function now supports both lazy and immediate binding, as determined by its "mode" argument, which can be either 1 (RTLD_LAZY) or 2 (RTLD_NOW). I will add defines of these symbols to as soon as I've done a little more checking to make sure they won't cause collisions or bootstrapping problems that would break "make world". Revision Changes Path 1.14 +19 -1 src/gnu/usr.bin/ld/i386/md.c 1.14 +2 -1 src/gnu/usr.bin/ld/i386/md.h Modified: gnu/usr.bin/ld/ldd ldd.c Log: Set LD_TRACE_LOADED_OBJECTS to "1" instead of to "". The dynamic linker now treats empty "LD_*" environment variables as if they were unset, per the standard SVR4 conventions. Revision Changes Path 1.11 +2 -2 src/gnu/usr.bin/ld/ldd/ldd.c Modified: gnu/usr.bin/ld/rtld rtld.1 rtld.c Log: Add support for the LD_BIND_NOW environment variable. If it is set to a nonempty string, then function calls are relocated at program start-up rather than lazily. This variable is standard on Sun and SVR4 systems. The dlopen() function now supports both lazy and immediate binding, as determined by its "mode" argument, which can be either 1 (RTLD_LAZY) or 2 (RTLD_NOW). I will add defines of these symbols to as soon as I've done a little more checking to make sure they won't cause collisions or bootstrapping problems that would break "make world". The "LD_*" environment variables which alter dynamic linker behavior are now treated as unset if they are set to the empty string. This agrees with the standard SVR4 conventions for the dynamic linker. Add a work-around for programs compiled with certain buggy versions of crt0.o. The buggy versions failed to set the "crt_ldso" member of the interface structure. This caused certain error messages from the dynamic linker to begin with "(null)" instead of the pathname of the dynamic linker. Revision Changes Path 1.8 +17 -7 src/gnu/usr.bin/ld/rtld/rtld.1 1.41 +37 -16 src/gnu/usr.bin/ld/rtld/rtld.c