diff --git a/Objects/fileobject.c b/Objects/fileobject.c
index 125da70..d6b2229 100644
--- a/Objects/fileobject.c
+++ b/Objects/fileobject.c
@@ -25,6 +25,10 @@
 #define NO_FOPEN_ERRNO
 #endif
 
+#if defined(PYOS_OS2) && defined(PYCC_GCC)
+#include <io.h>
+#endif
+
 #define BUF(v) PyString_AS_STRING((PyStringObject *)v)
 
 #ifndef DONT_HAVE_ERRNO_H
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index ae08910..2824857 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -3100,6 +3100,15 @@
 		buf[0] = '0';
 		buf[1] = (char)type;
 	}
+#if defined(PYOS_OS2) && defined(PYCC_GCC)
+	/* unfortunately, the EMX C runtime gives us '0x' as the base
+	 * marker for %X when we expect/want '0X'
+	 */
+	else if ((flags & F_ALT) && (type == 'X')) {
+		assert(buf[1] == 'x');
+		buf[1] = (char)type;
+	}
+#endif
 	return strlen(buf);
 }
 
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1d0508c..f214c20 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5162,6 +5162,15 @@
      * Compaq Tru64) violate the std by converting 0 w/ leading 0x anyway.
      * So add it only if the platform doesn't already.
      */
+#if defined(PYOS_OS2) && defined(PYCC_GCC)
+    if ((flags & F_ALT) && (type == 'x' || type == 'X')) {
+        /* the EMX runtime gives 0x as the base marker when we want 0X
+         * so we cover all bets by supplying our own for both cases.
+         */
+        use_native_c_format = 0;
+        PyOS_snprintf(fmt, sizeof(fmt), "0%c%%.%dl%c", type, prec, type);
+    }
+#else
     if (x == 0 && (flags & F_ALT) && (type == 'x' || type == 'X')) {
         /* Only way to know what the platform does is to try it. */
         PyOS_snprintf(fmt, sizeof(fmt), type == 'x' ? "%#x" : "%#X", 0);
@@ -5171,6 +5180,7 @@
             PyOS_snprintf(fmt, sizeof(fmt), "0%c%%#.%dl%c", type, prec, type);
         }
     }
+#endif
     if (use_native_c_format)
          PyOS_snprintf(fmt, sizeof(fmt), "%%%s.%dl%c",
 		       (flags & F_ALT) ? "#" : "", prec, type);
