Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-14 Thread Mathieu Desnoyers
- On Jan 14, 2019, at 2:37 PM, Florian Weimer fwei...@redhat.com wrote: > * Mathieu Desnoyers: > >> - On Jan 14, 2019, at 10:55 AM, Florian Weimer fwei...@redhat.com wrote: >> >>> * Mathieu Desnoyers: >>> Therefore, both symbols will end up in sysdeps/unix/sysv/linux/Versions.

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-14 Thread Florian Weimer
* Mathieu Desnoyers: > - On Jan 14, 2019, at 10:55 AM, Florian Weimer fwei...@redhat.com wrote: > >> * Mathieu Desnoyers: >> >>> Therefore, both symbols will end up in >>> sysdeps/unix/sysv/linux/Versions. >> >> I'm not sure what you mean by that. The physical location in the >> directory

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-14 Thread Mathieu Desnoyers
- On Jan 14, 2019, at 10:55 AM, Florian Weimer fwei...@redhat.com wrote: > * Mathieu Desnoyers: > >> Therefore, both symbols will end up in >> sysdeps/unix/sysv/linux/Versions. > > I'm not sure what you mean by that. The physical location in the > directory tree has little effect on which

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-14 Thread Florian Weimer
* Mathieu Desnoyers: > Now that I think about it, it's important to move the rseq registration > done at nptl init (in my current code) to some lower-level csu initialiation, > so applications that happen _not_ to link against libpthread also get > registered rseq for the main thread. Yes. In

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-14 Thread Florian Weimer
* Mathieu Desnoyers: > Therefore, both symbols will end up in > sysdeps/unix/sysv/linux/Versions. I'm not sure what you mean by that. The physical location in the directory tree has little effect on which shared object the symbol is placed in; that will need other changes. >> By the way, you

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-10 Thread Mathieu Desnoyers
- On Jan 10, 2019, at 12:31 PM, Mathieu Desnoyers mathieu.desnoy...@efficios.com wrote: > - On Dec 11, 2018, at 2:40 AM, Florian Weimer fwei...@redhat.com wrote: [...] >> >>> diff --git a/nptl/Versions b/nptl/Versions >>> index e7f691da7a..f7890f73fc 100644 >>> --- a/nptl/Versions >>>

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2019-01-10 Thread Mathieu Desnoyers
- On Dec 11, 2018, at 2:40 AM, Florian Weimer fwei...@redhat.com wrote: > * Mathieu Desnoyers: > >> I want to keep the __rseq_refcount symbol so out-of-libc users can >> register rseq if they are linked against a pre-2.29 libc. > > Sorry, I was confused. Hi Florian, Thanks for your

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-11 Thread Florian Weimer
* Mathieu Desnoyers: > I want to keep the __rseq_refcount symbol so out-of-libc users can > register rseq if they are linked against a pre-2.29 libc. Sorry, I was confused. > diff --git a/csu/Makefile b/csu/Makefile > index 88fc77662e..81d471587f 100644 > --- a/csu/Makefile > +++ b/csu/Makefile

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Mathieu Desnoyers
- On Dec 4, 2018, at 2:44 PM, Florian Weimer fwei...@redhat.com wrote: > * Mathieu Desnoyers: > >> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist >> b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist >> index c370fda73d..9da78d59d2 100644 >> ---

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Mathieu Desnoyers
- On Dec 4, 2018, at 2:44 PM, Florian Weimer fwei...@redhat.com wrote: > * Mathieu Desnoyers: > >> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist >> b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist >> index c370fda73d..9da78d59d2 100644 >> ---

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Florian Weimer
* Mathieu Desnoyers: > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > index c370fda73d..9da78d59d2 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > +++

Re: [RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Florian Weimer
* Mathieu Desnoyers: > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > index c370fda73d..9da78d59d2 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > +++

[RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Mathieu Desnoyers
Register rseq(2) TLS for each thread (including main), and unregister for each thread (excluding main). "rseq" stands for Restartable Sequences. See the rseq(2) man page proposed here: https://lkml.org/lkml/2018/9/19/647 This patch is based on glibc commit a502c5294. The rseq(2) system call

[RFC PATCH glibc 1/4] glibc: Perform rseq(2) registration at nptl init and thread creation (v4)

2018-12-04 Thread Mathieu Desnoyers
Register rseq(2) TLS for each thread (including main), and unregister for each thread (excluding main). "rseq" stands for Restartable Sequences. See the rseq(2) man page proposed here: https://lkml.org/lkml/2018/9/19/647 This patch is based on glibc commit a502c5294. The rseq(2) system call