diff options
author | Adam Mitz <mitza@ociweb.com> | 2015-06-16 17:05:30 -0500 |
---|---|---|
committer | Adam Mitz <mitza@ociweb.com> | 2015-06-16 17:05:30 -0500 |
commit | fc89d487bc5d2a165c467cbf2aeac03895736bd7 (patch) | |
tree | 51a2b7ae533f8795660e5d3a6be4574a66e47add | |
parent | 9347add1c3faf5773eec2373b58e7e2569472254 (diff) | |
parent | 78cc1a6348d9e7041dd4179796cc2bcbc56d311b (diff) | |
download | ATCD-fc89d487bc5d2a165c467cbf2aeac03895736bd7.tar.gz |
Merge pull request #99 from mitza-oci/VxWorks7
Added support for VxWorks 7 kernel mode.
-rw-r--r-- | ACE/ace/CDR_Base.cpp | 2 | ||||
-rw-r--r-- | ACE/ace/OS_NS_unistd.inl | 4 | ||||
-rw-r--r-- | ACE/ace/config-vxworks7.0.h | 8 | ||||
-rw-r--r-- | ACE/include/makeinclude/platform_vxworks7.0.GNU | 34 |
4 files changed, 39 insertions, 9 deletions
diff --git a/ACE/ace/CDR_Base.cpp b/ACE/ace/CDR_Base.cpp index bef9c40e67f..92702361a7a 100644 --- a/ACE/ace/CDR_Base.cpp +++ b/ACE/ace/CDR_Base.cpp @@ -843,7 +843,7 @@ ACE_CDR::Fixed ACE_CDR::Fixed::from_integer (ACE_CDR::ULongLong val) ACE_CDR::Fixed ACE_CDR::Fixed::from_floating (LongDouble val) { -#ifdef ACE_OPENVMS +#if defined ACE_OPENVMS || (defined ACE_VXWORKS && !defined __RTP__) typedef double BigFloat; #elif defined NONNATIVE_LONGDOUBLE typedef LongDouble::NativeImpl BigFloat; diff --git a/ACE/ace/OS_NS_unistd.inl b/ACE/ace/OS_NS_unistd.inl index 6bcc6f72547..5bc4e19a300 100644 --- a/ACE/ace/OS_NS_unistd.inl +++ b/ACE/ace/OS_NS_unistd.inl @@ -1110,7 +1110,7 @@ ACE_OS::ualarm (useconds_t usecs, useconds_t interval) #if defined (ACE_HAS_UALARM) return ::ualarm (usecs, interval); -#elif !defined (ACE_LACKS_UNIX_SIGNALS) +#elif !defined (ACE_LACKS_UNIX_SIGNALS) && !defined (ACE_LACKS_ALARM) ACE_UNUSED_ARG (interval); # if defined (ACE_VXWORKS) && ACE_VXWORKS >= 0x690 && defined (_WRS_CONFIG_LP64) return ::alarm (static_cast<unsigned int> (usecs * ACE_ONE_SECOND_IN_USECS)); @@ -1135,7 +1135,7 @@ ACE_OS::ualarm (const ACE_Time_Value &tv, useconds_t interval = (tv_interval.sec () * ACE_ONE_SECOND_IN_USECS) + tv_interval.usec (); return ::ualarm (usecs, interval); -#elif !defined (ACE_LACKS_UNIX_SIGNALS) +#elif !defined (ACE_LACKS_UNIX_SIGNALS) && !defined (ACE_LACKS_ALARM) ACE_UNUSED_ARG (tv_interval); # if defined (ACE_VXWORKS) && ACE_VXWORKS >= 0x690 && defined (_WRS_CONFIG_LP64) return ::alarm (static_cast<unsigned int> (tv.sec ())); diff --git a/ACE/ace/config-vxworks7.0.h b/ACE/ace/config-vxworks7.0.h index 11057aaff24..a0c45979569 100644 --- a/ACE/ace/config-vxworks7.0.h +++ b/ACE/ace/config-vxworks7.0.h @@ -14,6 +14,14 @@ #include "ace/config-vxworks6.9.h" +#ifndef ACE_LACKS_REGEX_H +# define ACE_LACKS_REGEX_H +#endif + +#ifndef __RTP__ +# define ACE_LACKS_ALARM +#endif + #include /**/ "ace/post.h" #endif /* ACE_CONFIG_VXWORKS_7_0_H */ diff --git a/ACE/include/makeinclude/platform_vxworks7.0.GNU b/ACE/include/makeinclude/platform_vxworks7.0.GNU index 57bb39430d0..e9ec1ee6ec5 100644 --- a/ACE/include/makeinclude/platform_vxworks7.0.GNU +++ b/ACE/include/makeinclude/platform_vxworks7.0.GNU @@ -25,8 +25,8 @@ # hosts: linux # targets: itl_x86 # toolchains: gnu4.3 -# rtp settings: 1 -# libraries: shared +# rtp settings: 1, 0 +# libraries: shared, static VXWORKS = 1 CROSS-COMPILE = 1 @@ -85,6 +85,25 @@ ifeq ($(pthread),1) CPPFLAGS += -DACE_HAS_PTHREADS endif +ifeq ($(rtp),0) + VSHDIR = $(VDIR) + + ifneq ($(shared_libs_only),1) + DKM_LIBS = $(if $(findstring 1,$(static_libs)$(static_libs_only)),$(LDLIBS)) + endif + + IFILE = $(VDIR)$(notdir $(basename $(1))) + define LINK.cc.override +$(LD) -r -nostdlib -Wl,-X $(LDFLAGS) -o $(call IFILE,$@)_partial.o $(filter %.o,$^) $(DKM_LIBS) + $(NM) $(call IFILE,$@)_partial.o | $(MUNCH) > $(call IFILE,$@)_ctdt.c + $(COMPILE.cc) -o $(call IFILE,$@)_ctdt.o $(call IFILE,$@)_ctdt.c + $(LD) -r -nostdlib -Wl,-X $(LD_SCRIPT_DOWNLOAD) -o $@ $(call IFILE,$@)_ctdt.o $(call IFILE,$@)_partial.o + endef + + SOLINK.cc.override = $(LINK.cc.override) + CLEANUP_OBJS += $(foreach x,_ctdt.c _ctdt.o _partial.o,$(addsuffix $(x),$(VDIR)$(notdir $(basename $(if $(LIB_NAME),$(VLIB),$(VBIN)))))) +endif + ace_vx_mk_dir = $(if $(findstring 1,$(rtp)),$(WIND_USR_MK),$(WIND_KRNL_MK)) include $(ace_vx_mk_dir)/defs.library.mk @@ -103,8 +122,8 @@ endif DCFLAGS += -g DCCFLAGS += -g -LD = $(CPLUS) -DLD = $(CPLUS) +LD = $(CXX) +DLD = $(LD) EXEEXT = $(if $(findstring 1,$(rtp)),.vxe,.out) @@ -113,7 +132,10 @@ SOFLAGS += $(C++_COMPILER) $(OPTION_SHARED_CODE) $(LD_SHARED_LIB) \ $(LD_OPTION_SONAME) LDFLAGS := $(filter-out -X -N,$(LDFLAGS)) -LDFLAGS += -L$(VSB_DIR)/usr/lib/common$(if $(filter library,$(PRJ_TYPE)),/PIC) +ifeq ($(rtp),1) + LDFLAGS += -L$(VSB_DIR)/usr/lib/common$(if $(filter library,$(PRJ_TYPE)),/PIC -L$(VSB_DIR)/usr/lib/common) +endif LIBS += -lstdc++ -LDFLAGS += $(if $(filter 1,$(shared_libs)),$(if $(filter 1,$(static_libs_only)),,$(LD_OPTION_DYNAMIC))) +build_nonstatic = $(if $(findstring 1,$(shared_libs)$(shared_libs_only)),$(if $(filter 1,$(static_libs_only)),,1)) +LDFLAGS += $(if $(build_nonstatic),$(LD_OPTION_DYNAMIC),-static) |