Changeset 4809
- Timestamp:
- 04/17/12 01:02:42 (14 months ago)
- Location:
- zzuf/trunk
- Files:
-
- 6 edited
-
configure.ac (modified) (1 diff)
-
msvc/config.h (modified) (1 diff)
-
src/libzzuf/lib-fd.c (modified) (1 diff)
-
src/libzzuf/lib-load.h (modified) (1 diff)
-
src/libzzuf/lib-mem.c (modified) (1 diff)
-
src/libzzuf/sys.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
zzuf/trunk/configure.ac
r4683 r4809 179 179 AC_DEFINE_UNQUOTED(ATTRIBUTE_PRINTF(x,y), $ac_v_attribute_printf, [Define to the __printf__ attribute if present]) 180 180 181 AC_CHECK_LIB(dl, dladdr, 182 [AC_DEFINE(HAVE_DLADDR, 1, Define to 1 if you have the `dladdr' function.)]) 183 181 184 AC_CHECK_LIB(m, log, [MATH_LIBS="-lm"]) 182 185 AC_SUBST(MATH_LIBS) -
zzuf/trunk/msvc/config.h
r4683 r4809 29 29 #define HAVE_CREATEFILEA 1 30 30 #define HAVE_CREATEFILEW 1 31 /* #undef HAVE_DLADDR */ 31 32 /* #undef HAVE_DLFCN_H */ 32 33 #define HAVE_DUP 1 -
zzuf/trunk/src/libzzuf/lib-fd.c
r4375 r4809 21 21 #include "config.h" 22 22 23 /* Need this for RTLD_NEXT */24 #define _GNU_SOURCE25 23 /* Use this to get lseek64() on glibc systems */ 26 24 #define _LARGEFILE64_SOURCE -
zzuf/trunk/src/libzzuf/lib-load.h
r4672 r4809 30 30 * the linker to load us fully. */ \ 31 31 _zz_init(); \ 32 ORIG(x) = dlsym(RTLD_NEXT, STR(x)); \ 32 extern void *_zz_dl_lib; \ 33 ORIG(x) = dlsym(_zz_dl_lib, STR(x)); \ 33 34 } \ 34 35 if(!ORIG(x)) \ -
zzuf/trunk/src/libzzuf/lib-mem.c
r4373 r4809 17 17 #include "config.h" 18 18 19 /* Need this for RTLD_NEXT*/19 /* Need this for off64_t */ 20 20 #define _GNU_SOURCE 21 21 /* Need this for MAP_ANON and valloc() on FreeBSD (together with cdefs.h) */ -
zzuf/trunk/src/libzzuf/sys.c
r4672 r4809 17 17 #include "config.h" 18 18 19 /* Need this for RTLD_NEXT */ 20 #define _GNU_SOURCE 21 19 22 #if defined HAVE_STDINT_H 20 23 # include <stdint.h> 21 24 #elif defined HAVE_INTTYPES_H 22 25 # include <inttypes.h> 26 #endif 27 28 #ifdef HAVE_DLFCN_H 29 # include <dlfcn.h> 23 30 #endif 24 31 … … 35 42 #include "sys.h" 36 43 #include "lib-load.h" 44 45 #if defined HAVE_DLFCN_H 46 void *_zz_dl_lib = RTLD_NEXT; 47 #endif 37 48 38 49 #if defined HAVE_WINDOWS_H … … 78 89 } 79 90 CloseHandle(list); 91 #elif defined HAVE_DLFCN_H 92 /* If glibc is recent enough, we use dladdr() to get its address. This 93 * way we are sure that the symbols we load are the most recent version, 94 * or we may get weird problems. We choose fileno as a random symbol to 95 * get, because we know we don't divert it. */ 96 # if HAVE_DLADDR 97 Dl_info di; 98 if (dladdr(&fileno, &di) != 0) 99 { 100 void *lib = dlopen(di.dli_fname, RTLD_NOW); 101 if (lib) 102 _zz_dl_lib = lib; 103 } 104 # endif 80 105 #else 81 106 /* Nothing to do on our platform */
Note: See TracChangeset
for help on using the changeset viewer.
