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: AS17314 8.43.84.0/22 X-Spam-Status: No, score=-4.2 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,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 (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id DF1541F8C6 for ; Mon, 9 Aug 2021 19:10:52 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1B6EF389C42C for ; Mon, 9 Aug 2021 19:10:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1B6EF389C42C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628536252; bh=Rz/IVkN13mraYQGe2BlIdjViLjmEWrlMH36wKxv9A6E=; h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=MEVYM8sqZy3HcR+d9zo4B2JUAgLqhsXhoLVOkU9+LJx3LxIWeZAMaPQUBdztnLBj3 7uGfmrF8nv8Z2R3A8EQuqfLOU7Dj5KNtjGWnLTdik+TSiYCKrm6x45G6+Ql+aD6BnE E12a5aThFu09X59ZJW+/NLYvqP9+mKhlgjKDra4E= Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by sourceware.org (Postfix) with ESMTPS id 9D8C73860C3B for ; Mon, 9 Aug 2021 19:10:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 9D8C73860C3B Received: by mail-pj1-x102c.google.com with SMTP id m24-20020a17090a7f98b0290178b1a81700so1471604pjl.4 for ; Mon, 09 Aug 2021 12:10:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=0/TXfmvBBwE3BRSUgfu3Pqb38ZMBDB8XKafcsWbtWgc=; b=j1VXDrVqdab6Y0uAb/yDzznly5XCHf/5dx8TPhbC11K2Q4DTz2phA1Z498AQScOQiW XyvvUqSyqOnsKosXdU/M1Sb0NluNPytM08COgXdiIm18l4wApiHKhoRPMOXXvvEFMn07 OmVkevvpzjsFns+utK/OPG0AFtCVVtSRhmMnKsYA4+brvO3cZk2OsWARKw6/XpG5RisR WKu5SK1+e7zYqdguGrLd0WTPvdJlxmMDrjaJX7qofRxNlY0OKLLs74WTL8jw2G+0yAep 4bNVMljZFHrItN8MUauIahiVEkr5tJtTzQ2IUHNR/40NiiqBCimLmObzRxH8/lUq+LVh Vx0A== X-Gm-Message-State: AOAM532Jt1yG3rbm1GV+ulKl78Qv8BfJoFkVoQzWyMXjCVHGFTDHc1ZP U+6s+Bkc2G0bCqs3WPydCI/SCzoGbuCc9CzqDJw= X-Google-Smtp-Source: ABdhPJx4dlFqLWe6X7TzUOS63XM/LDhZRWQ8CTcSQmdmc+utQDZNpSM6+8j1vdzipxSokdbgaekCwDaUu1T+CpFB52o= X-Received: by 2002:a17:90b:1bca:: with SMTP id oa10mr28416021pjb.177.1628536230734; Mon, 09 Aug 2021 12:10:30 -0700 (PDT) MIME-Version: 1.0 References: <20210730212204.1832487-1-hjl.tools@gmail.com> In-Reply-To: <20210730212204.1832487-1-hjl.tools@gmail.com> Date: Mon, 9 Aug 2021 15:10:19 -0400 Message-ID: Subject: Re: [PATCH] benchtests: Building benchmarks as static executables To: "H.J. Lu" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Noah Goldstein via Libc-alpha Reply-To: Noah Goldstein Cc: GNU C Library Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On Fri, Jul 30, 2021 at 5:22 PM H.J. Lu via Libc-alpha < libc-alpha@sourceware.org> wrote: > Building benchmarks as static executables: > ========================================= > > To build benchmarks as static executables, on the build system, run: > > $ make STATIC-BENCHTESTS=yes bench-build > > Any chance you could add a -falign option for this? > You can copy benchmark executables to another machine and run them > without copying the source nor build directories. > --- > benchtests/Makefile | 26 +++++++++++++++++++------- > benchtests/README | 10 ++++++++++ > 2 files changed, 29 insertions(+), 7 deletions(-) > > diff --git a/benchtests/Makefile b/benchtests/Makefile > index 1530939a8c..4fcd73131a 100644 > --- a/benchtests/Makefile > +++ b/benchtests/Makefile > @@ -110,11 +110,23 @@ else > bench-malloc := $(filter malloc-%,${BENCHSET}) > endif > > -$(addprefix $(objpfx)bench-,$(bench-math)): $(libm) > -$(addprefix $(objpfx)bench-,$(math-benchset)): $(libm) > -$(addprefix $(objpfx)bench-,$(bench-pthread)): $(shared-thread-library) > -$(addprefix $(objpfx)bench-,$(bench-malloc)): $(shared-thread-library) > -$(addprefix $(objpfx)bench-,pthread-locks): $(libm) > +ifeq (${STATIC-BENCHTESTS},yes) > ++link-benchtests = $(+link-static-tests) > +link-libc-benchtests = $(link-libc-static) > +libm-benchtests = $(common-objpfx)math/libm.a > +thread-library-benchtests = $(static-thread-library) > +else > +link-libc-benchtests = $(link-libc) > ++link-benchtests = $(+link-tests) > +thread-library-benchtests = $(shared-thread-library) > +libm-benchtests = $(libm) > +endif > + > +$(addprefix $(objpfx)bench-,$(bench-math)): $(libm-benchtests) > +$(addprefix $(objpfx)bench-,$(math-benchset)): $(libm-benchtests) > +$(addprefix $(objpfx)bench-,$(bench-pthread)): > $(thread-library-benchtests) > +$(addprefix $(objpfx)bench-,$(bench-malloc)): $(thread-library-benchtests) > +$(addprefix $(objpfx)bench-,pthread-locks): $(libm-benchtests) > > > > @@ -270,9 +282,9 @@ bench-link-targets = $(timing-type) $(binaries-bench) > $(binaries-benchset) \ > > $(bench-link-targets): %: %.o $(objpfx)json-lib.o \ > $(link-extra-libs-tests) \ > - $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \ > + $(sort $(filter $(common-objpfx)lib%,$(link-libc-benchtests))) \ > $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit) > - $(+link-tests) > + $(+link-benchtests) > > $(bench-link-targets): LDFLAGS += $(link-bench-bind-now) > > diff --git a/benchtests/README b/benchtests/README > index 44736d7e63..4d83a05b4b 100644 > --- a/benchtests/README > +++ b/benchtests/README > @@ -62,6 +62,16 @@ otherwise the above command may try to build the > benchmark again. Benchmarks > that require generated code to be executed during the build are skipped > when > cross-building. > > +Building benchmarks as static executables: > +========================================= > + > +To build benchmarks as static executables, on the build system, run: > + > + $ make STATIC-BENCHTESTS=yes bench-build > + > +You can copy benchmark executables to another machine and run them > +without copying the source nor build directories. > + > Running subsets of benchmarks: > ============================== > > -- > 2.31.1 > >