freebsd-dev/libexec
Alexander Kabaev 20a86d1f34 Eliminate the use of symlook_needed function in favor of DAGS.
Place elements on DAG lists in breadth-first order. This allows us to
walk pre-built list in all cases where breadth-first dependency chain
enumeration is required.

Fix dlsym on special handle obtained by dlopen(NULL, ...) to do what
comment claims it does. Take advantage of recently added symlook_global
function to iterate over main objects and global DAGs lists properly in
search of a symbol. Since rtld itself provides part of the global
namespace, search rtld_obj too.

Remove recursion from init_dag and symlook_needed functions. Use
symlook_needed for ELF filtee processing only and change lookup order
used in the function to match the order used by Solaris runtime linker
under same circumstances. While there, fix weak symbol handling in the
loop so that we return the first weak symbol definition if no strong one
was found, instead of the last one.

Reviewed by: kib
MFC after:   1 month
2011-01-28 23:44:57 +00:00
..
atrun Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
bootpd Catch up with kernel using time_uptime to drive ARP timeouts. 2010-12-06 09:39:36 +00:00
comsat Remove stale references to utmp(5) and its corresponding filenames. 2010-01-21 17:25:12 +00:00
fingerd Forgot to initialize the debug variable. 2010-04-01 13:16:32 +00:00
ftpd Make format string a string literal. (Discovered by clang.) 2011-01-04 00:39:56 +00:00
getty Add __unused. Ansi prototypes. 2010-12-20 08:29:54 +00:00
lukemftpd Not needed any more, vendor sources have PAM support. 2006-08-31 17:12:33 +00:00
mail.local Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
mknetid Fix double ;; 2010-12-06 10:24:06 +00:00
pppoed Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rbootd Add __unused 2010-12-20 08:37:26 +00:00
revnetgroup Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rlogind Add __unused 2010-12-20 08:44:08 +00:00
rpc.rquotad The NFS quota-reporting RPC uses 32-bit sized fields. We approximate 2010-04-25 00:05:51 +00:00
rpc.rstatd Fixed static linkage. 2010-02-26 09:41:16 +00:00
rpc.rusersd Port all apps in libexec/ from libulog to utmpx. 2010-01-13 18:28:58 +00:00
rpc.rwalld add __unused 2010-12-19 13:05:17 +00:00
rpc.sprayd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rshd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rtld-aout ANSIfy ldconfig and the aout bits it still uses from rtld-aout. 2009-12-29 21:07:17 +00:00
rtld-elf Eliminate the use of symlook_needed function in favor of DAGS. 2011-01-28 23:44:57 +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 Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
talkd Remove unneeded use of struct timezone. 2010-08-08 02:45:48 +00:00
tcpd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
tftpd Fix typos. 2010-11-09 10:59:09 +00:00
ulog-helper Fixed static linkage. 2010-02-26 09:41:16 +00:00
ypxfr Fix incorrect usage of 'assure' and 'insure'. 2010-08-28 16:32:01 +00:00
Makefile Add a new library: libulog. 2009-12-03 15:48:24 +00:00
Makefile.inc Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00