summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroci <oci@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-09-04 14:20:52 +0000
committeroci <oci@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-09-04 14:20:52 +0000
commit30c8308ea8eb23e98e6db7ac5ed7241206ed0969 (patch)
tree7689214cc55e7ec9c191904d3ecd873f3dfbcb6c
parent011e0a9f0a68e6e0c90d3f936afc7857f089a32c (diff)
downloadATCD-30c8308ea8eb23e98e6db7ac5ed7241206ed0969.tar.gz
ChangeLogTag: Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
-rw-r--r--ChangeLog30
-rw-r--r--ChangeLogs/ChangeLog-02a30
-rw-r--r--ChangeLogs/ChangeLog-03a30
-rw-r--r--ace/CDR_Stream.cpp14
-rw-r--r--ace/CDR_Stream.i11
-rw-r--r--ace/config-vxworks5.x.h6
-rw-r--r--include/makeinclude/platform_vxworks5.x_ghs.GNU17
7 files changed, 106 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index 331b84d1ee0..1ecd6b0b734 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,21 @@
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
* THANKS: Added Eyal Neuman <eyal@tradertools.com> to the hall of
- fame.
+ fame.
Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -23,7 +37,7 @@ Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- * */Makefile: Updated dependencies
+ * */Makefile: Updated dependencies
Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -120,15 +134,15 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Reimplemented dispatch_notify (). This method would just
dispatch the upcall using the information in the notification
- buffer.
+ buffer.
- The handle_input () now uses the read_notify_pipe () and
dispatch_notify () to achieve what it was doing before.
- The notify () call now sends one notify message on the pipe
- for every message in the notification queue.
-
- * ace/TP_Reactor.cpp (handle_socket_events):
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
* ace/TP_Reactor.h:
* ace/TP_Reactor.i: We had a race condition. The race condition
was because two threads were trying to read from the notify_pipe
@@ -139,10 +153,10 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Changed dispatch_socket_events () as dispatch_socket_event ()
as we were dispatching only one event.
-
+
- We dont grab the token in the constructor of the token. We
have to make a call specfically to grab_token () to get the
- token.
+ token.
The above checkins should fix the correctness of the reactor
problems that we have been seeing.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 331b84d1ee0..1ecd6b0b734 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,7 +1,21 @@
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
* THANKS: Added Eyal Neuman <eyal@tradertools.com> to the hall of
- fame.
+ fame.
Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -23,7 +37,7 @@ Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- * */Makefile: Updated dependencies
+ * */Makefile: Updated dependencies
Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -120,15 +134,15 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Reimplemented dispatch_notify (). This method would just
dispatch the upcall using the information in the notification
- buffer.
+ buffer.
- The handle_input () now uses the read_notify_pipe () and
dispatch_notify () to achieve what it was doing before.
- The notify () call now sends one notify message on the pipe
- for every message in the notification queue.
-
- * ace/TP_Reactor.cpp (handle_socket_events):
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
* ace/TP_Reactor.h:
* ace/TP_Reactor.i: We had a race condition. The race condition
was because two threads were trying to read from the notify_pipe
@@ -139,10 +153,10 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Changed dispatch_socket_events () as dispatch_socket_event ()
as we were dispatching only one event.
-
+
- We dont grab the token in the constructor of the token. We
have to make a call specfically to grab_token () to get the
- token.
+ token.
The above checkins should fix the correctness of the reactor
problems that we have been seeing.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 331b84d1ee0..1ecd6b0b734 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,7 +1,21 @@
+Tue Sep 4 09:14:36 2001 Chad Elliott <elliott_c@ociweb.com>
+
+ * ace/CDR_Stream.i:
+ * ace/CDR_Stream.cpp:
+
+ Work around a compiler bug in the latest Green Hills Multi200.
+ Casting a float to an ACE_CDR::ULong* caused internal compiler
+ errors if the code was inlined.
+
+ * ace/config-vxworks5.x.h:
+ * include/makeinclude/platform_vxworks5.x_ghs.GNU:
+
+ Updated support for Green Hills Multi2000.
+
Tue Sep 4 07:41:42 2001 Balachandran Natarajan <bala@cs.wustl.edu>
* THANKS: Added Eyal Neuman <eyal@tradertools.com> to the hall of
- fame.
+ fame.
Tue Sep 4 07:37:17 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -23,7 +37,7 @@ Mon Sep 3 20:08:25 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Mon Sep 3 09:58:32 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- * */Makefile: Updated dependencies
+ * */Makefile: Updated dependencies
Mon Sep 3 09:44:46 2001 Balachandran Natarajan <bala@cs.wustl.edu>
@@ -120,15 +134,15 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Reimplemented dispatch_notify (). This method would just
dispatch the upcall using the information in the notification
- buffer.
+ buffer.
- The handle_input () now uses the read_notify_pipe () and
dispatch_notify () to achieve what it was doing before.
- The notify () call now sends one notify message on the pipe
- for every message in the notification queue.
-
- * ace/TP_Reactor.cpp (handle_socket_events):
+ for every message in the notification queue.
+
+ * ace/TP_Reactor.cpp (handle_socket_events):
* ace/TP_Reactor.h:
* ace/TP_Reactor.i: We had a race condition. The race condition
was because two threads were trying to read from the notify_pipe
@@ -139,10 +153,10 @@ Fri Aug 31 19:14:52 2001 Balachandran Natarajan <bala@cs.wustl.edu>
- Changed dispatch_socket_events () as dispatch_socket_event ()
as we were dispatching only one event.
-
+
- We dont grab the token in the constructor of the token. We
have to make a call specfically to grab_token () to get the
- token.
+ token.
The above checkins should fix the correctness of the reactor
problems that we have been seeing.
diff --git a/ace/CDR_Stream.cpp b/ace/CDR_Stream.cpp
index 38c871864f7..831b1b3876e 100644
--- a/ace/CDR_Stream.cpp
+++ b/ace/CDR_Stream.cpp
@@ -1400,6 +1400,20 @@ ACE_InputCDR::reset_contents (void)
// --------------------------------------------------------------
+#if defined (VXWORKS) && defined (ghs)
+ACE_CDR::Boolean
+ACE_OutputCDR::write_float (ACE_CDR::Float x)
+{
+ return this->write_4 (ACE_reinterpret_cast (const ACE_CDR::ULong*, &x));
+}
+
+ACE_CDR::Boolean
+ACE_InputCDR::read_float (ACE_CDR::Float &x)
+{
+ return this->read_4 (ACE_reinterpret_cast (ACE_CDR::ULong*, &x));
+}
+#endif /* VXWORKS && ghs */
+
ACE_CDR::Boolean
operator<< (ACE_OutputCDR &os, const ACE_CString &x)
{
diff --git a/ace/CDR_Stream.i b/ace/CDR_Stream.i
index de0d13e70cb..cfea878b357 100644
--- a/ace/CDR_Stream.i
+++ b/ace/CDR_Stream.i
@@ -222,11 +222,13 @@ ACE_OutputCDR::write_ulonglong (const ACE_CDR::ULongLong &x)
return this->write_8 (ACE_reinterpret_cast (const ACE_CDR::ULongLong*,&x));
}
+#if !defined (VXWORKS) || !defined (ghs)
ACE_INLINE ACE_CDR::Boolean
ACE_OutputCDR::write_float (ACE_CDR::Float x)
{
return this->write_4 (ACE_reinterpret_cast (const ACE_CDR::ULong*, &x));
}
+#endif /* !VXWORKS || !ghs */
ACE_INLINE ACE_CDR::Boolean
ACE_OutputCDR::write_double (const ACE_CDR::Double &x)
@@ -569,12 +571,13 @@ ACE_InputCDR::read_ulonglong (ACE_CDR::ULongLong &x)
return this->read_8 (ACE_reinterpret_cast (ACE_CDR::ULongLong*,&x));
}
+#if !defined (VXWORKS) || !defined (ghs)
ACE_INLINE ACE_CDR::Boolean
ACE_InputCDR::read_float (ACE_CDR::Float &x)
{
return this->read_4 (ACE_reinterpret_cast (ACE_CDR::ULong*, &x));
}
-
+#endif /* !VXWORKS || !ghs */
ACE_INLINE ACE_CDR::Boolean
ACE_InputCDR::read_double (ACE_CDR::Double &x)
@@ -846,8 +849,10 @@ ACE_InputCDR::skip_ulonglong (void)
ACE_INLINE ACE_CDR::Boolean
ACE_InputCDR::skip_float (void)
{
- float x;
- return this->read_4 (ACE_reinterpret_cast (ACE_CDR::ULong*,&x));
+ // Changing this removes the warning for GHS and it
+ // stops the compiler from getting an internal error.
+ ACE_CDR::ULong value;
+ return this->read_4 (&value);
}
ACE_INLINE ACE_CDR::Boolean
diff --git a/ace/config-vxworks5.x.h b/ace/config-vxworks5.x.h
index 0b548268903..240ed0692e2 100644
--- a/ace/config-vxworks5.x.h
+++ b/ace/config-vxworks5.x.h
@@ -63,6 +63,12 @@
# include "ace/config-ghs-common.h"
# define ACE_LACKS_UNISTD_H
+# define ACE_LACKS_IOSTREAM_TOTALLY
+
+// Short-circuit the include of <arpa/inet.h>
+// Green Hills has a problem with multiply defined functions
+// with different parameters.
+# define __INCineth
#elif defined (__DCPLUSPLUS__)
// Diab 4.2a or later.
diff --git a/include/makeinclude/platform_vxworks5.x_ghs.GNU b/include/makeinclude/platform_vxworks5.x_ghs.GNU
index c7a4072643a..0fdf04dd0c3 100644
--- a/include/makeinclude/platform_vxworks5.x_ghs.GNU
+++ b/include/makeinclude/platform_vxworks5.x_ghs.GNU
@@ -32,7 +32,7 @@
#### endif # PATH
####
#### CPU = 86
-#### GHS = /project/doc/pkg/wind/green/vx$(CPU)
+#### GHSROOT = /project/doc/pkg/wind/green
#### include $(ACE_ROOT)/include/makeinclude/platform_vxworks5.x_ghs.GNU
VXWORKS = 1
@@ -53,8 +53,11 @@ endif # CPU
ifeq ($(CPU),86)
# With GHS' ax, ld386 complains that it can't read the
# archive symbol table.
+ ifndef GHSROOT
+ GHSROOT = /project/doc/pkg/wind/green
+ endif
ifndef GHS
- GHS = /project/doc/pkg/wind/green/vx$(CPU)
+ GHS = $(GHSROOT)/vx$(CPU)
endif # GHS
AR = $(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin/ar386
ARFLAGS = rsu
@@ -63,8 +66,11 @@ ifeq ($(CPU),86)
#### LIBS += $(GHS)/libedgnoe.a
else
ifeq ($(CPU),ppc)
+ ifndef GHSROOT
+ GHSROOT = /appl/newgreen
+ endif
ifndef GHS
- GHS = /appl/newgreen/vx$(CPU)603
+ GHS = $(GHSROOT)/vx$(CPU)603
endif # GHS
AR = ax
ARFLAGS = cr
@@ -75,12 +81,13 @@ endif # ppc
endif # CPU
#### For GHS 1.8.9:
-LIBS += $(GHS)/libscnoe.a $(GHS)/libsedgnoe.a $(GHS)/liblockinit_sc.o
+LIBS += $(GHS)/libscnoe.a $(GHS)/libsedgnoe.a $(GHS)/liblockinit_sc.o $(GHSROOT)/$(CPU)/libarch.a
CC = cxvx$(CPU)
CXX = $(CC)
-CCFLAGS += $(CFLAGS) --no_rtti -tnone
+CCFLAGS += $(CFLAGS) --no_rtti -tnone -Dghs -I$(GHSROOT)/vxworks/include -I$(WIND_BASE)/target/h
DCFLAGS += -g
+SOFLAGS += -shared
DLD = $(CXX)
LD = $(CXX)
LDFLAGS = --no_auto_instantiation