dll revision 34f9b3eef6fdadbda0a846aa4d68691ac40eace5
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkset prototyped
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenkhdr dl,dlfcn,dll,rld_interface,mach-o/dyld
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenklib dlopen -ldl
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenklib dllload,loadbind,shl_load -ldl
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenktst dll_DYNAMIC link{
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk extern struct link_dynamic _DYNAMIC;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk do if test -d $d
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk then for s in "*.*" "*[!a]*"
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk do for b in libc
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk do for i in $d/$b.$s
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk do if test -f $i
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $lib in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk ?*) break 3 ;;
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $lib in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *.[0-9]*.[0-9]*)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk i=`echo $lib | sed 's,\([^0-9]*[0-9]*\).*,\1,'`
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk if test -f $i
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk # some run time linkers barf with /lib/xxx if
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $lib in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk *) if test -f /usr$lib
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk then lib=/usr$lib
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $lib in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $lib in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case `package` in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk case $abi in
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk ?*) if test -d $abi
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk then lib=`echo $lib | sed 's,/usr/lib/,,'`
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk lib=$abi/$lib
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk echo "#define _DLL_NEXT_PATH \"$lib\""
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenktst - output{
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #if defined(__MVS__) && !defined(__SUSV3)
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #define __SUSV3 1
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #if _hdr_dlfcn && _lib_dlopen
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #if _hdr_rld_interface
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #if _hdr_rld_interface
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk static char* local[] = { "__elf_header", "_call_add_gp_range", "_etext" };
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("#if defined(__MVS__) && !defined(__SUSV3)\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("#define __SUSV3 1\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("#endif\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #if _hdr_dlfcn && _lib_dlopen
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("#include <dlfcn.h>\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #ifndef RTLD_LAZY
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk printf("#define RTLD_LAZY 1\n");
5b64d5d44892834ba97f003080f3467299b7c5c5jeff.schenk #ifndef RTLD_NOW