summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-21 22:16:28 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-21 22:16:28 +0000
commit1dd763243224c8c9a6affd7cb3bf9f0751041d6e (patch)
tree32e85aac902278ecd87d8cd2d161320ed949a86d
parent4110b7093a60c4cb68d3b845d67242b90a219466 (diff)
downloadATCD-1dd763243224c8c9a6affd7cb3bf9f0751041d6e.tar.gz
ChangeLogTag:Wed Mar 21 16:00:56 2001 Nanbor Wang <nanbor@cs.wustl.edu>
-rw-r--r--ChangeLog63
-rw-r--r--ChangeLogs/ChangeLog-02a63
-rw-r--r--ChangeLogs/ChangeLog-03a63
-rw-r--r--ace/ACE.cpp6
-rw-r--r--ace/OS.h6
-rw-r--r--ace/Sock_Connect.cpp10
-rw-r--r--ace/config-irix6.x-kcc.h9
-rw-r--r--include/makeinclude/platform_irix6.x_kcc.GNU34
-rw-r--r--include/makeinclude/platform_osf1_4.0_kcc.GNU21
-rw-r--r--include/makeinclude/platform_tru64_kcc.GNU50
-rw-r--r--tests/DLL_Test.cpp16
11 files changed, 310 insertions, 31 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d3faea1ce2..4fcc5c14a32 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,64 @@
+Wed Mar 21 16:00:56 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on Digital UNIX with KCC
+ 3.4d.
+
+ * include/makeinclude/platform_tru64_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and
+ support for tru64 unix.
+
+ * ace/OS.h: On this platform, we ran into problems with sigwait
+ being a macro. The fix that had been added for this was keyed
+ on __DECCXX_VER, so it isn't picked up on this platform.
+
+ * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this
+ platform. The code in Socket_Connect.cpp that implements this
+ is conditional on `__unix' being defined. However, with this
+ compiler, we get `unix' and `__unix__' defined, but not
+ `__unix'. Fixed by testing for `__unix__' too.
+
+ * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the
+ code in ACE::out_of_handles doesn't have a case to handle osf1.
+
+Wed Mar 21 12:08:35 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on IRIX 6.x with KCC 3.4d.
+
+ * include/makeinclude/platform_irix6.x_kcc.GNU:
+ Disable the following warings and separate common options into
+ $(KCCOPTS).
+
+ 280: declaration of a member with the same name as its class Get
+ this from <netinet/in.h>.
+
+ 608: this pragma must immediately precede a declaration or
+ statement Get this from <ucontext.h>.
+
+ * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE
+ if they are actually available.
+
+ * ace/config-irix6.x-kcc.h: Undefined
+ ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it.
+
+ Config_Test was failing because with the default setup, ace
+ tries to locate the shared memory pool at 0x04000000. But it
+ turns out that this is the same address at which irix likes to
+ load the KCC shared library, libKCC.so. So the memory pool ends
+ up blowing away all the library code. Fixed by shifting the
+ default base address to 0x05000000 for this configuration.
+
+ OS_Test was failing because on irix, kcc 4.0d miscompiles
+ memchr_emulation if +K3 optimization is used. I worked around
+ this by just using the library version of memchr instead:
+
+ * ace/ACE.cpp: Cached_Conn_Test was failing because the code in
+ ACE::out_of_handles doesn't have a case to handle irix.
+
+ * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by
+ turning off the close-on-destruction flag for this test.
+
Wed Mar 21 13:33:58 2001 Ossama Othman <ossama@uci.edu>
* examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
@@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer
applications. Thanks to Lu Yunhai <luyunhai@huawei.com> for
contributing these.
-
+
Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 3d3faea1ce2..4fcc5c14a32 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,64 @@
+Wed Mar 21 16:00:56 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on Digital UNIX with KCC
+ 3.4d.
+
+ * include/makeinclude/platform_tru64_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and
+ support for tru64 unix.
+
+ * ace/OS.h: On this platform, we ran into problems with sigwait
+ being a macro. The fix that had been added for this was keyed
+ on __DECCXX_VER, so it isn't picked up on this platform.
+
+ * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this
+ platform. The code in Socket_Connect.cpp that implements this
+ is conditional on `__unix' being defined. However, with this
+ compiler, we get `unix' and `__unix__' defined, but not
+ `__unix'. Fixed by testing for `__unix__' too.
+
+ * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the
+ code in ACE::out_of_handles doesn't have a case to handle osf1.
+
+Wed Mar 21 12:08:35 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on IRIX 6.x with KCC 3.4d.
+
+ * include/makeinclude/platform_irix6.x_kcc.GNU:
+ Disable the following warings and separate common options into
+ $(KCCOPTS).
+
+ 280: declaration of a member with the same name as its class Get
+ this from <netinet/in.h>.
+
+ 608: this pragma must immediately precede a declaration or
+ statement Get this from <ucontext.h>.
+
+ * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE
+ if they are actually available.
+
+ * ace/config-irix6.x-kcc.h: Undefined
+ ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it.
+
+ Config_Test was failing because with the default setup, ace
+ tries to locate the shared memory pool at 0x04000000. But it
+ turns out that this is the same address at which irix likes to
+ load the KCC shared library, libKCC.so. So the memory pool ends
+ up blowing away all the library code. Fixed by shifting the
+ default base address to 0x05000000 for this configuration.
+
+ OS_Test was failing because on irix, kcc 4.0d miscompiles
+ memchr_emulation if +K3 optimization is used. I worked around
+ this by just using the library version of memchr instead:
+
+ * ace/ACE.cpp: Cached_Conn_Test was failing because the code in
+ ACE::out_of_handles doesn't have a case to handle irix.
+
+ * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by
+ turning off the close-on-destruction flag for this test.
+
Wed Mar 21 13:33:58 2001 Ossama Othman <ossama@uci.edu>
* examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
@@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer
applications. Thanks to Lu Yunhai <luyunhai@huawei.com> for
contributing these.
-
+
Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 3d3faea1ce2..4fcc5c14a32 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,64 @@
+Wed Mar 21 16:00:56 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on Digital UNIX with KCC
+ 3.4d.
+
+ * include/makeinclude/platform_tru64_kcc.GNU:
+ * include/makeinclude/platform_osf1_4.0_kcc.GNU: Added KCCOPTS and
+ support for tru64 unix.
+
+ * ace/OS.h: On this platform, we ran into problems with sigwait
+ being a macro. The fix that had been added for this was keyed
+ on __DECCXX_VER, so it isn't picked up on this platform.
+
+ * ace/Sock_Connect.cpp: Enum_Interface_Test failed on this
+ platform. The code in Socket_Connect.cpp that implements this
+ is conditional on `__unix' being defined. However, with this
+ compiler, we get `unix' and `__unix__' defined, but not
+ `__unix'. Fixed by testing for `__unix__' too.
+
+ * ace/ACE.cpp: Cache_Conn_Test was failing. It looks like the
+ code in ACE::out_of_handles doesn't have a case to handle osf1.
+
+Wed Mar 21 12:08:35 2001 Nanbor Wang <nanbor@cs.wustl.edu>
+
+ The followings are contributions from Scott Snyder
+ <snyder@fnal.gov> to make ACE happy on IRIX 6.x with KCC 3.4d.
+
+ * include/makeinclude/platform_irix6.x_kcc.GNU:
+ Disable the following warings and separate common options into
+ $(KCCOPTS).
+
+ 280: declaration of a member with the same name as its class Get
+ this from <netinet/in.h>.
+
+ 608: this pragma must immediately precede a declaration or
+ statement Get this from <ucontext.h>.
+
+ * ace/OS.h: Changed to only request RTLD_GROUP and RTLD_NODELETE
+ if they are actually available.
+
+ * ace/config-irix6.x-kcc.h: Undefined
+ ACE_LACKS_PLACEMENT_OPERATOR_DELETE since KCC actually supports it.
+
+ Config_Test was failing because with the default setup, ace
+ tries to locate the shared memory pool at 0x04000000. But it
+ turns out that this is the same address at which irix likes to
+ load the KCC shared library, libKCC.so. So the memory pool ends
+ up blowing away all the library code. Fixed by shifting the
+ default base address to 0x05000000 for this configuration.
+
+ OS_Test was failing because on irix, kcc 4.0d miscompiles
+ memchr_emulation if +K3 optimization is used. I worked around
+ this by just using the library version of memchr instead:
+
+ * ace/ACE.cpp: Cached_Conn_Test was failing because the code in
+ ACE::out_of_handles doesn't have a case to handle irix.
+
+ * tests/DLL_Test.cpp: It died trying to run object dtors. Fixed by
+ turning off the close-on-destruction flag for this test.
+
Wed Mar 21 13:33:58 2001 Ossama Othman <ossama@uci.edu>
* examples/IPC_SAP/SSL_SAP/SSL-server-fancy.cpp:
@@ -101,7 +162,7 @@ Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* apps/Gateway/Peer: Added a number of fixes to the Gateway and Peer
applications. Thanks to Lu Yunhai <luyunhai@huawei.com> for
contributing these.
-
+
Sun Mar 18 08:31:34 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
* examples/IPC_SAP/FILE_SAP/client.cpp (main): Added a couple of
diff --git a/ace/ACE.cpp b/ace/ACE.cpp
index 3a875947b3c..7872835c5eb 100644
--- a/ace/ACE.cpp
+++ b/ace/ACE.cpp
@@ -56,6 +56,10 @@ ACE::out_of_handles (int error)
// ENOSYS (libc_r threads) also.
error == EOPNOTSUPP ||
error == ENOSYS ||
+#elif defined (__sgi) // irix
+ error == ENOTSUP ||
+#elif defined (DIGITAL_UNIX) // osf1
+ error == ENOTSUP ||
#endif /* ACE_WIN32 */
error == ENFILE)
return 1;
@@ -3205,7 +3209,7 @@ ACE::strend (const wchar_t *s)
}
#endif
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && (defined (__unix) || defined (__Lynx__) || defined (_AIX))
+#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) && (defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX))
template class ACE_Auto_Array_Ptr<struct ifreq>;
template class ACE_Auto_Basic_Array_Ptr<struct ifreq>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
diff --git a/ace/OS.h b/ace/OS.h
index 2531845ba25..1df60f6fccb 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -3802,6 +3802,10 @@ typedef void (*__sighandler_t)(int); // keep Signal compilation happy
// <::_Psigwait> works with cxx -pthread. g++ does _not_ need
// it.
extern "C" int _Psigwait __((const sigset_t *set, int *sig));
+# elif defined (__KCC)
+# undef sigwait
+ inline int sigwait (const sigset_t* set, int* sig)
+ { return _Psigwait (set, sig); }
# endif /* __DECCXX_VER */
# elif !defined (ACE_HAS_SIGWAIT)
extern "C" int sigwait (sigset_t *set);
@@ -3832,7 +3836,7 @@ extern "C" {
# if !defined (RTLD_LAZY)
# define RTLD_LAZY 1
# endif /* !RTLD_LAZY */
-# if defined (__KCC) && !defined(linux)
+# if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE)
# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE
# else
# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY
diff --git a/ace/Sock_Connect.cpp b/ace/Sock_Connect.cpp
index d39a3fd073f..972f838ef92 100644
--- a/ace/Sock_Connect.cpp
+++ b/ace/Sock_Connect.cpp
@@ -337,9 +337,9 @@ ACE_Sock_Connect::get_ip_interfaces (size_t &count,
DWORD bytes;
status = WSAIoctl(sock,
SIO_GET_INTERFACE_LIST,
- 0,
0,
- info,
+ 0,
+ info,
sizeof(info),
&bytes,
0,
@@ -545,7 +545,7 @@ ACE_Sock_Connect::get_ip_interfaces (size_t &count,
# endif /* ACE_HAS_PHARLAP */
# endif /* Winsock 2 && MSVC 5 or later */
-#elif defined (__unix) || defined (__Lynx__) || defined (_AIX)
+#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX)
// COMMON (SVR4 and BSD) UNIX CODE
size_t num_ifs;
@@ -699,7 +699,7 @@ ACE_Sock_Connect::count_interfaces (ACE_HANDLE handle,
-1);
how_many = (size_t) tmp_how_many;
return 0;
-#elif defined (__unix) || defined (__Lynx__) || defined (_AIX)
+#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX)
// Note: DEC CXX doesn't define "unix". BSD compatible OS: HP UX,
// AIX, SunOS 4.x perform some ioctls to retrieve ifconf list of
// ifreq structs no SIOCGIFNUM on SunOS 4.x, so use guess and scan
@@ -790,7 +790,7 @@ ACE_Sock_Connect::get_handle (void)
ACE_HANDLE handle = ACE_INVALID_HANDLE;
#if defined (sparc) && ! defined (CHORUS)
handle = ACE_OS::open ("/dev/udp", O_RDONLY);
-#elif defined (__unix) || defined (__Lynx__) || defined (_AIX)
+#elif defined (__unix) || defined (__unix__) || defined (__Lynx__) || defined (_AIX)
// Note: DEC CXX doesn't define "unix" BSD compatible OS: HP UX,
// AIX, SunOS 4.x
diff --git a/ace/config-irix6.x-kcc.h b/ace/config-irix6.x-kcc.h
index e14b2cd8f97..5b1ba941c69 100644
--- a/ace/config-irix6.x-kcc.h
+++ b/ace/config-irix6.x-kcc.h
@@ -54,6 +54,15 @@
// Compiler/platform supports sys_siglist array.
//#define ACE_HAS_SYS_SIGLIST
+// This gets defined in config-irix6.x-common.h, but kcc does support this.
+#undef ACE_LACKS_PLACEMENT_OPERATOR_DELETE
+
+// Shift this --- otherwise, it lands on top of libKCC.
+#define ACE_DEFAULT_BASE_ADDR ((char*) 0x0500000)
+
+// kcc 4.0d miscompiles memchr_emulation on irix at +K3 optimization.
+// So just use the library version instead.
+#define ACE_HAS_MEMCHR
#include "ace/post.h"
#endif /* ACE_CONFIG_H */
diff --git a/include/makeinclude/platform_irix6.x_kcc.GNU b/include/makeinclude/platform_irix6.x_kcc.GNU
index 3d5311feea3..1662186caa9 100644
--- a/include/makeinclude/platform_irix6.x_kcc.GNU
+++ b/include/makeinclude/platform_irix6.x_kcc.GNU
@@ -1,35 +1,41 @@
# $Id$
-# Irix 6.x with KCC 3.3f
+# Irix 6.x with KCC 3.4d
include $(ACE_ROOT)/include/makeinclude/platform_irix6.x_common.GNU
# WARNING_FLAGS +=
# 111: statement is unreachable. There's a whole bunch of these
# in the ace code.
-WARNING_FLAGS += --diag_suppress 111
+# 280: declaration of a member with the same name as its class
+# Get this from <netinet/in.h>.
+# 608: this pragma must immediately precede a declaration or statement
+# Get this from <ucontext.h>
+WARNING_FLAGS += --diag_suppress 111,280,608
debug = 1
optimize = 1
CC = KCC
-CXX = KCC
-CFLAGS += -32
-CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS)
+CXX = $(CC)
+CFLAGS += -n32
+KCCOPTS = --thread_safe --one_per
+CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS)
ifeq ($(optimize),1)
-DCFLAGS += -g --backend -g3
+DCFLAGS += -g
else
DCFLAGS += +K0 -g
endif
-DLD = $(CXX)
-LD = $(CXX)
-LDFLAGS += -32 -L$(ACE_ROOT)/ace -L.
-LIBS += -lpthread
+DLD = $(CC)
+LD = $(CC)
+# warning 84: "" is not used for resolving any symbol.
+LDFLAGS += -n32 -L$(ACE_ROOT)/ace -L. --backend -Wl,-woff,84
+#LIBS += -lpthread
OCFLAGS += +K3 -O2
-PIC =
-AR = KCC
-ARFLAGS = -o
+PIC =
+AR = $(CC)
+ARFLAGS = $(KCCOPTS) -o
RANLIB = @true
-SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB)
+SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB)
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
PRELIB = @true
diff --git a/include/makeinclude/platform_osf1_4.0_kcc.GNU b/include/makeinclude/platform_osf1_4.0_kcc.GNU
index 0b921097354..ec46c27bd73 100644
--- a/include/makeinclude/platform_osf1_4.0_kcc.GNU
+++ b/include/makeinclude/platform_osf1_4.0_kcc.GNU
@@ -11,12 +11,13 @@ optimize = 1
# and /usr/include/net/if_types.h
# 111: statement is unreachable. There's a whole bunch of these
# in the ace code.
-WARNING_FLAGS += --diag_suppress 9,111
+WARNING_FLAGS += --display_error_number --diag_suppress 9,111
CC = KCC
CXX = $(CC)
CFLAGS += -D_REENTRANT
-CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS)
+KCCOPTS = --thread_safe --one_per
+CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS)
ifeq ($(optimize),1)
DCFLAGS += -g3
else
@@ -26,12 +27,22 @@ LD = $(CC)
DLD = $(CC)
LIBS += -lpthread -lmach -lexc -ltli -lrt -lm
OCFLAGS += +K3 -O
-PIC =
+PIC =
AR = $(CC)
-ARFLAGS = -o
+ARFLAGS = $(KCCOPTS) -o
# When libraries are archived, a hash index is automatically created so there
# is no need for ranlib
RANLIB = /usr/bin/true
-SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB) -lc
+SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) -lc
+
+# With kcc 4, if it does template splitting and ends up with more than
+# a certain number of templates, it can screw up the link command so that
+# the entry point for the program gets set to one of the template
+# instantiations! This forces the correct entry point.
+LDFLAGS += --backend -Wl,-e,__start
+
+# Work around kcc overflowing the arg list...
+SHLIBBUILD = $(AR) $(ARFLAGS) $@-tmp.a $(VSHOBJS1) $(LDFLAGS) $(LIBS); $(filter-out -c,$(COMPILE.cc) $(PIC)) -o $@ -all $@-tmp.a -none $(LDFLAGS) $(LIBS) -lc --COMPO_ln_dy -expect_unresolved --COMPO_ln_dy '*'; rm $@-tmp.a
+
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
PRELIB = @true
diff --git a/include/makeinclude/platform_tru64_kcc.GNU b/include/makeinclude/platform_tru64_kcc.GNU
new file mode 100644
index 00000000000..1ce21ab21ed
--- /dev/null
+++ b/include/makeinclude/platform_tru64_kcc.GNU
@@ -0,0 +1,50 @@
+# $Id$
+
+# This platform macros file is intended to work with
+# Digital UNIX using the KAI compiler.
+
+ifndef ACE_DU_VERSION
+ ACE_DU_VERSION := $(shell uname -r)
+endif # ACE_DU_VERSION
+
+ifeq (3.,$(findstring 3.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_3.2.GNU
+
+else # ! 3.x
+ifeq (4.,$(findstring 4.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU
+
+ ifeq (4.0F,$(findstring 4.0F,$(shell /usr/sbin/sizer -v)))
+ CFLAGS += -DDIGITAL_UNIX=0x40F
+ # variable "" was declared but never referenced.
+ # Get these from PTHREAD_THIS_CATCH_NP.
+ WARNING_FLAGS += --diag_suppress 177
+ else # ! 4.0F
+ CFLAGS += -DDIGITAL_UNIX=0x400
+ endif # ! 4.0F
+
+else # ! 4.x
+ifeq (5.,$(findstring 5.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU
+
+ # variable "" was declared but never referenced.
+ # Get these from PTHREAD_THIS_CATCH_NP.
+ WARNING_FLAGS += --diag_suppress 177
+
+ # KCC makes a lot of these warnings from the C compiler.
+ WARNING_FLAGS += --backend -msg_disable --backend nonstandcast,missingretu
+rn,uninit1,ptrmismatch
+
+ ifndef ACE_DU_SUBVERSION
+ ACE_DU_SUBVERSION := $(shell /usr/sbin/sizer -v)
+ endif # ! ACE_DU_SUBVERSION
+
+ ifeq (V5.1,$(findstring V5.1,$(ACE_DU_SUBVERSION)))
+ CFLAGS += -DDIGITAL_UNIX=0x510
+ else
+ CFLAGS += -DDIGITAL_UNIX=0x500
+ endif
+
+endif # 5.x
+endif # ! 4.x
+endif # ! 3.x
diff --git a/tests/DLL_Test.cpp b/tests/DLL_Test.cpp
index e8603c12ebd..b091c29bbb2 100644
--- a/tests/DLL_Test.cpp
+++ b/tests/DLL_Test.cpp
@@ -23,7 +23,7 @@
ACE_RCSID(tests, DLL_Test, "$Id$")
-#if defined (ACE_WIN32) && defined (_DEBUG)
+#if defined (ACE_WIN32) && defined (_DEBUG)
# define OBJ_SUFFIX ACE_TEXT ("d") ACE_DLL_SUFFIX
#else /* ACE_WIN32 && _DEBUG */
# define OBJ_SUFFIX ACE_DLL_SUFFIX
@@ -58,9 +58,21 @@ main (int, ACE_TCHAR *[])
defined (__hpux)
ACE_DLL dll;
+
+#if defined (__KCC)
+ /* With KCC, turning on close-on-destruction will cause problems
+ when libKCC tries to call dtors. */
+ int retval = dll.open (ACE_TEXT (OBJ_PREFIX)
+ ACE_TEXT ("DLL_Test")
+ ACE_TEXT (OBJ_SUFFIX),
+ ACE_DEFAULT_SHLIB_MODE,
+ 0);
+#else
int retval = dll.open (OBJ_PREFIX
ACE_TEXT ("DLL_Test")
OBJ_SUFFIX);
+#endif /* __KCC */
+
if (retval != 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("Error in DLL Open\n")),
@@ -80,7 +92,7 @@ main (int, ACE_TCHAR *[])
if (factory == 0)
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("%p\n"),
- dll.error ()),
+ dll.error ()),
-1);
auto_ptr<Hello> my_hello (factory ());