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

Re: GCC 4.1 now the default GCC version for etch



Henning Makholm <henning@makholm.net> writes:

> Scripsit Falk Hueffner <falk@debian.org>
>> Henning Makholm wrote:
>
>>> Another related bug type that I found lurking in my packages when I
>>> investigated the warnings in this list, is trying to format a size_t
>>> value with a %u or %d format string, which will break if size_t is 64
>>> bits (unless the actual number is small and it is the last argument
>>> and the endianness of the architecture happens to match its stack
>>> growth direction).
>
>> Since any sane ABI pads arguments to word size, this is only a problem
>> on big endian 64-bit architectures (that is, no current release
>> architecture).
>
> Hm, that makes sense. Perhaps I should back out my (clumsy) fixes for
> it, then.

No, the bug remains and should be fixed.

It just doesn't cause crashes or even show any signs at all as long as
there is no overflow. For examle %d for size_t will work only up to
2GiB and then display the wrong values. If all you use are number 0-100
then you will not hit the bug on any debian archtecture.

The next port could be a 64bit big endian system though. It really is
better to fix it now instead of worrying about it again in the future.

MfG
        Goswin



Reply to: