Message ID | 20250226-parse_vdso-nolibc-v2-6-28e14e031ed8@linutronix.de |
---|---|
State | New |
Headers | show |
Series | None | expand |
On 26/02/2025 11:44, Thomas Weißschuh wrote: > The types are used by tools/testing/selftests/vDSO/parse_vdso.c. > To be able to build the vDSO selftests without a libc dependency, > add the types to the kernels own UAPI headers. > > Link: https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/symversion.html#VERDEFEXTS > Reviewed-by: Kees Cook <kees@kernel.org> > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> > --- > include/uapi/linux/elf.h | 30 ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h > index 8846fe03ca5b836c96aad1be6d8fb9daf3d4b1d9..49f9f90458d8ca8e7b8f823d32be0a719ff827b3 100644 > --- a/include/uapi/linux/elf.h > +++ b/include/uapi/linux/elf.h > @@ -491,4 +491,34 @@ typedef struct elf64_note { > /* Bits for GNU_PROPERTY_AARCH64_FEATURE_1_BTI */ > #define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) > > +typedef struct { > + Elf32_Half vd_version; > + Elf32_Half vd_flags; > + Elf32_Half vd_ndx; > + Elf32_Half vd_cnt; > + Elf32_Word vd_hash; > + Elf32_Word vd_aux; > + Elf32_Word vd_next; > +} Elf32_Verdef; > + > +typedef struct { > + Elf64_Half vd_version; > + Elf64_Half vd_flags; > + Elf64_Half vd_ndx; > + Elf64_Half vd_cnt; > + Elf64_Word vd_hash; > + Elf64_Word vd_aux; > + Elf64_Word vd_next; > +} Elf64_Verdef; > + > +typedef struct { > + Elf32_Word vda_name; > + Elf32_Word vda_next; > +} Elf32_Verdaux; > + > +typedef struct { > + Elf64_Word vda_name; > + Elf64_Word vda_next; > +} Elf64_Verdaux; > + > #endif /* _UAPI_LINUX_ELF_H */ > Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com>
diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h index 8846fe03ca5b836c96aad1be6d8fb9daf3d4b1d9..49f9f90458d8ca8e7b8f823d32be0a719ff827b3 100644 --- a/include/uapi/linux/elf.h +++ b/include/uapi/linux/elf.h @@ -491,4 +491,34 @@ typedef struct elf64_note { /* Bits for GNU_PROPERTY_AARCH64_FEATURE_1_BTI */ #define GNU_PROPERTY_AARCH64_FEATURE_1_BTI (1U << 0) +typedef struct { + Elf32_Half vd_version; + Elf32_Half vd_flags; + Elf32_Half vd_ndx; + Elf32_Half vd_cnt; + Elf32_Word vd_hash; + Elf32_Word vd_aux; + Elf32_Word vd_next; +} Elf32_Verdef; + +typedef struct { + Elf64_Half vd_version; + Elf64_Half vd_flags; + Elf64_Half vd_ndx; + Elf64_Half vd_cnt; + Elf64_Word vd_hash; + Elf64_Word vd_aux; + Elf64_Word vd_next; +} Elf64_Verdef; + +typedef struct { + Elf32_Word vda_name; + Elf32_Word vda_next; +} Elf32_Verdaux; + +typedef struct { + Elf64_Word vda_name; + Elf64_Word vda_next; +} Elf64_Verdaux; + #endif /* _UAPI_LINUX_ELF_H */