fix omission of dtv setup in static linked programs on TLS variant I archs
[musl] / src / time / tzset.c
index b96ea15..7e836c2 100644 (file)
@@ -21,8 +21,8 @@ static char dst_name[TZNAME_MAX+1];
 
 /* all elements are zero-based */
 static struct rule {
 
 /* all elements are zero-based */
 static struct rule {
-       char month;
-       char week;
+       signed char month;
+       signed char week;
        short day;
        int time;
 } __dst_start, __dst_end;
        short day;
        int time;
 } __dst_start, __dst_end;
@@ -106,12 +106,12 @@ void tzset(void)
 
 void __tzset(void)
 {
 
 void __tzset(void)
 {
-       static int lock, init;
+       static int lock[2], init;
        if (init) return;
        if (init) return;
-       LOCK(&lock);
+       LOCK(lock);
        if (!init) tzset();
        init=1;
        if (!init) tzset();
        init=1;
-       UNLOCK(&lock);
+       UNLOCK(lock);
 }
 
 static int is_leap(int year)
 }
 
 static int is_leap(int year)