1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-08 17:19:20 +00:00

elfutils: Make 64bit time_t fix generic

Apply it always since more than x32 needs it

(From OE-Core rev: faf5034876c319aa51d6b3e21265d0984566bb9e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2021-04-21 12:28:17 -07:00
committed by Richard Purdie
parent 2cd3d10d36
commit 972888296c
2 changed files with 24 additions and 12 deletions
@@ -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
@@ -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