Re: compile/link problems on linux/ppc

2010-04-29 Thread Riccardo Mottola

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

2010-04-26 Thread Fred Kiefer
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

2010-04-26 Thread Markus Hitter


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

2010-04-26 Thread Wolfgang Lux

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

2010-04-25 Thread Riccardo Mottola

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