Message ID | 20190524153941.10128-1-tklauser@distanz.ch |
---|---|
State | Committed |
Headers |
Received: (qmail 91363 invoked by alias); 24 May 2019 15:39:46 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 91308 invoked by uid 89); 24 May 2019 15:39:45 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy= X-HELO: sym2.noone.org From: Tobias Klauser <tklauser@distanz.ch> To: libc-alpha@sourceware.org Cc: Adhemerval Zanella <adhemerval.zanella@linaro.org> Subject: [PATCH] Replace PREPARE_VERSION macro with inline function Date: Fri, 24 May 2019 17:39:41 +0200 Message-Id: <20190524153941.10128-1-tklauser@distanz.ch> |
Commit Message
Tobias Klauser
May 24, 2019, 3:39 p.m. UTC
Suggested by Adhemerval Zanella 2019-05-24 Tobias Klauser <tklauser@distanz.ch> * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. (prepare_version_base): New helper inline function. (prepare_version): New macro replacing PREPARE_VERSION. (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. --- sysdeps/unix/sysv/linux/dl-vdso.h | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-)
Comments
On 5/24/19 10:39 AM, Tobias Klauser wrote: > Suggested by Adhemerval Zanella > > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > (prepare_version_base): New helper inline function. > (prepare_version): New macro replacing PREPARE_VERSION. > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. Tobias, What is your copyright status with the FSF for glibc?
Hi Carlos On 2019-05-25 at 02:56:28 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > On 5/24/19 10:39 AM, Tobias Klauser wrote: > > Suggested by Adhemerval Zanella > > > > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > > (prepare_version_base): New helper inline function. > > (prepare_version): New macro replacing PREPARE_VERSION. > > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. > > Tobias, > > What is your copyright status with the FSF for glibc? I have not yet completed an FSF copyright assignment but would be willing to do so. What would be the next steps? The contribution checklist [1] mentions I would need a glibc developer or project steward to direct me towards filing an assignment request. [1] https://sourceware.org/glibc/wiki/Contribution%20checklist#FSF_copyright_Assignment Best regards Tobias
On 5/27/19 3:06 AM, Tobias Klauser wrote: > Hi Carlos > > On 2019-05-25 at 02:56:28 +0200, Carlos O'Donell <carlos@redhat.com> wrote: >> On 5/24/19 10:39 AM, Tobias Klauser wrote: >>> Suggested by Adhemerval Zanella >>> >>> 2019-05-24 Tobias Klauser <tklauser@distanz.ch> >>> >>> * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. >>> (prepare_version_base): New helper inline function. >>> (prepare_version): New macro replacing PREPARE_VERSION. >>> (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. >> >> Tobias, >> >> What is your copyright status with the FSF for glibc? > > I have not yet completed an FSF copyright assignment but would be > willing to do so. What would be the next steps? The contribution > checklist [1] mentions I would need a glibc developer or project steward > to direct me towards filing an assignment request. > > [1] https://sourceware.org/glibc/wiki/Contribution%20checklist#FSF_copyright_Assignment I would suggest a future assignment: http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future It is the simplest process that allows us to accept current and future patches from you.
On 2019-06-04 at 04:57:08 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > On 5/27/19 3:06 AM, Tobias Klauser wrote: > > Hi Carlos > > > > On 2019-05-25 at 02:56:28 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > > > On 5/24/19 10:39 AM, Tobias Klauser wrote: > > > > Suggested by Adhemerval Zanella > > > > > > > > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > > > > > > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > > > > (prepare_version_base): New helper inline function. > > > > (prepare_version): New macro replacing PREPARE_VERSION. > > > > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. > > > > > > Tobias, > > > > > > What is your copyright status with the FSF for glibc? > > > > I have not yet completed an FSF copyright assignment but would be > > willing to do so. What would be the next steps? The contribution > > checklist [1] mentions I would need a glibc developer or project steward > > to direct me towards filing an assignment request. > > > > [1] https://sourceware.org/glibc/wiki/Contribution%20checklist#FSF_copyright_Assignment > > I would suggest a future assignment: > http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future > > It is the simplest process that allows us to accept > current and future patches from you. Sent the request to assign@gnu.org Thank you
Hi Carlos On 2019-06-04 at 04:57:08 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > On 5/27/19 3:06 AM, Tobias Klauser wrote: > > Hi Carlos > > > > On 2019-05-25 at 02:56:28 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > > > On 5/24/19 10:39 AM, Tobias Klauser wrote: > > > > Suggested by Adhemerval Zanella > > > > > > > > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > > > > > > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > > > > (prepare_version_base): New helper inline function. > > > > (prepare_version): New macro replacing PREPARE_VERSION. > > > > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. > > > > > > Tobias, > > > > > > What is your copyright status with the FSF for glibc? > > > > I have not yet completed an FSF copyright assignment but would be > > willing to do so. What would be the next steps? The contribution > > checklist [1] mentions I would need a glibc developer or project steward > > to direct me towards filing an assignment request. > > > > [1] https://sourceware.org/glibc/wiki/Contribution%20checklist#FSF_copyright_Assignment > > I would suggest a future assignment: > http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future > > It is the simplest process that allows us to accept > current and future patches from you. I now completed the paperwork with the FSF wrt. the copyright assignment. Is there anything you need from me (e.g. the signed copy of the assignment)? Thanks Tobias
On 6/20/19 4:31 AM, Tobias Klauser wrote: > Hi Carlos > > On 2019-06-04 at 04:57:08 +0200, Carlos O'Donell <carlos@redhat.com> wrote: >> On 5/27/19 3:06 AM, Tobias Klauser wrote: >>> Hi Carlos >>> >>> On 2019-05-25 at 02:56:28 +0200, Carlos O'Donell <carlos@redhat.com> wrote: >>>> On 5/24/19 10:39 AM, Tobias Klauser wrote: >>>>> Suggested by Adhemerval Zanella >>>>> >>>>> 2019-05-24 Tobias Klauser <tklauser@distanz.ch> >>>>> >>>>> * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. >>>>> (prepare_version_base): New helper inline function. >>>>> (prepare_version): New macro replacing PREPARE_VERSION. >>>>> (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. >>>> >>>> Tobias, >>>> >>>> What is your copyright status with the FSF for glibc? >>> >>> I have not yet completed an FSF copyright assignment but would be >>> willing to do so. What would be the next steps? The contribution >>> checklist [1] mentions I would need a glibc developer or project steward >>> to direct me towards filing an assignment request. >>> >>> [1] https://sourceware.org/glibc/wiki/Contribution%20checklist#FSF_copyright_Assignment >> >> I would suggest a future assignment: >> http://git.savannah.gnu.org/cgit/gnulib.git/plain/doc/Copyright/request-assign.future >> >> It is the simplest process that allows us to accept >> current and future patches from you. > > I now completed the paperwork with the FSF wrt. the copyright > assignment. Is there anything you need from me (e.g. the signed copy of > the assignment)? I have verified with the master copyright list that you have an assignment in place! Thank you!
On 5/24/19 11:39 AM, Tobias Klauser wrote: > Suggested by Adhemerval Zanella Adhemerval, Since you made this suggestion I'll let you review :-) Tobias has copyright status with FSF, so we can install this patch. Thank you Tobias! > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > (prepare_version_base): New helper inline function. > (prepare_version): New macro replacing PREPARE_VERSION. > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. > --- > sysdeps/unix/sysv/linux/dl-vdso.h | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h > index 9e61ca742363..c418c697a3a4 100644 > --- a/sysdeps/unix/sysv/linux/dl-vdso.h > +++ b/sysdeps/unix/sysv/linux/dl-vdso.h > @@ -24,19 +24,19 @@ > #include <dl-hash.h> > > /* Create version number record for lookup. */ > -#define PREPARE_VERSION(var, vname, vhash) \ > - struct r_found_version var; \ > - var.name = vname; \ > - var.hidden = 1; \ > - var.hash = vhash; \ > - assert (var.hash == _dl_elf_hash (var.name)); \ > - /* We don't have a specific file where the symbol can be found. */ \ > - var.filename = NULL > +static inline struct r_found_version > +prepare_version_base (const char *name, ElfW(Word) hash) > +{ > + assert (hash == _dl_elf_hash (name)); > + return (struct r_found_version) { name, hash, 1, NULL }; > +} > +#define prepare_version(vname) \ > + prepare_version_base (VDSO_NAME_##vname, VDSO_HASH_##vname) > > /* Use this for the known version sets defined below, where we > record their precomputed hash values only once, in this file. */ > #define PREPARE_VERSION_KNOWN(var, vname) \ > - PREPARE_VERSION (var, VDSO_NAME_##vname, VDSO_HASH_##vname) > + struct r_found_version var = prepare_version (vname); > > #define VDSO_NAME_LINUX_2_6 "LINUX_2.6" > #define VDSO_HASH_LINUX_2_6 61765110 >
Hi Adhemerval On 2019-06-20 at 16:20:21 +0200, Carlos O'Donell <carlos@redhat.com> wrote: > On 5/24/19 11:39 AM, Tobias Klauser wrote: > > Suggested by Adhemerval Zanella > > Adhemerval, > > Since you made this suggestion I'll let you review :-) > > Tobias has copyright status with FSF, so we can install this patch. Are there any changes needed to this patch? The other one ("Add missing VDSO_{NAME,HASH}_* macros and use them for PREPARE_VERSION_KNOWN", commit 85c748f9ff3db4a7796472f90d4d80e9987b7922) was added to the tree, but this one not yet. Thanks and best regards Tobias > Thank you Tobias! > > > 2019-05-24 Tobias Klauser <tklauser@distanz.ch> > > > > * sysdeps/unix/sysv/linux/dl-vdso.h (PREPARE_VERSION): Remove macro. > > (prepare_version_base): New helper inline function. > > (prepare_version): New macro replacing PREPARE_VERSION. > > (PREPARE_VERSION_KNOWN): Use prepare_version instead of PREPARE_VERSION. > > --- > > sysdeps/unix/sysv/linux/dl-vdso.h | 18 +++++++++--------- > > 1 file changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h > > index 9e61ca742363..c418c697a3a4 100644 > > --- a/sysdeps/unix/sysv/linux/dl-vdso.h > > +++ b/sysdeps/unix/sysv/linux/dl-vdso.h > > @@ -24,19 +24,19 @@ > > #include <dl-hash.h> > > > > /* Create version number record for lookup. */ > > -#define PREPARE_VERSION(var, vname, vhash) \ > > - struct r_found_version var; \ > > - var.name = vname; \ > > - var.hidden = 1; \ > > - var.hash = vhash; \ > > - assert (var.hash == _dl_elf_hash (var.name)); \ > > - /* We don't have a specific file where the symbol can be found. */ \ > > - var.filename = NULL > > +static inline struct r_found_version > > +prepare_version_base (const char *name, ElfW(Word) hash) > > +{ > > + assert (hash == _dl_elf_hash (name)); > > + return (struct r_found_version) { name, hash, 1, NULL }; > > +} > > +#define prepare_version(vname) \ > > + prepare_version_base (VDSO_NAME_##vname, VDSO_HASH_##vname) > > > > /* Use this for the known version sets defined below, where we > > record their precomputed hash values only once, in this file. */ > > #define PREPARE_VERSION_KNOWN(var, vname) \ > > - PREPARE_VERSION (var, VDSO_NAME_##vname, VDSO_HASH_##vname) > > + struct r_found_version var = prepare_version (vname); > > > > #define VDSO_NAME_LINUX_2_6 "LINUX_2.6" > > #define VDSO_HASH_LINUX_2_6 61765110 > > > > > -- > Cheers, > Carlos. >
On 28/06/2019 06:03, Tobias Klauser wrote: > Hi Adhemerval > > On 2019-06-20 at 16:20:21 +0200, Carlos O'Donell <carlos@redhat.com> wrote: >> On 5/24/19 11:39 AM, Tobias Klauser wrote: >>> Suggested by Adhemerval Zanella >> >> Adhemerval, >> >> Since you made this suggestion I'll let you review :-) >> >> Tobias has copyright status with FSF, so we can install this patch. > > Are there any changes needed to this patch? The other one > ("Add missing VDSO_{NAME,HASH}_* macros and use them for > PREPARE_VERSION_KNOWN", commit 85c748f9ff3db4a7796472f90d4d80e9987b7922) > was added to the tree, but this one not yet. > > Thanks and best regards > Tobias LGTM, I have pushed it upstream for you.
diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h index 9e61ca742363..c418c697a3a4 100644 --- a/sysdeps/unix/sysv/linux/dl-vdso.h +++ b/sysdeps/unix/sysv/linux/dl-vdso.h @@ -24,19 +24,19 @@ #include <dl-hash.h> /* Create version number record for lookup. */ -#define PREPARE_VERSION(var, vname, vhash) \ - struct r_found_version var; \ - var.name = vname; \ - var.hidden = 1; \ - var.hash = vhash; \ - assert (var.hash == _dl_elf_hash (var.name)); \ - /* We don't have a specific file where the symbol can be found. */ \ - var.filename = NULL +static inline struct r_found_version +prepare_version_base (const char *name, ElfW(Word) hash) +{ + assert (hash == _dl_elf_hash (name)); + return (struct r_found_version) { name, hash, 1, NULL }; +} +#define prepare_version(vname) \ + prepare_version_base (VDSO_NAME_##vname, VDSO_HASH_##vname) /* Use this for the known version sets defined below, where we record their precomputed hash values only once, in this file. */ #define PREPARE_VERSION_KNOWN(var, vname) \ - PREPARE_VERSION (var, VDSO_NAME_##vname, VDSO_HASH_##vname) + struct r_found_version var = prepare_version (vname); #define VDSO_NAME_LINUX_2_6 "LINUX_2.6" #define VDSO_HASH_LINUX_2_6 61765110