diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2019-06-28 08:46:00 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2019-06-28 08:46:51 -0300 |
commit | 589787f8894251c3b114f4ce06a89ecf2763f1b4 (patch) | |
tree | 812346a8bdad7c4070720f7e3fbcfe1d82782ab1 | |
parent | f0b2132b35248c1f4a80f62a2c38cddcc802aa8c (diff) | |
download | glibc-589787f8894251c3b114f4ce06a89ecf2763f1b4.tar glibc-589787f8894251c3b114f4ce06a89ecf2763f1b4.tar.gz glibc-589787f8894251c3b114f4ce06a89ecf2763f1b4.tar.bz2 glibc-589787f8894251c3b114f4ce06a89ecf2763f1b4.zip |
Replace PREPARE_VERSION macro with inline function
* 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.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-vdso.h | 18 |
2 files changed, 16 insertions, 9 deletions
@@ -1,3 +1,10 @@ +2019-06-28 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. + 2019-06-28 Florian Weimer <fweimer@redhat.com> [BZ #24741] diff --git a/sysdeps/unix/sysv/linux/dl-vdso.h b/sysdeps/unix/sysv/linux/dl-vdso.h index 9e61ca7423..c418c697a3 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 |