From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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-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-Spam-SWARE-Status: No, score=-6.0 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.1 spammy=bc, inadequate, convince, our 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 09:58:00 -0000 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 Return-Path: chunglin_tang@mentor.com X-SW-Source: 2019-11/txt/msg00537.txt.bz2 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. > >