Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jun 2015 13:57:56 +0200
From:      Hans Petter Selasky <hps@selasky.org>
To:        David Chisnall <theraven@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r268137 - head/sys/sys
Message-ID:  <558403C4.4040500@selasky.org>
In-Reply-To: <1EB851FC-CA78-4A7B-BE5D-4F050C61A14C@FreeBSD.org>
References:  <201407020845.s628jRG5031824@svn.freebsd.org> <5BE3492F-86A0-4CE3-A27C-8DB5EB662C64@FreeBSD.org> <5583F2C9.1030409@selasky.org> <1EB851FC-CA78-4A7B-BE5D-4F050C61A14C@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 06/19/15 13:42, David Chisnall wrote:
> On 19 Jun 2015, at 11:45, Hans Petter Selasky <hps@selasky.org> 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 <Foundation/Foundation.h>
> #include <something_that_includes_cdefs.h>
>
> 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?558403C4.4040500>