unofficial mirror of libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* rseq enablement patches overview
@ 2019-10-14 15:03 Florian Weimer
  2019-11-29 12:07 ` Florian Weimer
  0 siblings, 1 reply; 5+ messages in thread
From: Florian Weimer @ 2019-10-14 15:03 UTC (permalink / raw
  To: libc-alpha; +Cc: Mathieu Desnoyers

Since my patchwork looks rather horrible right now and I posted a bunch
of vaguely-related cleanups first, here are the patches that currently
need review for rseq enablement:

  Introduce <elf_machine_sym_no_match.h>
  <https://sourceware.org/ml/libc-alpha/2019-10/msg00339.html>

    This is needed in the implementation of _dl_lookup_direct in the
    next patch.

  Implement __libc_early_init
  <https://sourceware.org/ml/libc-alpha/2019-10/msg00340.html>

    This is the main patch.  rseq should be hooked into
    __libc_early_init, around the __ctype_init call.

  nptl: Start new threads with all signals blocked [BZ #25098]
  <https://sourceware.org/ml/libc-alpha/2019-10/msg00383.html>

    This is a long-standing issue which will affect rseq as well.

  resolv/tst-idna_name_classify: Isolate from system libraries
  <https://sourceware.org/ml/libc-alpha/2019-10/msg00338.html>

    This is required to fix a test suite failure due to the ld.so static
    link ABI changing in the __libc_early_init patch.  (I should
    probably just push this one.)

In particular, none of the RELRO patches and their dependencies are
needed anymore.

The built-in system call tables are still missing, but we can implement
rseq in master before that set of changes lands.  The new tables should
be transparent to the code.  The syscall are only relevant for the
release because we want to tell users that if they build glibc 2.31,
that glibc will have rseq support on a certain set of architectures
(independently of the kernel headers being used).

Thanks,
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rseq enablement patches overview
  2019-10-14 15:03 rseq enablement patches overview Florian Weimer
@ 2019-11-29 12:07 ` Florian Weimer
  2019-12-17 16:08   ` Mathieu Desnoyers
  0 siblings, 1 reply; 5+ messages in thread
From: Florian Weimer @ 2019-11-29 12:07 UTC (permalink / raw
  To: libc-alpha; +Cc: Mathieu Desnoyers

* Florian Weimer:

> Since my patchwork looks rather horrible right now and I posted a bunch
> of vaguely-related cleanups first, here are the patches that currently
> need review for rseq enablement:
>
>   Introduce <elf_machine_sym_no_match.h>
>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00339.html>
>
>     This is needed in the implementation of _dl_lookup_direct in the
>     next patch.
>
>   Implement __libc_early_init
>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00340.html>
>
>     This is the main patch.  rseq should be hooked into
>     __libc_early_init, around the __ctype_init call.
>
>   nptl: Start new threads with all signals blocked [BZ #25098]
>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00383.html>
>
>     This is a long-standing issue which will affect rseq as well.

I reposted these patches:

  <https://sourceware.org/ml/libc-alpha/2019-11/msg00976.html>
  <https://sourceware.org/ml/libc-alpha/2019-11/msg00977.html>
  <https://sourceware.org/ml/libc-alpha/2019-11/msg01016.html>

>   resolv/tst-idna_name_classify: Isolate from system libraries
>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00338.html>
>
>     This is required to fix a test suite failure due to the ld.so static
>     link ABI changing in the __libc_early_init patch.  (I should
>     probably just push this one.)

This patch has been merged.

Thanks,
Florian


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rseq enablement patches overview
  2019-11-29 12:07 ` Florian Weimer
