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=-3.6 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, PDS_RDNS_DYNAMIC_FP,RCVD_IN_DNSWL_MED,RDNS_DYNAMIC,SPF_HELO_PASS, SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (ip-8-43-85-97.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 D2BEF1F8C6 for ; Thu, 5 Aug 2021 07:53:47 +0000 (UTC) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id F3B75384783C for ; Thu, 5 Aug 2021 07:53:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org F3B75384783C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1628150027; bh=7Ff1HrjauEo2GuhuyAp40RQhM91HDaZcdvZEjSYwmH0=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=juDiAcyr12Zjf58S08VI1IDIeEE77y2/70/KwMxViI9ipaBekzlyXOc3zgJiDtBh1 a8RWcGGLV5TtJwso95rPqm5ezVWVKsIvvfEXN5YLPYzusupFzngTq37ufPeR2zIs0f mxdsc2c3PHRc06PlwpAn7qDPpPYoRA4y1HtKxbZU= Received: from esa6.hc1455-7.c3s2.iphmx.com (esa6.hc1455-7.c3s2.iphmx.com [68.232.139.139]) by sourceware.org (Postfix) with ESMTPS id 636EF3988425 for ; Thu, 5 Aug 2021 07:52:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 636EF3988425 IronPort-SDR: Hx55P+44V3e3QG8b1IdOXSNEpUdmSvVLvvGuL+gN6fllvGUQMrqEAi0WOfD057x2BIIyp3YImy I41iOBoax8HeDkCsEmsBnY6UKWfB8GVrUSY5Q5Rf/S99zXo9l30p1BUFrEA5ylrbti5Y0SpGN2 UNZ8igDhmq/dTW3/BNfBcQfpQ/YtC98v1Ckv9ZPaa2JOe+lLsUqY92V2+SKXxoXFcRAVAdwXBY teCZpJXhOTHeKOUto/h9/HzTMFgwsQ+Y4ZmRLAJk0SRzwGuv1sB6jF6dCxWrmNZ+9iHw4fjWf+ CPMqrzNpv/I7SnG2kb62+yyr X-IronPort-AV: E=McAfee;i="6200,9189,10066"; a="39245997" X-IronPort-AV: E=Sophos;i="5.84,296,1620658800"; d="scan'208";a="39245997" Received: from unknown (HELO oym-r4.gw.nic.fujitsu.com) ([210.162.30.92]) by esa6.hc1455-7.c3s2.iphmx.com with ESMTP; 05 Aug 2021 16:52:14 +0900 Received: from oym-m3.gw.nic.fujitsu.com (oym-nat-oym-m3.gw.nic.fujitsu.com [192.168.87.60]) by oym-r4.gw.nic.fujitsu.com (Postfix) with ESMTP id D0554E0AE0 for ; Thu, 5 Aug 2021 16:52:13 +0900 (JST) Received: from m3050.s.css.fujitsu.com (msm.b.css.fujitsu.com [10.134.21.208]) by oym-m3.gw.nic.fujitsu.com (Postfix) with ESMTP id 08B17DA9FA for ; Thu, 5 Aug 2021 16:52:13 +0900 (JST) Received: from bionic.lxd (unknown [10.126.53.116]) by m3050.s.css.fujitsu.com (Postfix) with ESMTP id DA70CAB; Thu, 5 Aug 2021 16:52:12 +0900 (JST) To: Andreas Schwab , libc-alpha@sourceware.org Subject: [PATCH v3 5/5] config: Rename HAVE_BUILTIN_MEMSET macro Date: Thu, 5 Aug 2021 07:52:07 +0000 Message-Id: <20210805075207.433697-1-naohirot@fujitsu.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210805074733.433430-1-naohirot@fujitsu.com> References: <20210805074733.433430-1-naohirot@fujitsu.com> X-TM-AS-GCONF: 00 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: Naohiro Tamura via Libc-alpha Reply-To: Naohiro Tamura Errors-To: libc-alpha-bounces+e=80x24.org@sourceware.org Sender: "Libc-alpha" This patch renames HAVE_BUILTIN_MEMSET macro to HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET. The name "HAVE_BUILTIN_MEMSET" is very confusing. This macro cannot be removed even though GCC 6.2, that is minimum requirement to compile glibc, already supports __builtin_memset[1]. It doesn't indicate whether GCC supports __builtin_memset or not. But it indicates whether GCC supports __builtin_memset which doesn't expand to a memset libcall or not. Therefor HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET is more appropriate to increase code readability. [1] https://gcc.gnu.org/onlinedocs/gcc-6.2.0/gcc/Other-Builtins.html --- config.h.in | 4 ++-- configure | 14 +++++++------- configure.ac | 10 +++++----- elf/rtld.c | 9 +++++---- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/config.h.in b/config.h.in index 8b45a3a61d77..4700dc9eba9b 100644 --- a/config.h.in +++ b/config.h.in @@ -40,8 +40,8 @@ shared between GNU libc and GNU gettext projects. */ #define HAVE_BUILTIN_EXPECT 1 -/* Define if the compiler supports __builtin_memset. */ -#undef HAVE_BUILTIN_MEMSET +/* Define if the compiler supports non lib expand __builtin_memset. */ +#undef HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET /* Define if compiler accepts -ftree-loop-distribute-patterns. */ #undef HAVE_CC_INHIBIT_LOOP_TO_LIBCALL diff --git a/configure b/configure index 9619c10991d0..224c754cf466 100755 --- a/configure +++ b/configure @@ -6263,7 +6263,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5 $as_echo_n "checking for __builtin_memset... " >&6; } -if ${libc_cv_gcc_builtin_memset+:} false; then : +if ${libc_cv_gcc_non_lib_expand_builtin_memset+:} false; then : $as_echo_n "(cached) " >&6 else cat > conftest.c <<\EOF @@ -6279,16 +6279,16 @@ if { ac_try='${CC-cc} -O3 -S conftest.c -o - | grep -F "memset" > /dev/null' $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then - libc_cv_gcc_builtin_memset=no + libc_cv_gcc_non_lib_expand_builtin_memset=no else - libc_cv_gcc_builtin_memset=yes + libc_cv_gcc_non_lib_expand_builtin_memset=yes fi rm -f conftest* fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_memset" >&5 -$as_echo "$libc_cv_gcc_builtin_memset" >&6; } -if test "$libc_cv_gcc_builtin_memset" = yes ; then - $as_echo "#define HAVE_BUILTIN_MEMSET 1" >>confdefs.h +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_non_lib_expand_builtin_memset" >&5 +$as_echo "$libc_cv_gcc_non_lib_expand_builtin_memset" >&6; } +if test "$libc_cv_gcc_non_lib_expand_builtin_memset" = yes ; then + $as_echo "#define HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET 1" >>confdefs.h fi diff --git a/configure.ac b/configure.ac index 34ecbba54054..451cea7683e6 100644 --- a/configure.ac +++ b/configure.ac @@ -1508,7 +1508,7 @@ if test $libc_cv_have_section_quotes = yes; then AC_DEFINE(HAVE_SECTION_QUOTES) fi -AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl +AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_non_lib_expand_builtin_memset, [dnl cat > conftest.c <<\EOF void zero (void *x) { @@ -1518,13 +1518,13 @@ EOF dnl if AC_TRY_COMMAND([${CC-cc} -O3 -S conftest.c -o - | grep -F "memset" > /dev/null]); then - libc_cv_gcc_builtin_memset=no + libc_cv_gcc_non_lib_expand_builtin_memset=no else - libc_cv_gcc_builtin_memset=yes + libc_cv_gcc_non_lib_expand_builtin_memset=yes fi rm -f conftest* ]) -if test "$libc_cv_gcc_builtin_memset" = yes ; then - AC_DEFINE(HAVE_BUILTIN_MEMSET) +if test "$libc_cv_gcc_non_lib_expand_builtin_memset" = yes ; then + AC_DEFINE(HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET) fi AC_CACHE_CHECK(for redirection of built-in functions, libc_cv_gcc_builtin_redirection, [dnl diff --git a/elf/rtld.c b/elf/rtld.c index d733359eaf80..a18494fcd38e 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -527,11 +527,12 @@ _dl_start (void *arg) /* Partly clean the `bootstrap_map' structure up. Don't use `memset' since it might not be built in or inlined and we cannot make function calls at this point. Use '__builtin_memset' if we - know it is available. We do not have to clear the memory if we - do not have to use the temporary bootstrap_map. Global variables - are initialized to zero by default. */ + know it is available and does not expand to a memset libcall. + We do not have to clear the memory if we do not have to use the + temporary bootstrap_map. Global variables are initialized to + zero by default. */ #ifndef DONT_USE_BOOTSTRAP_MAP -# ifdef HAVE_BUILTIN_MEMSET +# ifdef HAVE_NON_LIB_EXPAND_BUILTIN_MEMSET __builtin_memset (bootstrap_map.l_info, '\0', sizeof (bootstrap_map.l_info)); # else for (size_t cnt = 0; -- 2.17.1