Date: Sun, 11 Apr 2021 08:16:37 GMT From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 9b33518ada2e - main - rtld_lock.h: add some comments about versioning of struct RtldLockInfo Message-ID: <202104110816.13B8GbwG095479@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=9b33518ada2ebda727ca3c7979cdcdb30716f737 commit 9b33518ada2ebda727ca3c7979cdcdb30716f737 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2021-04-11 08:12:48 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2021-04-11 08:16:13 +0000 rtld_lock.h: add some comments about versioning of struct RtldLockInfo Sponsored by: The FreeBSD Foundation MFC after: 6 days --- libexec/rtld-elf/rtld_lock.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libexec/rtld-elf/rtld_lock.h b/libexec/rtld-elf/rtld_lock.h index fdbdc9917075..c88b558b72b8 100644 --- a/libexec/rtld-elf/rtld_lock.h +++ b/libexec/rtld-elf/rtld_lock.h @@ -35,9 +35,20 @@ #define MAX_RTLD_LOCKS 8 +/* + * This structure is part of the ABI between rtld and threading + * libraries, like libthr and even libc_r. Its layout is fixed and + * can be changed only by appending new fields at the end, with the + * bump of RTLI_VERSION. + */ struct RtldLockInfo { + /* + * Valid if the object calling _rtld_thread_init() exported + * symbol _pli_rtli_version. Otherwise assume RTLI_VERSION_ONE. + */ unsigned int rtli_version; + void *(*lock_create)(void); void (*lock_destroy)(void *); void (*rlock_acquire)(void *); @@ -46,6 +57,8 @@ struct RtldLockInfo int (*thread_set_flag)(int); int (*thread_clr_flag)(int); void (*at_fork)(void); + + /* Version 2 fields */ char *(*dlerror_loc)(void); int *(*dlerror_seen)(void); int dlerror_loc_sz;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202104110816.13B8GbwG095479>