Re: compile/link problems on linux/ppc
Hi, It's a duplication of assembler labels in inline assembler code that is used more than once. I have fixed that in svn by using a local label instead of incmodified. Code duplication occurs because GSAtomicIncrement is used in NSIncrementExtraRefCount, which is a public inline function. Thus, the compiler generates the definition of NSIncrementExtraRefCount so that other files can call it. Furthermore the function's code is expanded inline where it is used in NSObject.m, namely in the -retain method. It compiled now and seems to work, thanks. Riccardo ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: compile/link problems on linux/ppc
I had a short look at the code and this error seems to come from the atomic increment functions for PPC. These have been changed the last time by a patch from Eric that I commited. But that was almost a year ago. What I don't understand is how this code could lead to a duplicate definition of this symbol. Could you try to have a look at the intermediate assembler file? Most likely it gets deleted before you may have a look, but you should be able to ask the compiler just to produce this file and stop compilation there. Fred Original-Nachricht Datum: Sun, 25 Apr 2010 22:52:36 +0200 Von: Riccardo Mottola mul...@ngi.it An: GNUstep Developer gnustep-dev@gnu.org Betreff: compile/link problems on linux/ppc Hi, while compiling base on Linux/ppc32 with gcc 4.3.2 I get: Compiling file NSObject.m ... /tmp/ccwBOh8K.s: Assembler messages: /tmp/ccwBOh8K.s:8384: Error: symbol `incmodified' is already defined make[4]: *** [obj/libgnustep-base.obj/NSObject.m.o] Error 1 What could that be? A compiler error? or some problematic code which confuses the linker/compiler? Riccardo ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: compile/link problems on linux/ppc
Am 26.04.2010 um 13:50 schrieb Fred Kiefer: Could you try to have a look at the intermediate assembler file? Most likely it gets deleted before you may have a look, Passing -save-temps to gcc keeps intermediate files from being deleted. Not sure wether you have to avoid the -pipe flag. Markus - - - - - - - - - - - - - - - - - - - Dipl. Ing. Markus Hitter http://www.jump-ing.de/ ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
Re: compile/link problems on linux/ppc
Riccardo Mottola wrote: while compiling base on Linux/ppc32 with gcc 4.3.2 I get: Compiling file NSObject.m ... /tmp/ccwBOh8K.s: Assembler messages: /tmp/ccwBOh8K.s:8384: Error: symbol `incmodified' is already defined make[4]: *** [obj/libgnustep-base.obj/NSObject.m.o] Error 1 What could that be? A compiler error? or some problematic code which confuses the linker/compiler? It's a duplication of assembler labels in inline assembler code that is used more than once. I have fixed that in svn by using a local label instead of incmodified. Fred Kiefer wrote: What I don't understand is how this code could lead to a duplicate definition of this symbol. Could you try to have a look at the intermediate assembler file? Most likely it gets deleted before you may have a look, but you should be able to ask the compiler just to produce this file and stop compilation there. Code duplication occurs because GSAtomicIncrement is used in NSIncrementExtraRefCount, which is a public inline function. Thus, the compiler generates the definition of NSIncrementExtraRefCount so that other files can call it. Furthermore the function's code is expanded inline where it is used in NSObject.m, namely in the -retain method. Wolfgang ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev
compile/link problems on linux/ppc
Hi, while compiling base on Linux/ppc32 with gcc 4.3.2 I get: Compiling file NSObject.m ... /tmp/ccwBOh8K.s: Assembler messages: /tmp/ccwBOh8K.s:8384: Error: symbol `incmodified' is already defined make[4]: *** [obj/libgnustep-base.obj/NSObject.m.o] Error 1 What could that be? A compiler error? or some problematic code which confuses the linker/compiler? Riccardo ___ Gnustep-dev mailing list Gnustep-dev@gnu.org http://lists.gnu.org/mailman/listinfo/gnustep-dev