From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <3Y9hDYgcKCjwkYqipYwemmejc.amkjgZa-YjnfYqmspacuYpc.mpe@flex--maskray.bounces.google.com> Received: from mail-yb1-xb49.google.com (mail-yb1-xb49.google.com [IPv6:2607:f8b0:4864:20::b49]) by sourceware.org (Postfix) with ESMTPS id 1668D3858C50 for ; Wed, 30 Mar 2022 04:11:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1668D3858C50 Received: by mail-yb1-xb49.google.com with SMTP id i5-20020a258b05000000b006347131d40bso14697811ybl.17 for ; Tue, 29 Mar 2022 21:11:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=UMUO/5bHeVH2aWdvs/1pDNdwbtDKTbH3ewqfXpYnyPI=; b=Rkpnhkj1KuowVYpOIj38Qx00RgP7KV2OlpVk1WF0QM0kvcG0kiKWvHzodPW2WpKeeR nDN1hPjIZmXbJEReH/cP0cB1Of7H5glMdplpFlq65qcdO6MeEvJTHHGl+rOgkdjBzN0M TU1KgBaoMHUKBKP+h/gVSt0vnxrltXXj115DDeBYDdbnq9sV6sSLEOMdB/L4DCUD31zK nHJt4YBK8gqbPI4Z9qy/dhkOkoG2C9QCmjhg5H3oqRnhtGrTqHV9IRY4hPQQJFGFOojw UWsgsytMh/O82XCOtdStDcFmD9yo6OWGvQYit/op//ATTlwf9n3hOJi73MBohXM3xs98 tOIA== X-Gm-Message-State: AOAM533HNe3tqo30lefsk/GCSC/XI+EgaeAz3/hZG1kuCgFxwcZlFB1l Nvj4CvpK784jCFSGpQN5hJp0CSS5FuCRSUI5Fp4dTVo9QV3yY7PpuDnN1OdYDcB7mjLvDHE7Muk iWAFOOKLZ2Xc0QQns3vNXPHOQqvcS/F5/9KA4YzLiDOFh3TFgmgHcQvqGvZ5PZg62nRnx X-Google-Smtp-Source: ABdhPJyhQgafqNwty3vgkV0vFsHbZc+LNWYJpYMV00zt7kC/3TVR/Z9cIfZ6xiKNIbM2BHKJDCBDZk357Gnf X-Received: from maskray1.svl.corp.google.com ([2620:15c:2ce:200:925f:e947:f685:7815]) (user=maskray job=sendgmr) by 2002:a25:8891:0:b0:624:689e:cf27 with SMTP id d17-20020a258891000000b00624689ecf27mr31429321ybl.551.1648613475357; Tue, 29 Mar 2022 21:11:15 -0700 (PDT) Date: Tue, 29 Mar 2022 21:11:04 -0700 Message-Id: <20220330041104.931987-1-maskray@google.com> Mime-Version: 1.0 Subject: [PATCH] elf: Simplify _dl_aux_init with inhibit_loop_to_libcall From: Fangrui Song To: libc-alpha@sourceware.org, Florian Weimer , Szabolcs Nagy Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-19.9 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org 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: , X-List-Received-Date: Wed, 30 Mar 2022 04:11:17 -0000 --- elf/Makefile | 5 ----- elf/dl-support.c | 9 ++++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/elf/Makefile b/elf/Makefile index c96924e9c2..281551d380 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -160,11 +160,6 @@ ifeq (yes,$(have-loop-to-function)) CFLAGS-rtld.c += -fno-tree-loop-distribute-patterns endif -ifeq (yes,$(have-loop-to-function)) -# Likewise, during static library startup, memset is not yet available. -CFLAGS-dl-support.c = -fno-tree-loop-distribute-patterns -endif - # Compile rtld itself without stack protection. # Also compile all routines in the static library that are elided from # the shared libc because they are in libc.a in the same way. diff --git a/elf/dl-support.c b/elf/dl-support.c index 153dd57ad2..b886a1462c 100644 --- a/elf/dl-support.c +++ b/elf/dl-support.c @@ -245,6 +245,9 @@ __rtld_lock_define_initialized_recursive (, _dl_load_tls_lock) int _dl_clktck; +/* Inhibit memset for auxv_values initialization because memset may not + be available yet. */ +inhibit_loop_to_libcall void _dl_aux_init (ElfW(auxv_t) *av) { @@ -254,11 +257,7 @@ _dl_aux_init (ElfW(auxv_t) *av) #endif _dl_auxv = av; - dl_parse_auxv_t auxv_values; - /* Use an explicit initialization loop here because memset may not - be available yet. */ - for (int i = 0; i < array_length (auxv_values); ++i) - auxv_values[i] = 0; + dl_parse_auxv_t auxv_values = { 0 }; _dl_parse_auxv (av, auxv_values); } #endif -- 2.35.1.1021.g381101b075-goog