summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-23 08:27:49 +0000
committernw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-23 08:27:49 +0000
commit1407438e11795d269821aff03c7d0c53a13bb66c (patch)
tree6a9283fc55885e69ad04f78bdcae738fce75bc8c
parent63fbbe85f20337ecc08e9131cc2893a1f27a2cc4 (diff)
downloadATCD-1407438e11795d269821aff03c7d0c53a13bb66c.tar.gz
*** empty log message ***
-rw-r--r--ChangeLog-97a9
-rw-r--r--ace/OS.i7
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog-97a b/ChangeLog-97a
index bc6bd963c39..6236417c5ac 100644
--- a/ChangeLog-97a
+++ b/ChangeLog-97a
@@ -1,3 +1,12 @@
+Fri May 23 02:58:28 1997 Nanbor Wang <nw1@siesta.cs.wustl.edu>
+
+ * ace/OS.i (dlsym): Added ACE_USES_ASM_SYMBOL_IN_DLSYM, support
+ for platforms (FreeBSD) which use assembly symbols instead of C
+ symbols in dlsym ().
+
+ * ace/config-freebsd[-pthread].h: Added flag ACE_HAS_CHARPTR_DL
+ and ACE_USES_ASM_SYMBOL_IN_DLSYM.
+
Thu May 22 08:14:21 1997 David L. Levine <levine@cs.wustl.edu>
* tests/Tokens_Test.cpp: added deletes to avoid memory leaks.
diff --git a/ace/OS.i b/ace/OS.i
index 87e93ecd988..d6da479cdc3 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -5078,6 +5078,13 @@ ACE_OS::dlsym (void *handle, ACE_DL_TYPE symbolname)
#if defined (ACE_HAS_SVR4_DYNAMIC_LINKING)
#if defined (ACE_LACKS_POSIX_PROTO)
ACE_OSCALL_RETURN (::dlsym (handle, (char*) symbolname), void *, 0);
+#elif defined (ACE_USES_ASM_SYMBOL_IN_DLSYM)
+ char asm_symbolname [MAXPATHLEN] ;
+ if (strlen (symbolname) + 2 > sizeof asm_symbolname)
+ return 0 ;
+ ACE_OS::strcpy (asm_symbolname, "_") ;
+ ACE_OS::strcpy (asm_symbolname + 1, symbolname) ;
+ ACE_OSCALL_RETURN (::dlsym (handle, asm_symbolname), void *, 0);
#else
ACE_OSCALL_RETURN (::dlsym (handle, symbolname), void *, 0);
#endif /* ACE_LACKS_POSIX_PROTO */