git: rtld - do not allow both dynamic DTV index and static TLS offset
Sergey Zigachev
szi at crater.dragonflybsd.org
Tue Oct 22 01:31:24 PDT 2024
commit ccab79cf9e490edd7b16267464a4873ffda1ddd9
Author: Sergey Zigachev <szi at dragonflybsd.org>
Date: Tue Oct 22 13:00:23 2024 +0500
rtld - do not allow both dynamic DTV index and static TLS offset
* If we are allocating static offset for an object with dynamic index,
return failure. In the opposite case, if dynamic index is requested for
statically allocated TLS area, directly use the offset instead of
setting the index.
Taken from FreeBSD, commit 91880e07f605edb90339685bc934699a4344de3b.
* While there, fix dtv timing race between threads.
Co-authored-by: Matthew Dillon <dillon at apollo.backplane.com>
Reported-by: Stephane Russell <srussell at prodigeinfo.qc.ca>
Summary of changes:
libexec/rtld-elf/map_object.c | 2 +-
libexec/rtld-elf/rtld.c | 26 +++++++++++++++++++++-----
libexec/rtld-elf/rtld.h | 3 ++-
libexec/rtld-elf/x86_64/reloc.c | 4 ++--
4 files changed, 26 insertions(+), 9 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/ccab79cf9e490edd7b16267464a4873ffda1ddd9
--
DragonFly BSD source repository
More information about the Commits
mailing list