Index: uspace/lib/c/generic/time.c
===================================================================
--- uspace/lib/c/generic/time.c	(revision c2b0e10b833e4164e011b1bf0d0ad2a9c3c1dbc3)
+++ uspace/lib/c/generic/time.c	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
@@ -776,4 +776,27 @@
 }
 
+struct tm *gmtime(const time_t *timer)
+{
+	assert(timer != NULL);
+
+	static struct tm result;
+
+	/* Set result to epoch. */
+	result.tm_sec = 0;
+	result.tm_min = 0;
+	result.tm_hour = 0;
+	result.tm_mday = 1;
+	result.tm_mon = 0;
+	result.tm_year = 70; /* 1970 */
+
+	if (_normalize_time(&result, *timer) == -1) {
+		errno = EOVERFLOW;
+		return NULL;
+	}
+
+	return &result;
+
+}
+
 
 /** @}
Index: uspace/lib/c/include/sys/time.h
===================================================================
--- uspace/lib/c/include/sys/time.h	(revision c2b0e10b833e4164e011b1bf0d0ad2a9c3c1dbc3)
+++ uspace/lib/c/include/sys/time.h	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
@@ -77,5 +77,7 @@
 
 extern void udelay(useconds_t);
+
 extern time_t mktime(struct tm *tm);
+extern struct tm *gmtime(const time_t *timer);
 extern size_t strftime(char *restrict s, size_t maxsize,
     const char *restrict format, const struct tm *restrict tm);
Index: uspace/lib/posix/time.c
===================================================================
--- uspace/lib/posix/time.c	(revision c2b0e10b833e4164e011b1bf0d0ad2a9c3c1dbc3)
+++ uspace/lib/posix/time.c	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
@@ -324,18 +324,4 @@
 /**
  * Converts a time value to a broken-down UTC time.
- *
- * @param timer Time to convert.
- * @return Normalized broken-down time in UTC, NULL on overflow.
- */
-struct tm *posix_gmtime(const time_t *timer)
-{
-	assert(timer != NULL);
-
-	static struct tm result;
-	return posix_gmtime_r(timer, &result);
-}
-
-/**
- * Converts a time value to a broken-down UTC time.
  * 
  * @param timer Time to convert.
Index: uspace/lib/posix/time.h
===================================================================
--- uspace/lib/posix/time.h	(revision c2b0e10b833e4164e011b1bf0d0ad2a9c3c1dbc3)
+++ uspace/lib/posix/time.h	(revision 5b3394c96df20f6b7161474ccfe407435481c15a)
@@ -91,5 +91,4 @@
 
 /* Broken-down Time */
-extern struct tm *posix_gmtime(const time_t *timer);
 extern struct tm *posix_gmtime_r(const time_t *restrict timer,
     struct tm *restrict result);
@@ -130,5 +129,4 @@
 	#define difftime posix_difftime
 
-	#define gmtime posix_gmtime
 	#define gmtime_r posix_gmtime_r
 	#define localtime posix_localtime
