Date: Sun, 20 Jan 2008 02:44:38 GMT From: John Birrell <jb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 133703 for review Message-ID: <200801200244.m0K2icJX030003@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=133703 Change 133703 by jb@jb_freebsd1 on 2008/01/20 02:43:40 On FreeBSD libz is always available. I don't understand why it is optional on Solaris. We will just link it in and be done with it! Affected files ... .. //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#9 edit Differences ... ==== //depot/projects/dtrace/src/contrib/opensolaris/lib/libctf/common/ctf_lib.c#9 (text) ==== @@ -34,14 +34,20 @@ #include <unistd.h> #include <fcntl.h> #include <errno.h> +#if defined(sun) #include <dlfcn.h> +#else +#include <zlib.h> +#endif #include <gelf.h> +#if defined(sun) #ifdef _LP64 static const char *_libctf_zlib = "/usr/lib/64/libz.so"; #else static const char *_libctf_zlib = "/usr/lib/libz.so"; #endif +#endif static struct { int (*z_uncompress)(uchar_t *, ulong_t *, const uchar_t *, ulong_t); @@ -60,10 +66,12 @@ void _libctf_init(void) { +#if defined(sun) const char *p = getenv("LIBCTF_DECOMPRESSOR"); if (p != NULL) _libctf_zlib = p; /* use alternate decompression library */ +#endif _libctf_debug = getenv("LIBCTF_DEBUG") != NULL; @@ -79,6 +87,7 @@ void * ctf_zopen(int *errp) { +#if defined(sun) ctf_dprintf("decompressing CTF data using %s\n", _libctf_zlib); if (zlib.z_dlp != NULL) @@ -98,6 +107,13 @@ bzero(&zlib, sizeof (zlib)); return (ctf_set_open_errno(errp, ECTF_ZINIT)); } +#else + zlib.z_uncompress = uncompress; + zlib.z_error = zError; + + /* Dummy return variable as 'no error' */ + zlib.z_dlp = (void *) (uintptr_t) 1; +#endif return (zlib.z_dlp); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801200244.m0K2icJX030003>