From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-3.1 required=3.0 tests=AWL,BAYES_00,BODY_8BITS, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 396FF1F4BD for ; Tue, 8 Oct 2019 17:41:57 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=JPbfXRuJnJjo4NAr OssbZJqUi3JrI6QWX5UYf/XST2PEvqQgBEMoBRqrsrIQpsdECt2hmLS9Qz8x6fcZ J8AZGvIpQ8fy8+BGr23u66Qjm8A+7XqmzwD43nFzvZQLgd2XnSbSoi/4JU9OLQ8D yU0xR7sDMV62wZ0u2LQShMUenKM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=GGl0Bc6Fnn9AOKVoODlqTg mvhNQ=; b=uHysRJo/YdVSmQDt3Fo3n3tkOq47xAuthpLhvCYx7by3eEOBBRdyf1 TeSBtxIiymQJYZUdict5bDygmtzapCrrHVxqvUFmiPgym5GCZOuLJnrvsddkiMFy XtISa3sqSljLjiS+S2o+cS+F+sxR1rCxXRSd5cXc0ynJGgeGrSv98= Received: (qmail 112857 invoked by alias); 8 Oct 2019 17:41:54 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 112848 invoked by uid 89); 8 Oct 2019 17:41:54 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mail-qt1-f195.google.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=8/hojwA5ad/4IkgXTlR7jJwP0iGUg9d83yVKaWEY1II=; b=MuIRGy41p/TwMsP6OLo/vIZjp4n5wNVz+zivoJlsUWX1OIUc6ObuAzxUJdXGLHkhf8 jifb0YCpTyLD6oo/Yf0mSVTnkXTjcWHbcalFJp1MVn6R22Wrh7s3po6RN4vKqK4FnvOB pb+zv9UqDBWuvyePhArvI5ZsQMynmSI/TNwraciGWDndwNt9whuxWdIJGNYoJQcrwhYa eCaxwNcN9ibrDV8Xh6MXK618x++PecQZ12+9NEm3U+nBtYaxmUOU4ES8yv9navI7zvuV 4yPWE0t8FH2oCengusnHR4wHpi6HwhpIvppnL8RWu0VJ/eWtWQpR5yX+qSwKbdG+k/yx QWHg== Subject: Re: Ping x2 Re: [PATCH 1/2][RFC] #17645, fix slow DSO sorting behavior in dynamic loader To: libc-alpha@sourceware.org References: <2dea2558-c711-eab5-3728-be4986b7aad5@mentor.com> <8588322f-6391-7d6a-6b2e-f2cc05419622@mentor.com> From: Adhemerval Zanella Openpgp: preference=signencrypt Message-ID: <99207a22-0b01-d41c-3103-e1cbedc4ac11@linaro.org> Date: Tue, 8 Oct 2019 14:41:48 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <8588322f-6391-7d6a-6b2e-f2cc05419622@mentor.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit I will try to check this out this week. On 08/10/2019 03:22, Chung-Lin Tang wrote: > Ping again. > > On 2019/9/17 5:55 PM, Chung-Lin Tang wrote: >> Ping? >> >> On 2019/7/21 1:50 AM, Chung-Lin Tang wrote: >>> Hi, this patch is our attempt at resolving the slow shared object sorting >>> situation in #17645, #15310, and some effort at #15311.  I realize this is >>> pretty unsuitable timing to be submitting a patch of such nature now (probably >>> way too late to be included into 2.30), but still sending now anyways as this >>> will probably need quite some discussion before being approved. >>> >>> Prior attempts at solving this slow sorting behavior appeared to have failed >>> due to inadequate proposed testing, therefore cannot convince reviewers to >>> touch what seems to be perceived as a sensitive and easy to break part of ld.so. >>> >>> Therefore the first part of this patch is not a change to the dynamic loader >>> code proper, but a testing framework for constructing DSO sorting tests. >>> It consists of a new Python script 'dso-ordering-test.py' that serves to >>> generate both testcase source files and the needed Makefile fragments from >>> a short description string, for example: >>> >>>      a->b->c->d          // four objects linked one after another >>> >>>      a->[bc]->d;b->c     // a depends on b and c, which both depend on d, >>>                          // b depends on c (b,c linked to object a in fixed order) >>> >>>      a->b->c;{+a;%a;-a}  // a, b, c serially dependent, main program uses >>>                          // dlopen/dlsym/dlclose on object a >>> >>>      a->b->c;{}!->[abc]  // a, b, c serially dependent; multiple tests generated >>>                          // to test all permutations of a, b, c ordering linked >>>                          // to main program >>> >>>     (Above is just a short description of what the script can do, more >>>      documentation is in the script comments.) >>> >>> and, a patch to glibc/elf/Makefile which uses this script to add a few >>> DSO sorting testcases.  The description string notation and output form of the >>> generated testcases is short enough that both the test descriptions >>> and expected outcomes can all directly be specified in the Makefile. >>> >>> In terms of the tests I added using this script, I am not completely sure they are >>> (together with existing tests) adequate to prove algorithmic integrity in face >>> of any ld.so code changes, but the script should provide a solid tool to further >>> improve on coverage.  Also welcome suggestions if the current features are still >>> lacking in expressing some case of shared object relations, or if the documentation >>> still feels unclear. >>> >>> Thanks, >>> Chung-Lin >>> >>> 2019-07-20  Chung-Lin Tang  >>> >>>          [BZ #17645] >>>          [BZ #15311] >>>          [BZ #15310] >>>          * elf/Makefile (test_dso_ordering): New make function. >>>          (tst-dso-ordering[123456789]): Define new DSO sorting tests. >>>          (tst-bz15311): Testcase from #15311. >>>          * scripts/dso-ordering-test.py: New script.