Re: [PATCH] m68k: Wire up clone3() syscall

From: Christian Brauner
Date: Mon Dec 16 2019 - 05:31:21 EST


On Sun, Dec 15, 2019 at 05:48:10PM +0100, Geert Uytterhoeven wrote:
> Hi Kars,
>
> On Tue, Nov 26, 2019 at 4:29 PM Kars de Jong <jongk@xxxxxxxxxxxxxx> wrote:
> > Op di 26 nov. 2019 om 15:41 schreef Christian Brauner
> > <christian.brauner@xxxxxxxxxx>:
> > > On Mon, Nov 25, 2019 at 10:12:25AM +0100, Geert Uytterhoeven wrote:
> > > > On Sun, Nov 24, 2019 at 8:52 PM Kars de Jong <jongk@xxxxxxxxxxxxxx> wrote:
> > > > > Wire up the clone3() syscall for m68k. The special entry point is done in
> > > > > assembler as was done for clone() as well. This is needed because all
> > > > > registers need to be saved. The C wrapper then calls the generic
> > > > > sys_clone3() with the correct arguments.
> > > > >
> > > > > Tested on A1200 using the simple test program from:
> > > > >
> > > > > https://lore.kernel.org/lkml/20190716130631.tohj4ub54md25dys@xxxxxxxxxx/
> > >
> > > Please note that we now have a growing test-suite for the clone3()
> > > syscall under
> > > tools/testing/selftests/clone3/*
> > >
> > > You can test on a suitable kernel with
> > >
> > > make TARGETS=clone3 kselftest
> >
> > I'm afraid my user space is almost prehistoric. I have a homebrewn
> > root filesystem of about 2001 vintage, and another one with Debian
> > 3.1.
> > So until I have bootstrapped a more recent one, I'll leave that to others ;-)
>
> With Ubuntu's libc6-m68k-cross installed, the selftest binaries cross-build
> fine. Running them on a very old Debian requires some hackery:
>
> 1. Copy ld.so.1, ld-2.27.so, libc.so.6, and libc-2.27.so from
> /usr/m68k-linux-gnu/lib/ to /tmp/lib on the m68k target,
> 2. mkdir /tmp/proc && mount proc /tmp/proc -t proc,
> 3. chroot /tmp /tmp/<test-binary>.
>
> Unfortunately some tests failed:

Thanks for going through the trouble of testing this, Geert!
Christian