Index: /trunk/src/bldprogs/VBoxTpG.cpp
===================================================================
--- /trunk/src/bldprogs/VBoxTpG.cpp	(revision 54066)
+++ /trunk/src/bldprogs/VBoxTpG.cpp	(revision 54067)
@@ -1183,4 +1183,13 @@
                         ScmStreamPrintf(pStrm, ", (%s)%M", pArg->pszTracerType, pszFmt, pArg->pszName);
                 }
+                else if (pArg->fType & VTG_TYPE_CONST_CHAR_PTR)
+                {
+                    /* Casting from 'const char *' (probe) to 'char *' (dtrace) is required to shut up warnings. */
+                    pszFmt += sizeof(", ") - 1;
+                    if (RTListNodeIsFirst(&pProbe->ArgHead, &pArg->ListEntry))
+                        ScmStreamPrintf(pStrm, "(char *)%M", pszFmt, pArg->pszName);
+                    else
+                        ScmStreamPrintf(pStrm, ", (char *)%M", pszFmt, pArg->pszName);
+                }
                 else
                 {
@@ -1653,5 +1662,9 @@
      * Try detect pointers.
      */
-    if (pszType[cchType - 1] == '*')    return VTG_TYPE_POINTER;
+    if (pszType[cchType - 1] == '*')
+    {
+        if (MY_STRMATCH("const char *")) return VTG_TYPE_POINTER | VTG_TYPE_CONST_CHAR_PTR;
+        return VTG_TYPE_POINTER;
+    }
     if (pszType[cchType - 1] == '&')
     {
