summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-27 04:19:43 +0000
committernw1 <nw1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-27 04:19:43 +0000
commit89d8fbbcfa4dae3488dd38e6493b01effc702f75 (patch)
treea94d8ebad7fbc08fa0513929b2fa6d14a4d7bfda
parent55ee1fc74de65c505ca0c56c68618c19d876000c (diff)
downloadATCD-89d8fbbcfa4dae3488dd38e6493b01effc702f75.tar.gz
Put back codes for FreeBSD in ACE_OS::dlsym()
-rw-r--r--ace/OS.i7
1 files changed, 7 insertions, 0 deletions
diff --git a/ace/OS.i b/ace/OS.i
index fb6f28c7ce4..4e9b7893904 100644
--- a/ace/OS.i
+++ b/ace/OS.i
@@ -5087,6 +5087,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 */