From owner-freebsd-current@FreeBSD.ORG Sat Sep 20 18:57:29 2003 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 A7A8216A4B3; Sat, 20 Sep 2003 18:57:29 -0700 (PDT) Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 97A0C43FEC; Sat, 20 Sep 2003 18:57:26 -0700 (PDT) (envelope-from jb@cimlogic.com.au) Received: from freebsd1.cimlogic.com.au (localhost [127.0.0.1]) by cimlogic.com.au (8.12.9/8.12.9) with ESMTP id h8L1xTvl031136; Sun, 21 Sep 2003 11:59:29 +1000 (EST) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by freebsd1.cimlogic.com.au (8.12.9/8.12.9/Submit) id h8L1xR3v031135; Sun, 21 Sep 2003 11:59:27 +1000 (EST) Date: Sun, 21 Sep 2003 11:59:27 +1000 From: John Birrell To: "M. Warner Losh" Message-ID: <20030921015927.GA28195@freebsd1.cimlogic.com.au> References: <20030920.164621.68039520.imp@bsdimp.com> <20030920.190533.63048335.imp@bsdimp.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030920.190533.63048335.imp@bsdimp.com> User-Agent: Mutt/1.4.1i cc: deischen@freebsd.org cc: h@schmalzbauer.de cc: current@freebsd.org Subject: Re: ports and -current 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: Sun, 21 Sep 2003 01:57:29 -0000 On Sat, Sep 20, 2003 at 07:05:33PM -0600, M. Warner Losh wrote: > Why does -pthread necessarily force selection of one specific > threading library? All it means is that it is that the program uses > posix threads, at least traditionally. How FreeBSD causes that to > happen is an interesting implementation detail for some, but irrelvant > for most ports. Couldn't -pthread be made to give the user the > default threading package, and for those that matter a more specific > one can be specified? This subject *has* been discussed both within FreeBSD and with the GCC maintainers. I think that the consensus from those who chose to participate in that discussion was that -pthread would be a noop on FreeBSD. > It is insane to have FreeBSD be different than all other systems for > this trivial reason. Why fix everthing in the world when allowing > -pthread to be a noop would solve the problem? Seems like we're being > overly picky for no real gain. I guess I just don't understand. Having -pthread as a noop doesn't fix the ports breakage. For years ports have worked on the basis that libc_r was linked to get user-space threads *instead* of libc. This was the result of certain people in the FreeBSD developer community not wanting thread stubs in libc. Since libc was linked by default (unless -nostdlib was specified), it was necessary to have gcc know to use libc_r instead. That is why the -pthread argument was added. FWIW, Linux and the other BSDs didn't have a -pthread argument back then. Now that libc has thread stubs in libc (in current), there is no longer any need to have gcc know about any of the thread libraries. That's a good thing IMO. The FSF wants GCC to have a -pthread argument on all platforms and they are happy to have it as a noop. I doubt that there would ever be a good time to make this change. The fact that 4.9 has been delayed is making the problem seem worse because people can't commit fixes to the tree. While 4.9 is delayed (due to the PAE instability which never should have been allowed), the ports tree should be unlocked. The fixes are simple. Make them and move on. -- John Birrell