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]

Reply via email to