gnustep-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Compiling GNUstep to use the objective-c 2.0 runtime


From: Thomas Davie
Subject: Compiling GNUstep to use the objective-c 2.0 runtime
Date: Fri, 18 Jun 2010 23:13:57 +0100

Hi,

I'm in the process of trying to compile a project that for various reasons uses both properties (easily removed), and blocks (not so easily).  Because of this, I've been trying to get GNUstep built using clang, and linking against the GNUstep objective-c runtime.  Unfortunately, I'm having some problems compiling the Foundation libraries.

I have two versions of clang at my disposal:
clang 1.1 – provided from the ubuntu package.
clang 2.0 – compiled from svn a day ago.
I can probably manage to compile some version in between if it's needed.

Both versions of clang seem to struggle when compiling GSFormat.m, though in different ways.  Clang 1.1 seems to produce assembly with lots of duplicated symbols[1], and as such fails like this:
 Compiling file GSFormat.m ...
/tmp/cc-FBx8Ea.s: Assembler messages:
/tmp/cc-FBx8Ea.s:1222: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:1277: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:1281: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:1284: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:1820: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2214: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2609: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2635: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2677: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2720: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2781: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:2839: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:3078: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
/tmp/cc-FBx8Ea.s:3255: Error: symbol `.LBA15_GSPrivateFormat_' is already defined
clang: error: assembler command failed with exit code 1 (use -v to see invocation)
make[4]: *** [obj/libgnustep-base.obj/GSFormat.m.o] Error 1
Clang 2.0 by comparison, seems to produce assembly[2] that doesn't contain duplicate symbols, but unfortunately doesn't terminate compiling this file.

I'd really appreciate any help getting past this point.  If it comes to it, I'll have a go at reimplementing GSPrivateFormat with fewer goto/labels, but trying to match the semantics of the existing code will be tricky at best, and outright bugridden at worst.

[1] http://pastebin.com/1kKALw0f – output of clang -S with clang1.1
[2] http://pastebin.com/cyr3AAqN – output of clang -S with clang2.0

Thanks

--

Thomas Davie
iPhone Developer
Hunted Cow Studios Ltd.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]