diff --git a/src/Makefile.am b/src/Makefile.am index 34e4435..fc1db79 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -7,6 +7,6 @@ pkglib_LTLIBRARIES = libzzuf.la libzzuf_la_SOURCES = libzzuf.c libzzuf.h fuzz.c fuzz.h debug.c debug.h \ load-fd.c load-signal.c load-stream.c load.h \ random.c random.h -libzzuf_la_LDFLAGS = -module -avoid-version -no-undefined +libzzuf_la_LDFLAGS = -avoid-version -no-undefined libzzuf_la_LIBADD = -ldl diff --git a/src/zzuf.c b/src/zzuf.c index 3983740..8478369 100644 --- a/src/zzuf.c +++ b/src/zzuf.c @@ -488,20 +488,22 @@ static void set_environment(char const *progpath) char *libpath, *tmp; int len = strlen(progpath); #ifdef __APPLE__ - char const *preload = "DYLD_INSERT_LIBRARIES"; +# define FILENAME "libzzuf.dylib" +# define PRELOAD "DYLD_INSERT_LIBRARIES" setenv("DYLD_FORCE_FLAT_NAMESPACE", "1", 1); #else - char const *preload = "LD_PRELOAD"; +# define FILENAME "libzzuf.so" +# define PRELOAD "LD_PRELOAD" #endif - libpath = malloc(len + strlen("/.libs/libzzuf.so") + 1); + libpath = malloc(len + strlen("/.libs/" FILENAME) + 1); strcpy(libpath, progpath); tmp = strrchr(libpath, '/'); - strcpy(tmp ? tmp + 1 : libpath, ".libs/libzzuf.so"); + strcpy(tmp ? tmp + 1 : libpath, ".libs/" FILENAME); if(access(libpath, R_OK) == 0) - setenv(preload, libpath, 1); + setenv(PRELOAD, libpath, 1); else - setenv(preload, LIBDIR "/libzzuf.so", 1); + setenv(PRELOAD, LIBDIR "/" FILENAME, 1); free(libpath); }