Apply by doing:
cd /usr/src/sys
patch -p0 < 014_y2k.patch
--- arch/i386/isa/clock.c.orig Thu Mar 25 00:03:36 1999
+++ arch/i386/isa/clock.c Thu Dec 23 11:07:46 1999
@@ -449,7 +449,7 @@
{
mc_todregs rtclk;
time_t n;
- int sec, min, hr, dom, mon, yr;
+ int sec, min, hr, dom, mon, yr, cent;
int i, days = 0;
int s;
@@ -481,7 +481,18 @@
dom = hexdectodec(rtclk[MC_DOM]);
mon = hexdectodec(rtclk[MC_MONTH]);
yr = hexdectodec(rtclk[MC_YEAR]);
- yr = (yr < 70) ? yr+100 : yr;
+ switch ( cent = hexdectodec(mc146818_read(NULL, NVRAM_CENTURY)) ) {
+ case 19:
+ /* FALLTHROUGH */
+ case 20:
+ yr += cent * 100;
+ break;
+
+ default:
+ (void)printf("WARNING: Your NVRAM doesn't seem to hold "
+ "century\n");
+ yr += ((yr < 70) ? 2000 : 1900);
+ }
n = sec + 60 * min + 3600 * hr;
n += (dom - 1) * 3600 * 24;
@@ -491,7 +502,7 @@
for (i = mon - 2; i >= 0; i--)
days += month[i];
month[1] = 28;
- for (i = 70; i < yr; i++)
+ for (i = 1970; i < yr; i++)
days += yeartoday(i);
n += days * 3600 * 24;
@@ -557,7 +568,10 @@
for (j = 1970, i = yeartoday(j); n >= i; j++, i = yeartoday(j))
n -= i;