]> code.ossystems Code Review - openembedded-core.git/commitdiff
elfutils: Make 64bit time_t fix generic
authorKhem Raj <raj.khem@gmail.com>
Wed, 21 Apr 2021 19:28:17 +0000 (12:28 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 23 Apr 2021 09:10:43 +0000 (10:10 +0100)
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>
meta/recipes-devtools/elfutils/elfutils_0.183.bb
meta/recipes-devtools/elfutils/files/0001-debuginfod-debuginfod-client.c-correct-string-format.patch

index 085b429540e6b1dd15af7f4e11479deb9f02b912..be777309450cdbbe974b7a3fc27e50ee52c0123d 100644 (file)
@@ -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
index a2737b9fe60817818c6df9848bc837ac854f357d..5bd6ba961c20d32bdcfeecc0a7c014e47b2be659 100644 (file)
@@ -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
+