Commit e3bbe1fa authored by John Stultz's avatar John Stultz Committed by Marge Bot
Browse files

etnaviv: Avoid shift overflow



Building with AOSP I'm seeing:

external/mesa3d/src/gallium/drivers/etnaviv/etnaviv_screen.c:245:31: error: signed shift result (0x100000000) requires 34 bits to represent, but 'int' only has 32 bits [-Werror,-Wshift-overflow]
         system_memory = 4096 << 20;

system_memory is a uint_64t, so this patch addresses the issue
by casting 4096 to a unint_64t before the shift is done.
Reviewed-by: Christian Gmeiner's avatarChristian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: John Stultz's avatarJohn Stultz <john.stultz@linaro.org>
Part-of: <mesa/mesa!4175>
parent 511c6408
...@@ -243,7 +243,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param) ...@@ -243,7 +243,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
uint64_t system_memory; uint64_t system_memory;
if (!os_get_total_physical_memory(&system_memory)) if (!os_get_total_physical_memory(&system_memory))
system_memory = 4096 << 20; system_memory = (uint64_t)4096 << 20;
return MIN2(system_memory / 32, 64 * 1024 * 1024); return MIN2(system_memory / 32, 64 * 1024 * 1024);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment