Mercurial > ecos
comparison packages/infra/current/include/cyg_trac.h @ 2:443894e2e912 ecos-v1_2_1-release
Block commit of eCos version 1.2.1
| author | jlarmour |
|---|---|
| date | Tue, 11 May 1999 12:24:34 +0000 |
| parents | 3111d98ba7b3 |
| children | c38311975d4f |
comparison
equal
deleted
inserted
replaced
| 1:72f549f0d891 | 2:443894e2e912 |
|---|---|
| 1 #ifndef CYGONCE_INFRA_CYG_TRAC_H | 1 #ifndef CYGONCE_INFRA_CYG_TRAC_H |
| 2 #define CYGONCE_INFRA_CYG_TRAC_H | 2 #define CYGONCE_INFRA_CYG_TRAC_H |
| 3 | 3 |
| 4 //========================================================================== | 4 //========================================================================== |
| 5 // | 5 // |
| 6 // cyg_trac.h | 6 // cyg_trac.h |
| 7 // | 7 // |
| 8 // Macros and prototypes for the tracing system | 8 // Macros and prototypes for the tracing system |
| 9 // | 9 // |
| 10 //========================================================================== | 10 //========================================================================== |
| 11 //####COPYRIGHTBEGIN#### | 11 //####COPYRIGHTBEGIN#### |
| 12 // | 12 // |
| 13 // ------------------------------------------- | 13 // ------------------------------------------- |
| 23 // | 23 // |
| 24 // The Original Code is eCos - Embedded Cygnus Operating System, released | 24 // The Original Code is eCos - Embedded Cygnus Operating System, released |
| 25 // September 30, 1998. | 25 // September 30, 1998. |
| 26 // | 26 // |
| 27 // The Initial Developer of the Original Code is Cygnus. Portions created | 27 // The Initial Developer of the Original Code is Cygnus. Portions created |
| 28 // by Cygnus are Copyright (C) 1998 Cygnus Solutions. All Rights Reserved. | 28 // by Cygnus are Copyright (C) 1998,1999 Cygnus Solutions. All Rights Reserved. |
| 29 // ------------------------------------------- | 29 // ------------------------------------------- |
| 30 // | 30 // |
| 31 //####COPYRIGHTEND#### | 31 //####COPYRIGHTEND#### |
| 32 //========================================================================== | 32 //========================================================================== |
| 33 //#####DESCRIPTIONBEGIN#### | 33 //#####DESCRIPTIONBEGIN#### |
| 34 // | 34 // |
| 35 // Author(s): nickg from an original by hmt | 35 // Author(s): nickg from an original by hmt |
| 36 // Contributors: nickg | 36 // Contributors: nickg |
| 37 // Date: 1998-04-23 | 37 // Date: 1998-04-23 |
| 38 // Purpose: Use traces to log procedure entry, and "print" stuff | 38 // Purpose: Use traces to log procedure entry, and "print" stuff |
| 39 // Description: Runtime logging messages that compile to nothing in | 39 // Description: Runtime logging messages that compile to nothing in |
| 40 // release versions of the code, to allow | 40 // release versions of the code, to allow |
| 41 // as-you-go tracing of alternate builds. | 41 // as-you-go tracing of alternate builds. |
| 42 // Usage: #include <cyg/infra/cyg_trac.h> | 42 // Usage: #include <cyg/infra/cyg_trac.h> |
| 43 // ... | 43 // ... |
| 44 // CYG_TRACE2( PIPE_TRACE, "pipe %x, data %d", ppipe, oword ); | 44 // CYG_TRACE2( PIPE_TRACE, "pipe %x, data %d", ppipe, oword ); |
| 45 // | 45 // |
| 46 // which can result, for example, in a message of the form: | 46 // which can result, for example, in a message of the form: |
| 47 // "TRACE: pipemgr.cxx:1340, write_pipe(): pipe 0x8004c, data 17" | 47 // "TRACE: pipemgr.cxx:1340, write_pipe(): pipe 0x8004c, data 17" |
| 48 // | 48 // |
| 49 //####DESCRIPTIONEND#### | 49 //####DESCRIPTIONEND#### |
| 128 printing the function arguments, and detecting returns without logging (or | 128 printing the function arguments, and detecting returns without logging (or |
| 129 without a value!). | 129 without a value!). |
| 130 | 130 |
| 131 The basic facility is | 131 The basic facility is |
| 132 | 132 |
| 133 CYG_REPORT_FUNCTION(); | 133 CYG_REPORT_FUNCTION(); |
| 134 | 134 |
| 135 In C, place this between the local variable declarations and the first | 135 In C, place this between the local variable declarations and the first |
| 136 statement or errors will ensue. C++ is more flexible; place the macro as | 136 statement or errors will ensue. C++ is more flexible; place the macro as |
| 137 the first line of all functions you wish to trace. The following | 137 the first line of all functions you wish to trace. The following |
| 138 variations are also provided: | 138 variations are also provided: |
| 139 | 139 |
| 140 CYG_REPORT_FUNCTYPE( exitmsg ) provide a printf string for the type | 140 CYG_REPORT_FUNCTYPE( exitmsg ) provide a printf string for the type |
| 141 of the returned value | 141 of the returned value |
| 142 CYG_REPORT_FUNCNAME( name ) supply a function name explicitly, for | 142 CYG_REPORT_FUNCNAME( name ) supply a function name explicitly, for |
| 143 if __FUNCTION__ is not supported | 143 if __FUNCTION__ is not supported |
| 144 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both of the above extensions | 144 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both of the above extensions |
| 145 | 145 |
| 146 These are unconditional; the assumption is that if function reporting is | 146 These are unconditional; the assumption is that if function reporting is |
| 179 are needed. | 179 are needed. |
| 180 | 180 |
| 181 Examples: | 181 Examples: |
| 182 int myfunction() | 182 int myfunction() |
| 183 { | 183 { |
| 184 CYG_REPORT_FUNCTYPE( "recode is %d" ); | 184 CYG_REPORT_FUNCTYPE( "recode is %d" ); |
| 185 | 185 |
| 186 A function return is traced using | 186 A function return is traced using |
| 187 | 187 |
| 188 CYG_REPORT_RETURN() a void return | 188 CYG_REPORT_RETURN() a void return |
| 189 CYG_REPORT_RETVAL( value ) returning a value | 189 CYG_REPORT_RETVAL( value ) returning a value |
| 190 | 190 |
| 191 With the CYG_REPORT_FUNCTYPE example, the latter might produce a message | 191 With the CYG_REPORT_FUNCTYPE example, the latter might produce a message |
| 192 like: | 192 like: |
| 193 | 193 |
| 194 TRACE:myprog.c[40]fact(): enter | 194 TRACE:myprog.c[40]fact(): enter |
| 195 TRACE:myprog.c[53]fact(): retcode is 24 | 195 TRACE:myprog.c[53]fact(): retcode is 24 |
| 196 | 196 |
| 197 It is also useful to trace the values of the arguments to a function: | 197 It is also useful to trace the values of the arguments to a function: |
| 198 CYG_REPORT_FUNCARGVOID confirms that the function is void | 198 CYG_REPORT_FUNCARGVOID confirms that the function is void |
| 199 CYG_REPORT_FUNCARG1( format, arg ) printf-style | 199 CYG_REPORT_FUNCARG1( format, arg ) printf-style |
| 200 to | 200 to |
| 201 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style | 201 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style |
| 202 | 202 |
| 203 The CYG_REPORT_FUNCARG[1-8] macros are also offered with the convenience | 203 The CYG_REPORT_FUNCARG[1-8] macros are also offered with the convenience |
| 204 extensions: D, X, or Y, and V like the explicit tracing macros. For | 204 extensions: D, X, or Y, and V like the explicit tracing macros. For |
| 205 example: | 205 example: |
| 206 | 206 |
| 207 int fact( int number ) | 207 int fact( int number ) |
| 208 { | 208 { |
| 209 CYG_REPORT_FUNCTYPE( "recode is %d" ); | 209 CYG_REPORT_FUNCTYPE( "recode is %d" ); |
| 210 CYG_REPORT_FUNCARG1DV( number ); | 210 CYG_REPORT_FUNCARG1DV( number ); |
| 211 int result = number; | 211 int result = number; |
| 212 while ( --number > 1 ) result *= number | 212 while ( --number > 1 ) result *= number |
| 213 CYG_REPORT_RETVAL( result ); | 213 CYG_REPORT_RETVAL( result ); |
| 214 return result; | 214 return result; |
| 215 } | 215 } |
| 216 | 216 |
| 217 might produce: | 217 might produce: |
| 218 | 218 |
| 255 Explicit tracing | 255 Explicit tracing |
| 256 ---------------- | 256 ---------------- |
| 257 | 257 |
| 258 CYG_TRACE0( bool, msg ) if bool, print msg | 258 CYG_TRACE0( bool, msg ) if bool, print msg |
| 259 CYG_TRACE1( bool, msg, arg ) if bool, printf-style | 259 CYG_TRACE1( bool, msg, arg ) if bool, printf-style |
| 260 to | 260 to |
| 261 CYG_TRACE8( bool, msg, arg1...arg8 ) if bool, printf-style | 261 CYG_TRACE8( bool, msg, arg1...arg8 ) if bool, printf-style |
| 262 | 262 |
| 263 CYG_TRACE0B( msg, args... ) to CYG_TRACE8B() use CYG_TRACE_USER_BOOL | 263 CYG_TRACE0B( msg, args... ) to CYG_TRACE8B() use CYG_TRACE_USER_BOOL |
| 264 | 264 |
| 265 CYG_TRACE1X( bool, args... ) to CYG_TRACE8X() print args using %08x | 265 CYG_TRACE1X( bool, args... ) to CYG_TRACE8X() print args using %08x |
| 266 CYG_TRACE1Y( bool, args... ) to CYG_TRACE8Y() print args using %x | 266 CYG_TRACE1Y( bool, args... ) to CYG_TRACE8Y() print args using %x |
| 267 CYG_TRACE1D( bool, args... ) to CYG_TRACE8D() print args using %d | 267 CYG_TRACE1D( bool, args... ) to CYG_TRACE8D() print args using %d |
| 268 | 268 |
| 269 CYG_TRACE1XV( bool, args... ) to CYG_TRACE8XV() print args using "arg=%08x" | 269 CYG_TRACE1XV( bool, args... ) to CYG_TRACE8XV() print args using "arg=%08x" |
| 270 CYG_TRACE1YV( bool, args... ) to CYG_TRACE8YV() print args using "arg=%x" | 270 CYG_TRACE1YV( bool, args... ) to CYG_TRACE8YV() print args using "arg=%x" |
| 271 CYG_TRACE1DV( bool, args... ) to CYG_TRACE8DV() print args using "arg=%d" | 271 CYG_TRACE1DV( bool, args... ) to CYG_TRACE8DV() print args using "arg=%d" |
| 272 | 272 |
| 273 CYG_TRACE1XB( args... ) to CYG_TRACE8XB() print using %08x, no bool | 273 CYG_TRACE1XB( args... ) to CYG_TRACE8XB() print using %08x, no bool |
| 274 CYG_TRACE1YB( args... ) to CYG_TRACE8YB() print using %x, no bool | 274 CYG_TRACE1YB( args... ) to CYG_TRACE8YB() print using %x, no bool |
| 275 CYG_TRACE1DB( args... ) to CYG_TRACE8DB() print using %d, no bool | 275 CYG_TRACE1DB( args... ) to CYG_TRACE8DB() print using %d, no bool |
| 276 | 276 |
| 277 CYG_TRACE1XVB( args... ) to CYG_TRACE8XVB() use "arg=%08x", no bool | 277 CYG_TRACE1XVB( args... ) to CYG_TRACE8XVB() use "arg=%08x", no bool |
| 278 CYG_TRACE1YVB( args... ) to CYG_TRACE8YVB() use "arg=%x", no bool | 278 CYG_TRACE1YVB( args... ) to CYG_TRACE8YVB() use "arg=%x", no bool |
| 279 CYG_TRACE1DVB( args... ) to CYG_TRACE8DVB() use "arg=%d", no bool | 279 CYG_TRACE1DVB( args... ) to CYG_TRACE8DVB() use "arg=%d", no bool |
| 280 | 280 |
| 281 Function tracing | 281 Function tracing |
| 282 ---------------- | 282 ---------------- |
| 283 | 283 |
| 284 CYG_REPORT_FUNCTION() default function entry | 284 CYG_REPORT_FUNCTION() default function entry |
| 285 CYG_REPORT_FUNCNAME( name ) name the function | 285 CYG_REPORT_FUNCNAME( name ) name the function |
| 286 CYG_REPORT_FUNCTYPE( exitmsg ) printf for retval | 286 CYG_REPORT_FUNCTYPE( exitmsg ) printf for retval |
| 287 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both | 287 CYG_REPORT_FUNCNAMETYPE( name, exitmsg ) both |
| 288 | 288 |
| 289 CYG_REPORT_FUNCTIONC() as above, but conditional | 289 CYG_REPORT_FUNCTIONC() as above, but conditional |
| 290 CYG_REPORT_FUNCNAMEC( name ) on CYG_REPORT_USER_BOOL | 290 CYG_REPORT_FUNCNAMEC( name ) on CYG_REPORT_USER_BOOL |
| 291 CYG_REPORT_FUNCTYPEC( exitmsg ) however it is defined | 291 CYG_REPORT_FUNCTYPEC( exitmsg ) however it is defined |
| 292 CYG_REPORT_FUNCNAMETYPEC( name, exitmsg ) ... | 292 CYG_REPORT_FUNCNAMETYPEC( name, exitmsg ) ... |
| 293 | 293 |
| 294 CYG_REPORT_RETURN() void function exit | 294 CYG_REPORT_RETURN() void function exit |
| 295 CYG_REPORT_RETVAL( value ) returning value | 295 CYG_REPORT_RETVAL( value ) returning value |
| 296 | 296 |
| 297 CYG_REPORT_FUNCARGVOID() void function entry | 297 CYG_REPORT_FUNCARGVOID() void function entry |
| 298 CYG_REPORT_FUNCARG1( format, arg ) printf-style | 298 CYG_REPORT_FUNCARG1( format, arg ) printf-style |
| 299 to | 299 to |
| 300 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style | 300 CYG_REPORT_FUNCARG8( format, arg1...arg8 ) printf-style |
| 301 | 301 |
| 302 CYG_REPORT_FUNCARG1X( arg ) | 302 CYG_REPORT_FUNCARG1X( arg ) |
| 303 to | 303 to |
| 304 CYG_REPORT_FUNCARG8X( arg1...arg8 ) use %08x | 304 CYG_REPORT_FUNCARG8X( arg1...arg8 ) use %08x |
| 305 CYG_REPORT_FUNCARG1Y... use %x | 305 CYG_REPORT_FUNCARG1Y... use %x |
| 306 CYG_REPORT_FUNCARG1D... use %d | 306 CYG_REPORT_FUNCARG1D... use %d |
| 307 | 307 |
| 308 CYG_REPORT_FUNCARG1XV... use "arg=%08x" | 308 CYG_REPORT_FUNCARG1XV... use "arg=%08x" |
| 309 CYG_REPORT_FUNCARG1YV... use "arg=%x" | 309 CYG_REPORT_FUNCARG1YV... use "arg=%x" |
| 310 CYG_REPORT_FUNCARG1DV... use "arg=%d" | 310 CYG_REPORT_FUNCARG1DV... use "arg=%d" |
| 311 | 311 |
| 312 | 312 |
| 313 --------------------------------------------------------------------------- | 313 --------------------------------------------------------------------------- |
| 314 | 314 |
| 315 Internal Documentation | 315 Internal Documentation |
| 320 externC void | 320 externC void |
| 321 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); | 321 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); |
| 322 | 322 |
| 323 externC void | 323 externC void |
| 324 cyg_tracemsg( cyg_uint32 what, | 324 cyg_tracemsg( cyg_uint32 what, |
| 325 char *psz_func, char *psz_file, cyg_uint32 linenum, | 325 char *psz_func, char *psz_file, cyg_uint32 linenum, |
| 326 char *psz_msg ); | 326 char *psz_msg ); |
| 327 | 327 |
| 328 externC void | 328 externC void |
| 329 cyg_tracemsg2( cyg_uint32 what, | 329 cyg_tracemsg2( cyg_uint32 what, |
| 330 char *psz_func, char *psz_file, cyg_uint32 linenum, | 330 char *psz_func, char *psz_file, cyg_uint32 linenum, |
| 331 char *psz_msg, | 331 char *psz_msg, |
| 332 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ); | 332 CYG_ADDRWORD arg0, CYG_ADDRWORD arg1 ); |
| 333 // extended in the obvious way for 4,6,8 arguments | 333 // extended in the obvious way for 4,6,8 arguments |
| 334 | 334 |
| 335 These functions should expect psz_func and psz_file to possibly be NULL in | 335 These functions should expect psz_func and psz_file to possibly be NULL in |
| 336 case those facilities are not available in the compilation environment, and | 336 case those facilities are not available in the compilation environment, and |
| 337 do something safe in such cases. A NULL message should really be dealt | 337 do something safe in such cases. A NULL message should really be dealt |
| 376 #ifdef CYGDBG_USE_TRACING | 376 #ifdef CYGDBG_USE_TRACING |
| 377 | 377 |
| 378 // ------------------------------------------------------------------------- | 378 // ------------------------------------------------------------------------- |
| 379 // We define macros and appropriate prototypes for the trace/fail | 379 // We define macros and appropriate prototypes for the trace/fail |
| 380 // system. These are: | 380 // system. These are: |
| 381 // CYG_TRACE0..8 - trace if boolean | 381 // CYG_TRACE0..8 - trace if boolean |
| 382 // CYG_TRACEPROC - default no comment proc entry | 382 // CYG_TRACEPROC - default no comment proc entry |
| 383 // CYG_TRACEPROCOUT - default no comment proc exit | 383 // CYG_TRACEPROCOUT - default no comment proc exit |
| 384 | 384 |
| 385 // these are executed to deal with tracing - breakpoint? | 385 // these are executed to deal with tracing - breakpoint? |
| 386 | 386 |
| 387 externC void | 387 externC void |
| 388 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); | 388 cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum ); |
| 437 // ------------------------------------------------------------------------- | 437 // ------------------------------------------------------------------------- |
| 438 | 438 |
| 439 # ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 439 # ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 440 | 440 |
| 441 # define CYG_TRACE_docall0( _msg_ ) \ | 441 # define CYG_TRACE_docall0( _msg_ ) \ |
| 442 cyg_tracemsg( cyg_trace_trace, \ | 442 cyg_tracemsg( cyg_trace_trace, \ |
| 443 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ ); | 443 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ ); |
| 444 | 444 |
| 445 # define CYG_TRACE_docall2( _msg_, _arg0_, _arg1_ ) \ | 445 # define CYG_TRACE_docall2( _msg_, _arg0_, _arg1_ ) \ |
| 446 cyg_tracemsg2( cyg_trace_trace, \ | 446 cyg_tracemsg2( cyg_trace_trace, \ |
| 447 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ | 447 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ |
| 448 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_ ); | 448 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_ ); |
| 449 | 449 |
| 450 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \ | 450 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \ |
| 451 cyg_tracemsg4( cyg_trace_trace, \ | 451 cyg_tracemsg4( cyg_trace_trace, \ |
| 452 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ | 452 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ |
| 453 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ | 453 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ |
| 454 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_ ); | 454 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_ ); |
| 455 | 455 |
| 456 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ | 456 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ |
| 457 _arg4_, _arg5_ ) \ | 457 _arg4_, _arg5_ ) \ |
| 458 cyg_tracemsg6( cyg_trace_trace, \ | 458 cyg_tracemsg6( cyg_trace_trace, \ |
| 459 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ | 459 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ |
| 460 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ | 460 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ |
| 461 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \ | 461 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \ |
| 462 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_ ); | 462 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_ ); |
| 463 | 463 |
| 464 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ | 464 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ |
| 465 _arg4_, _arg5_, _arg6_, _arg7_ ) \ | 465 _arg4_, _arg5_, _arg6_, _arg7_ ) \ |
| 466 cyg_tracemsg8( cyg_trace_trace, \ | 466 cyg_tracemsg8( cyg_trace_trace, \ |
| 467 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ | 467 __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_, \ |
| 468 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ | 468 (CYG_ADDRWORD)_arg0_, (CYG_ADDRWORD)_arg1_, \ |
| 469 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \ | 469 (CYG_ADDRWORD)_arg2_, (CYG_ADDRWORD)_arg3_, \ |
| 470 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_, \ | 470 (CYG_ADDRWORD)_arg4_, (CYG_ADDRWORD)_arg5_, \ |
| 471 (CYG_ADDRWORD)_arg6_, (CYG_ADDRWORD)_arg7_ ); | 471 (CYG_ADDRWORD)_arg6_, (CYG_ADDRWORD)_arg7_ ); |
| 472 | 472 |
| 473 # else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 473 # else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 474 | 474 |
| 475 # define CYG_TRACE_docall0( _msg_ ) \ | 475 # define CYG_TRACE_docall0( _msg_ ) \ |
| 480 | 480 |
| 481 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \ | 481 # define CYG_TRACE_docall4( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_ ) \ |
| 482 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); | 482 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); |
| 483 | 483 |
| 484 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ | 484 # define CYG_TRACE_docall6( _msg_, _arg0_, _arg1_ , _arg2_, _arg3_, \ |
| 485 _arg4_, _arg5_ ) \ | 485 _arg4_, _arg5_ ) \ |
| 486 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); | 486 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); |
| 487 | 487 |
| 488 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_, _arg2_, _arg3_, \ | 488 # define CYG_TRACE_docall8( _msg_, _arg0_, _arg1_, _arg2_, _arg3_, \ |
| 489 _arg4_, _arg5_, _arg6_, _arg7_ ) \ | 489 _arg4_, _arg5_, _arg6_, _arg7_ ) \ |
| 490 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); | 490 cyg_tracenomsg( __PRETTY_FUNCTION__, __FILE__, __LINE__ ); |
| 491 | 491 |
| 492 #endif | 492 #endif |
| 493 | 493 |
| 494 // ------------------------------------------------------------------------- | 494 // ------------------------------------------------------------------------- |
| 495 // Conditioned trace; if the condition is false, fail. | 495 // Conditioned trace; if the condition is false, fail. |
| 496 | 496 |
| 497 #define CYG_TRACE0( _bool_, _msg_ ) \ | 497 #define CYG_TRACE0( _bool_, _msg_ ) \ |
| 498 CYG_MACRO_START \ | 498 CYG_MACRO_START \ |
| 499 if ( ( _bool_ ) ) \ | 499 if ( ( _bool_ ) ) \ |
| 500 CYG_TRACE_docall0( _msg_ ); \ | 500 CYG_TRACE_docall0( _msg_ ); \ |
| 501 CYG_MACRO_END | 501 CYG_MACRO_END |
| 502 | 502 |
| 503 #define CYG_TRACE1( _bool_, _msg_, a ) \ | 503 #define CYG_TRACE1( _bool_, _msg_, a ) \ |
| 504 CYG_MACRO_START \ | 504 CYG_MACRO_START \ |
| 505 if ( ( _bool_ ) ) \ | 505 if ( ( _bool_ ) ) \ |
| 506 CYG_TRACE_docall2( _msg_, a, 0 ); \ | 506 CYG_TRACE_docall2( _msg_, a, 0 ); \ |
| 507 CYG_MACRO_END | 507 CYG_MACRO_END |
| 508 | 508 |
| 509 #define CYG_TRACE2( _bool_, _msg_, a, b ) \ | 509 #define CYG_TRACE2( _bool_, _msg_, a, b ) \ |
| 510 CYG_MACRO_START \ | 510 CYG_MACRO_START \ |
| 511 if ( ( _bool_ ) ) \ | 511 if ( ( _bool_ ) ) \ |
| 512 CYG_TRACE_docall2( _msg_, a, b ); \ | 512 CYG_TRACE_docall2( _msg_, a, b ); \ |
| 513 CYG_MACRO_END | 513 CYG_MACRO_END |
| 514 | 514 |
| 515 #define CYG_TRACE3( _bool_, _msg_, a, b, c ) \ | 515 #define CYG_TRACE3( _bool_, _msg_, a, b, c ) \ |
| 516 CYG_MACRO_START \ | 516 CYG_MACRO_START \ |
| 517 if ( ( _bool_ ) ) \ | 517 if ( ( _bool_ ) ) \ |
| 518 CYG_TRACE_docall4( _msg_, a, b, c, 0 ); \ | 518 CYG_TRACE_docall4( _msg_, a, b, c, 0 ); \ |
| 519 CYG_MACRO_END | 519 CYG_MACRO_END |
| 520 | 520 |
| 521 #define CYG_TRACE4( _bool_, _msg_, a, b, c, d ) \ | 521 #define CYG_TRACE4( _bool_, _msg_, a, b, c, d ) \ |
| 522 CYG_MACRO_START \ | 522 CYG_MACRO_START \ |
| 523 if ( ( _bool_ ) ) \ | 523 if ( ( _bool_ ) ) \ |
| 524 CYG_TRACE_docall4( _msg_, a, b, c, d ); \ | 524 CYG_TRACE_docall4( _msg_, a, b, c, d ); \ |
| 525 CYG_MACRO_END | 525 CYG_MACRO_END |
| 526 | 526 |
| 527 #define CYG_TRACE5( _bool_, _msg_, a, b, c, d, e ) \ | 527 #define CYG_TRACE5( _bool_, _msg_, a, b, c, d, e ) \ |
| 528 CYG_MACRO_START \ | 528 CYG_MACRO_START \ |
| 529 if ( ( _bool_ ) ) \ | 529 if ( ( _bool_ ) ) \ |
| 530 CYG_TRACE_docall6( _msg_, a, b, c, d, e, 0 ); \ | 530 CYG_TRACE_docall6( _msg_, a, b, c, d, e, 0 ); \ |
| 531 CYG_MACRO_END | 531 CYG_MACRO_END |
| 532 | 532 |
| 533 #define CYG_TRACE6( _bool_, _msg_, a, b, c, d, e, f ) \ | 533 #define CYG_TRACE6( _bool_, _msg_, a, b, c, d, e, f ) \ |
| 534 CYG_MACRO_START \ | 534 CYG_MACRO_START \ |
| 535 if ( ( _bool_ ) ) \ | 535 if ( ( _bool_ ) ) \ |
| 536 CYG_TRACE_docall6( _msg_, a, b, c, d, e, f ); \ | 536 CYG_TRACE_docall6( _msg_, a, b, c, d, e, f ); \ |
| 537 CYG_MACRO_END | 537 CYG_MACRO_END |
| 538 | 538 |
| 539 #define CYG_TRACE7( _bool_, _msg_, a, b, c, d, e, f, g ) \ | 539 #define CYG_TRACE7( _bool_, _msg_, a, b, c, d, e, f, g ) \ |
| 540 CYG_MACRO_START \ | 540 CYG_MACRO_START \ |
| 541 if ( ( _bool_ ) ) \ | 541 if ( ( _bool_ ) ) \ |
| 542 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, 0 ); \ | 542 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, 0 ); \ |
| 543 CYG_MACRO_END | 543 CYG_MACRO_END |
| 544 | 544 |
| 545 #define CYG_TRACE8( _bool_, _msg_, a, b, c, d, e, f, g, h ) \ | 545 #define CYG_TRACE8( _bool_, _msg_, a, b, c, d, e, f, g, h ) \ |
| 546 CYG_MACRO_START \ | 546 CYG_MACRO_START \ |
| 547 if ( ( _bool_ ) ) \ | 547 if ( ( _bool_ ) ) \ |
| 548 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, h ); \ | 548 CYG_TRACE_docall8( _msg_, a, b, c, d, e, f, g, h ); \ |
| 549 CYG_MACRO_END | 549 CYG_MACRO_END |
| 550 | 550 |
| 551 // ------------------------------------------------------------------------- | 551 // ------------------------------------------------------------------------- |
| 552 // Report function entry and exit. | 552 // Report function entry and exit. |
| 553 // In C++ the macro CYG_REPORT_FUNCTION should appear as the first line of | 553 // In C++ the macro CYG_REPORT_FUNCTION should appear as the first line of |
| 663 | 663 |
| 664 // These have no CYG_MACRO_START,END around because it is required | 664 // These have no CYG_MACRO_START,END around because it is required |
| 665 // that the scope of the object be the whole function body. Get it? | 665 // that the scope of the object be the whole function body. Get it? |
| 666 | 666 |
| 667 // These are the unconditional versions: | 667 // These are the unconditional versions: |
| 668 #define CYG_REPORT_FUNCTION() \ | 668 #define CYG_REPORT_FUNCTION() \ |
| 669 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 669 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 670 1, __PRETTY_FUNCTION__, \ | 670 1, __PRETTY_FUNCTION__, \ |
| 671 __FILE__, __LINE__ ) | 671 __FILE__, __LINE__ ) |
| 672 | 672 |
| 673 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \ | 673 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \ |
| 674 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 674 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 675 1, __PRETTY_FUNCTION__, \ | 675 1, __PRETTY_FUNCTION__, \ |
| 676 __FILE__, __LINE__, _exitmsg_ ) | 676 __FILE__, __LINE__, _exitmsg_ ) |
| 677 | 677 |
| 678 #define CYG_REPORT_FUNCNAME( _name_ ) \ | 678 #define CYG_REPORT_FUNCNAME( _name_ ) \ |
| 679 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 679 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 680 1, _name_, \ | 680 1, _name_, \ |
| 681 __FILE__, __LINE__ ) | 681 __FILE__, __LINE__ ) |
| 682 | 682 |
| 683 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \ | 683 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \ |
| 684 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 684 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 685 1, _name_, \ | 685 1, _name_, \ |
| 686 __FILE__, __LINE__, _exitmsg_ ) | 686 __FILE__, __LINE__, _exitmsg_ ) |
| 687 | 687 |
| 688 // These are conditioned on macro CYG_REPORT_USER_BOOL | 688 // These are conditioned on macro CYG_REPORT_USER_BOOL |
| 689 // (which you better have defined) | 689 // (which you better have defined) |
| 690 #define CYG_REPORT_FUNCTIONC() \ | 690 #define CYG_REPORT_FUNCTIONC() \ |
| 691 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 691 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 692 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \ | 692 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \ |
| 693 __FILE__, __LINE__ ) | 693 __FILE__, __LINE__ ) |
| 694 | 694 |
| 695 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \ | 695 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \ |
| 696 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 696 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 697 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \ | 697 CYG_REPORT_USER_BOOL, __PRETTY_FUNCTION__, \ |
| 698 __FILE__, __LINE__, _exitmsg_ ) | 698 __FILE__, __LINE__, _exitmsg_ ) |
| 699 | 699 |
| 700 #define CYG_REPORT_FUNCNAMEC( _name_ ) \ | 700 #define CYG_REPORT_FUNCNAMEC( _name_ ) \ |
| 701 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 701 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 702 CYG_REPORT_USER_BOOL, _name_, \ | 702 CYG_REPORT_USER_BOOL, _name_, \ |
| 703 __FILE__, __LINE__ ) | 703 __FILE__, __LINE__ ) |
| 704 | 704 |
| 705 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \ | 705 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \ |
| 706 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ | 706 Cyg_TraceFunction_Report_ cyg_tracefunction_report_( \ |
| 707 CYG_REPORT_USER_BOOL, _name_, \ | 707 CYG_REPORT_USER_BOOL, _name_, \ |
| 708 __FILE__, __LINE__, _exitmsg_ ) | 708 __FILE__, __LINE__, _exitmsg_ ) |
| 709 | 709 |
| 710 | 710 |
| 711 #define CYG_REPORT_RETURN() CYG_MACRO_START \ | 711 #define CYG_REPORT_RETURN() CYG_MACRO_START \ |
| 712 cyg_tracefunction_report_.set_exitvoid( __LINE__ ); \ | 712 cyg_tracefunction_report_.set_exitvoid( __LINE__ ); \ |
| 713 CYG_MACRO_END | 713 CYG_MACRO_END |
| 714 | 714 |
| 715 #define CYG_REPORT_RETVAL( _value_) CYG_MACRO_START \ | 715 #define CYG_REPORT_RETVAL( _value_) CYG_MACRO_START \ |
| 716 cyg_tracefunction_report_.set_exitvalue( \ | 716 cyg_tracefunction_report_.set_exitvalue( \ |
| 717 __LINE__, (CYG_ADDRWORD)(_value_) ); \ | 717 __LINE__, (CYG_ADDRWORD)(_value_) ); \ |
| 718 CYG_MACRO_END | 718 CYG_MACRO_END |
| 719 | 719 |
| 720 | 720 |
| 721 #else // not __cplusplus | 721 #else // not __cplusplus |
| 722 | 722 |
| 735 | 735 |
| 736 }; | 736 }; |
| 737 | 737 |
| 738 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 738 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 739 | 739 |
| 740 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \ | 740 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \ |
| 741 if ( cyg_tracefunction_report_.cond ) \ | 741 if ( cyg_tracefunction_report_.cond ) \ |
| 742 cyg_tracemsg( cyg_trace_enter, \ | 742 cyg_tracemsg( cyg_trace_enter, \ |
| 743 cyg_tracefunction_report_.func, \ | 743 cyg_tracefunction_report_.func, \ |
| 744 cyg_tracefunction_report_.file, \ | 744 cyg_tracefunction_report_.file, \ |
| 745 cyg_tracefunction_report_.lnum, \ | 745 cyg_tracefunction_report_.lnum, \ |
| 746 "enter" ); \ | 746 "enter" ); \ |
| 747 CYG_MACRO_END | 747 CYG_MACRO_END |
| 748 | 748 |
| 749 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \ | 749 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \ |
| 750 { _c_, _fn_, _fl_, _l_, _xm_, _xv_, _xs_ } | 750 { _c_, _fn_, _fl_, _l_, _xm_, _xv_, _xs_ } |
| 751 | 751 |
| 752 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 752 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 753 | 753 |
| 754 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \ | 754 #define CYG_REPORT_FUNCTION_ENTER_INTERNAL() CYG_MACRO_START \ |
| 755 if ( cyg_tracefunction_report_.cond ) \ | 755 if ( cyg_tracefunction_report_.cond ) \ |
| 756 cyg_tracenomsg( cyg_tracefunction_report_.func, \ | 756 cyg_tracenomsg( cyg_tracefunction_report_.func, \ |
| 757 cyg_tracefunction_report_.file, \ | 757 cyg_tracefunction_report_.file, \ |
| 758 cyg_tracefunction_report_.lnum ); \ | 758 cyg_tracefunction_report_.lnum ); \ |
| 759 CYG_MACRO_END | 759 CYG_MACRO_END |
| 760 | 760 |
| 761 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \ | 761 #define CYG_REPORT_FUNCTION_CONSTRUCT( _c_, _fn_,_fl_,_l_,_xm_,_xv_,_xs_ ) \ |
| 762 { _c_, _fn_, _fl_, _l_ } | 762 { _c_, _fn_, _fl_, _l_ } |
| 763 | 763 |
| 764 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 764 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 765 | 765 |
| 766 // These have no CYG_MACRO_START,END around because it is required | 766 // These have no CYG_MACRO_START,END around because it is required |
| 767 // that the scope of the object be the whole function body. Get it? | 767 // that the scope of the object be the whole function body. Get it? |
| 768 | 768 |
| 769 // These are the unconditional versions: | 769 // These are the unconditional versions: |
| 770 #define CYG_REPORT_FUNCTION() \ | 770 #define CYG_REPORT_FUNCTION() \ |
| 771 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 771 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 772 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 772 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 773 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \ | 773 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \ |
| 774 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 774 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 775 | 775 |
| 776 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \ | 776 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) \ |
| 777 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 777 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 778 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 778 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 779 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ | 779 1, __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ |
| 780 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 780 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 781 | 781 |
| 782 #define CYG_REPORT_FUNCNAME( _name_ ) \ | 782 #define CYG_REPORT_FUNCNAME( _name_ ) \ |
| 783 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 783 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 784 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 784 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 785 1, _name_, __FILE__, __LINE__, NULL, 0, 0 ); \ | 785 1, _name_, __FILE__, __LINE__, NULL, 0, 0 ); \ |
| 786 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 786 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 787 | 787 |
| 788 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \ | 788 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) \ |
| 789 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 789 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 790 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 790 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 791 1, _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ | 791 1, _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ |
| 792 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 792 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 793 | 793 |
| 794 // These are conditioned on macro CYG_REPORT_USER_BOOL | 794 // These are conditioned on macro CYG_REPORT_USER_BOOL |
| 795 // (which you better have defined) | 795 // (which you better have defined) |
| 796 #define CYG_REPORT_FUNCTIONC() \ | 796 #define CYG_REPORT_FUNCTIONC() \ |
| 797 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 797 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 798 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 798 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 799 CYG_REPORT_USER_BOOL, \ | 799 CYG_REPORT_USER_BOOL, \ |
| 800 __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \ | 800 __PRETTY_FUNCTION__, __FILE__, __LINE__, NULL, 0, 0 ); \ |
| 801 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 801 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 802 | 802 |
| 803 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \ | 803 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) \ |
| 804 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 804 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 805 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 805 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 806 CYG_REPORT_USER_BOOL, \ | 806 CYG_REPORT_USER_BOOL, \ |
| 807 __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ | 807 __PRETTY_FUNCTION__, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ |
| 808 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 808 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 809 | 809 |
| 810 #define CYG_REPORT_FUNCNAMEC( _name_ ) \ | 810 #define CYG_REPORT_FUNCNAMEC( _name_ ) \ |
| 811 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 811 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 812 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 812 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 813 CYG_REPORT_USER_BOOL, \ | 813 CYG_REPORT_USER_BOOL, \ |
| 814 _name_, __FILE__, __LINE__, NULL, 0, 0 ); \ | 814 _name_, __FILE__, __LINE__, NULL, 0, 0 ); \ |
| 815 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 815 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 816 | 816 |
| 817 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \ | 817 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) \ |
| 818 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ | 818 struct Cyg_TraceFunction_Report_ cyg_tracefunction_report_ = \ |
| 819 CYG_REPORT_FUNCTION_CONSTRUCT( \ | 819 CYG_REPORT_FUNCTION_CONSTRUCT( \ |
| 820 CYG_REPORT_USER_BOOL, \ | 820 CYG_REPORT_USER_BOOL, \ |
| 821 _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ | 821 _name_, __FILE__, __LINE__, _exitmsg_, 0, 0 ); \ |
| 822 CYG_REPORT_FUNCTION_ENTER_INTERNAL() | 822 CYG_REPORT_FUNCTION_ENTER_INTERNAL() |
| 823 | 823 |
| 824 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 824 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 825 | 825 |
| 826 #define CYG_REPORT_RETURN() CYG_MACRO_START \ | 826 #define CYG_REPORT_RETURN() CYG_MACRO_START \ |
| 827 CYG_ASSERT( NULL == cyg_tracefunction_report_.exitmsg, \ | 827 CYG_ASSERT( NULL == cyg_tracefunction_report_.exitmsg, \ |
| 828 "exitvoid used in typed function" ); \ | 828 "exitvoid used in typed function" ); \ |
| 829 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \ | 829 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \ |
| 830 "exitvoid used when arg already set" ); \ | 830 "exitvoid used when arg already set" ); \ |
| 831 cyg_tracefunction_report_.lnum = __LINE__; \ | 831 cyg_tracefunction_report_.lnum = __LINE__; \ |
| 832 cyg_tracefunction_report_.exitset = 2; \ | 832 cyg_tracefunction_report_.exitset = 2; \ |
| 833 if ( cyg_tracefunction_report_.cond ) \ | 833 if ( cyg_tracefunction_report_.cond ) \ |
| 834 cyg_tracemsg( cyg_trace_return, \ | 834 cyg_tracemsg( cyg_trace_return, \ |
| 835 cyg_tracefunction_report_.func, \ | 835 cyg_tracefunction_report_.func, \ |
| 836 cyg_tracefunction_report_.file, \ | 836 cyg_tracefunction_report_.file, \ |
| 837 cyg_tracefunction_report_.lnum, \ | 837 cyg_tracefunction_report_.lnum, \ |
| 838 "return void" ); \ | 838 "return void" ); \ |
| 839 CYG_MACRO_END | 839 CYG_MACRO_END |
| 840 | 840 |
| 841 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \ | 841 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \ |
| 842 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \ | 842 CYG_ASSERT( 0 == cyg_tracefunction_report_.exitset, \ |
| 843 "exitvalue used when arg already set" ); \ | 843 "exitvalue used when arg already set" ); \ |
| 844 cyg_tracefunction_report_.lnum = __LINE__; \ | 844 cyg_tracefunction_report_.lnum = __LINE__; \ |
| 845 cyg_tracefunction_report_.exitvalue = (CYG_ADDRWORD)(_value_); \ | 845 cyg_tracefunction_report_.exitvalue = (CYG_ADDRWORD)(_value_); \ |
| 846 cyg_tracefunction_report_.exitset = 1; \ | 846 cyg_tracefunction_report_.exitset = 1; \ |
| 847 if ( cyg_tracefunction_report_.cond ) \ | 847 if ( cyg_tracefunction_report_.cond ) \ |
| 848 cyg_tracemsg2( cyg_trace_return, \ | 848 cyg_tracemsg2( cyg_trace_return, \ |
| 849 cyg_tracefunction_report_.func, \ | 849 cyg_tracefunction_report_.func, \ |
| 850 cyg_tracefunction_report_.file, \ | 850 cyg_tracefunction_report_.file, \ |
| 851 cyg_tracefunction_report_.lnum, \ | 851 cyg_tracefunction_report_.lnum, \ |
| 852 cyg_tracefunction_report_.exitmsg ? \ | 852 cyg_tracefunction_report_.exitmsg ? \ |
| 853 cyg_tracefunction_report_.exitmsg : \ | 853 cyg_tracefunction_report_.exitmsg : \ |
| 854 "return %08x", \ | 854 "return %08x", \ |
| 855 cyg_tracefunction_report_.exitvalue, 0 ); \ | 855 cyg_tracefunction_report_.exitvalue, 0 ); \ |
| 856 CYG_MACRO_END | 856 CYG_MACRO_END |
| 857 | 857 |
| 858 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 858 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 859 | 859 |
| 860 #define CYG_REPORT_RETURN() CYG_MACRO_START \ | 860 #define CYG_REPORT_RETURN() CYG_MACRO_START \ |
| 861 cyg_tracefunction_report_.lnum = __LINE__; \ | 861 cyg_tracefunction_report_.lnum = __LINE__; \ |
| 862 if ( cyg_tracefunction_report_.cond ) \ | 862 if ( cyg_tracefunction_report_.cond ) \ |
| 863 cyg_tracenomsg( cyg_tracefunction_report_.func, \ | 863 cyg_tracenomsg( cyg_tracefunction_report_.func, \ |
| 864 cyg_tracefunction_report_.file, \ | 864 cyg_tracefunction_report_.file, \ |
| 865 cyg_tracefunction_report_.lnum ); \ | 865 cyg_tracefunction_report_.lnum ); \ |
| 866 CYG_MACRO_END | 866 CYG_MACRO_END |
| 867 | 867 |
| 868 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \ | 868 #define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \ |
| 869 CYG_REPORT_RETURN(); \ | 869 CYG_REPORT_RETURN(); \ |
| 870 CYG_MACRO_END | 870 CYG_MACRO_END |
| 871 | 871 |
| 872 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 872 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 873 | 873 |
| 874 #endif // not __cplusplus | 874 #endif // not __cplusplus |
| 875 | 875 |
| 876 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 876 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 877 | 877 |
| 878 #define CYG_REPORT_FUNCARGVOID() CYG_MACRO_START \ | 878 #define CYG_REPORT_FUNCARGVOID() CYG_MACRO_START \ |
| 879 if ( cyg_tracefunction_report_.cond ) \ | 879 if ( cyg_tracefunction_report_.cond ) \ |
| 880 cyg_tracemsg( cyg_trace_args, \ | 880 cyg_tracemsg( cyg_trace_args, \ |
| 881 cyg_tracefunction_report_.func, \ | 881 cyg_tracefunction_report_.func, \ |
| 882 cyg_tracefunction_report_.file, \ | 882 cyg_tracefunction_report_.file, \ |
| 883 cyg_tracefunction_report_.lnum, \ | 883 cyg_tracefunction_report_.lnum, \ |
| 884 "(void)" \ | 884 "(void)" \ |
| 885 ); \ | 885 ); \ |
| 886 CYG_MACRO_END | 886 CYG_MACRO_END |
| 887 | 887 |
| 888 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_MACRO_START \ | 888 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_MACRO_START \ |
| 889 if ( cyg_tracefunction_report_.cond ) \ | 889 if ( cyg_tracefunction_report_.cond ) \ |
| 890 cyg_tracemsg2( cyg_trace_args, \ | 890 cyg_tracemsg2( cyg_trace_args, \ |
| 891 cyg_tracefunction_report_.func, \ | 891 cyg_tracefunction_report_.func, \ |
| 892 cyg_tracefunction_report_.file, \ | 892 cyg_tracefunction_report_.file, \ |
| 893 cyg_tracefunction_report_.lnum, \ | 893 cyg_tracefunction_report_.lnum, \ |
| 894 (_format_), \ | 894 (_format_), \ |
| 895 (CYG_ADDRWORD)a , 0 \ | 895 (CYG_ADDRWORD)a , 0 \ |
| 896 ); \ | 896 ); \ |
| 897 CYG_MACRO_END | 897 CYG_MACRO_END |
| 898 | 898 |
| 899 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_MACRO_START \ | 899 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_MACRO_START \ |
| 900 if ( cyg_tracefunction_report_.cond ) \ | 900 if ( cyg_tracefunction_report_.cond ) \ |
| 901 cyg_tracemsg2( cyg_trace_args, \ | 901 cyg_tracemsg2( cyg_trace_args, \ |
| 902 cyg_tracefunction_report_.func, \ | 902 cyg_tracefunction_report_.func, \ |
| 903 cyg_tracefunction_report_.file, \ | 903 cyg_tracefunction_report_.file, \ |
| 904 cyg_tracefunction_report_.lnum, \ | 904 cyg_tracefunction_report_.lnum, \ |
| 905 (_format_), \ | 905 (_format_), \ |
| 906 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b \ | 906 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b \ |
| 907 ); \ | 907 ); \ |
| 908 CYG_MACRO_END | 908 CYG_MACRO_END |
| 909 | 909 |
| 910 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_MACRO_START \ | 910 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_MACRO_START \ |
| 911 if ( cyg_tracefunction_report_.cond ) \ | 911 if ( cyg_tracefunction_report_.cond ) \ |
| 912 cyg_tracemsg4( cyg_trace_args, \ | 912 cyg_tracemsg4( cyg_trace_args, \ |
| 913 cyg_tracefunction_report_.func, \ | 913 cyg_tracefunction_report_.func, \ |
| 914 cyg_tracefunction_report_.file, \ | 914 cyg_tracefunction_report_.file, \ |
| 915 cyg_tracefunction_report_.lnum, \ | 915 cyg_tracefunction_report_.lnum, \ |
| 916 (_format_), \ | 916 (_format_), \ |
| 917 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 917 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 918 (CYG_ADDRWORD)c , 0 \ | 918 (CYG_ADDRWORD)c , 0 \ |
| 919 ); \ | 919 ); \ |
| 920 CYG_MACRO_END | 920 CYG_MACRO_END |
| 921 | 921 |
| 922 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_MACRO_START \ | 922 #define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_MACRO_START \ |
| 923 if ( cyg_tracefunction_report_.cond ) \ | 923 if ( cyg_tracefunction_report_.cond ) \ |
| 924 cyg_tracemsg4( cyg_trace_args, \ | 924 cyg_tracemsg4( cyg_trace_args, \ |
| 925 cyg_tracefunction_report_.func, \ | 925 cyg_tracefunction_report_.func, \ |
| 926 cyg_tracefunction_report_.file, \ | 926 cyg_tracefunction_report_.file, \ |
| 927 cyg_tracefunction_report_.lnum, \ | 927 cyg_tracefunction_report_.lnum, \ |
| 928 (_format_), \ | 928 (_format_), \ |
| 929 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 929 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 930 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d \ | 930 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d \ |
| 931 ); \ | 931 ); \ |
| 932 CYG_MACRO_END | 932 CYG_MACRO_END |
| 933 | 933 |
| 934 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_MACRO_START \ | 934 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_MACRO_START \ |
| 935 if ( cyg_tracefunction_report_.cond ) \ | 935 if ( cyg_tracefunction_report_.cond ) \ |
| 936 cyg_tracemsg6( cyg_trace_args, \ | 936 cyg_tracemsg6( cyg_trace_args, \ |
| 937 cyg_tracefunction_report_.func, \ | 937 cyg_tracefunction_report_.func, \ |
| 938 cyg_tracefunction_report_.file, \ | 938 cyg_tracefunction_report_.file, \ |
| 939 cyg_tracefunction_report_.lnum, \ | 939 cyg_tracefunction_report_.lnum, \ |
| 940 (_format_), \ | 940 (_format_), \ |
| 941 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 941 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 942 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ | 942 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ |
| 943 (CYG_ADDRWORD)e , 0 \ | 943 (CYG_ADDRWORD)e , 0 \ |
| 944 ); \ | 944 ); \ |
| 945 CYG_MACRO_END | 945 CYG_MACRO_END |
| 946 | 946 |
| 947 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_MACRO_START \ | 947 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_MACRO_START \ |
| 948 if ( cyg_tracefunction_report_.cond ) \ | 948 if ( cyg_tracefunction_report_.cond ) \ |
| 949 cyg_tracemsg6( cyg_trace_args, \ | 949 cyg_tracemsg6( cyg_trace_args, \ |
| 950 cyg_tracefunction_report_.func, \ | 950 cyg_tracefunction_report_.func, \ |
| 951 cyg_tracefunction_report_.file, \ | 951 cyg_tracefunction_report_.file, \ |
| 952 cyg_tracefunction_report_.lnum, \ | 952 cyg_tracefunction_report_.lnum, \ |
| 953 (_format_), \ | 953 (_format_), \ |
| 954 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 954 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 955 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ | 955 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ |
| 956 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f \ | 956 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f \ |
| 957 ); \ | 957 ); \ |
| 958 CYG_MACRO_END | 958 CYG_MACRO_END |
| 959 | 959 |
| 960 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_MACRO_START \ | 960 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_MACRO_START \ |
| 961 if ( cyg_tracefunction_report_.cond ) \ | 961 if ( cyg_tracefunction_report_.cond ) \ |
| 962 cyg_tracemsg8( cyg_trace_args, \ | 962 cyg_tracemsg8( cyg_trace_args, \ |
| 963 cyg_tracefunction_report_.func, \ | 963 cyg_tracefunction_report_.func, \ |
| 964 cyg_tracefunction_report_.file, \ | 964 cyg_tracefunction_report_.file, \ |
| 965 cyg_tracefunction_report_.lnum, \ | 965 cyg_tracefunction_report_.lnum, \ |
| 966 (_format_), \ | 966 (_format_), \ |
| 967 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 967 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 968 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ | 968 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ |
| 969 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ | 969 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ |
| 970 (CYG_ADDRWORD)g , 0 \ | 970 (CYG_ADDRWORD)g , 0 \ |
| 971 ); \ | 971 ); \ |
| 972 CYG_MACRO_END | 972 CYG_MACRO_END |
| 973 | 973 |
| 974 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_MACRO_START\ | 974 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_MACRO_START\ |
| 975 if ( cyg_tracefunction_report_.cond ) \ | 975 if ( cyg_tracefunction_report_.cond ) \ |
| 976 cyg_tracemsg8( cyg_trace_args, \ | 976 cyg_tracemsg8( cyg_trace_args, \ |
| 977 cyg_tracefunction_report_.func, \ | 977 cyg_tracefunction_report_.func, \ |
| 978 cyg_tracefunction_report_.file, \ | 978 cyg_tracefunction_report_.file, \ |
| 979 cyg_tracefunction_report_.lnum, \ | 979 cyg_tracefunction_report_.lnum, \ |
| 980 (_format_), \ | 980 (_format_), \ |
| 981 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ | 981 (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ |
| 982 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ | 982 (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ |
| 983 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ | 983 (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ |
| 984 (CYG_ADDRWORD)g, (CYG_ADDRWORD)h, \ | 984 (CYG_ADDRWORD)g, (CYG_ADDRWORD)h \ |
| 985 ); \ | 985 ); \ |
| 986 CYG_MACRO_END | 986 CYG_MACRO_END |
| 987 | 987 |
| 988 | 988 |
| 989 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 989 #else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 990 | 990 |
| 1000 | 1000 |
| 1001 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE | 1001 #endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE |
| 1002 | 1002 |
| 1003 #else // no CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS | 1003 #else // no CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS |
| 1004 | 1004 |
| 1005 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT | 1005 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT |
| 1006 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT | 1006 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1007 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT | 1007 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT |
| 1008 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT | 1008 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1009 | 1009 |
| 1010 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT | 1010 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT |
| 1011 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT | 1011 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1012 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT | 1012 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT |
| 1013 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT | 1013 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1014 | 1014 |
| 1015 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT | 1015 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT |
| 1016 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT | 1016 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT |
| 1017 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT | 1017 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT |
| 1018 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT | 1018 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT |
| 1020 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT | 1020 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT |
| 1021 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT | 1021 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT |
| 1022 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT | 1022 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT |
| 1023 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT | 1023 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT |
| 1024 | 1024 |
| 1025 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT | 1025 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT |
| 1026 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT | 1026 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT |
| 1027 | 1027 |
| 1028 #endif // CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS | 1028 #endif // CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS |
| 1029 | 1029 |
| 1030 #else // ! CYGDBG_USE_TRACING | 1030 #else // ! CYGDBG_USE_TRACING |
| 1031 | 1031 |
| 1040 #define CYG_TRACE5( _bool_, _msg_, a,b,c,d,e ) CYG_EMPTY_STATEMENT | 1040 #define CYG_TRACE5( _bool_, _msg_, a,b,c,d,e ) CYG_EMPTY_STATEMENT |
| 1041 #define CYG_TRACE6( _bool_, _msg_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT | 1041 #define CYG_TRACE6( _bool_, _msg_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT |
| 1042 #define CYG_TRACE7( _bool_, _msg_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT | 1042 #define CYG_TRACE7( _bool_, _msg_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT |
| 1043 #define CYG_TRACE8( _bool_, _msg_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT | 1043 #define CYG_TRACE8( _bool_, _msg_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT |
| 1044 | 1044 |
| 1045 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT | 1045 #define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT |
| 1046 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT | 1046 #define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1047 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT | 1047 #define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT |
| 1048 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT | 1048 #define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1049 | 1049 |
| 1050 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT | 1050 #define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT |
| 1051 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT | 1051 #define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1052 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT | 1052 #define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT |
| 1053 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT | 1053 #define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT |
| 1054 | 1054 |
| 1055 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT | 1055 #define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT |
| 1056 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT | 1056 #define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT |
| 1057 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT | 1057 #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT |
| 1058 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT | 1058 #define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT |
| 1060 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT | 1060 #define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT |
| 1061 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT | 1061 #define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT |
| 1062 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT | 1062 #define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT |
| 1063 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT | 1063 #define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT |
| 1064 | 1064 |
| 1065 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT | 1065 #define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT |
| 1066 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT | 1066 #define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT |
| 1067 | 1067 |
| 1068 #endif // ! CYGDBG_USE_TRACING | 1068 #endif // ! CYGDBG_USE_TRACING |
| 1069 | 1069 |
| 1070 // ------------------------------------------------------------------------- | 1070 // ------------------------------------------------------------------------- |
| 1071 // | 1071 // |
| 1081 // Third option: | 1081 // Third option: |
| 1082 // B: user need not supply a bool; the symbol CYG_TRACE_USER_BOOL is | 1082 // B: user need not supply a bool; the symbol CYG_TRACE_USER_BOOL is |
| 1083 // used (which we do not define, user must do this) | 1083 // used (which we do not define, user must do this) |
| 1084 | 1084 |
| 1085 #define CYG_TRACE0B( _msg_ ) \ | 1085 #define CYG_TRACE0B( _msg_ ) \ |
| 1086 CYG_TRACE0( CYG_TRACE_USER_BOOL, _msg_ ) | 1086 CYG_TRACE0( CYG_TRACE_USER_BOOL, _msg_ ) |
| 1087 #define CYG_TRACE1B( _msg_, a ) \ | 1087 #define CYG_TRACE1B( _msg_, a ) \ |
| 1088 CYG_TRACE1( CYG_TRACE_USER_BOOL, _msg_, a ) | 1088 CYG_TRACE1( CYG_TRACE_USER_BOOL, _msg_, a ) |
| 1089 #define CYG_TRACE2B( _msg_, a,b ) \ | 1089 #define CYG_TRACE2B( _msg_, a,b ) \ |
| 1090 CYG_TRACE2( CYG_TRACE_USER_BOOL, _msg_, a,b ) | 1090 CYG_TRACE2( CYG_TRACE_USER_BOOL, _msg_, a,b ) |
| 1091 #define CYG_TRACE3B( _msg_, a,b,c ) \ | 1091 #define CYG_TRACE3B( _msg_, a,b,c ) \ |
| 1092 CYG_TRACE3( CYG_TRACE_USER_BOOL, _msg_, a,b,c ) | 1092 CYG_TRACE3( CYG_TRACE_USER_BOOL, _msg_, a,b,c ) |
| 1093 #define CYG_TRACE4B( _msg_, a,b,c,d ) \ | 1093 #define CYG_TRACE4B( _msg_, a,b,c,d ) \ |
| 1094 CYG_TRACE4( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d ) | 1094 CYG_TRACE4( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d ) |
| 1095 #define CYG_TRACE5B( _msg_, a,b,c,d,e ) \ | 1095 #define CYG_TRACE5B( _msg_, a,b,c,d,e ) \ |
| 1096 CYG_TRACE5( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e ) | 1096 CYG_TRACE5( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e ) |
| 1097 #define CYG_TRACE6B( _msg_, a,b,c,d,e,f ) \ | 1097 #define CYG_TRACE6B( _msg_, a,b,c,d,e,f ) \ |
| 1098 CYG_TRACE6( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f ) | 1098 CYG_TRACE6( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f ) |
| 1099 #define CYG_TRACE7B( _msg_, a,b,c,d,e,f,g ) \ | 1099 #define CYG_TRACE7B( _msg_, a,b,c,d,e,f,g ) \ |
| 1100 CYG_TRACE7( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g ) | 1100 CYG_TRACE7( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g ) |
| 1101 #define CYG_TRACE8B( _msg_, a,b,c,d,e,f,g,h ) \ | 1101 #define CYG_TRACE8B( _msg_, a,b,c,d,e,f,g,h ) \ |
| 1102 CYG_TRACE8( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g,h ) | 1102 CYG_TRACE8( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g,h ) |
| 1103 | 1103 |
| 1104 // long hex versions | 1104 // long hex versions |
| 1105 | 1105 |
| 1106 #define CYG_TRACE1X( _bool_, a ) \ | 1106 #define CYG_TRACE1X( _bool_, a ) \ |
| 1107 CYG_TRACE1( _bool_, "%08x", a ) | 1107 CYG_TRACE1( _bool_, "%08x", a ) |
| 1108 #define CYG_TRACE2X( _bool_, a,b ) \ | 1108 #define CYG_TRACE2X( _bool_, a,b ) \ |
| 1109 CYG_TRACE2( _bool_, "%08x %08x", a,b ) | 1109 CYG_TRACE2( _bool_, "%08x %08x", a,b ) |
| 1110 #define CYG_TRACE3X( _bool_, a,b,c ) \ | 1110 #define CYG_TRACE3X( _bool_, a,b,c ) \ |
| 1111 CYG_TRACE3( _bool_, "%08x %08x %08x", a,b,c ) | 1111 CYG_TRACE3( _bool_, "%08x %08x %08x", a,b,c ) |
| 1112 #define CYG_TRACE4X( _bool_, a,b,c,d ) \ | 1112 #define CYG_TRACE4X( _bool_, a,b,c,d ) \ |
| 1113 CYG_TRACE4( _bool_, "%08x %08x %08x %08x", a,b,c,d ) | 1113 CYG_TRACE4( _bool_, "%08x %08x %08x %08x", a,b,c,d ) |
| 1114 #define CYG_TRACE5X( _bool_, a,b,c,d,e ) \ | 1114 #define CYG_TRACE5X( _bool_, a,b,c,d,e ) \ |
| 1115 CYG_TRACE5( _bool_, "%08x %08x %08x %08x %08x", a,b,c,d,e ) | 1115 CYG_TRACE5( _bool_, "%08x %08x %08x %08x %08x", a,b,c,d,e ) |
| 1116 #define CYG_TRACE6X( _bool_, a,b,c,d,e,f ) \ | 1116 #define CYG_TRACE6X( _bool_, a,b,c,d,e,f ) \ |
| 1117 CYG_TRACE6( _bool_, "%08x %08x %08x %08x %08x %08x", \ | 1117 CYG_TRACE6( _bool_, "%08x %08x %08x %08x %08x %08x", \ |
| 1118 a,b,c,d,e,f ) | 1118 a,b,c,d,e,f ) |
| 1119 #define CYG_TRACE7X( _bool_, a,b,c,d,e,f,g ) \ | 1119 #define CYG_TRACE7X( _bool_, a,b,c,d,e,f,g ) \ |
| 1120 CYG_TRACE7( _bool_, "%08x %08x %08x %08x %08x %08x %08x", \ | 1120 CYG_TRACE7( _bool_, "%08x %08x %08x %08x %08x %08x %08x", \ |
| 1121 a,b,c,d,e,f,g ) | 1121 a,b,c,d,e,f,g ) |
| 1122 #define CYG_TRACE8X( _bool_, a,b,c,d,e,f,g,h ) \ | 1122 #define CYG_TRACE8X( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1123 CYG_TRACE8( _bool_, "%08x %08x %08x %08x %08x %08x %08x %08x", \ | 1123 CYG_TRACE8( _bool_, "%08x %08x %08x %08x %08x %08x %08x %08x", \ |
| 1124 a,b,c,d,e,f,g,h ) | 1124 a,b,c,d,e,f,g,h ) |
| 1125 | 1125 |
| 1126 #define CYG_TRACE1XV( _bool_, a ) \ | 1126 #define CYG_TRACE1XV( _bool_, a ) \ |
| 1127 CYG_TRACE1( _bool_, # a "=%08x ", a ) | 1127 CYG_TRACE1( _bool_, # a "=%08x ", a ) |
| 1128 #define CYG_TRACE2XV( _bool_, a,b ) \ | 1128 #define CYG_TRACE2XV( _bool_, a,b ) \ |
| 1129 CYG_TRACE2( _bool_, \ | 1129 CYG_TRACE2( _bool_, \ |
| 1130 # a "=%08x " # b "=%08x " , a,b ) | 1130 # a "=%08x " # b "=%08x " , a,b ) |
| 1131 #define CYG_TRACE3XV( _bool_, a,b,c ) \ | 1131 #define CYG_TRACE3XV( _bool_, a,b,c ) \ |
| 1132 CYG_TRACE3( _bool_, \ | 1132 CYG_TRACE3( _bool_, \ |
| 1133 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) | 1133 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) |
| 1134 #define CYG_TRACE4XV( _bool_, a,b,c,d ) \ | 1134 #define CYG_TRACE4XV( _bool_, a,b,c,d ) \ |
| 1135 CYG_TRACE4( _bool_, \ | 1135 CYG_TRACE4( _bool_, \ |
| 1136 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1136 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1137 , a,b,c,d ) | 1137 , a,b,c,d ) |
| 1138 #define CYG_TRACE5XV( _bool_, a,b,c,d,e ) \ | 1138 #define CYG_TRACE5XV( _bool_, a,b,c,d,e ) \ |
| 1139 CYG_TRACE5( _bool_, \ | 1139 CYG_TRACE5( _bool_, \ |
| 1140 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1140 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1141 # e "=%08x " \ | 1141 # e "=%08x " \ |
| 1142 , a,b,c,d,e ) | 1142 , a,b,c,d,e ) |
| 1143 #define CYG_TRACE6XV( _bool_, a,b,c,d,e,f ) \ | 1143 #define CYG_TRACE6XV( _bool_, a,b,c,d,e,f ) \ |
| 1144 CYG_TRACE6( _bool_, \ | 1144 CYG_TRACE6( _bool_, \ |
| 1145 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1145 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1146 # e "=%08x " # f "=%08x " \ | 1146 # e "=%08x " # f "=%08x " \ |
| 1147 , a,b,c,d,e,f ) | 1147 , a,b,c,d,e,f ) |
| 1148 #define CYG_TRACE7XV( _bool_, a,b,c,d,e,f,g ) \ | 1148 #define CYG_TRACE7XV( _bool_, a,b,c,d,e,f,g ) \ |
| 1149 CYG_TRACE7( _bool_, \ | 1149 CYG_TRACE7( _bool_, \ |
| 1150 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1150 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1151 # e "=%08x " # f "=%08x " # g "=%08x " \ | 1151 # e "=%08x " # f "=%08x " # g "=%08x " \ |
| 1152 , a,b,c,d,e,f,g ) | 1152 , a,b,c,d,e,f,g ) |
| 1153 #define CYG_TRACE8XV( _bool_, a,b,c,d,e,f,g,h ) \ | 1153 #define CYG_TRACE8XV( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1154 CYG_TRACE8( _bool_, \ | 1154 CYG_TRACE8( _bool_, \ |
| 1155 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1155 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1156 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ | 1156 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ |
| 1157 , a,b,c,d,e,f,g,h ) | 1157 , a,b,c,d,e,f,g,h ) |
| 1158 | 1158 |
| 1159 #define CYG_TRACE1XB( a ) \ | 1159 #define CYG_TRACE1XB( a ) \ |
| 1160 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%08x", a ) | 1160 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%08x", a ) |
| 1161 #define CYG_TRACE2XB( a,b ) \ | 1161 #define CYG_TRACE2XB( a,b ) \ |
| 1162 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%08x %08x", a,b ) | 1162 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%08x %08x", a,b ) |
| 1163 #define CYG_TRACE3XB( a,b,c ) \ | 1163 #define CYG_TRACE3XB( a,b,c ) \ |
| 1164 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%08x %08x %08x", a,b,c ) | 1164 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%08x %08x %08x", a,b,c ) |
| 1165 #define CYG_TRACE4XB( a,b,c,d ) \ | 1165 #define CYG_TRACE4XB( a,b,c,d ) \ |
| 1166 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x", a,b,c,d ) | 1166 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x", a,b,c,d ) |
| 1167 #define CYG_TRACE5XB( a,b,c,d,e ) \ | 1167 #define CYG_TRACE5XB( a,b,c,d,e ) \ |
| 1168 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x", a,b,c,d,e ) | 1168 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x", a,b,c,d,e ) |
| 1169 #define CYG_TRACE6XB( a,b,c,d,e,f ) \ | 1169 #define CYG_TRACE6XB( a,b,c,d,e,f ) \ |
| 1170 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x", \ | 1170 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x", \ |
| 1171 a,b,c,d,e,f ) | 1171 a,b,c,d,e,f ) |
| 1172 #define CYG_TRACE7XB( a,b,c,d,e,f,g ) \ | 1172 #define CYG_TRACE7XB( a,b,c,d,e,f,g ) \ |
| 1173 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x", \ | 1173 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x", \ |
| 1174 a,b,c,d,e,f,g ) | 1174 a,b,c,d,e,f,g ) |
| 1175 #define CYG_TRACE8XB( a,b,c,d,e,f,g,h ) \ | 1175 #define CYG_TRACE8XB( a,b,c,d,e,f,g,h ) \ |
| 1176 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x %08x", \ | 1176 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%08x %08x %08x %08x %08x %08x %08x %08x", \ |
| 1177 a,b,c,d,e,f,g,h ) | 1177 a,b,c,d,e,f,g,h ) |
| 1178 | 1178 |
| 1179 #define CYG_TRACE1XVB( a ) \ | 1179 #define CYG_TRACE1XVB( a ) \ |
| 1180 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%08x ", a ) | 1180 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%08x ", a ) |
| 1181 #define CYG_TRACE2XVB( a,b ) \ | 1181 #define CYG_TRACE2XVB( a,b ) \ |
| 1182 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ | 1182 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ |
| 1183 # a "=%08x " # b "=%08x " , a,b ) | 1183 # a "=%08x " # b "=%08x " , a,b ) |
| 1184 #define CYG_TRACE3XVB( a,b,c ) \ | 1184 #define CYG_TRACE3XVB( a,b,c ) \ |
| 1185 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ | 1185 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ |
| 1186 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) | 1186 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) |
| 1187 #define CYG_TRACE4XVB( a,b,c,d ) \ | 1187 #define CYG_TRACE4XVB( a,b,c,d ) \ |
| 1188 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ | 1188 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ |
| 1189 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1189 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1190 , a,b,c,d ) | 1190 , a,b,c,d ) |
| 1191 #define CYG_TRACE5XVB( a,b,c,d,e ) \ | 1191 #define CYG_TRACE5XVB( a,b,c,d,e ) \ |
| 1192 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ | 1192 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ |
| 1193 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1193 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1194 # e "=%08x " \ | 1194 # e "=%08x " \ |
| 1195 , a,b,c,d,e ) | 1195 , a,b,c,d,e ) |
| 1196 #define CYG_TRACE6XVB( a,b,c,d,e,f ) \ | 1196 #define CYG_TRACE6XVB( a,b,c,d,e,f ) \ |
| 1197 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ | 1197 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ |
| 1198 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1198 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1199 # e "=%08x " # f "=%08x " \ | 1199 # e "=%08x " # f "=%08x " \ |
| 1200 , a,b,c,d,e,f ) | 1200 , a,b,c,d,e,f ) |
| 1201 #define CYG_TRACE7XVB( a,b,c,d,e,f,g ) \ | 1201 #define CYG_TRACE7XVB( a,b,c,d,e,f,g ) \ |
| 1202 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ | 1202 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ |
| 1203 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1203 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1204 # e "=%08x " # f "=%08x " # g "=%08x " \ | 1204 # e "=%08x " # f "=%08x " # g "=%08x " \ |
| 1205 , a,b,c,d,e,f,g ) | 1205 , a,b,c,d,e,f,g ) |
| 1206 #define CYG_TRACE8XVB( a,b,c,d,e,f,g,h ) \ | 1206 #define CYG_TRACE8XVB( a,b,c,d,e,f,g,h ) \ |
| 1207 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ | 1207 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ |
| 1208 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1208 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1209 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ | 1209 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ |
| 1210 , a,b,c,d,e,f,g,h ) | 1210 , a,b,c,d,e,f,g,h ) |
| 1211 | 1211 |
| 1212 // decimal versions | 1212 // decimal versions |
| 1213 | 1213 |
| 1214 #define CYG_TRACE1D( _bool_, a ) \ | 1214 #define CYG_TRACE1D( _bool_, a ) \ |
| 1215 CYG_TRACE1( _bool_, "%d", a ) | 1215 CYG_TRACE1( _bool_, "%d", a ) |
| 1216 #define CYG_TRACE2D( _bool_, a,b ) \ | 1216 #define CYG_TRACE2D( _bool_, a,b ) \ |
| 1217 CYG_TRACE2( _bool_, "%d %d", a,b ) | 1217 CYG_TRACE2( _bool_, "%d %d", a,b ) |
| 1218 #define CYG_TRACE3D( _bool_, a,b,c ) \ | 1218 #define CYG_TRACE3D( _bool_, a,b,c ) \ |
| 1219 CYG_TRACE3( _bool_, "%d %d %d", a,b,c ) | 1219 CYG_TRACE3( _bool_, "%d %d %d", a,b,c ) |
| 1220 #define CYG_TRACE4D( _bool_, a,b,c,d ) \ | 1220 #define CYG_TRACE4D( _bool_, a,b,c,d ) \ |
| 1221 CYG_TRACE4( _bool_, "%d %d %d %d", a,b,c,d ) | 1221 CYG_TRACE4( _bool_, "%d %d %d %d", a,b,c,d ) |
| 1222 #define CYG_TRACE5D( _bool_, a,b,c,d,e ) \ | 1222 #define CYG_TRACE5D( _bool_, a,b,c,d,e ) \ |
| 1223 CYG_TRACE5( _bool_, "%d %d %d %d %d", a,b,c,d,e ) | 1223 CYG_TRACE5( _bool_, "%d %d %d %d %d", a,b,c,d,e ) |
| 1224 #define CYG_TRACE6D( _bool_, a,b,c,d,e,f ) \ | 1224 #define CYG_TRACE6D( _bool_, a,b,c,d,e,f ) \ |
| 1225 CYG_TRACE6( _bool_, "%d %d %d %d %d %d", \ | 1225 CYG_TRACE6( _bool_, "%d %d %d %d %d %d", \ |
| 1226 a,b,c,d,e,f ) | 1226 a,b,c,d,e,f ) |
| 1227 #define CYG_TRACE7D( _bool_, a,b,c,d,e,f,g ) \ | 1227 #define CYG_TRACE7D( _bool_, a,b,c,d,e,f,g ) \ |
| 1228 CYG_TRACE7( _bool_, "%d %d %d %d %d %d %d", \ | 1228 CYG_TRACE7( _bool_, "%d %d %d %d %d %d %d", \ |
| 1229 a,b,c,d,e,f,g ) | 1229 a,b,c,d,e,f,g ) |
| 1230 #define CYG_TRACE8D( _bool_, a,b,c,d,e,f,g,h ) \ | 1230 #define CYG_TRACE8D( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1231 CYG_TRACE8( _bool_, "%d %d %d %d %d %d %d %d", \ | 1231 CYG_TRACE8( _bool_, "%d %d %d %d %d %d %d %d", \ |
| 1232 a,b,c,d,e,f,g,h ) | 1232 a,b,c,d,e,f,g,h ) |
| 1233 | 1233 |
| 1234 #define CYG_TRACE1DV( _bool_, a ) \ | 1234 #define CYG_TRACE1DV( _bool_, a ) \ |
| 1235 CYG_TRACE1( _bool_, # a "=%d ", a ) | 1235 CYG_TRACE1( _bool_, # a "=%d ", a ) |
| 1236 #define CYG_TRACE2DV( _bool_, a,b ) \ | 1236 #define CYG_TRACE2DV( _bool_, a,b ) \ |
| 1237 CYG_TRACE2( _bool_, \ | 1237 CYG_TRACE2( _bool_, \ |
| 1238 # a "=%d " # b "=%d " , a,b ) | 1238 # a "=%d " # b "=%d " , a,b ) |
| 1239 #define CYG_TRACE3DV( _bool_, a,b,c ) \ | 1239 #define CYG_TRACE3DV( _bool_, a,b,c ) \ |
| 1240 CYG_TRACE3( _bool_, \ | 1240 CYG_TRACE3( _bool_, \ |
| 1241 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) | 1241 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) |
| 1242 #define CYG_TRACE4DV( _bool_, a,b,c,d ) \ | 1242 #define CYG_TRACE4DV( _bool_, a,b,c,d ) \ |
| 1243 CYG_TRACE4( _bool_, \ | 1243 CYG_TRACE4( _bool_, \ |
| 1244 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1244 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1245 , a,b,c,d ) | 1245 , a,b,c,d ) |
| 1246 #define CYG_TRACE5DV( _bool_, a,b,c,d,e ) \ | 1246 #define CYG_TRACE5DV( _bool_, a,b,c,d,e ) \ |
| 1247 CYG_TRACE5( _bool_, \ | 1247 CYG_TRACE5( _bool_, \ |
| 1248 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1248 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1249 # e "=%d " \ | 1249 # e "=%d " \ |
| 1250 , a,b,c,d,e ) | 1250 , a,b,c,d,e ) |
| 1251 #define CYG_TRACE6DV( _bool_, a,b,c,d,e,f ) \ | 1251 #define CYG_TRACE6DV( _bool_, a,b,c,d,e,f ) \ |
| 1252 CYG_TRACE6( _bool_, \ | 1252 CYG_TRACE6( _bool_, \ |
| 1253 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1253 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1254 # e "=%d " # f "=%d " \ | 1254 # e "=%d " # f "=%d " \ |
| 1255 , a,b,c,d,e,f ) | 1255 , a,b,c,d,e,f ) |
| 1256 #define CYG_TRACE7DV( _bool_, a,b,c,d,e,f,g ) \ | 1256 #define CYG_TRACE7DV( _bool_, a,b,c,d,e,f,g ) \ |
| 1257 CYG_TRACE7( _bool_, \ | 1257 CYG_TRACE7( _bool_, \ |
| 1258 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1258 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1259 # e "=%d " # f "=%d " # g "=%d " \ | 1259 # e "=%d " # f "=%d " # g "=%d " \ |
| 1260 , a,b,c,d,e,f,g ) | 1260 , a,b,c,d,e,f,g ) |
| 1261 #define CYG_TRACE8DV( _bool_, a,b,c,d,e,f,g,h ) \ | 1261 #define CYG_TRACE8DV( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1262 CYG_TRACE8( _bool_, \ | 1262 CYG_TRACE8( _bool_, \ |
| 1263 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1263 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1264 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ | 1264 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ |
| 1265 , a,b,c,d,e,f,g,h ) | 1265 , a,b,c,d,e,f,g,h ) |
| 1266 | 1266 |
| 1267 #define CYG_TRACE1DB( a ) \ | 1267 #define CYG_TRACE1DB( a ) \ |
| 1268 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%d", a ) | 1268 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%d", a ) |
| 1269 #define CYG_TRACE2DB( a,b ) \ | 1269 #define CYG_TRACE2DB( a,b ) \ |
| 1270 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%d %d", a,b ) | 1270 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%d %d", a,b ) |
| 1271 #define CYG_TRACE3DB( a,b,c ) \ | 1271 #define CYG_TRACE3DB( a,b,c ) \ |
| 1272 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%d %d %d", a,b,c ) | 1272 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%d %d %d", a,b,c ) |
| 1273 #define CYG_TRACE4DB( a,b,c,d ) \ | 1273 #define CYG_TRACE4DB( a,b,c,d ) \ |
| 1274 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%d %d %d %d", a,b,c,d ) | 1274 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%d %d %d %d", a,b,c,d ) |
| 1275 #define CYG_TRACE5DB( a,b,c,d,e ) \ | 1275 #define CYG_TRACE5DB( a,b,c,d,e ) \ |
| 1276 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%d %d %d %d %d", a,b,c,d,e ) | 1276 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%d %d %d %d %d", a,b,c,d,e ) |
| 1277 #define CYG_TRACE6DB( a,b,c,d,e,f ) \ | 1277 #define CYG_TRACE6DB( a,b,c,d,e,f ) \ |
| 1278 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d", \ | 1278 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d", \ |
| 1279 a,b,c,d,e,f ) | 1279 a,b,c,d,e,f ) |
| 1280 #define CYG_TRACE7DB( a,b,c,d,e,f,g ) \ | 1280 #define CYG_TRACE7DB( a,b,c,d,e,f,g ) \ |
| 1281 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d", \ | 1281 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d", \ |
| 1282 a,b,c,d,e,f,g ) | 1282 a,b,c,d,e,f,g ) |
| 1283 #define CYG_TRACE8DB( a,b,c,d,e,f,g,h ) \ | 1283 #define CYG_TRACE8DB( a,b,c,d,e,f,g,h ) \ |
| 1284 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d %d", \ | 1284 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%d %d %d %d %d %d %d %d", \ |
| 1285 a,b,c,d,e,f,g,h ) | 1285 a,b,c,d,e,f,g,h ) |
| 1286 | 1286 |
| 1287 #define CYG_TRACE1DVB( a ) \ | 1287 #define CYG_TRACE1DVB( a ) \ |
| 1288 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%d ", a ) | 1288 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%d ", a ) |
| 1289 #define CYG_TRACE2DVB( a,b ) \ | 1289 #define CYG_TRACE2DVB( a,b ) \ |
| 1290 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ | 1290 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ |
| 1291 # a "=%d " # b "=%d " , a,b ) | 1291 # a "=%d " # b "=%d " , a,b ) |
| 1292 #define CYG_TRACE3DVB( a,b,c ) \ | 1292 #define CYG_TRACE3DVB( a,b,c ) \ |
| 1293 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ | 1293 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ |
| 1294 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) | 1294 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) |
| 1295 #define CYG_TRACE4DVB( a,b,c,d ) \ | 1295 #define CYG_TRACE4DVB( a,b,c,d ) \ |
| 1296 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ | 1296 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ |
| 1297 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1297 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1298 , a,b,c,d ) | 1298 , a,b,c,d ) |
| 1299 #define CYG_TRACE5DVB( a,b,c,d,e ) \ | 1299 #define CYG_TRACE5DVB( a,b,c,d,e ) \ |
| 1300 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ | 1300 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ |
| 1301 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1301 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1302 # e "=%d " \ | 1302 # e "=%d " \ |
| 1303 , a,b,c,d,e ) | 1303 , a,b,c,d,e ) |
| 1304 #define CYG_TRACE6DVB( a,b,c,d,e,f ) \ | 1304 #define CYG_TRACE6DVB( a,b,c,d,e,f ) \ |
| 1305 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ | 1305 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ |
| 1306 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1306 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1307 # e "=%d " # f "=%d " \ | 1307 # e "=%d " # f "=%d " \ |
| 1308 , a,b,c,d,e,f ) | 1308 , a,b,c,d,e,f ) |
| 1309 #define CYG_TRACE7DVB( a,b,c,d,e,f,g ) \ | 1309 #define CYG_TRACE7DVB( a,b,c,d,e,f,g ) \ |
| 1310 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ | 1310 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ |
| 1311 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1311 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1312 # e "=%d " # f "=%d " # g "=%d " \ | 1312 # e "=%d " # f "=%d " # g "=%d " \ |
| 1313 , a,b,c,d,e,f,g ) | 1313 , a,b,c,d,e,f,g ) |
| 1314 #define CYG_TRACE8DVB( a,b,c,d,e,f,g,h ) \ | 1314 #define CYG_TRACE8DVB( a,b,c,d,e,f,g,h ) \ |
| 1315 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ | 1315 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ |
| 1316 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1316 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1317 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ | 1317 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ |
| 1318 , a,b,c,d,e,f,g,h ) | 1318 , a,b,c,d,e,f,g,h ) |
| 1319 | 1319 |
| 1320 // short hex versions | 1320 // short hex versions |
| 1321 | 1321 |
| 1322 #define CYG_TRACE1Y( _bool_, a ) \ | 1322 #define CYG_TRACE1Y( _bool_, a ) \ |
| 1323 CYG_TRACE1( _bool_, "%x", a ) | 1323 CYG_TRACE1( _bool_, "%x", a ) |
| 1324 #define CYG_TRACE2Y( _bool_, a,b ) \ | 1324 #define CYG_TRACE2Y( _bool_, a,b ) \ |
| 1325 CYG_TRACE2( _bool_, "%x %x", a,b ) | 1325 CYG_TRACE2( _bool_, "%x %x", a,b ) |
| 1326 #define CYG_TRACE3Y( _bool_, a,b,c ) \ | 1326 #define CYG_TRACE3Y( _bool_, a,b,c ) \ |
| 1327 CYG_TRACE3( _bool_, "%x %x %x", a,b,c ) | 1327 CYG_TRACE3( _bool_, "%x %x %x", a,b,c ) |
| 1328 #define CYG_TRACE4Y( _bool_, a,b,c,d ) \ | 1328 #define CYG_TRACE4Y( _bool_, a,b,c,d ) \ |
| 1329 CYG_TRACE4( _bool_, "%x %x %x %x", a,b,c,d ) | 1329 CYG_TRACE4( _bool_, "%x %x %x %x", a,b,c,d ) |
| 1330 #define CYG_TRACE5Y( _bool_, a,b,c,d,e ) \ | 1330 #define CYG_TRACE5Y( _bool_, a,b,c,d,e ) \ |
| 1331 CYG_TRACE5( _bool_, "%x %x %x %x %x", a,b,c,d,e ) | 1331 CYG_TRACE5( _bool_, "%x %x %x %x %x", a,b,c,d,e ) |
| 1332 #define CYG_TRACE6Y( _bool_, a,b,c,d,e,f ) \ | 1332 #define CYG_TRACE6Y( _bool_, a,b,c,d,e,f ) \ |
| 1333 CYG_TRACE6( _bool_, "%x %x %x %x %x %x", \ | 1333 CYG_TRACE6( _bool_, "%x %x %x %x %x %x", \ |
| 1334 a,b,c,d,e,f ) | 1334 a,b,c,d,e,f ) |
| 1335 #define CYG_TRACE7Y( _bool_, a,b,c,d,e,f,g ) \ | 1335 #define CYG_TRACE7Y( _bool_, a,b,c,d,e,f,g ) \ |
| 1336 CYG_TRACE7( _bool_, "%x %x %x %x %x %x %x", \ | 1336 CYG_TRACE7( _bool_, "%x %x %x %x %x %x %x", \ |
| 1337 a,b,c,d,e,f,g ) | 1337 a,b,c,d,e,f,g ) |
| 1338 #define CYG_TRACE8Y( _bool_, a,b,c,d,e,f,g,h ) \ | 1338 #define CYG_TRACE8Y( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1339 CYG_TRACE8( _bool_, "%x %x %x %x %x %x %x %x", \ | 1339 CYG_TRACE8( _bool_, "%x %x %x %x %x %x %x %x", \ |
| 1340 a,b,c,d,e,f,g,h ) | 1340 a,b,c,d,e,f,g,h ) |
| 1341 | 1341 |
| 1342 #define CYG_TRACE1YV( _bool_, a ) \ | 1342 #define CYG_TRACE1YV( _bool_, a ) \ |
| 1343 CYG_TRACE1( _bool_, # a "=%x ", a ) | 1343 CYG_TRACE1( _bool_, # a "=%x ", a ) |
| 1344 #define CYG_TRACE2YV( _bool_, a,b ) \ | 1344 #define CYG_TRACE2YV( _bool_, a,b ) \ |
| 1345 CYG_TRACE2( _bool_, \ | 1345 CYG_TRACE2( _bool_, \ |
| 1346 # a "=%x " # b "=%x " , a,b ) | 1346 # a "=%x " # b "=%x " , a,b ) |
| 1347 #define CYG_TRACE3YV( _bool_, a,b,c ) \ | 1347 #define CYG_TRACE3YV( _bool_, a,b,c ) \ |
| 1348 CYG_TRACE3( _bool_, \ | 1348 CYG_TRACE3( _bool_, \ |
| 1349 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) | 1349 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) |
| 1350 #define CYG_TRACE4YV( _bool_, a,b,c,d ) \ | 1350 #define CYG_TRACE4YV( _bool_, a,b,c,d ) \ |
| 1351 CYG_TRACE4( _bool_, \ | 1351 CYG_TRACE4( _bool_, \ |
| 1352 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1352 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1353 , a,b,c,d ) | 1353 , a,b,c,d ) |
| 1354 #define CYG_TRACE5YV( _bool_, a,b,c,d,e ) \ | 1354 #define CYG_TRACE5YV( _bool_, a,b,c,d,e ) \ |
| 1355 CYG_TRACE5( _bool_, \ | 1355 CYG_TRACE5( _bool_, \ |
| 1356 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1356 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1357 # e "=%x " \ | 1357 # e "=%x " \ |
| 1358 , a,b,c,d,e ) | 1358 , a,b,c,d,e ) |
| 1359 #define CYG_TRACE6YV( _bool_, a,b,c,d,e,f ) \ | 1359 #define CYG_TRACE6YV( _bool_, a,b,c,d,e,f ) \ |
| 1360 CYG_TRACE6( _bool_, \ | 1360 CYG_TRACE6( _bool_, \ |
| 1361 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1361 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1362 # e "=%x " # f "=%x " \ | 1362 # e "=%x " # f "=%x " \ |
| 1363 , a,b,c,d,e,f ) | 1363 , a,b,c,d,e,f ) |
| 1364 #define CYG_TRACE7YV( _bool_, a,b,c,d,e,f,g ) \ | 1364 #define CYG_TRACE7YV( _bool_, a,b,c,d,e,f,g ) \ |
| 1365 CYG_TRACE7( _bool_, \ | 1365 CYG_TRACE7( _bool_, \ |
| 1366 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1366 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1367 # e "=%x " # f "=%x " # g "=%x " \ | 1367 # e "=%x " # f "=%x " # g "=%x " \ |
| 1368 , a,b,c,d,e,f,g ) | 1368 , a,b,c,d,e,f,g ) |
| 1369 #define CYG_TRACE8YV( _bool_, a,b,c,d,e,f,g,h ) \ | 1369 #define CYG_TRACE8YV( _bool_, a,b,c,d,e,f,g,h ) \ |
| 1370 CYG_TRACE8( _bool_, \ | 1370 CYG_TRACE8( _bool_, \ |
| 1371 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1371 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1372 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ | 1372 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ |
| 1373 , a,b,c,d,e,f,g,h ) | 1373 , a,b,c,d,e,f,g,h ) |
| 1374 | 1374 |
| 1375 #define CYG_TRACE1YB( a ) \ | 1375 #define CYG_TRACE1YB( a ) \ |
| 1376 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%x", a ) | 1376 CYG_TRACE1( CYG_TRACE_USER_BOOL, "%x", a ) |
| 1377 #define CYG_TRACE2YB( a,b ) \ | 1377 #define CYG_TRACE2YB( a,b ) \ |
| 1378 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%x %x", a,b ) | 1378 CYG_TRACE2( CYG_TRACE_USER_BOOL, "%x %x", a,b ) |
| 1379 #define CYG_TRACE3YB( a,b,c ) \ | 1379 #define CYG_TRACE3YB( a,b,c ) \ |
| 1380 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%x %x %x", a,b,c ) | 1380 CYG_TRACE3( CYG_TRACE_USER_BOOL, "%x %x %x", a,b,c ) |
| 1381 #define CYG_TRACE4YB( a,b,c,d ) \ | 1381 #define CYG_TRACE4YB( a,b,c,d ) \ |
| 1382 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%x %x %x %x", a,b,c,d ) | 1382 CYG_TRACE4( CYG_TRACE_USER_BOOL, "%x %x %x %x", a,b,c,d ) |
| 1383 #define CYG_TRACE5YB( a,b,c,d,e ) \ | 1383 #define CYG_TRACE5YB( a,b,c,d,e ) \ |
| 1384 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%x %x %x %x %x", a,b,c,d,e ) | 1384 CYG_TRACE5( CYG_TRACE_USER_BOOL, "%x %x %x %x %x", a,b,c,d,e ) |
| 1385 #define CYG_TRACE6YB( a,b,c,d,e,f ) \ | 1385 #define CYG_TRACE6YB( a,b,c,d,e,f ) \ |
| 1386 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x", \ | 1386 CYG_TRACE6( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x", \ |
| 1387 a,b,c,d,e,f ) | 1387 a,b,c,d,e,f ) |
| 1388 #define CYG_TRACE7YB( a,b,c,d,e,f,g ) \ | 1388 #define CYG_TRACE7YB( a,b,c,d,e,f,g ) \ |
| 1389 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x", \ | 1389 CYG_TRACE7( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x", \ |
| 1390 a,b,c,d,e,f,g ) | 1390 a,b,c,d,e,f,g ) |
| 1391 #define CYG_TRACE8YB( a,b,c,d,e,f,g,h ) \ | 1391 #define CYG_TRACE8YB( a,b,c,d,e,f,g,h ) \ |
| 1392 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x %x", \ | 1392 CYG_TRACE8( CYG_TRACE_USER_BOOL, "%x %x %x %x %x %x %x %x", \ |
| 1393 a,b,c,d,e,f,g,h ) | 1393 a,b,c,d,e,f,g,h ) |
| 1394 | 1394 |
| 1395 #define CYG_TRACE1YVB( a ) \ | 1395 #define CYG_TRACE1YVB( a ) \ |
| 1396 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%x ", a ) | 1396 CYG_TRACE1( CYG_TRACE_USER_BOOL, # a "=%x ", a ) |
| 1397 #define CYG_TRACE2YVB( a,b ) \ | 1397 #define CYG_TRACE2YVB( a,b ) \ |
| 1398 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ | 1398 CYG_TRACE2( CYG_TRACE_USER_BOOL, \ |
| 1399 # a "=%x " # b "=%x " , a,b ) | 1399 # a "=%x " # b "=%x " , a,b ) |
| 1400 #define CYG_TRACE3YVB( a,b,c ) \ | 1400 #define CYG_TRACE3YVB( a,b,c ) \ |
| 1401 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ | 1401 CYG_TRACE3( CYG_TRACE_USER_BOOL, \ |
| 1402 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) | 1402 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) |
| 1403 #define CYG_TRACE4YVB( a,b,c,d ) \ | 1403 #define CYG_TRACE4YVB( a,b,c,d ) \ |
| 1404 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ | 1404 CYG_TRACE4( CYG_TRACE_USER_BOOL, \ |
| 1405 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1405 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1406 , a,b,c,d ) | 1406 , a,b,c,d ) |
| 1407 #define CYG_TRACE5YVB( a,b,c,d,e ) \ | 1407 #define CYG_TRACE5YVB( a,b,c,d,e ) \ |
| 1408 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ | 1408 CYG_TRACE5( CYG_TRACE_USER_BOOL, \ |
| 1409 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1409 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1410 # e "=%x " \ | 1410 # e "=%x " \ |
| 1411 , a,b,c,d,e ) | 1411 , a,b,c,d,e ) |
| 1412 #define CYG_TRACE6YVB( a,b,c,d,e,f ) \ | 1412 #define CYG_TRACE6YVB( a,b,c,d,e,f ) \ |
| 1413 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ | 1413 CYG_TRACE6( CYG_TRACE_USER_BOOL, \ |
| 1414 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1414 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1415 # e "=%x " # f "=%x " \ | 1415 # e "=%x " # f "=%x " \ |
| 1416 , a,b,c,d,e,f ) | 1416 , a,b,c,d,e,f ) |
| 1417 #define CYG_TRACE7YVB( a,b,c,d,e,f,g ) \ | 1417 #define CYG_TRACE7YVB( a,b,c,d,e,f,g ) \ |
| 1418 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ | 1418 CYG_TRACE7( CYG_TRACE_USER_BOOL, \ |
| 1419 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1419 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1420 # e "=%x " # f "=%x " # g "=%x " \ | 1420 # e "=%x " # f "=%x " # g "=%x " \ |
| 1421 , a,b,c,d,e,f,g ) | 1421 , a,b,c,d,e,f,g ) |
| 1422 #define CYG_TRACE8YVB( a,b,c,d,e,f,g,h ) \ | 1422 #define CYG_TRACE8YVB( a,b,c,d,e,f,g,h ) \ |
| 1423 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ | 1423 CYG_TRACE8( CYG_TRACE_USER_BOOL, \ |
| 1424 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1424 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1425 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ | 1425 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ |
| 1426 , a,b,c,d,e,f,g,h ) | 1426 , a,b,c,d,e,f,g,h ) |
| 1427 | 1427 |
| 1428 // ------------------------------------------------------------------------- | 1428 // ------------------------------------------------------------------------- |
| 1438 // V: "<var> = %..." is used, by stringifying the argument | 1438 // V: "<var> = %..." is used, by stringifying the argument |
| 1439 | 1439 |
| 1440 // long hex versions | 1440 // long hex versions |
| 1441 | 1441 |
| 1442 #define CYG_REPORT_FUNCARG1X( a ) \ | 1442 #define CYG_REPORT_FUNCARG1X( a ) \ |
| 1443 CYG_REPORT_FUNCARG1( "%08x", a ) | 1443 CYG_REPORT_FUNCARG1( "%08x", a ) |
| 1444 #define CYG_REPORT_FUNCARG2X( a,b ) \ | 1444 #define CYG_REPORT_FUNCARG2X( a,b ) \ |
| 1445 CYG_REPORT_FUNCARG2( "%08x %08x", a,b ) | 1445 CYG_REPORT_FUNCARG2( "%08x %08x", a,b ) |
| 1446 #define CYG_REPORT_FUNCARG3X( a,b,c ) \ | 1446 #define CYG_REPORT_FUNCARG3X( a,b,c ) \ |
| 1447 CYG_REPORT_FUNCARG3( "%08x %08x %08x", a,b,c ) | 1447 CYG_REPORT_FUNCARG3( "%08x %08x %08x", a,b,c ) |
| 1448 #define CYG_REPORT_FUNCARG4X( a,b,c,d ) \ | 1448 #define CYG_REPORT_FUNCARG4X( a,b,c,d ) \ |
| 1449 CYG_REPORT_FUNCARG4( "%08x %08x %08x %08x", a,b,c,d ) | 1449 CYG_REPORT_FUNCARG4( "%08x %08x %08x %08x", a,b,c,d ) |
| 1450 #define CYG_REPORT_FUNCARG5X( a,b,c,d,e ) \ | 1450 #define CYG_REPORT_FUNCARG5X( a,b,c,d,e ) \ |
| 1451 CYG_REPORT_FUNCARG5( "%08x %08x %08x %08x %08x", a,b,c,d,e ) | 1451 CYG_REPORT_FUNCARG5( "%08x %08x %08x %08x %08x", a,b,c,d,e ) |
| 1452 #define CYG_REPORT_FUNCARG6X( a,b,c,d,e,f ) \ | 1452 #define CYG_REPORT_FUNCARG6X( a,b,c,d,e,f ) \ |
| 1453 CYG_REPORT_FUNCARG6( "%08x %08x %08x %08x %08x %08x", \ | 1453 CYG_REPORT_FUNCARG6( "%08x %08x %08x %08x %08x %08x", \ |
| 1454 a,b,c,d,e,f ) | 1454 a,b,c,d,e,f ) |
| 1455 #define CYG_REPORT_FUNCARG7X( a,b,c,d,e,f,g ) \ | 1455 #define CYG_REPORT_FUNCARG7X( a,b,c,d,e,f,g ) \ |
| 1456 CYG_REPORT_FUNCARG7( "%08x %08x %08x %08x %08x %08x %08x", \ | 1456 CYG_REPORT_FUNCARG7( "%08x %08x %08x %08x %08x %08x %08x", \ |
| 1457 a,b,c,d,e,f,g ) | 1457 a,b,c,d,e,f,g ) |
| 1458 #define CYG_REPORT_FUNCARG8X( a,b,c,d,e,f,g,h ) \ | 1458 #define CYG_REPORT_FUNCARG8X( a,b,c,d,e,f,g,h ) \ |
| 1459 CYG_REPORT_FUNCARG8( "%08x %08x %08x %08x %08x %08x %08x %08x", \ | 1459 CYG_REPORT_FUNCARG8( "%08x %08x %08x %08x %08x %08x %08x %08x", \ |
| 1460 a,b,c,d,e,f,g,h ) | 1460 a,b,c,d,e,f,g,h ) |
| 1461 | 1461 |
| 1462 #define CYG_REPORT_FUNCARG1XV( a ) \ | 1462 #define CYG_REPORT_FUNCARG1XV( a ) \ |
| 1463 CYG_REPORT_FUNCARG1( # a "=%08x ", a ) | 1463 CYG_REPORT_FUNCARG1( # a "=%08x ", a ) |
| 1464 #define CYG_REPORT_FUNCARG2XV( a,b ) \ | 1464 #define CYG_REPORT_FUNCARG2XV( a,b ) \ |
| 1465 CYG_REPORT_FUNCARG2( \ | 1465 CYG_REPORT_FUNCARG2( \ |
| 1466 # a "=%08x " # b "=%08x " , a,b ) | 1466 # a "=%08x " # b "=%08x " , a,b ) |
| 1467 #define CYG_REPORT_FUNCARG3XV( a,b,c ) \ | 1467 #define CYG_REPORT_FUNCARG3XV( a,b,c ) \ |
| 1468 CYG_REPORT_FUNCARG3( \ | 1468 CYG_REPORT_FUNCARG3( \ |
| 1469 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) | 1469 # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c ) |
| 1470 #define CYG_REPORT_FUNCARG4XV( a,b,c,d ) \ | 1470 #define CYG_REPORT_FUNCARG4XV( a,b,c,d ) \ |
| 1471 CYG_REPORT_FUNCARG4( \ | 1471 CYG_REPORT_FUNCARG4( \ |
| 1472 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1472 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1473 , a,b,c,d ) | 1473 , a,b,c,d ) |
| 1474 #define CYG_REPORT_FUNCARG5XV( a,b,c,d,e ) \ | 1474 #define CYG_REPORT_FUNCARG5XV( a,b,c,d,e ) \ |
| 1475 CYG_REPORT_FUNCARG5( \ | 1475 CYG_REPORT_FUNCARG5( \ |
| 1476 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1476 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1477 # e "=%08x " \ | 1477 # e "=%08x " \ |
| 1478 , a,b,c,d,e ) | 1478 , a,b,c,d,e ) |
| 1479 #define CYG_REPORT_FUNCARG6XV( a,b,c,d,e,f ) \ | 1479 #define CYG_REPORT_FUNCARG6XV( a,b,c,d,e,f ) \ |
| 1480 CYG_REPORT_FUNCARG6( \ | 1480 CYG_REPORT_FUNCARG6( \ |
| 1481 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1481 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1482 # e "=%08x " # f "=%08x " \ | 1482 # e "=%08x " # f "=%08x " \ |
| 1483 , a,b,c,d,e,f ) | 1483 , a,b,c,d,e,f ) |
| 1484 #define CYG_REPORT_FUNCARG7XV( a,b,c,d,e,f,g ) \ | 1484 #define CYG_REPORT_FUNCARG7XV( a,b,c,d,e,f,g ) \ |
| 1485 CYG_REPORT_FUNCARG7( \ | 1485 CYG_REPORT_FUNCARG7( \ |
| 1486 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1486 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1487 # e "=%08x " # f "=%08x " # g "=%08x " \ | 1487 # e "=%08x " # f "=%08x " # g "=%08x " \ |
| 1488 , a,b,c,d,e,f,g ) | 1488 , a,b,c,d,e,f,g ) |
| 1489 #define CYG_REPORT_FUNCARG8XV( a,b,c,d,e,f,g,h ) \ | 1489 #define CYG_REPORT_FUNCARG8XV( a,b,c,d,e,f,g,h ) \ |
| 1490 CYG_REPORT_FUNCARG8( \ | 1490 CYG_REPORT_FUNCARG8( \ |
| 1491 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ | 1491 # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ |
| 1492 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ | 1492 # e "=%08x " # f "=%08x " # g "=%08x " # h "=%08x " \ |
| 1493 , a,b,c,d,e,f,g,h ) | 1493 , a,b,c,d,e,f,g,h ) |
| 1494 | 1494 |
| 1495 // decimal versions | 1495 // decimal versions |
| 1496 | 1496 |
| 1497 | 1497 |
| 1498 #define CYG_REPORT_FUNCARG1D( a ) \ | 1498 #define CYG_REPORT_FUNCARG1D( a ) \ |
| 1499 CYG_REPORT_FUNCARG1( "%d", a ) | 1499 CYG_REPORT_FUNCARG1( "%d", a ) |
| 1500 #define CYG_REPORT_FUNCARG2D( a,b ) \ | 1500 #define CYG_REPORT_FUNCARG2D( a,b ) \ |
| 1501 CYG_REPORT_FUNCARG2( "%d %d", a,b ) | 1501 CYG_REPORT_FUNCARG2( "%d %d", a,b ) |
| 1502 #define CYG_REPORT_FUNCARG3D( a,b,c ) \ | 1502 #define CYG_REPORT_FUNCARG3D( a,b,c ) \ |
| 1503 CYG_REPORT_FUNCARG3( "%d %d %d", a,b,c ) | 1503 CYG_REPORT_FUNCARG3( "%d %d %d", a,b,c ) |
| 1504 #define CYG_REPORT_FUNCARG4D( a,b,c,d ) \ | 1504 #define CYG_REPORT_FUNCARG4D( a,b,c,d ) \ |
| 1505 CYG_REPORT_FUNCARG4( "%d %d %d %d", a,b,c,d ) | 1505 CYG_REPORT_FUNCARG4( "%d %d %d %d", a,b,c,d ) |
| 1506 #define CYG_REPORT_FUNCARG5D( a,b,c,d,e ) \ | 1506 #define CYG_REPORT_FUNCARG5D( a,b,c,d,e ) \ |
| 1507 CYG_REPORT_FUNCARG5( "%d %d %d %d %d", a,b,c,d,e ) | 1507 CYG_REPORT_FUNCARG5( "%d %d %d %d %d", a,b,c,d,e ) |
| 1508 #define CYG_REPORT_FUNCARG6D( a,b,c,d,e,f ) \ | 1508 #define CYG_REPORT_FUNCARG6D( a,b,c,d,e,f ) \ |
| 1509 CYG_REPORT_FUNCARG6( "%d %d %d %d %d %d", \ | 1509 CYG_REPORT_FUNCARG6( "%d %d %d %d %d %d", \ |
| 1510 a,b,c,d,e,f ) | 1510 a,b,c,d,e,f ) |
| 1511 #define CYG_REPORT_FUNCARG7D( a,b,c,d,e,f,g ) \ | 1511 #define CYG_REPORT_FUNCARG7D( a,b,c,d,e,f,g ) \ |
| 1512 CYG_REPORT_FUNCARG7( "%d %d %d %d %d %d %d", \ | 1512 CYG_REPORT_FUNCARG7( "%d %d %d %d %d %d %d", \ |
| 1513 a,b,c,d,e,f,g ) | 1513 a,b,c,d,e,f,g ) |
| 1514 #define CYG_REPORT_FUNCARG8D( a,b,c,d,e,f,g,h ) \ | 1514 #define CYG_REPORT_FUNCARG8D( a,b,c,d,e,f,g,h ) \ |
| 1515 CYG_REPORT_FUNCARG8( "%d %d %d %d %d %d %d %d", \ | 1515 CYG_REPORT_FUNCARG8( "%d %d %d %d %d %d %d %d", \ |
| 1516 a,b,c,d,e,f,g,h ) | 1516 a,b,c,d,e,f,g,h ) |
| 1517 | 1517 |
| 1518 #define CYG_REPORT_FUNCARG1DV( a ) \ | 1518 #define CYG_REPORT_FUNCARG1DV( a ) \ |
| 1519 CYG_REPORT_FUNCARG1( # a "=%d ", a ) | 1519 CYG_REPORT_FUNCARG1( # a "=%d ", a ) |
| 1520 #define CYG_REPORT_FUNCARG2DV( a,b ) \ | 1520 #define CYG_REPORT_FUNCARG2DV( a,b ) \ |
| 1521 CYG_REPORT_FUNCARG2( \ | 1521 CYG_REPORT_FUNCARG2( \ |
| 1522 # a "=%d " # b "=%d " , a,b ) | 1522 # a "=%d " # b "=%d " , a,b ) |
| 1523 #define CYG_REPORT_FUNCARG3DV( a,b,c ) \ | 1523 #define CYG_REPORT_FUNCARG3DV( a,b,c ) \ |
| 1524 CYG_REPORT_FUNCARG3( \ | 1524 CYG_REPORT_FUNCARG3( \ |
| 1525 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) | 1525 # a "=%d " # b "=%d " # c "=%d " , a,b,c ) |
| 1526 #define CYG_REPORT_FUNCARG4DV( a,b,c,d ) \ | 1526 #define CYG_REPORT_FUNCARG4DV( a,b,c,d ) \ |
| 1527 CYG_REPORT_FUNCARG4( \ | 1527 CYG_REPORT_FUNCARG4( \ |
| 1528 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1528 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1529 , a,b,c,d ) | 1529 , a,b,c,d ) |
| 1530 #define CYG_REPORT_FUNCARG5DV( a,b,c,d,e ) \ | 1530 #define CYG_REPORT_FUNCARG5DV( a,b,c,d,e ) \ |
| 1531 CYG_REPORT_FUNCARG5( \ | 1531 CYG_REPORT_FUNCARG5( \ |
| 1532 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1532 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1533 # e "=%d " \ | 1533 # e "=%d " \ |
| 1534 , a,b,c,d,e ) | 1534 , a,b,c,d,e ) |
| 1535 #define CYG_REPORT_FUNCARG6DV( a,b,c,d,e,f ) \ | 1535 #define CYG_REPORT_FUNCARG6DV( a,b,c,d,e,f ) \ |
| 1536 CYG_REPORT_FUNCARG6( \ | 1536 CYG_REPORT_FUNCARG6( \ |
| 1537 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1537 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1538 # e "=%d " # f "=%d " \ | 1538 # e "=%d " # f "=%d " \ |
| 1539 , a,b,c,d,e,f ) | 1539 , a,b,c,d,e,f ) |
| 1540 #define CYG_REPORT_FUNCARG7DV( a,b,c,d,e,f,g ) \ | 1540 #define CYG_REPORT_FUNCARG7DV( a,b,c,d,e,f,g ) \ |
| 1541 CYG_REPORT_FUNCARG7( \ | 1541 CYG_REPORT_FUNCARG7( \ |
| 1542 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1542 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1543 # e "=%d " # f "=%d " # g "=%d " \ | 1543 # e "=%d " # f "=%d " # g "=%d " \ |
| 1544 , a,b,c,d,e,f,g ) | 1544 , a,b,c,d,e,f,g ) |
| 1545 #define CYG_REPORT_FUNCARG8DV( a,b,c,d,e,f,g,h ) \ | 1545 #define CYG_REPORT_FUNCARG8DV( a,b,c,d,e,f,g,h ) \ |
| 1546 CYG_REPORT_FUNCARG8( \ | 1546 CYG_REPORT_FUNCARG8( \ |
| 1547 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ | 1547 # a "=%d " # b "=%d " # c "=%d " # d "=%d " \ |
| 1548 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ | 1548 # e "=%d " # f "=%d " # g "=%d " # h "=%d " \ |
| 1549 , a,b,c,d,e,f,g,h ) | 1549 , a,b,c,d,e,f,g,h ) |
| 1550 | 1550 |
| 1551 // short hex versions | 1551 // short hex versions |
| 1552 | 1552 |
| 1553 #define CYG_REPORT_FUNCARG1Y( a ) \ | 1553 #define CYG_REPORT_FUNCARG1Y( a ) \ |
| 1554 CYG_REPORT_FUNCARG1( "%x", a ) | 1554 CYG_REPORT_FUNCARG1( "%x", a ) |
| 1555 #define CYG_REPORT_FUNCARG2Y( a,b ) \ | 1555 #define CYG_REPORT_FUNCARG2Y( a,b ) \ |
| 1556 CYG_REPORT_FUNCARG2( "%x %x", a,b ) | 1556 CYG_REPORT_FUNCARG2( "%x %x", a,b ) |
| 1557 #define CYG_REPORT_FUNCARG3Y( a,b,c ) \ | 1557 #define CYG_REPORT_FUNCARG3Y( a,b,c ) \ |
| 1558 CYG_REPORT_FUNCARG3( "%x %x %x", a,b,c ) | 1558 CYG_REPORT_FUNCARG3( "%x %x %x", a,b,c ) |
| 1559 #define CYG_REPORT_FUNCARG4Y( a,b,c,d ) \ | 1559 #define CYG_REPORT_FUNCARG4Y( a,b,c,d ) \ |
| 1560 CYG_REPORT_FUNCARG4( "%x %x %x %x", a,b,c,d ) | 1560 CYG_REPORT_FUNCARG4( "%x %x %x %x", a,b,c,d ) |
| 1561 #define CYG_REPORT_FUNCARG5Y( a,b,c,d,e ) \ | 1561 #define CYG_REPORT_FUNCARG5Y( a,b,c,d,e ) \ |
| 1562 CYG_REPORT_FUNCARG5( "%x %x %x %x %x", a,b,c,d,e ) | 1562 CYG_REPORT_FUNCARG5( "%x %x %x %x %x", a,b,c,d,e ) |
| 1563 #define CYG_REPORT_FUNCARG6Y( a,b,c,d,e,f ) \ | 1563 #define CYG_REPORT_FUNCARG6Y( a,b,c,d,e,f ) \ |
| 1564 CYG_REPORT_FUNCARG6( "%x %x %x %x %x %x", \ | 1564 CYG_REPORT_FUNCARG6( "%x %x %x %x %x %x", \ |
| 1565 a,b,c,d,e,f ) | 1565 a,b,c,d,e,f ) |
| 1566 #define CYG_REPORT_FUNCARG7Y( a,b,c,d,e,f,g ) \ | 1566 #define CYG_REPORT_FUNCARG7Y( a,b,c,d,e,f,g ) \ |
| 1567 CYG_REPORT_FUNCARG7( "%x %x %x %x %x %x %x", \ | 1567 CYG_REPORT_FUNCARG7( "%x %x %x %x %x %x %x", \ |
| 1568 a,b,c,d,e,f,g ) | 1568 a,b,c,d,e,f,g ) |
| 1569 #define CYG_REPORT_FUNCARG8Y( a,b,c,d,e,f,g,h ) \ | 1569 #define CYG_REPORT_FUNCARG8Y( a,b,c,d,e,f,g,h ) \ |
| 1570 CYG_REPORT_FUNCARG8( "%x %x %x %x %x %x %x %x", \ | 1570 CYG_REPORT_FUNCARG8( "%x %x %x %x %x %x %x %x", \ |
| 1571 a,b,c,d,e,f,g,h ) | 1571 a,b,c,d,e,f,g,h ) |
| 1572 | 1572 |
| 1573 #define CYG_REPORT_FUNCARG1YV( a ) \ | 1573 #define CYG_REPORT_FUNCARG1YV( a ) \ |
| 1574 CYG_REPORT_FUNCARG1( # a "=%x ", a ) | 1574 CYG_REPORT_FUNCARG1( # a "=%x ", a ) |
| 1575 #define CYG_REPORT_FUNCARG2YV( a,b ) \ | 1575 #define CYG_REPORT_FUNCARG2YV( a,b ) \ |
| 1576 CYG_REPORT_FUNCARG2( \ | 1576 CYG_REPORT_FUNCARG2( \ |
| 1577 # a "=%x " # b "=%x " , a,b ) | 1577 # a "=%x " # b "=%x " , a,b ) |
| 1578 #define CYG_REPORT_FUNCARG3YV( a,b,c ) \ | 1578 #define CYG_REPORT_FUNCARG3YV( a,b,c ) \ |
| 1579 CYG_REPORT_FUNCARG3( \ | 1579 CYG_REPORT_FUNCARG3( \ |
| 1580 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) | 1580 # a "=%x " # b "=%x " # c "=%x " , a,b,c ) |
| 1581 #define CYG_REPORT_FUNCARG4YV( a,b,c,d ) \ | 1581 #define CYG_REPORT_FUNCARG4YV( a,b,c,d ) \ |
| 1582 CYG_REPORT_FUNCARG4( \ | 1582 CYG_REPORT_FUNCARG4( \ |
| 1583 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1583 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1584 , a,b,c,d ) | 1584 , a,b,c,d ) |
| 1585 #define CYG_REPORT_FUNCARG5YV( a,b,c,d,e ) \ | 1585 #define CYG_REPORT_FUNCARG5YV( a,b,c,d,e ) \ |
| 1586 CYG_REPORT_FUNCARG5( \ | 1586 CYG_REPORT_FUNCARG5( \ |
| 1587 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1587 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1588 # e "=%x " \ | 1588 # e "=%x " \ |
| 1589 , a,b,c,d,e ) | 1589 , a,b,c,d,e ) |
| 1590 #define CYG_REPORT_FUNCARG6YV( a,b,c,d,e,f ) \ | 1590 #define CYG_REPORT_FUNCARG6YV( a,b,c,d,e,f ) \ |
| 1591 CYG_REPORT_FUNCARG6( \ | 1591 CYG_REPORT_FUNCARG6( \ |
| 1592 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1592 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1593 # e "=%x " # f "=%x " \ | 1593 # e "=%x " # f "=%x " \ |
| 1594 , a,b,c,d,e,f ) | 1594 , a,b,c,d,e,f ) |
| 1595 #define CYG_REPORT_FUNCARG7YV( a,b,c,d,e,f,g ) \ | 1595 #define CYG_REPORT_FUNCARG7YV( a,b,c,d,e,f,g ) \ |
| 1596 CYG_REPORT_FUNCARG7( \ | 1596 CYG_REPORT_FUNCARG7( \ |
| 1597 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1597 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1598 # e "=%x " # f "=%x " # g "=%x " \ | 1598 # e "=%x " # f "=%x " # g "=%x " \ |
| 1599 , a,b,c,d,e,f,g ) | 1599 , a,b,c,d,e,f,g ) |
| 1600 #define CYG_REPORT_FUNCARG8YV( a,b,c,d,e,f,g,h ) \ | 1600 #define CYG_REPORT_FUNCARG8YV( a,b,c,d,e,f,g,h ) \ |
| 1601 CYG_REPORT_FUNCARG8( \ | 1601 CYG_REPORT_FUNCARG8( \ |
| 1602 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ | 1602 # a "=%x " # b "=%x " # c "=%x " # d "=%x " \ |
| 1603 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ | 1603 # e "=%x " # f "=%x " # g "=%x " # h "=%x " \ |
| 1604 , a,b,c,d,e,f,g,h ) | 1604 , a,b,c,d,e,f,g,h ) |
| 1605 | 1605 |
| 1606 | 1606 |
