From patchwork Fri Aug 11 07:09:52 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 22068 Received: (qmail 45127 invoked by alias); 11 Aug 2017 07:11:02 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 28708 invoked by uid 89); 11 Aug 2017 07:10:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_NEUTRAL autolearn=ham version=3.3.2 spammy=Hx-languages-length:1075 X-HELO: homiemail-a119.g.dreamhost.com From: Siddhesh Poyarekar To: libc-alpha@sourceware.org Subject: [PATCH] Don't add hidden symbols into static binaries Date: Fri, 11 Aug 2017 12:39:52 +0530 Message-Id: <1502435392-17924-1-git-send-email-siddhesh@sourceware.org> The __GI_* symbol aliases for __memcpy_generic are unnecessary since they're never used. Add them only for libc.so to avoid PLT. Maybe some time in future we need to evaluate the relative cost of PLT vs gains from multiarch memcpy implementations and take a call on whether to drop this completely. * sysdeps/aarch64/multiarch/memcpy_generic.S (__GI_memcpy): Define only for libc.so. --- sysdeps/aarch64/multiarch/memcpy_generic.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sysdeps/aarch64/multiarch/memcpy_generic.S b/sysdeps/aarch64/multiarch/memcpy_generic.S index 041a779..edb2e52 100644 --- a/sysdeps/aarch64/multiarch/memcpy_generic.S +++ b/sysdeps/aarch64/multiarch/memcpy_generic.S @@ -33,9 +33,11 @@ # undef libc_hidden_builtin_def # define libc_hidden_builtin_def(name) +# ifdef SHARED /* It doesn't make sense to send libc-internal memcpy calls through a PLT. */ .globl __GI_memcpy; __GI_memcpy = __memcpy_generic .globl __GI_memmove; __GI_memmove = __memmove_generic +# endif #endif