From owner-freebsd-current@FreeBSD.ORG Thu Apr 1 06:11:07 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2ED0816A4CE; Thu, 1 Apr 2004 06:11:07 -0800 (PST) Received: from postman.arcor.de (postman2.arcor-online.net [151.189.0.152]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8479843D1D; Thu, 1 Apr 2004 06:11:06 -0800 (PST) (envelope-from eikemeier@fillmore-labs.com) Received: from fillmore.dyndns.org (port-212-202-49-130.reverse.qsc.de [212.202.49.130]) (authenticated bits=0)i31EB4Oj029788 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO); Thu, 1 Apr 2004 16:11:05 +0200 (MEST) Received: from [172.16.0.2] (helo=fillmore-labs.com) by fillmore.dyndns.org with esmtp (Exim 4.31; FreeBSD) id 1B92u9-0002cj-Ej; Thu, 01 Apr 2004 16:11:04 +0200 Message-ID: <406C22D4.90202@fillmore-labs.com> Date: Thu, 01 Apr 2004 16:10:28 +0200 From: Oliver Eikemeier Organization: Fillmore Labs GmbH - http://www.fillmore-labs.com/ MIME-Version: 1.0 To: "Jacques A. Vidrine" References: <1080773331.1956.36.camel@server.mcneil.com> <406BE5A2.8020106@fillmore-labs.com> <20040401124519.GA12985@lum.celabo.org> In-Reply-To: <20040401124519.GA12985@lum.celabo.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit User-Agent: KMail/1.5.9 cc: freebsd-current@FreeBSD.org cc: Sean McNeil Subject: Re: nss_ldap broken X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Apr 2004 14:11:07 -0000 Jacques A. Vidrine wrote: >>I committed a workaround for the OpenLDAP client port, but it seems that we >>have may this problem in other parts of the system too, so a general >>guideline (perhaps with a note in /usr/ports/CHANGES) would be appreciated. >>Or do I overestimate the extend of this issue here? > > I don't know if you overestimate it or not for practical purposes, i.e. > I'm not sure how many applications are actually affected. However, it > makes me quite nervous. There are many uses of `plug-in' APIs that > involve dlopen/dlclose of dynamic objects. So, I also think we should > codify how these cases should be handled. > > I don't care for `the libgcc' hack... using #pragma seems inherently > non-portable. Applications should not need to use anything other than > `#include ' and invoke pthread_* APIs. > > Linking is inherently non-portable already :-) so perhaps requiring ``do > not link threading libraries with objects that do not contain `main''' > isn't such a burden. As mentioned before: it isn't that easy to patch a port so that applications and shared libraries are linked to different libraries. Of course it could be done, but you put a major burden on port maintainers here, and you will introduce errors in the process. Berkeley DB is linked against libpthread for example, so my workaround in OpenLDAP was to be careful what I link with Berkely DB. It looks like this would open a whole can of worms... -Oliver