discuss-gnustep
[Top][All Lists]
Advanced

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

GNUstep on 64 bit Windows - Patch for gnustep base submitted


From: Roland Schwingel
Subject: GNUstep on 64 bit Windows - Patch for gnustep base submitted
Date: Mon, 17 Nov 2008 15:23:04 +0100
User-agent: Thunderbird 2.0.0.17 (Windows/20080914)

Hi...

A few days ago, I already submitted the patch for gnustep libobjc to run on windows 64bit. Here is now the patch for gnustep-base (I wanted to give a bit more testing)

The patch for gnustep-base is patch #6677 in savannah's patch manager.
It requires the toolchain from November 15th to be buildt
(there were some fixes/extensions required to get gnustep working.)
If you want to compile on your own get it from: http://mingw-w64.sourceforge.net/

The patch mainly adresses general gcc4.4 issues. Only around 25% of the patch are windows 64bit specific. The whole patch is quite trivial and it should be easy
to be applied. The patch is relative to GNUstep's svn from revision 27063.

With this patch basically everything is working now for 64bit windows, even
we yet haven't done testing for all classes, but most of our code already runs now on windows 64bit. But testing has to continue for a longer time to verify
that EVERYTHING runs fine. I will send new patches as we encounter/fix
new problems.

There is just on thing left which should be done to make GNUstep fully happy
for 64bit windows/systems in general ... I will outline it now briefly:

On linxu/mac 64bit long is defined to be 64bit, too. On Windows this is not
the case. Long stays 32bit, even on 64bit. This and the circumstance that
many methods/classes are using unsigned as storage class for sizes limit
gnustep's ability to eg. pack a 10 GB image into a NSData instance.
+[NSData dataWithBytes:length:] has an unsigned int defined for the length
parameter. This is a problem not only for NSData, for nearly
any class is this a problem! The source for this is the initial OpenStep
spec. There all methods were defined to be of that size. Changing this
implies a break in spec compatibility.

Apple has defined NSInteger/NSUInteger with Mac OS 10.5 and also has
changed the method signatures for ALL classes showing these limitations.
I have seen you have already started to also define these datatypes
and to slowly use it. IMHO the whole gnustep should also be adapted to
use NSInteger/NSUInteger to on one side be method compatible with
Mac OS X and on the other side to fully use the potential of
64bit cpus/operating systems.

Are there any plans/schedules to also do the NSInteger/NSUInteger transistion?
IMHO it should be done the sooner the better.

i.A. Roland Schwingel
--
OneVision Software Entwicklungs GmbH & Co. KG, Dr.-Leo-Ritter-Strasse 9, 93049 Regensburg Sitz der Gesellschaft: Regensburg, Handelsregister: HRA 6744, Amtsgericht Regensburg Persönlich haftende Gesellschafterin: OneVision Software Entwicklungs Verwaltungs GmbH Dr.-Leo-Ritter-Strasse 9, 93049 Regensburg Sitz der Gesellschaft: Regensburg Handelsregister: HRB 8932,
Amtsgericht Regensburg Geschäftsführerin: Manuela Kluger




reply via email to

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