From 9eed304f879559910e75cf90292ab9f43cdffdc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Sun, 26 Oct 1997 18:22:43 +0100 Subject: [PATCH] Even more kluge for Irix 6.3. Rev: src/modules/Gz/configure.in:1.9 Rev: src/modules/Gz/zlibmod.c:1.15 --- src/modules/Gz/configure.in | 6 ++++-- src/modules/Gz/zlibmod.c | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/modules/Gz/configure.in b/src/modules/Gz/configure.in index 8f441d95bf..5af461824f 100644 --- a/src/modules/Gz/configure.in +++ b/src/modules/Gz/configure.in @@ -15,11 +15,13 @@ int foo = (int)(Z_NO_COMPRESSION | Z_VERSION_ERROR); ],[ AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no); ac_cv_header_zlib_h=no ]) if test $ac_cv_header_zlib_h = yes ; then if test x$pike_cv_sys_os = xIRIX ; then - # The libz.so supplied with IRIX 6.3 needs this obscure symbol - # C++? It also differs which library which contains it. + # The libz.so supplied with IRIX 6.3 needs these obscure symbols + # C++? It also differs which library which contains them. AC_CHECK_LIB(Csup, __vtbl__9type_info) AC_CHECK_LIB(C, __vtbl__9type_info) + AC_CHECK_LIB(Csup, __T_9__nothrow) AC_HAVE_FUNCS(__vtbl__9type_info) + AC_HAVE_FUNCS(__T_9__nothrow) fi AC_CHECK_LIB(z, compress, [ AC_DEFINE(HAVE_LIBZ) diff --git a/src/modules/Gz/zlibmod.c b/src/modules/Gz/zlibmod.c index a050b61015..ed743d4655 100644 --- a/src/modules/Gz/zlibmod.c +++ b/src/modules/Gz/zlibmod.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: zlibmod.c,v 1.14 1997/10/21 17:45:40 grubba Exp $"); +RCSID("$Id: zlibmod.c,v 1.15 1997/10/26 17:22:43 grubba Exp $"); #include "zlib_machine.h" @@ -382,11 +382,24 @@ void pike_module_init(void) #endif } -#ifdef HAVE___VTBL__9TYPE_INFO +#if defined(HAVE___VTBL__9TYPE_INFO) || defined(HAVE___T_9__NOTHROW) /* Super-special kluge for IRIX 6.3 */ +#ifdef HAVE___VTBL__9TYPE_INFO extern void __vtbl__9type_info(void); +#endif /* HAVE___VTBL__9TYPE_INFO */ +#ifdef HAVE___T_9__NOTHROW +extern void __T_9__nothrow(void); +#endif /* HAVE___T_9__NOTHROW */ +/* Don't even think of calling this one + * Not static, so the compiler can't optimize it away totally. + */ void zlibmod_strap_kluge(void) { +#ifdef HAVE___VTBL__9TYPE_INFO __vtbl__9type_info(); -} #endif /* HAVE___VTBL__9TYPE_INFO */ +#ifdef HAVE___T_9__NOTHROW + __T_9__nothrow(); +#endif /* HAVE___T_9__NOTHROW */ +} +#endif /* HAVE___VTBL__9TYPE_INFO || HAVE___T_9__NOTHROW */ -- GitLab