This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libobjc/49883] clang + gcc 4.6 runtime = broken
- From: "nicola at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 09 Oct 2011 10:29:54 +0000
- Subject: [Bug libobjc/49883] clang + gcc 4.6 runtime = broken
- Auto-submitted: auto-generated
- References: <bug-49883-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49883
--- Comment #2 from Nicola Pero <nicola at gcc dot gnu.org> 2011-10-09 10:29:54 UTC ---
Author: nicola
Date: Sun Oct 9 10:29:50 2011
New Revision: 179721
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179721
Log:
In libobjc/:
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
PR libobjc/49883
* init.c (__objc_exec_class): Work around a bug in clang's code
generation. Clang sets the class->info field to values different
from 0x1 or 0x2 (the only allowed values in the traditional GNU
Objective-C runtime ABI) to store some additional information, but
this breaks backwards compatibility. Wipe out all the bits in the
fields other than the first two upon loading a class.
2011-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
* class.c (objc_lookup_class): Added back for compatibility with
clang which seems to emit calls to it.
Modified:
trunk/libobjc/ChangeLog
trunk/libobjc/class.c
trunk/libobjc/init.c