From owner-svn-src-all@FreeBSD.ORG Fri Jun 19 11:57:04 2015 Return-Path: Delivered-To: svn-src-all@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 380706D7; Fri, 19 Jun 2015 11:57:04 +0000 (UTC) (envelope-from hps@selasky.org) Received: from mail.turbocat.net (mail.turbocat.net [IPv6:2a01:4f8:d16:4514::2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EE3C0F56; Fri, 19 Jun 2015 11:57:03 +0000 (UTC) (envelope-from hps@selasky.org) Received: from laptop015.home.selasky.org (cm-176.74.213.204.customer.telag.net [176.74.213.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.turbocat.net (Postfix) with ESMTPSA id 192BE1FE023; Fri, 19 Jun 2015 13:57:02 +0200 (CEST) Message-ID: <558403C4.4040500@selasky.org> Date: Fri, 19 Jun 2015 13:57:56 +0200 From: Hans Petter Selasky User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: David Chisnall CC: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r268137 - head/sys/sys References: <201407020845.s628jRG5031824@svn.freebsd.org> <5BE3492F-86A0-4CE3-A27C-8DB5EB662C64@FreeBSD.org> <5583F2C9.1030409@selasky.org> <1EB851FC-CA78-4A7B-BE5D-4F050C61A14C@FreeBSD.org> In-Reply-To: <1EB851FC-CA78-4A7B-BE5D-4F050C61A14C@FreeBSD.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 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: Fri, 19 Jun 2015 11:57:04 -0000 On 06/19/15 13:42, David Chisnall wrote: > On 19 Jun 2015, at 11:45, Hans Petter Selasky wrote: >> >> Appearently this will be fixed in GNUSTEP base: >> >> http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/sys/cdefs_elf.h?only_with_tag=MAIN >> >> Is this still an issue? > > It is impossible to fix it in GNUstep Base, because we can’t guarantee that user code doesn’t include system headers after including GNUstep headers (not to mention the fact that GNUstep is not the only Objective-C standard library implementation out there). If the user does, for example: > > #import > #include > > void example() > { > __weak id foo = bar(); > baz(foo); > } > Hi, > Then they will get a compile error no matter what GNUstep’s Foundation.h does. It can’t prevent cdefs.h from redefining __weak to be something different. > Except "#undef __weak" > I’ve just looked at the GNUstep base changelog since that NetBSD commit and there are no relevant changes, so I’ve no idea what the NetBSD people are thinking there. > I think we should have a common cross-BSD solution for the proper definition of __weak, so that user-space applications which use it follow along. Is there a procedure for that? Possibly we should do an exp-run after changing this to ensure that we don't break more than we fix. I'll ask some GNUstep people I know about this. --HPS