Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/libexec/ld.elf_so Do not compile __tls_get_addr() into ldd(1...



details:   https://anonhg.NetBSD.org/src/rev/0aca6ab5e747
branches:  trunk
changeset: 455778:0aca6ab5e747
user:      rin <rin%NetBSD.org@localhost>
date:      Sat Apr 13 00:23:32 2019 +0000

description:
Do not compile __tls_get_addr() into ldd(1), which fixes ldd(1) crashing
on arm after switching to new jemalloc.

jemalloc invokes __tls_get_addr() under some condition. If anything other
than ld.elf_so nor libc exports it, inconsistency arises as a result.

diffstat:

 libexec/ld.elf_so/tls.c |  6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diffs (27 lines):

diff -r 453f92484c88 -r 0aca6ab5e747 libexec/ld.elf_so/tls.c
--- a/libexec/ld.elf_so/tls.c   Fri Apr 12 21:12:21 2019 +0000
+++ b/libexec/ld.elf_so/tls.c   Sat Apr 13 00:23:32 2019 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: tls.c,v 1.11 2017/07/13 14:10:38 joerg Exp $   */
+/*     $NetBSD: tls.c,v 1.12 2019/04/13 00:23:32 rin Exp $     */
 /*-
  * Copyright (c) 2011 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -29,7 +29,7 @@
  */
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: tls.c,v 1.11 2017/07/13 14:10:38 joerg Exp $");
+__RCSID("$NetBSD: tls.c,v 1.12 2019/04/13 00:23:32 rin Exp $");
 
 #include <sys/param.h>
 #include <sys/ucontext.h>
@@ -276,7 +276,7 @@
        return;
 }
 
-#ifdef __HAVE_COMMON___TLS_GET_ADDR
+#if defined(__HAVE_COMMON___TLS_GET_ADDR) && defined(RTLD_LOADER)
 /*
  * The fast path is access to an already allocated DTV entry.
  * This checks the current limit and the entry without needing any



Home | Main Index | Thread Index | Old Index