Re: [PATCH 2/2] tools/nolibc: x86-64: Fix startup code bug

From: Ammar Faizi
Date: Sat Oct 23 2021 - 09:32:11 EST



On Sat, Oct 23, 2021 at 4:02 PM Willy Tarreau <w@xxxxxx> wrote:
>
> Hi Ammar,
>
> On Mon, Oct 18, 2021 at 01:53:29PM +0700, Ammar Faizi wrote:
> > Got it, agree with that. I will address your review and resend this as a
> > patchset v2 soon.
>
> Just checking if you have anything about this or if you're busy. No
> stress, it's just that I prefer to send batches to Paul since he
> rebuilds and retests everything each time, so I'm keeping your first
> patch and another one on hold for now.
>
> Do not hesitate to let me know if you don't have time and if you want
> me to rework your patches myself.
>
> Thanks!
> Willy

Hi Willy,

Sorry for the delay, I got extra activities this week. Sorry for not
giving any update lately.

1) I can send the %rsp alignment fix patch. I will send it today or
tomorrow (GMT+07 time).

2) I can't send the syscall change used for exit. Because I only
have x86 machine. So I can't apply the changes to other arch(s).

For (2), basically sys_exit doesn't close the entire process. Instead
it only closes specific thread that calls that syscall. The libc uses
sys_exit_group to close the process and its threads.

^ It's not really an urgent thing, because the nolibc.h may not be
used for multithreaded app. Even so, I don't see something dangerous.

For (1), it's urgent, because the alignment violation causes segfault
if the compiler generates aligned move, often when we compile it
with -O3, usually that happens with SSE instructions, like `movdqa`,
`movaps`.

Preparing the patch...

--
Ammar Faizi