|
From: | David Chisnall |
Subject: | Re: newbee question |
Date: | Sat, 2 Aug 2008 12:49:16 +0100 |
On 2 Aug 2008, at 12:14, hns@computer.org wrote:
1) Someone at Apple, whose name escapes me, is backporting their front-end changes to GNU GCC. This will add all of the features that don't require runtime support (properties and so on) to GNU GCC.Here is a link to the patches Apple has applied to gcc-4.2: http://www.opensource.apple.com/darwinsource/10.5.4/gcc_42-5531/ (also go to the parent directory, there are more patches to gcc)
The state of ObjC in GCC is a bit of a mess. First, NeXT tried to create a closed shared library with ObjC support in it, which end users would link against GCC. The FSF forced them to open it, and so they delivered a big blob of ugly code to the GCC team, which only supported the NeXT runtime.
The GNU guys (I think possibly RMS at this time) wrote a new ObjC runtime, and scattered a few #ifdefs into the GCC code to support it. The NeXT guys never imported these changes.
The Apple branch of GCC does not and never has had support for the GNU runtime. It's not just a matter of applying patches from the Apple branch to the GNU branch - you need to see what they did and then do the same thing in mainline GCC. It's made worse by the paranoid mindset of GCC devs (in and outside NeXT) in the late '90s refusing to implement layering in case people stole their code, so there is no separation between runtime-specific and runtime-agnostic portions.
Someone in Apple's GCC team was working on back-porting some of their changes to GNU GCC, but I don't remember who it was. They released patches to support properties, but I don't think these have made it into mainline yet.
David
[Prev in Thread] | Current Thread | [Next in Thread] |