From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14015 invoked by alias); 24 Sep 2013 02:31:34 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 14001 invoked by uid 89); 24 Sep 2013 02:31:33 -0000 Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 24 Sep 2013 02:31:33 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=1.5 required=5.0 tests=AWL,BAYES_00,GARBLED_BODY,RDNS_NONE,SPF_HELO_FAIL autolearn=no version=3.3.2 X-HELO: relay1.mentorg.com Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1VOIPQ-0003Vm-NF from Yao_Qi@mentor.com ; Mon, 23 Sep 2013 19:31:28 -0700 Received: from SVR-ORW-FEM-04.mgc.mentorg.com ([147.34.97.41]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Mon, 23 Sep 2013 19:31:27 -0700 Received: from qiyao.dyndns.org (147.34.91.1) by svr-orw-fem-04.mgc.mentorg.com (147.34.97.41) with Microsoft SMTP Server id 14.2.247.3; Mon, 23 Sep 2013 19:31:27 -0700 Message-ID: <5240F961.3030800@codesourcery.com> Date: Tue, 24 Sep 2013 02:31:00 -0000 From: Yao Qi User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 MIME-Version: 1.0 To: Doug Evans CC: gdb-patches Subject: Re: [RFC 3/3] Test on solib load and unload References: <520B7F70.6070207@codesourcery.com> <1377663394-4975-1-git-send-email-yao@codesourcery.com> <1377663394-4975-4-git-send-email-yao@codesourcery.com> <521D7BCA.10806@codesourcery.com> <21051.32359.845429.92304@ruffy.mtv.corp.google.com> <523E8D0A.2050205@codesourcery.com> In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-IsSubscribed: yes X-SW-Source: 2013-09/txt/msg00835.txt.bz2 On 09/23/2013 08:14 AM, Doug Evans wrote: > I think it is the test framework's responsibility to provide the utilities to. > Large tests (of the size we need to collect data for) are best not > written by hand, and if we're going to machine generate source, I > would rather such generators come from the framework than always be > hardcoded into every such test. [Obviously some tests may have unique > needs though.] > Doug, Generating source is easy in this test case. However, I am not sure it is easy to generate source for other perf test cases, like symbols and types. Supposing we want to generate source files have 1 million classes, with some hierarchies, the generation script can't be simple, IMO. On the other hand, I don't know how representative the generated program is, compared with the real large applications, such as openoffice, clang, etc. >> >We can add a new proc gdb_produce_source with two parameters, NAME and >> >SOURCES. NAME is the file name and SOURCES is a list of lines of source >> >code we want to write to file NAME. For instance, >> > >> > gdb_produce_source $src { "int shr$i (void) {return 0;}" } >> > >> >It can be used here and replace some code in gdb.exp. > Here's an incomplete list of some of the axes we need to test (in random order): > - # threads > - # shared libs They are not hard to generate. > - # ELF symbols > - # object files > - # types (e.g., # DWARF type units) I am not familiar with type and symbols, but I assume we need some scripts to generate source files having a large number of different symbols and types, which looks hard. > - stack depth It is not hard to generate either. > - # pretty-printers? > I am OK to add utilities to generate sources for shared libs and stack depth, but I am still unable to find an approach to generate source files for perf tests on symbols and types. -- Yao (齐尧)