On 05-Jan-11 22:55, Bartosz Fenski aka fEnIo wrote: > //start > > These errors are not caused by gcc-4.0 but by compiling on an AMD64 in 64 > bit mode. Applying this patch would break compatability for all 32 bit > systems. So I don't think I can apply it, sorry. For the moment people on > 64 bit systems can compile in 32 bit mode and it should work fine. > > //end > > As I said, I can't check your patch now, but it seems that it only changes > ints to longs and similar stuff so it shouldn't break anything, but if you > could comment it I will be very thankful.
The patch indeed only changes some ints to longs. On 32 bit systems like i386 this should not make any difference because ints and longs are both 32 bits. On the amd64 and ppc64 architectures, an int is 32 bit and a pointer is 64 bit long. So the pointer to int conversions in the code will not work for these architectures. One could argue that the patch should not replace the (int) casts with (long) casts, but with (intptr_t) casts instead, which should be even more portable. However, some older environments do not have 'intptr_t', so 'long' avoids some ugly configure checks for these environments. I filed a few hundred bug reports with similar patches for other packages. Many of those patches have already been applied either by upstream or by the maintainers. Up to now, there were no problems with theses patches reported for any of the Debian architectures. Of course the details of the patches may be discussed, but the casts from pointers to int are definitely not portable and should be changed to something which also works on 64 bit architectures. Thank you for your help! Regards Andreas Jochens -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]