qemu-native in more recent host distributions needs it, because it uses
glibc from host, not glibc from zeus (and it fails with uninative as well).

I'm seeing this issue with Ubuntu 20.04 and someone reported the same
with Opensuse Tumbleweed in:
https://stackoverflow.com/questions/61367173/core-image-minimal-fails

On Wed, Apr 22, 2020 at 6:37 PM Denys Dmytriyenko <de...@denix.org> wrote:

> Why? glibc on zeus doesn't need it.
>
>
> On Wed, Apr 22, 2020 at 04:38:24PM +0200, Martin Jansa wrote:
> > From: Khem Raj <raj.k...@gmail.com>
> >
> > Signed-off-by: Khem Raj <raj.k...@gmail.com>
> > Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org>
> > ---
> >  meta/recipes-devtools/qemu/qemu.inc           |  1 +
> >  ...linux-user-remove-host-stime-syscall.patch | 61 +++++++++++++++++++
> >  2 files changed, 62 insertions(+)
> >  create mode 100644
> meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> >
> > diff --git a/meta/recipes-devtools/qemu/qemu.inc
> b/meta/recipes-devtools/qemu/qemu.inc
> > index f451017f6d..ad4ff52892 100644
> > --- a/meta/recipes-devtools/qemu/qemu.inc
> > +++ b/meta/recipes-devtools/qemu/qemu.inc
> > @@ -27,6 +27,7 @@ SRC_URI = "
> https://download.qemu.org/${BPN}-${PV}.tar.xz \
> >
>  file://0008-linux-user-Fix-webkitgtk-hangs-on-32-bit-x86-target.patch \
> >             file://0009-Fix-webkitgtk-builds.patch \
> >
>  file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch \
> > +           file://0011-linux-user-remove-host-stime-syscall.patch \
> >             file://CVE-2019-15890.patch \
> >             file://CVE-2019-12068.patch \
> >             file://CVE-2020-1711.patch \
> > diff --git
> a/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> > new file mode 100644
> > index 0000000000..659e6be45d
> > --- /dev/null
> > +++
> b/meta/recipes-devtools/qemu/qemu/0011-linux-user-remove-host-stime-syscall.patch
> > @@ -0,0 +1,61 @@
> > +From 0f1f2d4596aee037d3ccbcf10592466daa54107f Mon Sep 17 00:00:00 2001
> > +From: Laurent Vivier <laur...@vivier.eu>
> > +Date: Tue, 12 Nov 2019 15:25:56 +0100
> > +Subject: [PATCH] linux-user: remove host stime() syscall
> > +
> > +stime() has been withdrawn from glibc
> > +(12cbde1dae6f "Use clock_settime to implement stime; withdraw stime.")
> > +
> > +Implement the target stime() syscall using host
> > +clock_settime(CLOCK_REALTIME, ...) as it is done internally in glibc.
> > +
> > +Tested qemu-ppc/x86_64 with:
> > +
> > +     #include <time.h>
> > +     #include <stdio.h>
> > +
> > +     int main(void)
> > +     {
> > +             time_t t;
> > +             int ret;
> > +
> > +             /* date -u -d"2019-11-12T15:11:00" "+%s" */
> > +             t = 1573571460;
> > +             ret = stime(&t);
> > +             printf("ret %d\n", ret);
> > +             return 0;
> > +     }
> > +
> > +        # date; ./stime; date
> > +        Tue Nov 12 14:18:32 UTC 2019
> > +        ret 0
> > +        Tue Nov 12 15:11:00 UTC 2019
> > +
> > +Upstream-Status: Backport [
> https://git.qemu.org/?p=qemu.git;a=commit;h=0f1f2d4596aee037d3ccbcf10592466daa54107f
> ]
> > +Buglink: https://bugs.launchpad.net/qemu/+bug/1852115
> > +Reported-by: Cole Robinson <crobi...@redhat.com>
> > +Signed-off-by: Laurent Vivier <laur...@vivier.eu>
> > +Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
> > +Message-Id: <20191112142556.6335-1-laur...@vivier.eu>
> > +---
> > + linux-user/syscall.c | 8 +++++---
> > + 1 file changed, 5 insertions(+), 3 deletions(-)
> > +
> > +--- a/linux-user/syscall.c
> > ++++ b/linux-user/syscall.c
> > +@@ -7651,10 +7651,12 @@ static abi_long do_syscall1(void *cpu_en
> > + #ifdef TARGET_NR_stime /* not on alpha */
> > +     case TARGET_NR_stime:
> > +         {
> > +-            time_t host_time;
> > +-            if (get_user_sal(host_time, arg1))
> > ++            struct timespec ts;
> > ++            ts.tv_nsec = 0;
> > ++            if (get_user_sal(ts.tv_sec, arg1)) {
> > +                 return -TARGET_EFAULT;
> > +-            return get_errno(stime(&host_time));
> > ++            }
> > ++            return get_errno(clock_settime(CLOCK_REALTIME, &ts));
> > +         }
> > + #endif
> > + #ifdef TARGET_NR_alarm /* not on alpha */
> > --
> > 2.25.1
> >
>
> > 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#137388): 
https://lists.openembedded.org/g/openembedded-core/message/137388
Mute This Topic: https://lists.openembedded.org/mt/73197049/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to