以前 gccだとVSPRINTFが上手く行かないって話があったけど、
va_listのアドレス渡しでいけるよ。俗に言うポインタのポインタか(w

#ifdef __arm
  int len = VSPRINTF(pBuf, format, (va_list)&ap);
#else
  int len = VSPRINTF(pBuf, format, ap);
#endif