- strcat(logtext, "(");
-
- /* xxxprintf ?Bug? an PowerPc Linux (rlwinm.inso) */
- /* Only Arguments in integer Registers are passed correctly here */
- /* long longs spilled on Stack have an wrong offset of +4 */
- /* So preliminary Bugfix: Only pass 3 params at once to sprintf */
- /* for SIZEOG_VOID_P == 4 && TRACE_ARGS_NUM == 8 */
- switch (md->paramcount) {
- case 0:
- break;
-
-#if SIZEOF_VOID_P == 4
- case 1:
- sprintf(logtext + strlen(logtext),
- "0x%llx",
- a0);
- break;
-
- case 2:
- sprintf(logtext + strlen(logtext),
- "0x%llx, 0x%llx",
- a0, a1);
- break;
-
-#if TRACE_ARGS_NUM >= 4
- case 3:
- sprintf(logtext + strlen(logtext),
- "0x%llx, 0x%llx, 0x%llx",
- a0, a1, a2);
- break;
-
- case 4:
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, 0x%llx"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext), ", 0x%llx", a3);
-
- break;
-#endif /* TRACE_ARGS_NUM >= 4 */
-
-#if TRACE_ARGS_NUM >= 6
- case 5:
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, 0x%llx"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext), ", 0x%llx, 0x%llx", a3, a4);
- break;
-
-
- case 6:
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, 0x%llx"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext), ", 0x%llx, 0x%llx, 0x%llx"
- , a3, a4, a5);
- break;
-#endif /* TRACE_ARGS_NUM >= 6 */
-
-#if TRACE_ARGS_NUM == 8
- case 7:
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, 0x%llx"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext), ", 0x%llx, 0x%llx, 0x%llx"
- , a3, a4, a5);
- sprintf(logtext + strlen(logtext), ", 0x%llx", a6);
- break;
-
- case 8:
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, 0x%llx"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext), ", 0x%llx, 0x%llx, 0x%llx"
- , a3, a4, a5);
- sprintf(logtext + strlen(logtext), ", 0x%llx, 0x%llx", a6, a7);
- break;
-#endif /* TRACE_ARGS_NUM == 8 */
-
- default:
-#if TRACE_ARGS_NUM == 2
- sprintf(logtext + strlen(logtext), "0x%llx, 0x%llx, ...(%d)", a0, a1, md->paramcount - 2);
-
-#elif TRACE_ARGS_NUM == 4
- sprintf(logtext + strlen(logtext),
- "0x%llx, 0x%llx, 0x%llx, 0x%llx, ...(%d)",
- a0, a1, a2, a3, md->paramcount - 4);
-
-#elif TRACE_ARGS_NUM == 6
- sprintf(logtext + strlen(logtext),
- "0x%llx, 0x%llx, 0x%llx, 0x%llx, 0x%llx, 0x%llx, ...(%d)",
- a0, a1, a2, a3, a4, a5, md->paramcount - 6);
-
-#elif TRACE_ARGS_NUM == 8
- sprintf(logtext + strlen(logtext),"0x%llx, 0x%llx, 0x%llx,"
- , a0, a1, a2);
- sprintf(logtext + strlen(logtext)," 0x%llx, 0x%llx, 0x%llx,"
- , a3, a4, a5);
- sprintf(logtext + strlen(logtext)," 0x%llx, 0x%llx, ...(%d)"
- , a6, a7, md->paramcount - 8);
-#endif
- break;
-
-#else /* SIZEOF_VOID_P == 4 */
-
- case 1:
- sprintf(logtext + strlen(logtext),
- "0x%lx",
- a0);
- break;