]> code.ossystems Code Review - openembedded-core.git/commitdiff
ltp: Fix ltp-pan crash on 32bit arches using 64bit time_t
authorKhem Raj <raj.khem@gmail.com>
Mon, 21 Dec 2020 06:18:01 +0000 (22:18 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 21 Dec 2020 22:29:08 +0000 (22:29 +0000)
ltp-pan crashes on riscv32/musl due to shorter width assigned to time_t
in printf format

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/ltp/ltp/0001-ltp-pan-Use-long-long-int-to-print-time_t.patch [new file with mode: 0644]
meta/recipes-extended/ltp/ltp_20200930.bb

diff --git a/meta/recipes-extended/ltp/ltp/0001-ltp-pan-Use-long-long-int-to-print-time_t.patch b/meta/recipes-extended/ltp/ltp/0001-ltp-pan-Use-long-long-int-to-print-time_t.patch
new file mode 100644 (file)
index 0000000..381ac41
--- /dev/null
@@ -0,0 +1,33 @@
+From 6c2085badea7b461245837c452a0d3d8a8c2afff Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 20 Dec 2020 22:09:28 -0800
+Subject: [PATCH] ltp-pan: Use long long int to print time_t
+
+Some newer 32bit architectures ( e.g. riscv32 ) uses 64bit time_t so
+using %ld is not sufficient to print time_t, this also fixes a crash in
+ltp-pan on riscv32
+
+Upstream-Status: Submitted [https://patchwork.ozlabs.org/project/ltp/patch/20201221061415.2540216-1-raj.khem@gmail.com/]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ pan/ltp-pan.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pan/ltp-pan.c b/pan/ltp-pan.c
+index 8b9fbe5594..54b7cb8f26 100644
+--- a/pan/ltp-pan.c
++++ b/pan/ltp-pan.c
+@@ -1389,8 +1389,8 @@ static void write_test_start(struct tag_pgrp *running, int no_kmsg)
+       if (!strcmp(reporttype, "rts")) {
+               printf
+-                  ("%s\ntag=%s stime=%ld\ncmdline=\"%s\"\ncontacts=\"%s\"\nanalysis=%s\n%s\n",
+-                   "<<<test_start>>>", running->cmd->name, running->mystime,
++                  ("%s\ntag=%s stime=%lld\ncmdline=\"%s\"\ncontacts=\"%s\"\nanalysis=%s\n%s\n",
++                   "<<<test_start>>>", running->cmd->name, (long long)running->mystime,
+                    running->cmd->cmdline, "", "exit", "<<<test_output>>>");
+       }
+       fflush(stdout);
+-- 
+2.29.2
+
index 7acf15b360996e9b584b3038222940d2e41ed4eb..e3c49fbf532f4494e4f9df391e57cfd2b963aac5 100644 (file)
@@ -34,6 +34,7 @@ SRC_URI = "git://github.com/linux-test-project/ltp.git \
            file://0007-Fix-test_proc_kill-hanging.patch \
            file://0001-Add-more-musl-exclusions.patch \
            file://0001-Remove-OOM-tests-from-runtest-mm.patch \
+           file://0001-ltp-pan-Use-long-long-int-to-print-time_t.patch \
            "
 
 S = "${WORKDIR}/git"