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 5B8241F5A2 for ; Thu, 14 Nov 2019 09:58:27 +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:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; q=dns; s=default; b=FY4zeNvVGhDUREOb ONi7u8g+TI3iVEbQeUTo3XGZzBJAeFPdn6KwhJoc6UARabg6OXrOSbCWDy0gpqsN 52c/VVIx9wJp0CsLvbGnFEWqoqraF+VdIWZ74JWnJDASDkJJbQ5QGALPfabuWnGa m2plcZ9Bl3Y/t0ozJTfmnmPMW7I= 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:reply-to:subject:to:references:from:message-id :date:mime-version:in-reply-to:content-type :content-transfer-encoding; s=default; bh=YdXUcsk6QNnpE9uulI5mkV aq0k8=; b=HsYjfJZhvjQ4DjOghheMDVinjWK15vzTGDAiVOt0PzW7/seQOsR9lt OaP1RyQT358a2P2L8y4vESoXIBTOFhppgzugp7VlHLBkGyVBwJ3UhQ571CUR21S/ d09epofqhJI2IinEuMLL/IPo67+XbySOoC8PQIac9a6hKAKBwtVcI= Received: (qmail 58618 invoked by alias); 14 Nov 2019 09:58:24 -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 58587 invoked by uid 89); 14 Nov 2019 09:58:23 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: esa2.mentor.iphmx.com IronPort-SDR: comcRyUfOYx1FR8rGQh9JD2pEQ89ZAU3CHNn1IQxefNMY0mzFtBCM/a/ORgqjrS+0/ZuFtfANH 4hPuW20Plo57GBbdZKRqtaohLXfNlN7j7RW2m9aFrhsxXiPS5Ch2QfkZC3rnYLjc7gxapvom9n mw7HJlseRVxkiLMiUsZ40/Def3aDAD51GbWoQ94l8WCZa+Dpd2jMys/ZNcwb7InBvnydBaEgJA YL9sMIxwJnvJ8uAuSf3M4dwf1PbDx+3w8eB1E3p2OvDsXeSMMSllLGO9gEBtM8wiMBqUCdOe9m fyU= IronPort-SDR: PE4+ojqem8N2iPOuHyujF1EA9f+Gwsi/Mj07wQp3Oc9xLdRtw44YncC9vpviPQXTmBZPHMKnqC GVGqwgjIJqmkFIuxsOxEqErkRYkV2ZHJVJlcpf74v+g3dGlwbwiYygo/HL2WadGuvGHd73Ucun 3fHT8E7PyBDYx7VuWdfgqG+oyE561SBCeVCSqS0UyKdK0Nk23IrFCWCHb+Vyb5oEfj2JY+hRfZ jatXRSr44utJcPrGySSs5Ds0hLjqdLoEAWV0L9vQLrmbEK5TY8FqQQOFjwD9dOXwCSa2+CcjEl bCE= Reply-To: Subject: Re: Ping x2 Re: [PATCH 1/2][RFC] #17645, fix slow DSO sorting behavior in dynamic loader To: Carlos O'Donell , , GNU C Library References: <2dea2558-c711-eab5-3728-be4986b7aad5@mentor.com> <8588322f-6391-7d6a-6b2e-f2cc05419622@mentor.com> <55008c83-b935-c1b0-1166-2df97d1715b6@redhat.com> From: Chung-Lin Tang Message-ID: <65a2cd71-8ad5-9122-a8cc-a54e8fbe89b5@mentor.com> Date: Thu, 14 Nov 2019 17:58:12 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.9.1 MIME-Version: 1.0 In-Reply-To: <55008c83-b935-c1b0-1166-2df97d1715b6@redhat.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 8bit On 2019/10/31 9:13 PM, Carlos O'Donell wrote: > On 10/8/19 2:22 AM, Chung-Lin Tang wrote: >> Ping again. > > I have these applied and I'm putting this through testing. Hi Carlos, Thanks for the testing, wonder how it went? Thanks, Chung-Lin >> 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. > >