@ 2019-12-17 16:08   ` Mathieu Desnoyers
  2019-12-17 16:31     ` Mathieu Desnoyers
  0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Desnoyers @ 2019-12-17 16:08 UTC (permalink / raw
  To: Florian Weimer; +Cc: libc-alpha

----- On Nov 29, 2019, at 7:07 AM, Florian Weimer fweimer@redhat.com wrote:

> * Florian Weimer:
> 
>> Since my patchwork looks rather horrible right now and I posted a bunch
>> of vaguely-related cleanups first, here are the patches that currently
>> need review for rseq enablement:
>>
>>   Introduce <elf_machine_sym_no_match.h>
>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00339.html>
>>
>>     This is needed in the implementation of _dl_lookup_direct in the
>>     next patch.
>>
>>   Implement __libc_early_init
>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00340.html>
>>
>>     This is the main patch.  rseq should be hooked into
>>     __libc_early_init, around the __ctype_init call.
>>
>>   nptl: Start new threads with all signals blocked [BZ #25098]
>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00383.html>
>>
>>     This is a long-standing issue which will affect rseq as well.
> 

Hi Florian,

Sorry for the delayed reply,

> I reposted these patches:
> 
>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00976.html>
>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00977.html>

For some reason I have issues applying this last patch (00977) on
top of glibc master at commit a059f9505bb. Is there a specific commit
I should use as a baseline ?

Thanks,

Mathieu

>  <https://sourceware.org/ml/libc-alpha/2019-11/msg01016.html>
> 
>>   resolv/tst-idna_name_classify: Isolate from system libraries
>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00338.html>
>>
>>     This is required to fix a test suite failure due to the ld.so static
>>     link ABI changing in the __libc_early_init patch.  (I should
>>     probably just push this one.)
> 
> This patch has been merged.
> 
> Thanks,
> Florian

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rseq enablement patches overview
  2019-12-17 16:08   ` Mathieu Desnoyers
@ 2019-12-17 16:31     ` Mathieu Desnoyers
  2019-12-17 16:39       ` Florian Weimer
  0 siblings, 1 reply; 5+ messages in thread
From: Mathieu Desnoyers @ 2019-12-17 16:31 UTC (permalink / raw
  To: Florian Weimer; +Cc: libc-alpha

----- On Dec 17, 2019, at 11:08 AM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote:

> ----- On Nov 29, 2019, at 7:07 AM, Florian Weimer fweimer@redhat.com wrote:
> 
>> * Florian Weimer:
>> 
>>> Since my patchwork looks rather horrible right now and I posted a bunch
>>> of vaguely-related cleanups first, here are the patches that currently
>>> need review for rseq enablement:
>>>
>>>   Introduce <elf_machine_sym_no_match.h>
>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00339.html>
>>>
>>>     This is needed in the implementation of _dl_lookup_direct in the
>>>     next patch.
>>>
>>>   Implement __libc_early_init
>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00340.html>
>>>
>>>     This is the main patch.  rseq should be hooked into
>>>     __libc_early_init, around the __ctype_init call.
>>>
>>>   nptl: Start new threads with all signals blocked [BZ #25098]
>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00383.html>
>>>
>>>     This is a long-standing issue which will affect rseq as well.
>> 
> 
> Hi Florian,
> 
> Sorry for the delayed reply,
> 
>> I reposted these patches:
>> 
>>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00976.html>
>>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00977.html>
> 
> For some reason I have issues applying this last patch (00977) on
> top of glibc master at commit a059f9505bb. Is there a specific commit
> I should use as a baseline ?

I found the conflicting patch:

commit 440b7f865 "Avoid late failure in dlopen in global scope update [BZ #25112]"

The conflict resolution was straightforward. I'll start updating the rseq
patchset.

Thanks,

Mathieu


> 
> Thanks,
> 
> Mathieu
> 
>>  <https://sourceware.org/ml/libc-alpha/2019-11/msg01016.html>
>> 
>>>   resolv/tst-idna_name_classify: Isolate from system libraries
>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00338.html>
>>>
>>>     This is required to fix a test suite failure due to the ld.so static
>>>     link ABI changing in the __libc_early_init patch.  (I should
>>>     probably just push this one.)
>> 
>> This patch has been merged.
>> 
>> Thanks,
>> Florian
> 
> --
> Mathieu Desnoyers
> EfficiOS Inc.
> http://www.efficios.com

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: rseq enablement patches overview
  2019-12-17 16:31     ` Mathieu Desnoyers
@ 2019-12-17 16:39       ` Florian Weimer
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Weimer @ 2019-12-17 16:39 UTC (permalink / raw
  To: Mathieu Desnoyers; +Cc: libc-alpha

* Mathieu Desnoyers:

>>>> Since my patchwork looks rather horrible right now and I posted a bunch
>>>> of vaguely-related cleanups first, here are the patches that currently
>>>> need review for rseq enablement:
>>>>
>>>>   Introduce <elf_machine_sym_no_match.h>
>>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00339.html>
>>>>
>>>>     This is needed in the implementation of _dl_lookup_direct in the
>>>>     next patch.
>>>>
>>>>   Implement __libc_early_init
>>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00340.html>
>>>>
>>>>     This is the main patch.  rseq should be hooked into
>>>>     __libc_early_init, around the __ctype_init call.
>>>>
>>>>   nptl: Start new threads with all signals blocked [BZ #25098]
>>>>   <https://sourceware.org/ml/libc-alpha/2019-10/msg00383.html>
>>>>
>>>>     This is a long-standing issue which will affect rseq as well.
>>> 
>> 
>> Hi Florian,
>> 
>> Sorry for the delayed reply,
>> 
>>> I reposted these patches:
>>> 
>>>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00976.html>
>>>  <https://sourceware.org/ml/libc-alpha/2019-11/msg00977.html>
>> 
>> For some reason I have issues applying this last patch (00977) on
>> top of glibc master at commit a059f9505bb. Is there a specific commit
>> I should use as a baseline ?
>
> I found the conflicting patch:
>
> commit 440b7f865 "Avoid late failure in dlopen in global scope update [BZ #25112]"
>
> The conflict resolution was straightforward. I'll start updating the rseq
> patchset.

I'm going to repost my patches, too, as follow-ups.

A new set of patches for built-in system call tables is available, too:

  <https://sourceware.org/ml/libc-alpha/2019-12/msg00567.html>

Thanks,
Florian


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-12-17 16:39 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-14 15:03 rseq enablement patches overview Florian Weimer
2019-11-29 12:07 ` Florian Weimer
2019-12-17 16:08   ` Mathieu Desnoyers
2019-12-17 16:31     ` Mathieu Desnoyers
2019-12-17 16:39       ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).