On Thu, Jan 23, 2020 at 01:09:22PM +0500, ???? ??????? wrote:
> hello,
> 
> I tried to build using cross compiler (arm32 on amd64).  sorry for
> screenshot.
> Willy, do you mean errors like that ?

So for those not seeing the screenshot, it says:
warning: argument 1 range [2147483648, 4294967295] exceeds maximum object
size 2147483647 :

     new->idle_orphan_conns = calloc((unsigned int)global.nbthread, 
sizeof(*new->idle_orphan_conns));

Thus the cast to unsigned int was likely placed there to shut it up
once. Looking at the man page, it says:

       void *calloc(size_t nmemb, size_t size);

size_t is unsigned (unless you're using an older gcc < 2.4 on a unusual
OS). I don't see how it can be said to have a maximum size of 2147483647.

This is exactly the type of stupid warnings that causes us to add casts
that hide real bugs :-/

Could you please try to use (size_t) instead of (unsigned int) ? If it's
enough to shut it up, I'm fine with doing that change. Otherwise we'll
probably get rid of that stupid warning.

Thanks!
Willy

Reply via email to