Subject: Re: newlock2 and binary compatibility
To: Martijn van Buul <firstname.lastname@example.org>
From: Quentin Garnier <email@example.com>
Date: 03/02/2007 11:32:19
Content-Type: text/plain; charset=us-ascii
On Fri, Mar 02, 2007 at 08:47:43AM +0000, Martijn van Buul wrote:
> Is a "true" solution actually possible? I don't know the old scheduler
It'd be very hard.
> activation syscall interface nor the newlock2 one well enough to figure o=
> if emulation would be feasible, but it would be nice of something could
> be done.
Sure, it'd be nice. Breaking binary compatibility is not a pleasant
thing to do, especially when you consider the history NetBSD has in that
respect, but it's an effort nobody could afford so far, because SA is
very complex and the implementation relied on behaviours of the kernel
that the newlock2 branch's point was precisely to get rid of.
Anyone is welcome to have a try at that, though, it'd make a lot of
people happy, but it is _not_ a simple task.
>  Yes, I am aware that I'm probably stressing the compat32 stuff too=20
> much, but it's worth the effort. So far, it works surprisingly well,
> after I removed /etc/ld.so.conf in the chroot.
Actually, you don't want to do that, because it means you never use the
FPU. The way sysctl emulation is done prevents COMPAT_NETBSD32 from
exposing a node the native tree doesn't have, so you don't get
machdep.fpu_present. One solution could be to define it on amd64 (and
of course wire it to 1), but I don't really like that.
Anyway, you should just change ld.so.conf so that the sysctl that is
being tested is something the netbsd32 tree exposes, like
COMPAT_NETBSD32 should just work to compile packages. The problems
are mount(2) and device major numbers, both of which don't show up in
Quentin Garnier - firstname.lastname@example.org - cube@NetBSD.org
"You could have made it, spitting out benchmarks
Owe it to yourself not to fail"
Amplifico, Spitting Out Benchmarks, Hometakes Vol. 2, 2005.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (NetBSD)
-----END PGP SIGNATURE-----