svn commit: r268137 - head/sys/sys
Hans Petter Selasky
hps at selasky.org
Fri Jun 19 13:40:45 UTC 2015
On 06/19/15 14:54, David Chisnall wrote:
> I definitely know of people building out-of-ports programs on FreeBSD whose code you have just broken (including myself,
> though I do Objective-C stuff on 10, so haven’t yet encountered the
breakage).
Hi David,
r268137 has been in 11-current for a long time (11 months) and was
MFC'ed to 10-stable not long ago. Multiple systems are defining __weak
for C and C++ :
Linux:
> include/linux/compiler-gcc.h:
#define __weak __attribute__((weak))
NetBSD:
> sys/cdefs_elf.h
#define __weak __attribute__((__weak__))
FreeBSD:
> sys/cdefs.h
#define __weak __attribute__((__weak__))
__weak is *the* way currently to say __attribute__((__weak__)) in C and
C++ cross multiple systems. Are you sure you want to change that?
I understand that including "sys/cdefs.h" breaks objective C-code in the
kernel, but we don't have any such code, do we?
In userspace, why is objective C-code including "sys/cdefs.h"? Is this
perhaps a mistake in another header file which indirectly includes
"sys/cdefs.h" when it shouldn't?
> Portable code should not rely on anything in cdefs.h.
Right - can you explain why it is ending up in your ObjC code?
And you are certain this is the change causing your build breakage?
https://svnweb.freebsd.org/base?view=revision&revision=283326
Hope you bear with me, I just don't want to rush a fix.
--HPS
More information about the svn-src-all
mailing list