dll revision 34f9b3eef6fdadbda0a846aa4d68691ac40eace5
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwset prototyped
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwhdr dl,dlfcn,dll,rld_interface,mach-o/dyld
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwlib dlopen -ldl
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwlib dllload,loadbind,shl_load -ldl
c5c4113dfcabb1eed3d4bdf7609de5170027a794nwtst dll_DYNAMIC link{
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw #include <link.h>
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw extern struct link_dynamic _DYNAMIC;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw do if test -d $d
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw then for s in "*.*" "*[!a]*"
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw do for b in libc
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw do for i in $d/$b.$s
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw do if test -f $i
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw then lib=$i
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw case $lib in
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw ?*) break 3 ;;
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw case $lib in
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *.[0-9]*.[0-9]*)
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw i=`echo $lib | sed 's,\([^0-9]*[0-9]*\).*,\1,'`
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw if test -f $i
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw then lib=$i
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw # some run time linkers barf with /lib/xxx if
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw case $lib in
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw *) if test -f /usr$lib
c5c4113dfcabb1eed3d4bdf7609de5170027a794nw then lib=/usr$lib
"") lib=/lib/libc.so.1 ;;
/usr/lib/*)
then lib=`echo $lib | sed 's,/usr/lib/,,'`
#include <dlfcn.h>
#include <rld_interface.h>
printf("#include <dlfcn.h>\n");