freebsd-dev/libexec
Konstantin Belousov c8da4f07d7 Allow the NULL, RTLD_SELF and RTLD_NEXT handles to work with dlfunc(3).
dlfunc() called dlsym() to do the work, and dlsym() determines the dso
that originating the call by the return address. Due to this, dlfunc()
operated as if the caller is always the libc.

To fix this, move the dlfunc() to rtld, where it can call the internal
implementation of dlsym, and still correctly fetch return address.
Provide usual weak stub for the symbol from libc for static binaries.
dlfunc is put to FBSD_1.0 symver namespace in the ld.so export to
override dlfunc@FBSD_1.0 weak symbol, exported by libc.

Reported, analyzed and tested by:	Tijl Coosemans <tijl ulyssis org>
PR: standards/133339
Reviewed by:	kan
2009-04-03 19:17:23 +00:00
..
atrun Fixed static linkage (build with -DNO_SHARED). 2007-10-01 18:17:24 +00:00
bootpd Use RTF_LLDATA. 2009-03-31 23:02:51 +00:00
comsat Fix handling of pts(4) device names in comsat(8). Also catch fork() errors. 2009-01-17 15:56:38 +00:00
fingerd Mark functions as __dead2 in order to help the LLVM static checker 2008-08-04 01:25:48 +00:00
ftpd o Fix typo: indentical -> identical. 2009-01-30 09:42:25 +00:00
getty Stop mentioning /usr/X11R6. 2007-07-24 06:41:07 +00:00
lukemftpd Not needed any more, vendor sources have PAM support. 2006-08-31 17:12:33 +00:00
mail.local Remove kludges intended to support src trees with partial obj trees. 2005-06-10 06:12:53 +00:00
makekey Markup nit. 2004-05-16 22:11:56 +00:00
mknetid Expand *n't contractions. 2005-02-13 22:25:33 +00:00
pppoed Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
rbootd Avoid accidental use of ANSI C trigraphs. 2004-08-21 07:23:41 +00:00
revnetgroup Sync program's usage() with manpage's SYNOPSIS. 2005-02-09 20:36:12 +00:00
rlogind Cook CFLAGS by the modern recipe: 2006-07-27 12:05:05 +00:00
rpc.rquotad Whitespace and style fixes, build at WARNS level 6. 2008-11-04 14:17:49 +00:00
rpc.rstatd Use sysctl to fetch stats from the kernel instead of reading variables 2008-06-10 18:47:43 +00:00
rpc.rusersd Fix most cases where the address of an int is passed to a function expecting a 2005-02-14 17:42:58 +00:00
rpc.rwalld Fix most cases where the address of an int is passed to a function expecting a 2005-02-14 17:42:58 +00:00
rpc.sprayd Fix most cases where the address of an int is passed to a function expecting a 2005-02-14 17:42:58 +00:00
rshd Spell SHUT_RDWR as SHUT_RDWR not 1+1 as the how argument to shutdown(2). 2005-05-11 02:41:39 +00:00
rtld-aout 64-bit clean + WARNS=6: 2005-01-14 12:22:57 +00:00
rtld-elf Allow the NULL, RTLD_SELF and RTLD_NEXT handles to work with dlfunc(3). 2009-04-03 19:17:23 +00:00
save-entropy 1. Attempt to take one bullet out of the foot-shooting gun by silently 2006-08-28 06:41:50 +00:00
smrsh Remove kludges intended to support src trees with partial obj trees. 2005-06-10 06:12:53 +00:00
talkd Fix some "in in" typos in comments. 2008-03-26 07:32:08 +00:00
tcpd Reimplementation of world/kernel build options. For details, see: 2006-03-17 18:54:44 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
tftpd Add "with" to make the line go smoother. 2007-11-23 01:52:44 +00:00
ypxfr Expand *n't contractions. 2005-02-13 22:25:33 +00:00
Makefile add new build knobs and jigger some existing controls to improve 2008-09-21 22:02:26 +00:00
Makefile.inc