rework ldso handling of global symbol table for consistency
[musl] / src / time / timegm.c
index 7148fca..b5dae8b 100644 (file)
@@ -2,17 +2,19 @@
 #include "time_impl.h"
 #include <errno.h>
 
+extern const char __gmt[];
+
 time_t timegm(struct tm *tm)
 {
        struct tm new;
        long long t = __tm_to_secs(tm);
        if (__secs_to_tm(t, &new) < 0) {
-               errno = EINVAL;
+               errno = EOVERFLOW;
                return -1;
        }
        *tm = new;
        tm->tm_isdst = 0;
        tm->__tm_gmtoff = 0;
-       tm->__tm_zone = "GMT";
+       tm->__tm_zone = __gmt;
        return t;
 }