discuss-gnustep
[Top][All Lists]
Advanced

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

gnustep-base on OpenBSD mips54


From: Sebastian Reitenbach
Subject: gnustep-base on OpenBSD mips54
Date: Thu, 30 Dec 2010 16:27:47 +0100
User-agent: Thunderbird 2.0.0.22 (X11/20090701)

Hi,

I just tried to compile gnustep-base on my OpenBSD mips64, but did not
worked out on OpenBSD -current mips64 platform. I got errors like this:

cc NSObjCRuntime.m -c \
              -MMD -MP -DGNUSTEP_TARGET_DIR=\".\"
-DGNUSTEP_TARGET_CPU=\"mips64\" -DGNUSTEP_TARGET_OS=\"ope
nbsd4.8\" -DGNUSTEP_IS_FLATTENED=\"yes\" -DLIBRARY_COMBO=\"gnu-gnu-gnu\"
-DGNUSTEP_BASE_INTERNAL=1 -Wall -W
declaration-after-statement -Wcast-align -DGNUSTEP
-DGNUSTEP_BASE_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_
LIBRARY=1 -D_REENTRANT -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -O2
-pipe -pthread -mabi=64 -fno-stric
t-aliasing -fgnu-runtime -fgnu-runtime
-fconstant-string-class=NSConstantString -I../Headers/Additions -I..
/Headers -I./. -I. -I/usr/local/include
-I/usr/local/include/avahi-compat-libdns_sd -I/usr/local/include -I
/usr/local/include -I/usr/local/include -I/usr/local/include/libxml2
-I/usr/local/include -I/usr/include -I
/gnustep-base-1.20.1_writes_to_HOME/GNUstep/Library/Headers
-I/usr/local/include \
               -o obj/libgnustep-base.obj/NSObjCRuntime.m.o
cc NSObject.m -c \
              -MMD -MP -DGNUSTEP_TARGET_DIR=\".\"
-DGNUSTEP_TARGET_CPU=\"mips64\" -DGNUSTEP_TARGET_OS=\"ope
nbsd4.8\" -DGNUSTEP_IS_FLATTENED=\"yes\" -DLIBRARY_COMBO=\"gnu-gnu-gnu\"
-DGNUSTEP_BASE_INTERNAL=1 -Wall -W
declaration-after-statement -Wcast-align -DGNUSTEP
-DGNUSTEP_BASE_LIBRARY=1 -DGNU_RUNTIME=1 -DGNUSTEP_BASE_
LIBRARY=1 -D_REENTRANT -fPIC -Wall -DGSWARN -DGSDIAGNOSE -Wno-import -O2
-pipe -pthread -mabi=64 -fno-stric
t-aliasing -fgnu-runtime -fgnu-runtime
-fconstant-string-class=NSConstantString -I../Headers/Additions -I..
/Headers -I./. -I. -I/usr/local/include
-I/usr/local/include/avahi-compat-libdns_sd -I/usr/local/include -I
/usr/local/include -I/usr/local/include -I/usr/local/include/libxml2
-I/usr/local/include -I/usr/include -I
/gnustep-base-1.20.1_writes_to_HOME/GNUstep/Library/Headers
-I/usr/local/include \
               -o obj/libgnustep-base.obj/NSObject.m.o
