summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2021-04-21 12:28:17 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-04-23 10:10:43 +0100
commitfaf5034876c319aa51d6b3e21265d0984566bb9e (patch)
tree68d2be6835e0d758a566f133ca54fec37300be89
parentfdfe429dad9b9ab685caf3a61876f7a23453aedd (diff)
downloadopenembedded-core-contrib-faf5034876c319aa51d6b3e21265d0984566bb9e.tar.gz
elfutils: Make 64bit time_t fix generic
Apply it always since more than x32 needs it Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.183.bb4
-rw-r--r--meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch32
2 files changed, 24 insertions, 12 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.183.bb b/meta/recipes-devtools/elfutils/elfutils_0.183.bb
index 085b429540..be77730945 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.183.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.183.bb
@@ -22,6 +22,7 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
file://ptest.patch \
file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
file://0001-add-support-for-ipkg-to-debuginfod.cxx.patch \
+ file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \
"
SRC_URI_append_libc-musl = " \
file://0002-musl-libs.patch \
@@ -29,9 +30,6 @@ SRC_URI_append_libc-musl = " \
file://0004-Fix-error-on-musl.patch \
file://0015-config-eu.am-do-not-use-Werror.patch \
"
-SRC_URI_append_x86-x32 = " \
- file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \
- "
SRC_URI[sha256sum] = "c3637c208d309d58714a51e61e63f1958808fead882e9b607506a29e5474f2c5"
inherit autotools gettext ptest pkgconfig
diff --git a/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch b/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch
index a2737b9fe6..5bd6ba961c 100644
--- a/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch
+++ b/meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch
@@ -1,16 +1,27 @@
-From f4231bfbb61cd4962638766a7072f4295ed39150 Mon Sep 17 00:00:00 2001
+From 14dfe84943b8f9e6f504536d8735ef6356210b40 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Mon, 19 Apr 2021 23:29:10 +0200
-Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on x32
+Subject: [PATCH] debuginfod/debuginfod-client.c: correct string format on
+ 32bit arches with 64bit time_t
+
+Use intmax_t to print time_t
+
+time_t is platform dependent and some of architectures e.g.
+x32, riscv32, arc use 64bit time_t even while they are 32bit
+architectures, therefore directly using integer printf formats will not
+work portably, use intmax_t to typecast time_t into printf family of
+functions
+
+Upstream-Status: Pending
-Upstream-Status: Inappropriate [x32-specific; few, if any people care about it anymore]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
debuginfod/debuginfod-client.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
-index de26af5..a840f23 100644
+index de26af5..39e28f2 100644
--- a/debuginfod/debuginfod-client.c
+++ b/debuginfod/debuginfod-client.c
@@ -229,7 +229,7 @@ debuginfod_init_cache (char *cache_path, char *interval_path, char *maxage_path)
@@ -18,7 +29,7 @@ index de26af5..a840f23 100644
return -errno;
- if (dprintf(fd, "%ld", cache_clean_default_interval_s) < 0)
-+ if (dprintf(fd, "%lld", cache_clean_default_interval_s) < 0)
++ if (dprintf(fd, "%jd", (intmax_t)cache_clean_default_interval_s) < 0)
return -errno;
/* init max age config file. */
@@ -27,7 +38,7 @@ index de26af5..a840f23 100644
return -errno;
- if (dprintf(fd, "%ld", cache_default_max_unused_age_s) < 0)
-+ if (dprintf(fd, "%lld", cache_default_max_unused_age_s) < 0)
++ if (dprintf(fd, "%jd", (intmax_t)cache_default_max_unused_age_s) < 0)
return -errno;
return 0;
@@ -36,7 +47,7 @@ index de26af5..a840f23 100644
return -errno;
- int rc = fprintf(interval_file, "%ld", cache_clean_default_interval_s);
-+ int rc = fprintf(interval_file, "%lld", cache_clean_default_interval_s);
++ int rc = fprintf(interval_file, "%jd", (intmax_t)cache_clean_default_interval_s);
fclose(interval_file);
if (rc < 0)
@@ -45,7 +56,7 @@ index de26af5..a840f23 100644
if (interval_file)
{
- if (fscanf(interval_file, "%ld", &clean_interval) != 1)
-+ if (fscanf(interval_file, "%lld", &clean_interval) != 1)
++ if (fscanf(interval_file, "%jd", (intmax_t*)(&clean_interval)) != 1)
clean_interval = cache_clean_default_interval_s;
fclose(interval_file);
}
@@ -54,7 +65,10 @@ index de26af5..a840f23 100644
if (max_unused_file)
{
- if (fscanf(max_unused_file, "%ld", &max_unused_age) != 1)
-+ if (fscanf(max_unused_file, "%lld", &max_unused_age) != 1)
++ if (fscanf(max_unused_file, "%jd", (intmax_t*)(&max_unused_age)) != 1)
max_unused_age = cache_default_max_unused_age_s;
fclose(max_unused_file);
}
+--
+2.31.1
+