[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/4] hurd: Simplify init-first.c further
From: |
Samuel Thibault |
Subject: |
Re: [PATCH v2 1/4] hurd: Simplify init-first.c further |
Date: |
Thu, 23 Feb 2023 00:26:46 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Hello,
Thanks for this!
Did you try to run make check?
Sergey Bugaev via Libc-alpha, le mer. 22 févr. 2023 00:19:29 +0300, a ecrit:
> This drops all of the return address rewriting kludges. The only
> remaining hack is the jump out of a call stack while adjusting the
> stack pointer.
Is this hack really still needed? Since we don't switch stack any more,
we could as well just return normally?
> --- a/sysdeps/mach/hurd/dl-sysdep.c
> +++ b/sysdeps/mach/hurd/dl-sysdep.c
> @@ -207,6 +207,9 @@ _dl_sysdep_start (void **start_argptr,
> }
> }
>
> + extern void _dl_init_first (void *data);
Please put extern function declaration into a header, dl-sysdep.h for
instance.
> diff --git a/sysdeps/mach/hurd/i386/init-first.c
> b/sysdeps/mach/hurd/i386/init-first.c
> index a558da16..34e8dcc0 100644
> --- a/sysdeps/mach/hurd/i386/init-first.c
> +++ b/sysdeps/mach/hurd/i386/init-first.c
> + {
> + /* Check if the stack we are now on is different from
> + the one described by _hurd_stack_{base,size}. */
>
> + char dummy;
> + const vm_address_t newsp = (vm_address_t) &dummy;
> +
> + if (d->stack_size != 0 && (newsp < d->stack_base
> + || newsp - d->stack_base > d->stack_size))
> + /* The new stack pointer does not intersect with the
> + stack the exec server set up for us, so free that stack. */
> + __vm_deallocate (__mach_task_self (), d->stack_base, d->stack_size);
> + }
Again, I don't think this is needed any more since we don't switch stack
any more?
Samuel
[PATCH v2 2/4] hurd: Generalize init-first.c to support x86_64, Sergey Bugaev, 2023/02/21
[PATCH v2 3/4] hurd: Implement TLS for x86_64, Sergey Bugaev, 2023/02/21
[PATCH v2 4/4] htl: Add pthreadtypes-arch.h for x86_64, Sergey Bugaev, 2023/02/21