you are using red hat linux to build this on?
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Then you don't need the -mno-cygwin option.
But your program will fail compile anyway, as this warning message is saying:
/usr/local/openxdk/include/xboxkrnl/dbg.h:17: warning: return type defaults to `int'
It comes from this line:
C, and C++ must have a main function, so this should rightly be called main.
the other issue with it is the VOID. That is not a supported type for a function, it actually must be INT.
char buffer; // large temp text buffer
vga_print(50, 50, buffer);
is a functional format. I don't have the opendxk package to test it on, nor an xbox.