test: Fix unittest cprintftime's build.
authorGabe Black <gabeblack@google.com>
Tue, 1 Sep 2020 03:52:24 +0000 (20:52 -0700)
committerGabe Black <gabeblack@google.com>
Tue, 1 Sep 2020 21:53:42 +0000 (21:53 +0000)
This test, which measures the performance of cprintf vs. sprintf, was
missing a couple of includes which were needed for the alarm() and
signal() functions, as well as the SIGALRM constant.

Also, it was using %#x to print the value of a pointer which gcc
complained about when compiling sprintf. This is fixed by changing that
format specifier to %p, the specifier to use when printing pointers.
Apparently either the implicit conversion to an integer value (which %#x
expects) or the size of the type it was converted to weren't good enough
for gcc any more.

Change-Id: I8eca3479bef2c2fa79f8ef4881bb3ff35d7c54ca
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/33897
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/unittest/cprintftime.cc

index 4ad347d1b0a8c8553a4dcbcbc9d5564d4bd6a52b..f8f14926bdb9138bd6b21516898c09d7ebbf635b 100644 (file)
@@ -26,6 +26,9 @@
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <unistd.h>
+
+#include <csignal>
 #include <iostream>
 #include <list>
 #include <sstream>
@@ -62,7 +65,7 @@ main()
     while (!stop) {
         stringstream result;
         ccprintf(result,
-                 "this is a %s of %d iterations %3.2f %#x\n",
+                 "this is a %s of %d iterations %3.2f %p\n",
                  "test", iterations, 51.934, &result);
 
         iterations += 1;
@@ -75,7 +78,7 @@ main()
     while (!stop) {
         char result[1024];
         sprintf(result,
-                 "this is a %s of %d iterations %3.2f %#x\n",
+                 "this is a %s of %d iterations %3.2f %p\n",
                  "test", iterations, 51.934, &result);
 
         iterations += 1;