summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2005-02-25 22:36:32 +0000
committerSteve Huston <shuston@riverace.com>2005-02-25 22:36:32 +0000
commitfeacee99c42725b1cde01951c1363e6a1234191b (patch)
treef58f71372fa5e7a2571b62af5bbb26b60cbf9823
parenta3393353b4fe2ef39d8b04a7da1441b70dec9fb5 (diff)
downloadATCD-feacee99c42725b1cde01951c1363e6a1234191b.tar.gz
ChangeLogTag:Fri Feb 25 17:29:12 2005 Steve Huston <shuston@riverace.com>
-rw-r--r--ChangeLog16
-rw-r--r--include/makeinclude/platform_hpux_gcc.GNU2
-rw-r--r--tests/DLL_Test.cpp6
-rw-r--r--tests/DLL_Test_Impl.cpp6
4 files changed, 25 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index bc28d0a2c80..c55f652fc69 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Fri Feb 25 17:29:12 2005 Steve Huston <shuston@riverace.com>
+
+ * ace/config-hpux-11.00.h: Always set ACE_HAS_SVR4_DYNAMIC_LINKING.
+ This is now available always.
+
+ * include/makeinclude/platform_hpux_gcc.GNU: Add -Wl,-E to
+ SOFLAGS for linking shared libraries. Per info in
+ Bugzilla #2057, this is needed to have dynamic_cast work across
+ shared libraries. It still doesn't work, and not sure why...
+
+ * tests/DLL_Test.cpp: Use the correct ACE_DEBUG specifier for
+ pointers (%@, not %x).
+
+ * tests/DLL_Test_Impl.cpp: Added an ACE_DEBUG in dynamic_cast_test()
+ to see what's being tested, not only the results.
+
Fri Feb 25 13:49:27 2005 Steve Huston <shuston@riverace.com>
* ace/POSIX_Asynch_IO.{h cpp}: Added 'const' to all the handler_proxy
diff --git a/include/makeinclude/platform_hpux_gcc.GNU b/include/makeinclude/platform_hpux_gcc.GNU
index 1f9e1e2207a..a85b2e43332 100644
--- a/include/makeinclude/platform_hpux_gcc.GNU
+++ b/include/makeinclude/platform_hpux_gcc.GNU
@@ -68,7 +68,7 @@ AR = /usr/bin/ar
ARFLAGS = ruv
RANLIB = echo
LDFLAGS = -L. -L$(ACE_ROOT)/ace -Wl,+s
-SOFLAGS += $(CPPFLAGS) -shared -nostdlib $(PIC)
+SOFLAGS += $(CPPFLAGS) -shared -nostdlib $(PIC) -Wl,-E
SOEXT = sl
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.$(SOEXT) $<
PRELIB = @true
diff --git a/tests/DLL_Test.cpp b/tests/DLL_Test.cpp
index 5548feccba1..b6edec4b0d4 100644
--- a/tests/DLL_Test.cpp
+++ b/tests/DLL_Test.cpp
@@ -146,10 +146,10 @@ int dynamic_cast_test (ACE_DLL &dll)
dll.error ()),
-1);
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("before %x %x\n"),
- &child, dynamic_cast<Child*>( parent )));
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("before %@ %@\n"),
+ &child, dynamic_cast<Child*> (parent)));
- if (pfnAcquire( &child ) == -1)
+ if (pfnAcquire (&child) == -1)
ACE_ERROR_RETURN ((LM_ERROR, ACE_TEXT ("dynamic_cast failed.\n")), -1);
#else
ACE_UNUSED_ARG (dll);
diff --git a/tests/DLL_Test_Impl.cpp b/tests/DLL_Test_Impl.cpp
index 133d15295ef..bd38d12428f 100644
--- a/tests/DLL_Test_Impl.cpp
+++ b/tests/DLL_Test_Impl.cpp
@@ -113,6 +113,10 @@ static Static_Constructor_Test the_instance;
extern "C" ACE_Svc_Export int
dynamic_cast_test (Parent *target)
{
- return target == dynamic_cast<Child*>( target )? 0 : -1;
+ Child *c = 0;
+ c = dynamic_cast<Child*> (target);
+ ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("dynamic_cast_test: parent %@; child %@\n"),
+ target, c));
+ return target == c ? 0 : -1;
}
#endif /* !ACE_LACKS_RTTI */