From 2f662bf8ab6431e7b8dc8b1e2860fdb4d5f6bea5 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Sun, 14 Jul 2013 20:05:18 +0200 Subject: [PATCH] software/videomixer: fix overflow in memory bandwidth computation --- software/libcompiler-rt/Makefile | 2 +- software/videomixer/main.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/software/libcompiler-rt/Makefile b/software/libcompiler-rt/Makefile index 9033e0ca..4bc33fe4 100644 --- a/software/libcompiler-rt/Makefile +++ b/software/libcompiler-rt/Makefile @@ -5,7 +5,7 @@ CFLAGS+=-D_YUGA_LITTLE_ENDIAN=0 -D_YUGA_BIG_ENDIAN=1 -Wno-missing-prototypes OBJECTS=divsi3.o modsi3.o comparedf2.o negsf2.o negdf2.o addsf3.o subsf3.o mulsf3.o divsf3.o lshrdi3.o muldi3.o divdi3.o ashldi3.o ashrdi3.o udivmoddi4.o \ floatsisf.o floatunsisf.o fixsfsi.o fixunssfsi.o adddf3.o subdf3.o muldf3.o divdf3.o floatsidf.o floatunsidf.o floatdidf.o fixdfsi.o fixunsdfsi.o \ - clzsi2.o ctzsi2.o + clzsi2.o ctzsi2.o udivdi3.o all: libcompiler-rt.a diff --git a/software/videomixer/main.c b/software/videomixer/main.c index 5d6128a4..57fc4026 100644 --- a/software/videomixer/main.c +++ b/software/videomixer/main.c @@ -102,9 +102,9 @@ static void membw_service(void) nr = lasmicon_bandwidth_nreads_read(); nw = lasmicon_bandwidth_nwrites_read(); f = identifier_frequency_read(); - rdb = nr*f >> (24 - 7); - wrb = nw*f >> (24 - 7); - printf("read:%4dMbps write:%4dMbps all:%4dMbps\n", rdb/1000000, wrb/1000000, (rdb + wrb)/1000000); + rdb = (nr*f >> (24 - 7))/1000000ULL; + wrb = (nw*f >> (24 - 7))/1000000ULL; + printf("read:%5dMbps write:%5dMbps all:%5dMbps\n", rdb, wrb, rdb + wrb); } } -- 2.30.2