Date: Thu, 23 May 2013 14:33:25 GMT From: Olivier Cochard-Labbe <olivier@cochard.me> To: freebsd-gnats-submit@FreeBSD.org Subject: bin/178862: patch tha fix cross-compilation (amd64/i386) of netrate/netreceive Message-ID: <201305231433.r4NEXPcO046025@oldred.FreeBSD.org> Resent-Message-ID: <201305231440.r4NEe0VO038381@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 178862 >Category: bin >Synopsis: patch tha fix cross-compilation (amd64/i386) of netrate/netreceive >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 23 14:40:00 UTC 2013 >Closed-Date: >Last-Modified: >Originator: Olivier Cochard-Labbe >Release: -current >Organization: >Environment: FreeBSD labtop.orange.bsdrp.net 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r250926M: Thu May 23 14:29:46 CEST 2013 root@labtop.orange.bsdrp.net:/usr/obj/usr/src/sys/LAPTOP amd64 >Description: Trying to compile src/tools/tools/netrate/netrceive on amd64 -current works great for compiling amd64 version. But when I tried to compile with target_arch=i386, I've got "netreceive.c:166:42: error: format specifies type 'long' but the argument has type 'time_t' (aka 'int') [-Werror,-Wformat]" here: fprintf(stderr, "start at %ld.%09ld\n", then.tv_sec, then.tv_nsec); With the help of cognet@, here is a patch. >How-To-Repeat: >From a -current amd64, start this compilation: env TARGET=i386 TARGET_ARCH=i386 MACHINE=i386 OSVERSION=901000 UNAME_r=9.1-RELEASE-p1 UNAME_v=9.1-RELEASE-p1 UNAME_p=i386 UNAME_m=i386 make -C /usr/src/tools/tools/netrate/netreceive >Fix: Applying the patch Patch attached with submission follows: --- tools/tools/netrate/netreceive/netreceive.c.orig 2013-05-23 12:00:42.735844141 +0200 +++ tools/tools/netrate/netreceive/netreceive.c 2013-05-23 15:16:31.582033409 +0200 @@ -163,7 +163,7 @@ /* now the parent collects and prints results */ c0 = c1 = bc0 = bc1 = 0; clock_gettime(CLOCK_REALTIME, &then); - fprintf(stderr, "start at %ld.%09ld\n", then.tv_sec, then.tv_nsec); + fprintf(stderr, "start at %jd.%09ld\n", (__intmax_t)then.tv_sec, then.tv_nsec); while (1) { int i, nt = nsock * nthreads; int64_t dn; @@ -185,8 +185,8 @@ pps = (pps * 1000000000) / (delta.tv_sec*1000000000 + delta.tv_nsec + 1); bps = ((bc0 - bc1) * 8000000000) / (delta.tv_sec*1000000000 + delta.tv_nsec + 1); fprintf(stderr, " %9ld pps %8.3f Mbps", (long)pps, .000001*bps); - fprintf(stderr, " - %d pkts in %ld.%09ld ns\n", - (int)dn, delta.tv_sec, delta.tv_nsec); + fprintf(stderr, " - %d pkts in %jd.%09ld ns\n", + (int)dn, (__intmax_t)delta.tv_sec, delta.tv_nsec); c1 = c0; bc1 = bc0; } >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305231433.r4NEXPcO046025>