diff options
author | dhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-25 19:13:13 +0000 |
---|---|---|
committer | dhinton <dhinton@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2003-07-25 19:13:13 +0000 |
commit | 2c4b54ccab05c3054e79de89b012456d3d712f86 (patch) | |
tree | 5b685417f4c777da4cfdf4da4962f3a0afd0a72f | |
parent | e9e10921d49ff20be5cd4b7062ff8acd869228b6 (diff) | |
download | ATCD-2c4b54ccab05c3054e79de89b012456d3d712f86.tar.gz |
ChangeLogTag:Fri Jul 25 17:32:58 UTC 2003 Don Hinton <dhinton@dresystems.com>
-rw-r--r-- | ChangeLog | 17 | ||||
-rw-r--r-- | ace/os_include/os_dlfcn.h | 6 | ||||
-rw-r--r-- | include/makeinclude/platform_g++_common.GNU | 8 | ||||
-rw-r--r-- | include/makeinclude/platform_macosx.GNU | 2 |
4 files changed, 28 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog index e62c0400172..831f720bfff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +Fri Jul 25 17:32:58 UTC 2003 Don Hinton <dhinton@dresystems.com> + + * ace/os_include/os_dlfcn.h: + Define ACE_DEFAULT_SHLIB_MODE to be RTLD_LAZY|RTLD_GLOBAL + when ACE_HAS_SVR4_DYNAMIC_LINKING, not just for Linux. + Thanks to Krishnakumar B <kitty@cse.wustl.edu> for suggesting + this. + + * include/makeinclude/platform_macosx.GNU: Add with_ld=macosx. + * include/makeinclude/plafform_g++_common.GNU: + Don't add "-Wl,-E" to LDFLAGS when with_ld=macosx. Thanks to + John Michael Zorko <j.zorko@att.net> pointing out the problem + and supplying a patch. Also, thanks to Craig Rodrigues + <crodrigu@bbn.com> for suggesting we set the default for + with_ld=gnu and only add "-Wl,-E", which id gnu linker + specific, if we're using the gnu version of ld. + Fri Jul 25 11:37:09 2003 Chad Elliott <elliott_c@ociweb.com> * bin/MakeProjectCreator/modules/ProjectCreator.pm: diff --git a/ace/os_include/os_dlfcn.h b/ace/os_include/os_dlfcn.h index dcb15be572c..79ad90fd6ae 100644 --- a/ace/os_include/os_dlfcn.h +++ b/ace/os_include/os_dlfcn.h @@ -66,12 +66,10 @@ extern "C" # define ACE_SHLIB_INVALID_HANDLE 0 # if defined (__KCC) && defined(RTLD_GROUP) && defined(RTLD_NODELETE) # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GROUP | RTLD_NODELETE -# elif defined (__linux__) - // This is needed to for dynamic_cast to work properly on objects created in +# else + // This is needed to for dynamic_cast to work properly on objects passed to // libraries. # define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY | RTLD_GLOBAL -# else -# define ACE_DEFAULT_SHLIB_MODE RTLD_LAZY # endif /* KCC */ #elif defined (__hpux) typedef shl_t ACE_SHLIB_HANDLE; diff --git a/include/makeinclude/platform_g++_common.GNU b/include/makeinclude/platform_g++_common.GNU index ba3f326c55e..84bc99b7b0e 100644 --- a/include/makeinclude/platform_g++_common.GNU +++ b/include/makeinclude/platform_g++_common.GNU @@ -43,6 +43,10 @@ ifeq ($(templates),explicit) CPPFLAGS += -DACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION endif +ifeq (,$(with_ld)) + with_ld = gnu +endif + # The correct flags to pass to the linker for ELF dynamic shared library # versioning # @@ -62,7 +66,9 @@ endif # for shared libraries. (see http://gcc.gnu.org/faq.html#dso) ifeq ($(shared_libs), 1) ifneq ($(static_libs_only), 1) - LDFLAGS += -Wl,-E + ifeq ($(with_ld), gnu) + LDFLAGS += -Wl,-E + endif # macosx endif # static_libs_only endif # shared_libs diff --git a/include/makeinclude/platform_macosx.GNU b/include/makeinclude/platform_macosx.GNU index 08b121b31b7..cefe12db325 100644 --- a/include/makeinclude/platform_macosx.GNU +++ b/include/makeinclude/platform_macosx.GNU @@ -12,6 +12,8 @@ ifeq (,$(optimize)) optimize = 0 endif +with_ld = macosx + CC = gcc CXX = g++ CFLAGS += -Wall -Wpointer-arith -Wno-long-double -pipe -I/sw/include |