From owner-svn-src-all@FreeBSD.ORG Mon Apr 6 18:24:05 2009 Return-Path: Delivered-To: svn-src-all@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8B2591065747; Mon, 6 Apr 2009 18:24:05 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (ZIM.MIT.EDU [18.95.3.101]) by mx1.freebsd.org (Postfix) with ESMTP id 22CF98FC17; Mon, 6 Apr 2009 18:24:05 +0000 (UTC) (envelope-from das@FreeBSD.ORG) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.3/8.14.2) with ESMTP id n36IOJBe063063; Mon, 6 Apr 2009 14:24:19 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by zim.MIT.EDU (8.14.3/8.14.2/Submit) id n36IOJ1l063062; Mon, 6 Apr 2009 14:24:19 -0400 (EDT) (envelope-from das@FreeBSD.ORG) Date: Mon, 6 Apr 2009 14:24:19 -0400 From: David Schultz To: Peter Schuller Message-ID: <20090406182419.GA62997@zim.MIT.EDU> Mail-Followup-To: Peter Schuller , Vasil Dimov , Coleman Kane , svn-src-head@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Sam Leffler , src-committers@FreeBSD.ORG References: <200903142010.n2EKAESF006945@svn.freebsd.org> <20090320140015.GA17645@hub.freebsd.org> <20090320153405.GA62675@zim.MIT.EDU> <49C3BCD4.4030605@freebsd.org> <1237567495.1993.2.camel@localhost> <20090327063251.GA95057@polejan.hw.v5d.org> <20090406164853.GA75904@hyperion.scode.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090406164853.GA75904@hyperion.scode.org> Cc: src-committers@FreeBSD.ORG, svn-src-all@FreeBSD.ORG, Vasil Dimov , Sam Leffler , svn-src-head@FreeBSD.ORG, Coleman Kane Subject: Re: svn commit: r189828 - in head: include sys/sys X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Apr 2009 18:24:06 -0000 On Mon, Apr 06, 2009, Peter Schuller wrote: > [ pthread_kill() in signal.h conflicting with devel/pth's attempts to hide native pthread] > > > 3. /usr/include/signal.h defines pthread_kill() only if __POSIX_VISIBLE > > or __XSI_VISIBLE is defined. Can someone try to inject > > #undef __POSIX_VISIBLE or #undef __XSI_VISIBLE into pth's pthread.h.in > > to see if this fixes the problem and does not cause other problems? > > The attached patch dropped into the port makes devel/pth and > security/gnupg build for me. > > I'll re-build my full set of ports with the patch and see, but I'm not > really set up to do a global build of all ports. More importantly I > guess is that it doesn't break things on older releases. I'll re-build > my ports on a 7.x system too. > > I'm not the most knowledgable about the various POSIX/XSI > compatibility defines and their expected results, but it seems pretty > dangerous to me to flat-out #undef it. Who knows what else depends on > those being set properly in any given application. > > How about only doing it for a new enough OS release to at least avoid > breaking older releases, and then communicate the problem upstream and > hope for a better fix? As I mentioned in an email to vd@ two weeks ago, the problem is that GNU pth *already* has a bunch of insidious kludges to try to prevent systems headers on various operating systems from declaring symbols it wants to clobber. In particular, it defines _PTHREAD_H, which hides pthread_kill() when pthread_kill() is defined in pthread.h, but not when it is defined in signal.h. The options are to either add yet another insidious kludge to GNU pth such as the one you suggest, or to add a kludge to FreeBSD specifically to support GNU pth in all its brokenness. I agreed to try the latter if the former proved to be impractical.