//\r
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h\r
//\r
+#if !defined(__CC_ARM) // if va_list is not already defined\r
#define va_list VA_LIST\r
#define va_arg VA_ARG\r
#define va_start VA_START\r
#define va_end VA_END\r
+#else // __CC_ARM\r
+#define va_start(Marker, Parameter) __va_start(Marker, Parameter)\r
+#define va_arg(Marker, TYPE) __va_arg(Marker, TYPE)\r
+#define va_end(Marker) ((void)0)\r
+#endif\r
+\r
+\r
\r
//\r
// #defines from EFI Application Toolkit required to buiild Open SSL\r
//\r
// Global variables from EFI Application Toolkit required to buiild Open SSL\r
//\r
-FILE *stderr;\r
-FILE *stdin;\r
-FILE *stdout;\r
+static FILE *stderr;\r
+static FILE *stdin;\r
+static FILE *stdout;\r
\r
//\r
// Macros that directly map functions to BaseLib, BaseMemoryLib, and DebugLib functions\r
#define memset(dest,ch,count) SetMem(dest,(UINTN)(count),(UINT8)(ch))\r
#define memchr(buf,ch,count) ScanMem8(buf,(UINTN)(count),(UINT8)ch)\r
#define memcmp(buf1,buf2,count) (int)(CompareMem(buf1,buf2,(UINTN)(count)))\r
+#define memmove(dest,source,count) CopyMem(dest,source,(UINTN)(count))\r
#define strcmp AsciiStrCmp\r
#define strncmp(string1,string2,count) (int)(AsciiStrnCmp(string1,string2,(UINTN)(count)))\r
#define strcpy(strDest,strSource) AsciiStrCpy(strDest,strSource)\r