Subject: Re: sa_register() in chroot: regression since newlock2 merge
To: haad <haaaad@gmail.com>
From: David Laight <david@l8s.co.uk>
List: current-users
Date: 04/26/2007 18:17:28
On Thu, Apr 26, 2007 at 07:04:05PM +0200, haad wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Jukka Salmi wrote:
> > Hi,
> > 
> > since newlock2 was merged to HEAD building the OpenLDAP client package
> > (and probably others) from pkgsrc in a netbsd-3 chroot environment on
> > a -current NetBSD system fails because the configure script can't
> > "locate usable POSIX Threads". The relevant configure code snippet of
> > the failing test program is attached.
> > 
> > $ gcc -g -O2 -lpthread -o conftest2 conftest2.c
> > $ ktrace ./conftest2
> > Bad system call (core dumped)
> 
> yes binary compatibility between netbsd-3 and HEAD was broken after newlock2
> branch merge.
> 
> > Is it possible to get this working again, as it did with prae-newlock2
> > kernels? Some compatibility option maybe?
> 
> yes if you write some patches :) which implement backward compatible M:N posix
> thread library.

This has been discussed before, you need to do 2 things:
1) put the libpthread from current into the chroot
2) arrange for some shared library to contain the system call hooks for the
   new system calls.

Since the pthread library interface is unchanged it doesn't matter which
is present on the build system.

	David

-- 
David Laight: david@l8s.co.uk