Re: [microblaze-linux] [RESEND PATCH] microblaze: Fix clone syscall

From: Michal Simek
Date: Wed Jul 24 2013 - 03:16:14 EST


On 07/24/2013 08:59 AM, Rich Felker wrote:
> On Wed, Jul 24, 2013 at 08:48:27AM +0200, Michal Simek wrote:
>>>> Create new CLONE_BACKWARDS3 type where stack_size is passed
>>>> via 3rd argument, parent thread id pointer via 4th,
>>>> child thread id pointer via 5th and tls value as 6th
>>>> argument
>>>
>>> I believe this also affects us in musl. What is the motivation for
>>> making a configure option that results in there being two incompatible
>>> syscall ABIs for the same arch?
>>> This sounds like a really bad idea...
>>
>> This patch fixes bug which was introduced by Al's patch where he moved
>> clone implementation from microblaze folder to generic location.
>> It means I am not creating two incompatible syscalls ABIs but fixing
>> broken one.
>
> So this patch is just fixing a regression in the kernel?

yes.


>>> And how was glibc successfuly using a form that mismatched the
>>> existing kernel? Did nobody ever use/test it?
>>
>> We are running LTP syscall tests and there is not LTP test which
>> was able to find out this mismatch in clone. That's why I haven't
>> figure it out at that time and ACKed that origin patch.
>
> I would think pthread_create would have broken pretty badly; I
> remember early-on in porting musl to microblaze, we had the clone
> arguments misordered, and it blew up badly. ;) Perhaps you could just
> run some general libc/libpthread level tests to catch things like this
> that are hard to measure at the syscall-test level with existing
> tests.

David was running glibc tests and I was also running some pthreads tests
but we have seen the problem only on timer_create tests we have got from
customer.
I found that we should maybe invest our time to open posix testsuite
to get another set of tests we should run.

BTW: Where to get musl package and are there any tests we should regularly run?

Thanks,
Michal

--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Microblaze cpu - http://www.monstr.eu/fdt/
Maintainer of Linux kernel - Xilinx Zynq ARM architecture
Microblaze U-BOOT custodian and responsible for u-boot arm zynq platform


Attachment: signature.asc
Description: OpenPGP digital signature