NSObject.m:2495: warning: cast increases required alignment of target type
NSObject.m:2495: warning: cast increases required alignment of target type
NSObject.m:2495: warning: cast increases required alignment of target type
NSObject.m:2495: warning: cast increases required alignment of target type
{standard input}: Assembler messages:
{standard input}:2928: Error: opcode not supported on this processor:
mips3 (mips2) `daddiu $sp,$sp,32'
{standard input}:2934: Error: opcode not supported on this processor:
mips3 (mips2) `dla $4,.LC2'
{standard input}:2937: Error: opcode not supported on this processor:
mips3 (mips2) `dla $5,_OBJC_SELECTOR_
TABLE+64'
{standard input}:2940: Error: opcode not supported on this processor:
mips3 (mips2) `dla $3,NSInternalIncon
sistencyException'
{standard input}:2942: Error: opcode not supported on this processor:
mips3 (mips2) `dla $5,_OBJC_SELECTOR_
TABLE+64'
{standard input}:2943: Error: opcode not supported on this processor:
mips3 (mips2) `dla $7,_OBJC_INSTANCE_
4'
{standard input}:2959: Error: opcode not supported on this processor:
mips3 (mips2) `daddiu $sp,$sp,32'
{standard input}:2968: Error: opcode not supported on this processor:
mips3 (mips2) `dsll $2,$2,1'
{standard input}:2972: Error: opcode not supported on this processor:
mips3 (mips2) `daddiu $2,$3,1'
{standard input}:2985: Error: opcode not supported on this processor:
mips3 (mips2) `daddiu $sp,$sp,32'
{standard input}:2990: Error: opcode not supported on this processor:
mips3 (mips2) `dla $4,.LC2'
{standard input}:2993: Error: opcode not supported on this processor:
mips3 (mips2) `dla $5,_OBJC_SELECTOR_
TABLE+64'Error: opcode not supported on this processor: mips3 (mips2)
`daddiu $sp,$sp,48'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,-16'
Error: opcode not supported on this processor: mips3 (mips2) `daddu
$28,$28,$25'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$28,$28,%lo(%neg(%gp_rel(_c_NSObject__
conformsToProtocol_)))'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,16'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,-80'
Error: opcode not supported on this processor: mips3 (mips2) `daddu
$28,$28,$25'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$28,$28,%lo(%neg(%gp_rel(_i_NSObject__
forward__)))'
Error: opcode not supported on this processor: mips3 (mips2) `dla $4,.LC4'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+320'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+320'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+448'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+448'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+464'Error: opcode
 not supported on this processor: mips3 (mips2) `daddiu $sp,$sp,-64'
Error: opcode not supported on this processor: mips3 (mips2) `daddu
$28,$28,$25'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$28,$28,%lo(%neg(%gp_rel(_c_NSObject__
instancesRespondToSelector_)))'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,64'
Error: opcode not supported on this processor: mips3 (mips2) `dla $4,.LC2'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+64'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$2,NSInvalidArgumentException'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$5,_OBJC_SELECTOR_TABLE+64'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$7,_OBJC_INSTANCE_9'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,-16'
Error: opcode not supported on this processor: mips3 (mips2) `daddu
$28,$28,$25'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$28,$28,%lo(%neg(%gp_rel(_c_NSObject__
load)))'
Error: opcode not supported on this processor: mips3 (mips2) `dla
$2,objc_create_block_classes_as_subclasse
s_of'
Error: opcode not supported on this processor: mips3 (mips2) `daddiu
$sp,$sp,16'Error: gmake[4]: *** [obj/l
ibgnustep-base.obj/NSObject.m.o] Error 1
gmake[3]: *** [internal-library-all_] Error 2
gmake[2]: *** [libgnustep-base.all.library.variables] Error 2
gmake[1]: gmake: *** [internal-all] Error 2*** Error code 1

Stop in /usr/ports/x11/gnustep/base (line 2232 of
/usr/ports/infrastructure/mk/bsd.port.mk).





Due to the hint of a fellow OpenBSD developer, who suggested attached
patch, I was able to at least compile it, whether everything works as
expected, I'll see next year ;)

The second and third hunk of the patch are those that fixed the problem
for me.

Just defining USE_ATOMIC_BUILDINS  (is the D in BUILD a typo?) did not
helped, then I had errors in the linking stage afterwards, about
unresolved references.

Patch is against latest gnustep-base stable.

Sebastian
$OpenBSD: patch-Source_NSObject_m,v 1.7 2010/08/01 12:52:42 sebastia Exp $

And try to fix building on mips64

--- Source/NSObject.m.orig      Thu Jun 10 12:13:51 2010
+++ Source/NSObject.m   Thu Dec 30 15:06:13 2010
@@ -57,9 +57,11 @@
 #ifdef HAVE_SYS_SIGNAL_H
 #include       <sys/signal.h>
 #endif
-#ifdef __FreeBSD__
+#if __GNUC__ >= 4
+#if defined(__FreeBSD__)
 #include <fenv.h>
 #endif
+#endif // __GNUC__
 
 #import "GSPrivate.h"
 
@@ -318,7 +320,9 @@ GSAtomicIncrement(gsatomic_t X)
   int tmp;
 
   __asm__ __volatile__ (
+#if !defined(__mips64__)
     "   .set  mips2  \n"
+#endif
     "0: ll    %0, %1 \n"
     "   addiu %0, 1  \n"
     "   sc    %0, %1 \n"
@@ -333,7 +337,9 @@ GSAtomicDecrement(gsatomic_t X)
   int tmp;
 
   __asm__ __volatile__ (
+#if !defined(__mips64__)
     "   .set  mips2  \n"
+#endif
     "0: ll    %0, %1 \n"
     "   addiu %0, -1 \n"
     "   sc    %0, %1 \n"

reply via email to

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