Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Am 17.08.2010 10:03, schrieb Marco van de Voort: In our previous episode, Sven Barth said: Does anyone know the reason why 64-bit Windows was added as win64 instead of (x86_64-)win32? With Linux it was done the ${platform}-linux way as well. It's afaik microsofts own designation. If that's the only reason then that sounds a bit lame in my opinion... but what's done is done. A pity that I wasn't there when support for Win64 was added :P Thanks for the answer. Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Am 17.08.2010 10:11, schrieb Sven Barth: Am 17.08.2010 10:03, schrieb Marco van de Voort: In our previous episode, Sven Barth said: Does anyone know the reason why 64-bit Windows was added as win64 instead of (x86_64-)win32? With Linux it was done the ${platform}-linux way as well. It's afaik microsofts own designation. If that's the only reason then that sounds a bit lame in my opinion... but what's done is done. Why? It would only cause confuse to name it different than it is officially called. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Am 17.08.2010 10:14, schrieb Florian Klaempfl: Am 17.08.2010 10:11, schrieb Sven Barth: Am 17.08.2010 10:03, schrieb Marco van de Voort: In our previous episode, Sven Barth said: Does anyone know the reason why 64-bit Windows was added as win64 instead of (x86_64-)win32? With Linux it was done the ${platform}-linux way as well. It's afaik microsofts own designation. If that's the only reason then that sounds a bit lame in my opinion... but what's done is done. Why? It would only cause confuse to name it different than it is officially called. Because I consider Win32 and Win64 as one type of operating system. One OS target. Just as Linux is one operating system for all those available platforms. Maybe it would have been better to name the target windows instead of win32 and win64 from the beginning so there would be no confusion regarding this... But that's just my opinion ^^ Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Because I consider Win32 and Win64 as one type of operating system. One OS target. Just as Linux is one operating system for all those available platforms. Maybe it would have been better to name the target windows instead of win32 and win64 from the beginning so there would be no confusion regarding this... In the beginning there was win16 which was really different so it was needed to call the 32 bit api win32. And don't forget, the win64 api has slight differences from the 32 bit api e.g. regarding exception handling. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Am 17.08.2010 11:43, schrieb Florian Klaempfl: And don't forget, the win64 api has slight differences from the 32 bit api e.g. regarding exception handling. The differences are either slight enough to be left to the developer or be considered CPU dependant (and could thus have been moved into $platform-subdirectories like was done with Linux). And from these CPU dependant differences only exception handling is a bigger problem. Normal SEH is considered purely CPU dependant, so no problem here. The vector exception handling approach which came up with 64-bit was also included in the 32-bit systems (but you can only rely on the fact that all 64-bit systems have it). And if you're talking about the new 64-bit only much more complicated exception scheme which uses new sections in the PE file: 1. Also CPU dependant (only on 64-bit systems) 2. FPC isn't even using SEH to its full potential, so why bother... (also it seems to be only really needed to catch exceptions thrown by MS Visual C++ libraries as the older exception scheme (SEH) is still available) But as I said in my past mails: the decision was done already a long time ago and thus I live with it (but I don't need to agree with it :P ). Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
In our previous episode, Sven Barth said: slight differences from the 32 bit api e.g. regarding exception handling. The differences are either slight enough to be left to the developer or be considered CPU dependant (and could thus have been moved into $platform-subdirectories like was done with Linux). And from these CPU dependant differences only exception handling is a bigger problem. Windows is more binary centric than Linux. In Linux every app is linux and then compiled to linux/x86 etc On windows, typically binary files are distributed and win64 bins don't work on win32, so win32win64. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
Am 17.08.2010 12:43, schrieb Marco van de Voort: In our previous episode, Sven Barth said: slight differences from the 32 bit api e.g. regarding exception handling. The differences are either slight enough to be left to the developer or be considered CPU dependant (and could thus have been moved into $platform-subdirectories like was done with Linux). And from these CPU dependant differences only exception handling is a bigger problem. Windows is more binary centric than Linux. In Linux every app is linux and then compiled to linux/x86 etc On windows, typically binary files are distributed and win64 bins don't work on win32, so win32win64. That is a bit unfair now. Comparing binary only applications to source only ones regarding portability. If I write a proprietary application for Linux and distribute it for x86 only it doesn't necessarly run on a x86_64 Linux (at least not on mine, because I don't have the 32 bit libraries installed). Also if I compile my application for x86_64 only than it won't work on x86 Linux. So Linux32 Linux64. Also if I write an application for Windows and distribute its source I can compile it for Windows 32 bit and Windows 64 bit without problems (even if I'd not use Pascal but plain MS C). And even x86 and x86_64 Linux differ in some syscalls, so the Windows API doesn't need to be the exact same on both Platforms (but it is mostly except of some platform specific pieces). But you know what? Let's stop this discussion, before it turns into a usual flamewar thread. I've said my opinion and that I'd have done that different, but I can't change it (without forking FPC) and I'll still continue to use FPC happily ever after no matter whether we have seperate win32/64/128 targets or a single windows one. Regards, Sven ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal
Re: Reason for Win64 instead of Win32 [Was: Re: [fpc-pascal] windows 32bit cross to 64 ?]
In our previous episode, Sven Barth said: On windows, typically binary files are distributed and win64 bins don't work on win32, so win32win64. That is a bit unfair now. Comparing binary only applications to source only ones regarding portability. There is nothing about fairness or not here. It is simply a bit different tradition in what is considered compatible, bianry or source. If I write a proprietary application for Linux and distribute it for x86 only it doesn't necessarly run on a x86_64 Linux (at least not on mine, because I don't have the 32 bit libraries installed) True, but apps enter distributions mostly as source. Some projects don't even release binaries themselves. Also if I compile my application for x86_64 only than it won't work on x86 Linux. So Linux32 Linux64. On the binary level, true. But the point is that it is the tradition on the free unices (and even a bit Unix in general) to focus on the source. The whole system is defined in C language level terms. ___ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal