summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2015-02-26 16:28:46 -0500
committerSteve Huston <shuston@riverace.com>2015-02-26 16:28:46 -0500
commit35bd40132ca21673ddb4d42fbe2de22653ccf075 (patch)
tree958ce45673ace9154696c7fc6d28b8d52c4a6766
parent5b192d1a85d54740d45211f9cc05b2442b1e1def (diff)
downloadATCD-35bd40132ca21673ddb4d42fbe2de22653ccf075.tar.gz
Move ACE_VX_USR_ARG_T type definition out to the config-vxworks.h file and change it to a typedef instead of a macro.
Generalize use of ACE_VX_USR_ARG_T in place of previously added _Vx_usr_arg_t to restore ability to build on pre-6.9
-rw-r--r--ACE/ace/OS_NS_Thread.cpp32
-rw-r--r--ACE/ace/Stack_Trace.cpp13
-rw-r--r--ACE/ace/config-vxworks.h13
3 files changed, 30 insertions, 28 deletions
diff --git a/ACE/ace/OS_NS_Thread.cpp b/ACE/ace/OS_NS_Thread.cpp
index 598fa0f0762..a8efe375527 100644
--- a/ACE/ace/OS_NS_Thread.cpp
+++ b/ACE/ace/OS_NS_Thread.cpp
@@ -4438,7 +4438,7 @@ ACE_OS::thr_create (ACE_THR_FUNC func,
(int) flags,
stacksize,
thread_args->entry_point (),
- (_Vx_usr_arg_t) thread_args,
+ (ACE_VX_USR_ARG_T) thread_args,
0, 0, 0, 0, 0, 0, 0, 0, 0);
# if 0 /* Don't support setting of stack, because it doesn't seem to work. */
}
@@ -5134,10 +5134,10 @@ spa (FUNCPTR entry, ...)
{
// The called entrypoint can get the function name plus the normal 10
// optional arguments.
- static _Vx_usr_arg_t const ACE_MAX_ARGS = 1 + 10;
+ static ACE_VX_USR_ARG_T const ACE_MAX_ARGS = 1 + 10;
static char *argv[ACE_MAX_ARGS] = { 0 };
va_list pvar;
- _Vx_usr_arg_t argc;
+ ACE_VX_USR_ARG_T argc;
// Hardcode a program name because the real one isn't available
// through the VxWorks shell.
@@ -5174,7 +5174,7 @@ spa (FUNCPTR entry, ...)
{
// fill unused argv slots with 0 to get rid of leftovers
// from previous invocations
- for (_Vx_usr_arg_t i = argc; i < ACE_MAX_ARGS; ++i)
+ for (ACE_VX_USR_ARG_T i = argc; i < ACE_MAX_ARGS; ++i)
argv[i] = 0;
}
@@ -5186,7 +5186,7 @@ spa (FUNCPTR entry, ...)
ACE_NEEDS_HUGE_THREAD_STACKSIZE, // stack size
entry, // entry point
argc, // first argument to main ()
- (_Vx_usr_arg_t) argv, // second argument to main ()
+ (ACE_VX_USR_ARG_T) argv, // second argument to main ()
0, 0, 0, 0, 0, 0, 0, 0);
va_end (pvar);
@@ -5197,7 +5197,7 @@ spa (FUNCPTR entry, ...)
// A helper function for the extended spa functions
static void
-add_to_argv (_Vx_usr_arg_t& argc, char** argv, int max_args, char* string)
+add_to_argv (ACE_VX_USR_ARG_T& argc, char** argv, int max_args, char* string)
{
char indouble = 0;
size_t previous = 0;
@@ -5273,10 +5273,10 @@ int
spae (FUNCPTR entry, ...)
{
static int const WINDSH_ARGS = 10;
- static _Vx_usr_arg_t const ACE_MAX_ARGS = 128;
+ static ACE_VX_USR_ARG_T const ACE_MAX_ARGS = 128;
static char* argv[ACE_MAX_ARGS] = { const_cast<char*> ("ace_main"), 0 };
va_list pvar;
- _Vx_usr_arg_t argc = 1;
+ ACE_VX_USR_ARG_T argc = 1;
// Peel off arguments to spa () and put into argv. va_arg () isn't
// necessarily supposed to return 0 when done, though since the
@@ -5304,7 +5304,7 @@ spae (FUNCPTR entry, ...)
ACE_NEEDS_HUGE_THREAD_STACKSIZE, // stack size
entry, // entry point
argc, // first argument to main ()
- (_Vx_usr_arg_t) argv, // second argument to main ()
+ (ACE_VX_USR_ARG_T) argv, // second argument to main ()
0, 0, 0, 0, 0, 0, 0, 0);
va_end (pvar);
@@ -5327,10 +5327,10 @@ int
spaef (FUNCPTR entry, ...)
{
static int const WINDSH_ARGS = 10;
- static _Vx_usr_arg_t const ACE_MAX_ARGS = 128;
+ static ACE_VX_USR_ARG_T const ACE_MAX_ARGS = 128;
static char* argv[ACE_MAX_ARGS] = { const_cast<char*> ("ace_main"), 0 };
va_list pvar;
- _Vx_usr_arg_t argc = 1;
+ ACE_VX_USR_ARG_T argc = 1;
// Peel off arguments to spa () and put into argv. va_arg () isn't
// necessarily supposed to return 0 when done, though since the
@@ -5379,9 +5379,9 @@ _vx_call_entry(FUNCPTR entry, int argc, char* argv[])
int
vx_execae (FUNCPTR entry, char* arg, int prio, int opt, size_t stacksz, ...)
{
- static _Vx_usr_arg_t const ACE_MAX_ARGS = 128;
+ static ACE_VX_USR_ARG_T const ACE_MAX_ARGS = 128;
static char* argv[ACE_MAX_ARGS] = { const_cast<char*> ("ace_main"), 0 };
- _Vx_usr_arg_t argc = 1;
+ ACE_VX_USR_ARG_T argc = 1;
// Peel off arguments to run_main () and put into argv.
if (arg)
@@ -5391,7 +5391,7 @@ vx_execae (FUNCPTR entry, char* arg, int prio, int opt, size_t stacksz, ...)
// fill unused argv slots with 0 to get rid of leftovers
// from previous invocations
- for (_Vx_usr_arg_t i = argc; i < ACE_MAX_ARGS; ++i)
+ for (ACE_VX_USR_ARG_T i = argc; i < ACE_MAX_ARGS; ++i)
argv[i] = 0;
// The hard-coded options are what ::sp () uses, except for the
@@ -5401,9 +5401,9 @@ vx_execae (FUNCPTR entry, char* arg, int prio, int opt, size_t stacksz, ...)
opt==0 ? VX_FP_TASK : opt, // task options
stacksz==0 ? ACE_NEEDS_HUGE_THREAD_STACKSIZE : stacksz, // stack size
(FUNCPTR)_vx_call_entry, // entrypoint caller
- (_Vx_usr_arg_t)entry, // entry point
+ (ACE_VX_USR_ARG_T)entry, // entry point
argc, // first argument to main ()
- (_Vx_usr_arg_t) argv, // second argument to main ()
+ (ACE_VX_USR_ARG_T) argv, // second argument to main ()
0, 0, 0, 0, 0, 0, 0);
if (ret == TASK_ID_ERROR)
diff --git a/ACE/ace/Stack_Trace.cpp b/ACE/ace/Stack_Trace.cpp
index f746c9041f8..ae1437107b3 100644
--- a/ACE/ace/Stack_Trace.cpp
+++ b/ACE/ace/Stack_Trace.cpp
@@ -125,7 +125,7 @@ static void
ACE_Stack_Trace_Add_Frame_To_Buf (INSTR *caller,
INSTR *func,
int nargs,
- _Vx_usr_arg_t *args)
+ ACE_VX_USR_ARG_T *args)
{
if (ACE_Stack_Trace_stateptr == 0)
return;
@@ -253,17 +253,6 @@ ACE_Stack_Trace::generate_trace (ssize_t starting_frame_offset,
const char *fnName = "(no symbols)";
static const int N_ARGS = 12;
-#if (ACE_VXWORKS < 0x690)
-# define ACE_VX_USR_ARG_T int
-# define ACE_VX_ARG_FORMAT "%x"
-#else
-# define ACE_VX_USR_ARG_T _Vx_usr_arg_t
-# ifdef _WRS_CONFIG_LP64
-# define ACE_VX_ARG_FORMAT "%lx"
-# else
-# define ACE_VX_ARG_FORMAT "%x"
-# endif
-#endif
ACE_VX_USR_ARG_T buf[N_ARGS];
ACE_VX_USR_ARG_T *pArgs = 0;
int numArgs =
diff --git a/ACE/ace/config-vxworks.h b/ACE/ace/config-vxworks.h
index ee4e2286c76..e45e05ec0f4 100644
--- a/ACE/ace/config-vxworks.h
+++ b/ACE/ace/config-vxworks.h
@@ -54,6 +54,19 @@
#error Unknown or unsupported VxWorks version
#endif
+// Adapt to system argument changes added at VxWorks 6.9 and 64-bit.
+#if (ACE_VXWORKS < 0x690)
+typedef int ACE_VX_USR_ARG_T;
+# define ACE_VX_ARG_FORMAT "%x"
+#else
+typedef _Vx_usr_arg_t ACE_VX_USR_ARG_T;
+# ifdef _WRS_CONFIG_LP64
+# define ACE_VX_ARG_FORMAT "%lx"
+# else
+# define ACE_VX_ARG_FORMAT "%x"
+# endif
+#endif
+
#include /**/ "ace/post.h"
#endif /* ACE_CONFIG_VXWORKS_H */