summaryrefslogtreecommitdiff
path: root/libexec
diff options
context:
space:
mode:
authorjoerg <joerg@NetBSD.org>2011-03-13 21:08:45 +0000
committerjoerg <joerg@NetBSD.org>2011-03-13 21:08:45 +0000
commit4e4c04f0d42fd075ac62bc0ff1d116f950b8ddce (patch)
treef05bce7e627ef62c995567587f83f6d9ffa08e08 /libexec
parent9f87170dda01672383750d905286ec9faff97d3a (diff)
Fill in TLS related fields in dl_iterate_phdr if TLS is supported
Diffstat (limited to 'libexec')
-rw-r--r--libexec/ld.elf_so/rtld.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libexec/ld.elf_so/rtld.c b/libexec/ld.elf_so/rtld.c
index 7849f2a336e..3787347be47 100644
--- a/libexec/ld.elf_so/rtld.c
+++ b/libexec/ld.elf_so/rtld.c
@@ -1,4 +1,4 @@
-/* $NetBSD: rtld.c,v 1.139 2011/03/09 23:10:07 joerg Exp $ */
+/* $NetBSD: rtld.c,v 1.140 2011/03/13 21:08:45 joerg Exp $ */
/*
* Copyright 1996 John D. Polstra.
@@ -40,7 +40,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: rtld.c,v 1.139 2011/03/09 23:10:07 joerg Exp $");
+__RCSID("$NetBSD: rtld.c,v 1.140 2011/03/13 21:08:45 joerg Exp $");
#endif /* not lint */
#include <err.h>
@@ -1154,12 +1154,12 @@ dl_iterate_phdr(int (*callback)(struct dl_phdr_info *, size_t, void *), void *pa
STAILQ_FIRST(&obj->names)->name : obj->path;
phdr_info.dlpi_phdr = obj->phdr;
phdr_info.dlpi_phnum = obj->phsize / sizeof(obj->phdr[0]);
-#if 1
- phdr_info.dlpi_tls_modid = 0;
- phdr_info.dlpi_tls_data = 0;
-#else
+#if defined(__HAVE_TLS_VARIANT_I) || defined(__HAVE_TLS_VARIANT_II)
phdr_info.dlpi_tls_modid = obj->tlsindex;
phdr_info.dlpi_tls_data = obj->tlsinit;
+#else
+ phdr_info.dlpi_tls_modid = 0;
+ phdr_info.dlpi_tls_data = 0;
#endif
phdr_info.dlpi_adds = _rtld_objloads;
phdr_info.dlpi_subs = _rtld_objloads - _rtld_objcount;