Yocto Project Discussions
 help / color / mirror / Atom feed
From: "Andr? Draszik" <git@andred.net>
To: yocto@yoctoproject.org
Subject: [yocto][meta-gplv2][PATCH 1/2] diffutils: fix build with 64bit time_t on 32bit arches
Date: Wed,  8 Jan 2020 15:07:57 +0000	[thread overview]
Message-ID: <20200108150758.13856-1-git@andred.net> (raw)

See included patch.

Signed-off-by: André Draszik <git@andred.net>
---
 ...ilation-with-64bit-time_t-on-32bit-a.patch | 46 +++++++++++++++++++
 recipes-extended/diffutils/diffutils_2.8.1.bb |  1 +
 2 files changed, 47 insertions(+)
 create mode 100644 recipes-extended/diffutils/diffutils-2.8.1/0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch

diff --git a/recipes-extended/diffutils/diffutils-2.8.1/0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch b/recipes-extended/diffutils/diffutils-2.8.1/0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch
new file mode 100644
index 0000000..a8fcde0
--- /dev/null
+++ b/recipes-extended/diffutils/diffutils-2.8.1/0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch
@@ -0,0 +1,46 @@
+From 07c75310fecbaec62a24a3ee98b4209e1bf9ff62 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Draszik?= <git@andred.net>
+Date: Mon, 6 Jan 2020 13:31:50 +0000
+Subject: [PATCH] context: fix compilation with 64bit time_t on 32bit arches
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+In file included from ../../diffutils-2.8.1/src/diff.h:23,
+                 from ../../diffutils-2.8.1/src/context.c:23:
+../../diffutils-2.8.1/src/context.c: In function 'print_context_label':
+../../diffutils-2.8.1/src/system.h:41:52: error: size of array 'a' is negative
+   41 | #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; }
+      |                                                    ^
+../../diffutils-2.8.1/src/context.c:65:4: note: in expansion of macro 'verify'
+   65 |    verify (info_preserved, sizeof inf->stat.st_mtime <= sizeof sec);
+      |    ^~~~~~
+
+struct stat::st_mtime is a time_t and will not fit into a
+long (when 64bit time_t has been requested on a 32bit machine).
+
+Signed-off-by: André Draszik <git@andred.net>
+Upstream-Status: Inappropriate [fixing an old version]
+---
+ src/context.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/context.c b/src/context.c
+index 18d7023..d41efde 100644
+--- a/src/context.c
++++ b/src/context.c
+@@ -61,9 +61,9 @@ print_context_label (char const *mark,
+       int nsec = TIMESPEC_NS (inf->stat.st_mtim);
+       if (! (tm && nstrftime (buf, sizeof buf, time_format, tm, 0, nsec)))
+ 	{
+-	  long sec = inf->stat.st_mtime;
++	  time_t sec = inf->stat.st_mtime;
+ 	  verify (info_preserved, sizeof inf->stat.st_mtime <= sizeof sec);
+-	  sprintf (buf, "%ld.%.9d", sec, nsec);
++	  sprintf (buf, "%lld.%.9d", (long long) sec, nsec);
+ 	}
+       fprintf (outfile, "%s %s\t%s\n", mark, inf->name, buf);
+     }
+-- 
+2.23.0.rc1
+
diff --git a/recipes-extended/diffutils/diffutils_2.8.1.bb b/recipes-extended/diffutils/diffutils_2.8.1.bb
index 5a71c94..4aad28f 100644
--- a/recipes-extended/diffutils/diffutils_2.8.1.bb
+++ b/recipes-extended/diffutils/diffutils_2.8.1.bb
@@ -10,6 +10,7 @@ SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.gz \
            file://fix_gcc6.patch \
            file://0001-Make-it-build-with-compile-time-hardening-enabled.patch \
            file://0002-included-libc-use-mempcpy-instead-of.patch \
+           file://0003-context-fix-compilation-with-64bit-time_t-on-32bit-a.patch \
            "
 
 SRC_URI[md5sum] = "71f9c5ae19b60608f6c7f162da86a428"
-- 
2.23.0.rc1


             reply	other threads:[~2020-01-08 15:08 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-08 15:07 Andr? Draszik [this message]
2020-01-08 15:07 ` [yocto][meta-gplv2][PATCH 2/2] diffutils: musl has working malloc() and realloc() Andr? Draszik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200108150758.13856-1-git@andred.net \
    --to=git@andred.net \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox