From: Christophe R. <cs...@ca...> - 2004-04-08 12:22:52
|
"Perry E. Metzger" <pe...@pi...> writes: > These patches make sbcl come up successfully under NetBSD 2.0 and above. I've committed most of this to the NetBSD branch (-r netbsd_branch). Could you check that that branch builds for you on NetBSD? There remain one or two things to get done before merging on to HEAD: firstly, > +for NetBSD: > + NetBSD 2.0 and above are required because of the lack of needed > + signal APIs in NetBSD 1.6 and earlier. Can you enforce this by a uname() check in netbsd_init()? It would be good to give the user as informative an error message as possible. > + /* NetBSD counts mmap()ed space against the process's data size limit, > + * so yank it up. This might be a nasty thing to do? */ > + getrlimit (RLIMIT_DATA, &rl); > + rl.rlim_cur = 1073741824; What is this number? I mean apart from 0x40000000... :-) Is it calculated from somewhere, or just SOMETHING_BIG? > +#ifdef LISP_FEATURE_SB_THREAD > static lispobj free_pages_lock=0; > +#endif I haven't merged this (and similar), because I'm fairly sure the right answer is to define a null version in x86-arch.h for non-threaded builds, leaving the logic in the main body of the code untouched. If the presence of our spinlock implementation is causing you a problem on NetBSD, adding definitions static inline void get_spinlock(lispobj *word, int value) { *word = value; } static inline void get_spinlock(lispobj *word, int value) { *word = 0; } or similar, conditional on ! LISP_FEATURE_SB_THREAD, is probably the way to go. > /* other miscellaneous things */ > +/* FIXME: NetBSD needs to get fixed here too PEM 2004-03-27 */ > #if defined(SVR4) || defined(__FreeBSD__) > F(setpgid) > F(getpgid) What does this comment mean? Cheers, Christophe -- http://www-jcsu.jesus.cam.ac.uk/~csr21/ +44 1223 510 299/+44 7729 383 757 (set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b))) (defvar b "~&Just another Lisp hacker~%") (pprint #36rJesusCollegeCambridge) |