diff options
Diffstat (limited to 'meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch')
-rw-r--r-- | meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch | 32 |
1 files changed, 23 insertions, 9 deletions
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 + |