Solaris doesn't have the timegm function, so I found a replacement and wedge it into cutils.c.
I found the supplement for timegm in the opensync repository at: http://www.opensync.org/changeset/1769 --- qemu.ORIG/cutils.c 2007-09-16 17:07:49.000000000 -0400 +++ qemu/cutils.c 2007-11-09 14:11:04.005353000 -0500 @@ -81,3 +81,38 @@ *ptr = p; return 1; } + +#ifdef __sun__ +/* + * On solaris no timegm function exists, + * we must implement it here + */ +time_t timegm(struct tm *t) +{ + time_t tl, tb; + struct tm *tg; + + tl = mktime (t); + if (tl == -1) + { + t->tm_hour--; + tl = mktime (t); + if (tl == -1) + return -1; /* can't deal with output from strptime */ + tl += 3600; + } + tg = gmtime (&tl); + tg->tm_isdst = 0; + tb = mktime (tg); + if (tb == -1) + { + tg->tm_hour--; + tb = mktime (tg); + if (tb == -1) + return -1; /* can't deal with output from gmtime */ + tb += 3600; + } + return (tl - (tb - tl)); +} +#endif +