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 06F5A1F8C6 for ; Mon, 9 Aug 2021 19:34:58 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A040238A8863 for ; Mon, 9 Aug 2021 19:34:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A040238A8863 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628537696; bh=qRhYmB2r9SFU9jP2sInbS+DIOoGS7cnPQAg9MhuDsag=; 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=lLoVecHhltVYtOmAzJiO60+osL4qjRXQfgGaG/m1OiZZMbIldFbgKSoE5i9lkVvbG JZxJ8gDbAqTmL1yOs6toK4MMx8ldgPCM6DFm8234GTKSpK3LKznHNqtOirEkURsxmq EIHGVuR8w4FZa3h31U3Fje6ufAGgJu9Ts9m9ME9A= Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by sourceware.org (Postfix) with ESMTPS id DB6C6385AC25 for ; Mon, 9 Aug 2021 19:34:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DB6C6385AC25 Received: by mail-pj1-x1029.google.com with SMTP id m24-20020a17090a7f98b0290178b1a81700so1575251pjl.4 for ; Mon, 09 Aug 2021 12:34:35 -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=qRhYmB2r9SFU9jP2sInbS+DIOoGS7cnPQAg9MhuDsag=; b=b2NI1sUOVvzwQ2ca7+aBHxTWCH3VEZO/L8z8HQ4fD28KQ2cbXrJloVxChIhe01yPp5 YF4w/kx3Y+uQxtR1f/eJvRkzn2Mqom5MWDOxxYFP/QbwPQgJnGOdvN2EtITIMR08kiK6 EaEjp9QmWxhdxdy5ctOeDeUvhZ8DRTMpiOhoYeRZF51U9hFJnFrZkLCRh77NGVTur2q0 rv+ZgOYyJjmRmxUwpQ2u0QfN35YJsuuy96LYDJ8njf9hAX6SrueuQnNxS6mK7auF4/XD u6RgEdcLFkimmwBaAmVrAvt/S7xtTQcZx23SwztPTNa1u5YRB5vM+quXp6NVqU1ZgzvQ 76QQ== X-Gm-Message-State: AOAM5303snGubjgRhzaf+D8eonYzMIleCwYhbel4JcAzmP1JsOCnn5cl +lKYSzHqngjujgP42Ap/i0EpZM7xJ2ZS28zukSY= X-Google-Smtp-Source: ABdhPJwNGhjHtUXPihRBe9ZF1mwXIHgJHoO7LwnGqZtXcZ0diyvHBVMtCD9sd9yMRzyEljOu8KnO4Kk4N6ml3/KCcjw= X-Received: by 2002:a62:87c5:0:b029:3b5:f90f:c2eb with SMTP id i188-20020a6287c50000b02903b5f90fc2ebmr25832734pfe.28.1628537675012; Mon, 09 Aug 2021 12:34:35 -0700 (PDT) MIME-Version: 1.0 References: <20210730212204.1832487-1-hjl.tools@gmail.com> In-Reply-To: Date: Mon, 9 Aug 2021 12:33:59 -0700 Message-ID: Subject: Re: [PATCH] benchtests: Building benchmarks as static executables To: Noah Goldstein Content-Type: text/plain; charset="UTF-8" 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: "H.J. Lu via Libc-alpha" Reply-To: "H.J. Lu" Cc: GNU C Library Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" On Mon, Aug 9, 2021 at 12:10 PM Noah Goldstein wrote: > > > > On Fri, Jul 30, 2021 at 5:22 PM H.J. Lu via Libc-alpha 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? To build glibc or build a specific bench test? >> >> 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 >> -- H.J.