On Fri, Jul 05, 2013 at 11:27:44AM +0200, Tom Ivar Helbekkmo wrote:
> Josh Elsasser <josh@...> writes:
> > I had thought that this was a result of the struct timeval/timespec
> > change I made, but based on my reading of the netbsd headers and your
> > grovel output, the alien struct definitions should be correct now. In
> > fact, it's surprising that it worked at all on i386 before.
> It didn't -- I've been running with a local modification to omit testing
> of those particular bits for quite some time:
> --- contrib/sb-posix/posix-tests.lisp 30 Mar 2011 16:48:49 -0000 1.52
> +++ contrib/sb-posix/posix-tests.lisp 15 Feb 2013 21:50:48 -0000
> @@ -657,7 +657,7 @@
> (plusp (sb-posix:time))
> +#-(or win32 netbsd) ; netbsd fails because of 64 bit time_t
> (deftest utimes.1
> (let ((file (merge-pathnames #p"utimes.1" *test-directory*))
> (atime (random (1- (expt 2 31))))
> > However if you'd like to try bisecting between 1.1.8 and 1.1.9, the
> > commit where I changed the struct groveling is
> > 7230b50bc438a7fbebd93866a96f9291e630419f
> Well, that didn't take long to verify. That's exactly where it breaks.
> Checking out to the previous commit (that is, the next one down in the
> output of 'git log') results in a good build; checking out to that one,
> the build crashes as previously shown.
It is mystifying to me that changing struct timeval and timespec to
the correct 64-bit time_t type would break the build on a 64-bit
time_t system. I'll have to set up a netbsd box and take a look at
what's going on.