From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 16608 invoked from network); 24 Oct 2020 05:32:16 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 24 Oct 2020 05:32:16 -0000 Received: (qmail 11501 invoked by uid 550); 24 Oct 2020 05:32:13 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 11457 invoked from network); 24 Oct 2020 05:32:13 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rcombs.me; s=google; h=from:to:subject:date:message-id; bh=hv97Aj0ejgv6sCkExC3eisS04/Rd8E3e+ADH+FkVuUA=; b=JQpl9PqmVJhkgp5lHWuAaNrYKkJ2ckMmTBnrQZ9+k+O3m96s2YJMROegZSkUEhLNeb Y3VneM1N9JiUtVmg3baZwH0mdFdwvD8wBU4UTB4WvCmUWc9KDltbC6hWBNTCX3fAgeNN p+ZtnC8EhFlBMggDQAVsdITqaB0/F+OoMKIpnRbIhwRa1wdU/Xriw7w/iTktlL0g2Ao4 9cZszMFrxZxQVOUTm0D2Fk/D6RQ5sIa+ktO7lNf+cs1wv1bxXYKHuP1YEhYnHkPN2HWl wfYhRAX9PXfNDVst+5i9xbJ9S/h7IV+OENxxkhIMcBAV0RcHPQ1Zc8FZCcJgl2p8EGV/ UeXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=hv97Aj0ejgv6sCkExC3eisS04/Rd8E3e+ADH+FkVuUA=; b=o92vMrF/hRl4y1D4LVzIu63zwLnEbXq3qKzSzRR15xnkGAbfFvmagSDhwHHhkY0r7A Dhd+IvZH8ckXdf3lh82wuf9fLPMBOCk8S4hN03SKTnugb5/a0CmPKVazm/8wQ/KbS692 a+tc56OU9GOxBM9Gsjr8q6RNBAFlrTFlXKI1Ylo8AytXVEzIxDcpnpTKRM8JcpVXw8t5 mDvuDVy2TEQSPSeQEMsW58LOcIaS2lx68rNb3Hh4C/8zagAvU0KBV6pv/K6Pvg5lhU76 SGC00B84bv9l9YvMvzKN6Tbtyy2r3RD5+xEozeZ3B8kV91mbh9/yL2HrDcCv1lr55SOb lQDA== X-Gm-Message-State: AOAM533wv00C4rDXvIk9cIk4zjqYUJvLGk3nA2y/k2Tekj3v2jeZz+QA yulmXTZfZpf1XNqlA4uvEXFYYdXJsSy/bf4= X-Google-Smtp-Source: ABdhPJyJ5EW0PZ3afBa/82MnTpduliUUCB51JvfhPY978ArY38oUsA/rh1iIE7CW5s1/2pGWl+qSwQ== X-Received: by 2002:a92:c6c3:: with SMTP id v3mr4406189ilm.28.1603517520534; Fri, 23 Oct 2020 22:32:00 -0700 (PDT) From: rcombs To: musl@lists.openwall.com Date: Sat, 24 Oct 2020 00:31:56 -0500 Message-Id: <20201024053156.32053-1-rcombs@rcombs.me> X-Mailer: git-send-email 2.17.1 Subject: [musl] [PATCH] ldso: notify the debugger when we're doing a dlopen Otherwise lldb doesn't notice the new library and stack traces containing it get cut off unhelpfully. --- ldso/dynlink.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/ldso/dynlink.c b/ldso/dynlink.c index fcc8f6a6..1ab9bf5b 100644 --- a/ldso/dynlink.c +++ b/ldso/dynlink.c @@ -1963,7 +1963,7 @@ void __dls3(size_t *sp, size_t *auxv) debug.bp = dl_debug_state; debug.head = head; debug.base = ldso.base; - debug.state = 0; + debug.state = RT_CONSISTENT; _dl_debug_state(); if (replace_argv0) argv[0] = replace_argv0; @@ -2012,6 +2012,10 @@ void *dlopen(const char *file, int mode) pthread_rwlock_wrlock(&lock); __inhibit_ptc(); + int oldstate = debug.state; + debug.state = RT_ADD; + _dl_debug_state(); + p = 0; if (shutting_down) { error("Cannot dlopen while program is exiting."); @@ -2104,9 +2108,10 @@ void *dlopen(const char *file, int mode) update_tls_size(); if (tls_cnt != orig_tls_cnt) install_new_tls(); - _dl_debug_state(); orig_tail = tail; end: + debug.state = oldstate; + _dl_debug_state(); __release_ptc(); if (p) gencnt++; pthread_rwlock_unlock(&lock); -- 2.17.1